/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 04:39:58,171 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 04:39:58,173 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 04:39:58,223 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 04:39:58,224 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 04:39:58,225 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 04:39:58,234 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 04:39:58,235 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 04:39:58,236 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 04:39:58,237 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 04:39:58,237 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 04:39:58,238 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 04:39:58,239 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 04:39:58,239 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 04:39:58,240 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 04:39:58,245 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 04:39:58,246 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 04:39:58,248 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 04:39:58,249 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 04:39:58,250 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 04:39:58,251 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 04:39:58,256 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 04:39:58,257 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 04:39:58,258 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 04:39:58,259 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 04:39:58,266 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 04:39:58,267 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 04:39:58,267 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 04:39:58,268 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 04:39:58,268 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 04:39:58,269 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 04:39:58,269 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 04:39:58,269 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 04:39:58,270 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 04:39:58,271 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 04:39:58,271 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 04:39:58,272 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 04:39:58,272 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 04:39:58,272 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 04:39:58,273 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 04:39:58,273 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 04:39:58,279 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 04:39:58,280 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 04:39:58,292 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 04:39:58,292 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 04:39:58,293 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 04:39:58,293 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 04:39:58,294 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 04:39:58,294 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 04:39:58,294 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 04:39:58,294 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 04:39:58,294 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 04:39:58,295 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 04:39:58,295 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 04:39:58,295 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 04:39:58,295 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 04:39:58,296 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 04:39:58,296 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 04:39:58,296 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 04:39:58,296 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 04:39:58,296 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 04:39:58,296 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:39:58,297 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 04:39:58,297 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 04:39:58,297 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 04:39:58,297 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 04:39:58,297 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 04:39:58,297 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 04:39:58,297 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 04:39:58,504 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 04:39:58,524 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 04:39:58,526 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 04:39:58,527 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 04:39:58,528 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 04:39:58,529 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 04:39:58,579 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1f5ca3cad/4f543d1b4d8f45749aa88f0b66c2d757/FLAG6a251725d [2022-04-28 04:39:58,966 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 04:39:58,966 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound50.c [2022-04-28 04:39:58,971 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1f5ca3cad/4f543d1b4d8f45749aa88f0b66c2d757/FLAG6a251725d [2022-04-28 04:39:58,988 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1f5ca3cad/4f543d1b4d8f45749aa88f0b66c2d757 [2022-04-28 04:39:58,990 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 04:39:58,995 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 04:39:58,997 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 04:39:58,998 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 04:39:59,001 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 04:39:59,002 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:39:58" (1/1) ... [2022-04-28 04:39:59,003 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@259cec12 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:59, skipping insertion in model container [2022-04-28 04:39:59,003 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:39:58" (1/1) ... [2022-04-28 04:39:59,008 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 04:39:59,020 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 04:39:59,135 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 04:39:59,154 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:39:59,161 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 04:39:59,199 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 04:39:59,218 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:39:59,227 INFO L208 MainTranslator]: Completed translation [2022-04-28 04:39:59,228 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:59 WrapperNode [2022-04-28 04:39:59,228 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 04:39:59,229 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 04:39:59,229 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 04:39:59,229 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 04:39:59,237 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:59" (1/1) ... [2022-04-28 04:39:59,237 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:59" (1/1) ... [2022-04-28 04:39:59,242 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:59" (1/1) ... [2022-04-28 04:39:59,242 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:59" (1/1) ... [2022-04-28 04:39:59,247 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:59" (1/1) ... [2022-04-28 04:39:59,250 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:59" (1/1) ... [2022-04-28 04:39:59,251 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:59" (1/1) ... [2022-04-28 04:39:59,253 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 04:39:59,253 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 04:39:59,254 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 04:39:59,254 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 04:39:59,257 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:59" (1/1) ... [2022-04-28 04:39:59,265 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:39:59,273 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:39:59,284 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 04:39:59,298 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 04:39:59,330 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 04:39:59,331 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 04:39:59,331 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 04:39:59,331 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 04:39:59,331 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 04:39:59,332 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 04:39:59,332 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 04:39:59,332 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 04:39:59,332 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 04:39:59,332 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 04:39:59,333 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 04:39:59,333 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 04:39:59,335 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 04:39:59,335 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 04:39:59,335 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 04:39:59,335 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 04:39:59,335 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 04:39:59,335 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 04:39:59,335 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 04:39:59,335 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 04:39:59,393 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 04:39:59,394 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 04:39:59,528 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 04:39:59,533 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 04:39:59,534 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 04:39:59,535 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:39:59 BoogieIcfgContainer [2022-04-28 04:39:59,535 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 04:39:59,537 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 04:39:59,537 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 04:39:59,539 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 04:39:59,540 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 04:39:58" (1/3) ... [2022-04-28 04:39:59,540 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@22160149 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:39:59, skipping insertion in model container [2022-04-28 04:39:59,540 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:39:59" (2/3) ... [2022-04-28 04:39:59,541 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@22160149 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:39:59, skipping insertion in model container [2022-04-28 04:39:59,541 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:39:59" (3/3) ... [2022-04-28 04:39:59,542 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound50.c [2022-04-28 04:39:59,553 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 04:39:59,554 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 04:39:59,604 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 04:39:59,609 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@3989a02b, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@2112f226 [2022-04-28 04:39:59,609 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 04:39:59,623 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 04:39:59,630 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 04:39:59,630 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:39:59,631 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 04:39:59,635 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:39:59,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:39:59,640 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-28 04:39:59,646 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:59,647 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2036349417] [2022-04-28 04:39:59,654 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:39:59,654 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 2 times [2022-04-28 04:39:59,656 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:39:59,657 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1137317687] [2022-04-28 04:39:59,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:39:59,657 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:39:59,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:39:59,781 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:39:59,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:39:59,810 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 04:39:59,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 04:39:59,810 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-28 04:39:59,811 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:39:59,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:39:59,824 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 04:39:59,831 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 04:39:59,831 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 04:39:59,831 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 04:39:59,832 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:39:59,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:39:59,844 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 04:39:59,845 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 04:39:59,845 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 04:39:59,846 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 04:39:59,847 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 04:39:59,849 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 04:39:59,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 04:39:59,850 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-28 04:39:59,850 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-28 04:39:59,850 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 04:39:59,850 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 04:39:59,851 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 04:39:59,851 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 04:39:59,851 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 04:39:59,852 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 04:39:59,852 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 04:39:59,852 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 04:39:59,852 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 04:39:59,853 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 04:39:59,853 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 04:39:59,853 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 04:39:59,854 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 04:39:59,854 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 04:39:59,854 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 04:39:59,854 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 04:39:59,855 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 04:39:59,855 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 04:39:59,855 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 04:39:59,856 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:39:59,856 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1137317687] [2022-04-28 04:39:59,857 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1137317687] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:39:59,857 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:39:59,857 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 04:39:59,859 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:39:59,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2036349417] [2022-04-28 04:39:59,860 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2036349417] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:39:59,860 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:39:59,860 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 04:39:59,860 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1690242894] [2022-04-28 04:39:59,861 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:39:59,865 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 04:39:59,867 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:39:59,869 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 04:39:59,893 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 04:39:59,893 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 04:39:59,894 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:59,911 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 04:39:59,911 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 04:39:59,913 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 04:40:00,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:00,019 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-28 04:40:00,019 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 04:40:00,019 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 04:40:00,019 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:40:00,020 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 04:40:00,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-28 04:40:00,027 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 04:40:00,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-28 04:40:00,033 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-28 04:40:00,113 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 04:40:00,121 INFO L225 Difference]: With dead ends: 57 [2022-04-28 04:40:00,121 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 04:40:00,124 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 04:40:00,127 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 04:40:00,127 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 04:40:00,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 04:40:00,154 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 04:40:00,154 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:40:00,155 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 04:40:00,155 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 04:40:00,156 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 04:40:00,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:00,160 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 04:40:00,160 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 04:40:00,160 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:00,160 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:00,161 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 04:40:00,161 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 04:40:00,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:00,164 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 04:40:00,164 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 04:40:00,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:00,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:00,165 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:40:00,165 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:40:00,166 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 04:40:00,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-28 04:40:00,169 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-28 04:40:00,169 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:40:00,169 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-28 04:40:00,170 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 04:40:00,170 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-28 04:40:00,202 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 04:40:00,203 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 04:40:00,203 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 04:40:00,203 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:40:00,204 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 04:40:00,204 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 04:40:00,204 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:40:00,205 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:40:00,205 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-28 04:40:00,206 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:00,206 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [920907510] [2022-04-28 04:40:00,209 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:40:00,209 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 2 times [2022-04-28 04:40:00,210 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:40:00,213 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [798406354] [2022-04-28 04:40:00,213 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:40:00,214 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:40:00,247 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:40:00,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [943344273] [2022-04-28 04:40:00,248 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:40:00,248 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:40:00,248 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:40:00,260 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 04:40:00,268 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 04:40:00,343 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 04:40:00,343 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:40:00,344 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 04:40:00,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:40:00,367 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:40:00,579 INFO L272 TraceCheckUtils]: 0: Hoare triple {273#true} call ULTIMATE.init(); {273#true} is VALID [2022-04-28 04:40:00,579 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 04:40:00,579 INFO L290 TraceCheckUtils]: 2: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 04:40:00,580 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {273#true} {273#true} #69#return; {273#true} is VALID [2022-04-28 04:40:00,580 INFO L272 TraceCheckUtils]: 4: Hoare triple {273#true} call #t~ret8 := main(); {273#true} is VALID [2022-04-28 04:40:00,580 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 04:40:00,581 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 04:40:00,581 INFO L290 TraceCheckUtils]: 7: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-28 04:40:00,581 INFO L290 TraceCheckUtils]: 8: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-28 04:40:00,582 INFO L290 TraceCheckUtils]: 9: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 04:40:00,582 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {273#true} {273#true} #61#return; {273#true} is VALID [2022-04-28 04:40:00,583 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 04:40:00,583 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 04:40:00,583 INFO L290 TraceCheckUtils]: 13: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-28 04:40:00,587 INFO L290 TraceCheckUtils]: 14: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-28 04:40:00,587 INFO L290 TraceCheckUtils]: 15: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 04:40:00,589 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {273#true} {273#true} #63#return; {273#true} is VALID [2022-04-28 04:40:00,590 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 04:40:00,590 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 04:40:00,592 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 04:40:00,592 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 04:40:00,594 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {274#false} is VALID [2022-04-28 04:40:00,595 INFO L290 TraceCheckUtils]: 22: Hoare triple {274#false} assume !false; {274#false} is VALID [2022-04-28 04:40:00,595 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 04:40:00,595 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 04:40:00,596 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:40:00,596 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [798406354] [2022-04-28 04:40:00,596 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:40:00,596 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [943344273] [2022-04-28 04:40:00,597 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [943344273] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:40:00,597 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:40:00,597 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 04:40:00,598 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:40:00,598 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [920907510] [2022-04-28 04:40:00,599 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [920907510] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:40:00,599 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:40:00,599 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 04:40:00,599 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1376998332] [2022-04-28 04:40:00,600 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:40:00,601 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 04:40:00,602 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:40:00,602 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 04:40:00,620 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 04:40:00,620 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 04:40:00,621 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:00,622 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 04:40:00,622 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 04:40:00,623 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 04:40:00,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:00,865 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-28 04:40:00,865 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 04:40:00,865 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 04:40:00,866 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:40:00,866 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 04:40:00,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 04:40:00,878 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 04:40:00,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 04:40:00,880 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-28 04:40:00,930 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 04:40:00,932 INFO L225 Difference]: With dead ends: 39 [2022-04-28 04:40:00,932 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 04:40:00,932 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 04:40:00,933 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 04:40:00,934 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 04:40:00,934 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 04:40:00,945 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-28 04:40:00,945 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:40:00,946 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 04:40:00,946 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 04:40:00,947 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 04:40:00,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:00,949 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 04:40:00,949 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 04:40:00,949 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:00,950 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:00,950 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 04:40:00,950 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 04:40:00,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:00,952 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 04:40:00,953 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 04:40:00,953 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:00,953 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:00,953 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:40:00,953 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:40:00,954 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 04:40:00,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-28 04:40:00,956 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-28 04:40:00,956 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:40:00,956 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-28 04:40:00,956 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 04:40:00,956 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 37 transitions. [2022-04-28 04:40:00,995 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 04:40:00,995 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-28 04:40:00,996 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 04:40:00,996 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:40:00,996 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 04:40:01,022 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 04:40:01,211 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 04:40:01,212 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:40:01,212 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:40:01,212 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-28 04:40:01,212 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:01,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1553476017] [2022-04-28 04:40:01,214 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:40:01,214 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 2 times [2022-04-28 04:40:01,214 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:40:01,214 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1058407556] [2022-04-28 04:40:01,214 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:40:01,215 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:40:01,236 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:40:01,237 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [358958323] [2022-04-28 04:40:01,237 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:40:01,237 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:40:01,237 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:40:01,242 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 04:40:01,243 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 04:40:01,292 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:40:01,292 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:40:01,293 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 04:40:01,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:40:01,306 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:40:01,747 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-28 04:40:01,747 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 04:40:01,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:40:01,748 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-28 04:40:01,748 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-28 04:40:01,748 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 04:40:01,749 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 04:40:01,749 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 04:40:01,749 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 04:40:01,749 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:40:01,749 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-28 04:40:01,750 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 04:40:01,750 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 04:40:01,750 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 04:40:01,751 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 04:40:01,751 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 04:40:01,752 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 04:40:01,753 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 04:40:01,753 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 04:40:01,754 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 04:40:01,754 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 04:40:01,754 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 04:40:01,754 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:40:01,755 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 04:40:01,756 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 04:40:01,757 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 04:40:01,757 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 04:40:01,758 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 04:40:01,759 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 04:40:01,760 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 04:40:01,760 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-28 04:40:01,760 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-28 04:40:01,761 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 04:40:01,761 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:40:02,019 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-28 04:40:02,019 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-28 04:40:02,020 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 04:40:02,021 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 04:40:02,022 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 04:40:02,068 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 04:40:02,069 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 04:40:02,070 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 04:40:02,071 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 04:40:02,071 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:40:02,072 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 04:40:02,072 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 04:40:02,072 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 04:40:02,072 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 04:40:02,075 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 04:40:02,075 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {567#true} {567#true} #63#return; {567#true} is VALID [2022-04-28 04:40:02,075 INFO L290 TraceCheckUtils]: 15: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:40:02,075 INFO L290 TraceCheckUtils]: 14: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 04:40:02,075 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 04:40:02,076 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 04:40:02,076 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 04:40:02,076 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-28 04:40:02,076 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:40:02,076 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 04:40:02,076 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 04:40:02,076 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 04:40:02,077 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 04:40:02,077 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-28 04:40:02,077 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-28 04:40:02,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:40:02,077 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 04:40:02,078 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-28 04:40:02,078 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 04:40:02,078 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:40:02,078 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1058407556] [2022-04-28 04:40:02,078 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:40:02,078 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [358958323] [2022-04-28 04:40:02,079 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [358958323] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:40:02,079 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:40:02,079 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7] total 14 [2022-04-28 04:40:02,079 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:40:02,079 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1553476017] [2022-04-28 04:40:02,079 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1553476017] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:40:02,080 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:40:02,080 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 04:40:02,080 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1045415823] [2022-04-28 04:40:02,080 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:40:02,080 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 04:40:02,081 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:40:02,081 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 04:40:02,114 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 04:40:02,114 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 04:40:02,114 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:02,115 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 04:40:02,115 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2022-04-28 04:40:02,116 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 04:40:02,798 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:02,798 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2022-04-28 04:40:02,798 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 04:40:02,799 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 04:40:02,799 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:40:02,799 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 04:40:02,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-28 04:40:02,802 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 04:40:02,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-28 04:40:02,804 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 51 transitions. [2022-04-28 04:40:02,851 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 04:40:02,853 INFO L225 Difference]: With dead ends: 48 [2022-04-28 04:40:02,853 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 04:40:02,853 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 04:40:02,854 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 04:40:02,855 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 04:40:02,855 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 04:40:02,889 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 43. [2022-04-28 04:40:02,889 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:40:02,889 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 04:40:02,890 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 04:40:02,890 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 04:40:02,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:02,893 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-28 04:40:02,893 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-28 04:40:02,893 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:02,893 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:02,894 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 04:40:02,894 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 04:40:02,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:02,897 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-28 04:40:02,897 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-28 04:40:02,897 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:02,897 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:02,897 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:40:02,898 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:40:02,898 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 04:40:02,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-28 04:40:02,900 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 32 [2022-04-28 04:40:02,900 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:40:02,900 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-28 04:40:02,900 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 04:40:02,901 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-28 04:40:02,955 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 04:40:02,955 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-28 04:40:02,956 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 04:40:02,956 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:40:02,956 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 04:40:02,974 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-28 04:40:03,167 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 04:40:03,168 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:40:03,168 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:40:03,168 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-28 04:40:03,168 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:03,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [487182775] [2022-04-28 04:40:03,169 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:40:03,169 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 2 times [2022-04-28 04:40:03,169 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:40:03,169 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1876152669] [2022-04-28 04:40:03,169 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:40:03,169 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:40:03,209 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:40:03,210 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [208490484] [2022-04-28 04:40:03,210 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:40:03,210 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:40:03,210 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:40:03,213 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 04:40:03,228 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 04:40:03,273 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:40:03,274 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:40:03,274 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-28 04:40:03,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:40:03,295 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:40:03,536 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-28 04:40:03,537 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 04:40:03,537 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:40:03,537 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-28 04:40:03,537 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-28 04:40:03,537 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 04:40:03,538 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 04:40:03,538 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 04:40:03,538 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 04:40:03,538 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:40:03,538 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-28 04:40:03,538 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 04:40:03,539 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 04:40:03,539 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 04:40:03,539 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 04:40:03,539 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:40:03,539 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-28 04:40:03,546 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 04:40:03,546 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 04:40:03,546 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 04:40:03,547 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 04:40:03,547 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 04:40:03,547 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:40:03,548 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 04:40:03,548 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 04:40:03,549 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 04:40:03,550 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 04:40:03,551 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 04:40:03,552 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 04:40:03,552 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 04:40:03,553 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-28 04:40:03,553 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-28 04:40:03,553 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 04:40:03,553 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:40:03,835 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-28 04:40:03,836 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-28 04:40:03,836 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 04:40:03,837 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 04:40:03,838 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 04:40:03,840 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 04:40:03,842 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 04:40:03,842 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 04:40:03,843 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 04:40:03,843 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:40:03,844 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 04:40:03,844 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 04:40:03,844 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 04:40:03,844 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 04:40:03,845 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 04:40:03,851 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-28 04:40:03,851 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:40:03,852 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 04:40:03,852 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 04:40:03,853 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 04:40:03,853 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 04:40:03,853 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-28 04:40:03,853 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:40:03,853 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-28 04:40:03,853 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-28 04:40:03,853 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 04:40:03,854 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 04:40:03,854 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-28 04:40:03,856 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-28 04:40:03,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-28 04:40:03,856 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 04:40:03,859 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-28 04:40:03,859 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 04:40:03,860 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:40:03,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1876152669] [2022-04-28 04:40:03,860 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:40:03,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [208490484] [2022-04-28 04:40:03,860 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [208490484] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:40:03,860 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:40:03,860 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-28 04:40:03,860 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:40:03,861 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [487182775] [2022-04-28 04:40:03,861 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [487182775] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:40:03,861 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:40:03,861 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 04:40:03,861 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2020703900] [2022-04-28 04:40:03,861 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:40:03,862 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 04:40:03,863 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:40:03,863 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 04:40:03,893 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 04:40:03,893 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 04:40:03,893 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:03,894 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 04:40:03,894 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-28 04:40:03,894 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 04:40:04,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:04,323 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-04-28 04:40:04,323 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 04:40:04,324 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 04:40:04,324 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:40:04,324 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 04:40:04,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-28 04:40:04,327 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 04:40:04,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-28 04:40:04,328 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 51 transitions. [2022-04-28 04:40:04,375 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 04:40:04,378 INFO L225 Difference]: With dead ends: 56 [2022-04-28 04:40:04,379 INFO L226 Difference]: Without dead ends: 54 [2022-04-28 04:40:04,379 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 04:40:04,381 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 04:40:04,382 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 04:40:04,383 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-28 04:40:04,426 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 50. [2022-04-28 04:40:04,426 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:40:04,427 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 04:40:04,428 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 04:40:04,428 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 04:40:04,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:04,432 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-28 04:40:04,432 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-28 04:40:04,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:04,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:04,433 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 04:40:04,434 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 04:40:04,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:04,438 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-28 04:40:04,438 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-28 04:40:04,441 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:04,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:04,441 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:40:04,442 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:40:04,442 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 04:40:04,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2022-04-28 04:40:04,446 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 32 [2022-04-28 04:40:04,446 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:40:04,446 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2022-04-28 04:40:04,447 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 04:40:04,447 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 54 transitions. [2022-04-28 04:40:04,506 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 04:40:04,507 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 04:40:04,509 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 04:40:04,509 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:40:04,509 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 04:40:04,537 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 04:40:04,732 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 04:40:04,733 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:40:04,733 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:40:04,733 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-28 04:40:04,733 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:04,733 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1375026768] [2022-04-28 04:40:04,734 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:40:04,734 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 2 times [2022-04-28 04:40:04,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:40:04,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1711859887] [2022-04-28 04:40:04,734 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:40:04,734 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:40:04,751 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:40:04,751 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [399550323] [2022-04-28 04:40:04,751 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:40:04,751 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:40:04,751 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:40:04,752 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 04:40:04,757 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 04:40:04,808 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:40:04,809 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:40:04,810 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 04:40:04,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:40:04,829 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:40:05,287 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-28 04:40:05,288 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 04:40:05,288 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 04:40:05,288 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-28 04:40:05,288 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-28 04:40:05,288 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 04:40:05,288 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 04:40:05,288 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 04:40:05,289 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 04:40:05,289 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 04:40:05,289 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-28 04:40:05,289 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 04:40:05,289 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 04:40:05,289 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 04:40:05,289 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 04:40:05,290 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 04:40:05,290 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-28 04:40:05,291 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 04:40:05,291 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 04:40:05,291 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 04:40:05,292 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:05,292 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 04:40:05,292 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 04:40:05,293 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 04:40:05,294 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 04:40:05,294 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 04:40:05,294 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 04:40:05,295 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 04:40:05,295 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 04:40:05,295 INFO L290 TraceCheckUtils]: 29: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:05,296 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 04:40:05,296 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 04:40:05,297 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 04:40:05,298 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 04:40:05,299 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 04:40:05,300 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 04:40:05,301 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 04:40:05,301 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-28 04:40:05,301 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-28 04:40:05,302 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 04:40:05,302 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:40:05,963 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-28 04:40:05,964 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-28 04:40:05,964 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 04:40:05,965 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 04:40:05,966 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 04:40:05,966 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 04:40:05,967 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 04:40:05,968 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 04:40:05,968 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 04:40:05,968 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 04:40:05,968 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 04:40:05,969 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 04:40:05,970 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 04:40:05,972 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 04:40:05,973 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 04:40:05,973 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1576#true} {1576#true} #65#return; {1576#true} is VALID [2022-04-28 04:40:05,973 INFO L290 TraceCheckUtils]: 22: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 04:40:05,973 INFO L290 TraceCheckUtils]: 21: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 04:40:05,973 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 04:40:05,974 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 04:40:05,974 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 04:40:05,974 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 04:40:05,974 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-28 04:40:05,974 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 04:40:05,974 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 04:40:05,974 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 04:40:05,975 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 04:40:05,975 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 04:40:05,975 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-28 04:40:05,975 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 04:40:05,975 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-28 04:40:05,975 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-28 04:40:05,975 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 04:40:05,975 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 04:40:05,976 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-28 04:40:05,976 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-28 04:40:05,976 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-28 04:40:05,976 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 04:40:05,976 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-28 04:40:05,976 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 04:40:05,977 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:40:05,977 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1711859887] [2022-04-28 04:40:05,977 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:40:05,977 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [399550323] [2022-04-28 04:40:05,977 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [399550323] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:40:05,977 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:40:05,977 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-28 04:40:05,977 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:40:05,978 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1375026768] [2022-04-28 04:40:05,978 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1375026768] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:40:05,978 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:40:05,978 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:40:05,978 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [879405480] [2022-04-28 04:40:05,978 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:40:05,978 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 04:40:05,979 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:40:05,979 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 04:40:06,019 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 04:40:06,019 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:40:06,019 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:06,020 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:40:06,020 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-28 04:40:06,020 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 04:40:06,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:06,900 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-28 04:40:06,901 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 04:40:06,901 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 04:40:06,901 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:40:06,901 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 04:40:06,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-28 04:40:06,903 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 04:40:06,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-28 04:40:06,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 53 transitions. [2022-04-28 04:40:06,955 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 04:40:06,956 INFO L225 Difference]: With dead ends: 61 [2022-04-28 04:40:06,956 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 04:40:06,957 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 04:40:06,957 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 04:40:06,958 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 04:40:06,958 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 04:40:06,998 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 43. [2022-04-28 04:40:06,999 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:40:06,999 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 04:40:06,999 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 04:40:06,999 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 04:40:07,001 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:07,001 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-28 04:40:07,002 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-28 04:40:07,002 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:07,002 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:07,002 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 04:40:07,002 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 04:40:07,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:07,004 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-28 04:40:07,004 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-28 04:40:07,005 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:07,005 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:07,005 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:40:07,005 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:40:07,005 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 04:40:07,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-28 04:40:07,007 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 39 [2022-04-28 04:40:07,007 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:40:07,007 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-28 04:40:07,007 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 04:40:07,007 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-28 04:40:07,070 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 04:40:07,070 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-28 04:40:07,071 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 04:40:07,071 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:40:07,071 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 04:40:07,095 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 04:40:07,272 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 04:40:07,272 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:40:07,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:40:07,273 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 3 times [2022-04-28 04:40:07,273 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:07,273 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [913859924] [2022-04-28 04:40:07,273 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:40:07,273 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 4 times [2022-04-28 04:40:07,273 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:40:07,274 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1046438829] [2022-04-28 04:40:07,274 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:40:07,274 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:40:07,288 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:40:07,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1867852082] [2022-04-28 04:40:07,288 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:40:07,288 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:40:07,288 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:40:07,289 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 04:40:07,290 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 04:40:07,329 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:40:07,329 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:40:07,330 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 04:40:07,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:40:07,345 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:40:23,590 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:40:26,747 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-28 04:40:26,747 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 04:40:26,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 04:40:26,748 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-28 04:40:26,748 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-28 04:40:26,748 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 04:40:26,748 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 04:40:26,748 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 04:40:26,748 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 04:40:26,748 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 04:40:26,749 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-28 04:40:26,749 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 04:40:26,749 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 04:40:26,749 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 04:40:26,749 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 04:40:26,749 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 04:40:26,749 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-28 04:40:26,750 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 04:40:26,750 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 04:40:26,751 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 04:40:26,751 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:26,751 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 04:40:26,752 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 04:40:26,752 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 04:40:26,753 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 04:40:26,753 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 04:40:26,754 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 04:40:26,755 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 04:40:26,755 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 04:40:26,755 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:26,755 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 04:40:26,756 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 04:40:26,757 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 04:40:26,757 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 04:40:26,758 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 04:40:26,760 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 04:40:26,765 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 04:40:26,768 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 04:40:26,769 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 04:40:26,769 INFO L290 TraceCheckUtils]: 39: Hoare triple {2284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-28 04:40:26,769 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-28 04:40:26,769 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 04:40:26,770 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:40:31,344 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-28 04:40:31,344 INFO L290 TraceCheckUtils]: 39: Hoare triple {2284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-28 04:40:31,345 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 04:40:31,346 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 04:40:31,346 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 04:40:31,358 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 04:40:31,360 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 04:40:31,360 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 04:40:31,361 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 04:40:31,361 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 04:40:31,362 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 04:40:31,362 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 04:40:31,362 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 04:40:31,363 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 04:40:31,363 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 04:40:31,364 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 04:40:31,364 INFO L290 TraceCheckUtils]: 24: Hoare triple {2155#true} assume !!(~x~0 <= ~X~0); {2155#true} is VALID [2022-04-28 04:40:31,364 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2155#true} {2155#true} #65#return; {2155#true} is VALID [2022-04-28 04:40:31,364 INFO L290 TraceCheckUtils]: 22: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 04:40:31,364 INFO L290 TraceCheckUtils]: 21: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 04:40:31,364 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 04:40:31,364 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 04:40:31,364 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 04:40:31,365 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 04:40:31,365 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-28 04:40:31,370 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 04:40:31,370 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 04:40:31,370 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 04:40:31,370 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 04:40:31,371 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 04:40:31,371 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-28 04:40:31,371 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 04:40:31,371 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-28 04:40:31,371 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-28 04:40:31,371 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 04:40:31,371 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 04:40:31,371 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-28 04:40:31,372 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-28 04:40:31,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-28 04:40:31,372 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 04:40:31,372 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-28 04:40:31,373 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 04:40:31,373 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:40:31,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1046438829] [2022-04-28 04:40:31,373 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:40:31,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1867852082] [2022-04-28 04:40:31,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1867852082] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:40:31,373 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:40:31,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 04:40:31,374 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:40:31,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [913859924] [2022-04-28 04:40:31,374 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [913859924] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:40:31,374 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:40:31,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 04:40:31,374 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1524210762] [2022-04-28 04:40:31,374 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:40:31,375 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 04:40:31,375 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:40:31,377 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 04:40:31,417 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 04:40:31,417 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 04:40:31,418 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:31,418 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 04:40:31,418 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=259, Unknown=0, NotChecked=0, Total=306 [2022-04-28 04:40:31,418 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 04:40:32,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:32,595 INFO L93 Difference]: Finished difference Result 61 states and 69 transitions. [2022-04-28 04:40:32,595 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 04:40:32,595 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 04:40:32,597 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:40:32,598 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 04:40:32,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 04:40:32,601 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 04:40:32,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 04:40:32,603 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-28 04:40:32,673 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 04:40:32,674 INFO L225 Difference]: With dead ends: 61 [2022-04-28 04:40:32,674 INFO L226 Difference]: Without dead ends: 57 [2022-04-28 04:40:32,675 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 63 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 57 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=75, Invalid=387, Unknown=0, NotChecked=0, Total=462 [2022-04-28 04:40:32,675 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 18 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 248 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-28 04:40:32,676 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.5s Time] [2022-04-28 04:40:32,676 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-28 04:40:32,733 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 55. [2022-04-28 04:40:32,733 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:40:32,733 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 04:40:32,733 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 04:40:32,734 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 04:40:32,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:32,735 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-28 04:40:32,736 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-28 04:40:32,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:32,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:32,736 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 04:40:32,736 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 04:40:32,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:32,738 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-28 04:40:32,738 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-28 04:40:32,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:32,739 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:32,739 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:40:32,739 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:40:32,739 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 04:40:32,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 61 transitions. [2022-04-28 04:40:32,741 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 61 transitions. Word has length 41 [2022-04-28 04:40:32,741 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:40:32,741 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 61 transitions. [2022-04-28 04:40:32,741 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 04:40:32,742 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 61 transitions. [2022-04-28 04:40:32,827 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 04:40:32,827 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-04-28 04:40:32,828 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 04:40:32,828 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:40:32,828 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 04:40:32,844 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 04:40:33,031 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 04:40:33,031 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:40:33,035 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:40:33,035 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 1 times [2022-04-28 04:40:33,035 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:33,035 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [500945181] [2022-04-28 04:40:33,036 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:40:33,036 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 2 times [2022-04-28 04:40:33,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:40:33,037 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [399123758] [2022-04-28 04:40:33,037 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:40:33,037 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:40:33,058 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:40:33,058 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1460746965] [2022-04-28 04:40:33,058 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:40:33,058 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:40:33,058 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:40:33,060 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 04:40:33,061 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 04:40:33,126 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:40:33,126 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:40:33,127 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 04:40:33,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:40:33,144 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:40:33,487 INFO L272 TraceCheckUtils]: 0: Hoare triple {2772#true} call ULTIMATE.init(); {2772#true} is VALID [2022-04-28 04:40:33,488 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 04:40:33,488 INFO L290 TraceCheckUtils]: 2: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 04:40:33,488 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2772#true} {2772#true} #69#return; {2772#true} is VALID [2022-04-28 04:40:33,488 INFO L272 TraceCheckUtils]: 4: Hoare triple {2772#true} call #t~ret8 := main(); {2772#true} is VALID [2022-04-28 04:40:33,488 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 04:40:33,488 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 04:40:33,489 INFO L290 TraceCheckUtils]: 7: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 04:40:33,489 INFO L290 TraceCheckUtils]: 8: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 04:40:33,489 INFO L290 TraceCheckUtils]: 9: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 04:40:33,489 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2772#true} {2772#true} #61#return; {2772#true} is VALID [2022-04-28 04:40:33,489 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 04:40:33,489 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 04:40:33,489 INFO L290 TraceCheckUtils]: 13: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 04:40:33,489 INFO L290 TraceCheckUtils]: 14: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 04:40:33,490 INFO L290 TraceCheckUtils]: 15: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 04:40:33,490 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2772#true} {2772#true} #63#return; {2772#true} is VALID [2022-04-28 04:40:33,490 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 04:40:33,491 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 04:40:33,491 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 04:40:33,491 INFO L290 TraceCheckUtils]: 20: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 04:40:33,491 INFO L290 TraceCheckUtils]: 21: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 04:40:33,491 INFO L290 TraceCheckUtils]: 22: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 04:40:33,493 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 04:40:33,493 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 04:40:33,494 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 04:40:33,495 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 04:40:33,495 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 04:40:33,496 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 04:40:33,498 INFO L290 TraceCheckUtils]: 29: Hoare triple {2772#true} ~cond := #in~cond; {2868#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:33,503 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 04:40:33,506 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 04:40:33,507 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 04:40:33,508 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 04:40:33,509 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 04:40:33,509 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 04:40:33,511 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 04:40:33,512 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 04:40:33,515 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 04:40:33,515 INFO L290 TraceCheckUtils]: 39: Hoare triple {2901#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2773#false} is VALID [2022-04-28 04:40:33,515 INFO L290 TraceCheckUtils]: 40: Hoare triple {2773#false} assume !false; {2773#false} is VALID [2022-04-28 04:40:33,516 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 04:40:33,516 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:40:37,626 INFO L290 TraceCheckUtils]: 40: Hoare triple {2773#false} assume !false; {2773#false} is VALID [2022-04-28 04:40:37,626 INFO L290 TraceCheckUtils]: 39: Hoare triple {2901#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2773#false} is VALID [2022-04-28 04:40:37,627 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 04:40:37,628 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 04:40:37,629 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 04:40:37,630 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 04:40:37,632 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 04:40:37,633 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 04:40:37,634 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 04:40:37,634 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 04:40:37,635 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 04:40:37,635 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 04:40:37,635 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 04:40:37,636 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 04:40:37,636 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 04:40:37,637 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 04:40:37,637 INFO L290 TraceCheckUtils]: 24: Hoare triple {2772#true} assume !!(~x~0 <= ~X~0); {2772#true} is VALID [2022-04-28 04:40:37,637 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2772#true} {2772#true} #65#return; {2772#true} is VALID [2022-04-28 04:40:37,637 INFO L290 TraceCheckUtils]: 22: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 04:40:37,637 INFO L290 TraceCheckUtils]: 21: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 04:40:37,637 INFO L290 TraceCheckUtils]: 20: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 04:40:37,637 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 04:40:37,637 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 04:40:37,637 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 04:40:37,638 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2772#true} {2772#true} #63#return; {2772#true} is VALID [2022-04-28 04:40:37,638 INFO L290 TraceCheckUtils]: 15: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 04:40:37,638 INFO L290 TraceCheckUtils]: 14: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 04:40:37,638 INFO L290 TraceCheckUtils]: 13: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 04:40:37,638 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 04:40:37,638 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 04:40:37,638 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2772#true} {2772#true} #61#return; {2772#true} is VALID [2022-04-28 04:40:37,638 INFO L290 TraceCheckUtils]: 9: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 04:40:37,638 INFO L290 TraceCheckUtils]: 8: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-28 04:40:37,639 INFO L290 TraceCheckUtils]: 7: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-28 04:40:37,639 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 04:40:37,639 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 04:40:37,639 INFO L272 TraceCheckUtils]: 4: Hoare triple {2772#true} call #t~ret8 := main(); {2772#true} is VALID [2022-04-28 04:40:37,639 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2772#true} {2772#true} #69#return; {2772#true} is VALID [2022-04-28 04:40:37,639 INFO L290 TraceCheckUtils]: 2: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-28 04:40:37,639 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 04:40:37,639 INFO L272 TraceCheckUtils]: 0: Hoare triple {2772#true} call ULTIMATE.init(); {2772#true} is VALID [2022-04-28 04:40:37,640 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 04:40:37,640 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:40:37,640 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [399123758] [2022-04-28 04:40:37,640 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:40:37,640 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1460746965] [2022-04-28 04:40:37,640 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1460746965] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:40:37,640 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:40:37,641 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 04:40:37,641 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:40:37,641 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [500945181] [2022-04-28 04:40:37,641 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [500945181] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:40:37,641 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:40:37,641 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 04:40:37,641 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [869312322] [2022-04-28 04:40:37,641 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:40:37,642 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 04:40:37,642 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:40:37,642 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 04:40:37,678 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 04:40:37,678 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 04:40:37,678 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:37,678 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 04:40:37,679 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-28 04:40:37,679 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 04:40:38,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:38,459 INFO L93 Difference]: Finished difference Result 72 states and 79 transitions. [2022-04-28 04:40:38,460 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 04:40:38,460 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 04:40:38,460 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:40:38,460 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 04:40:38,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 04:40:38,463 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 04:40:38,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 04:40:38,466 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-28 04:40:38,518 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 04:40:38,520 INFO L225 Difference]: With dead ends: 72 [2022-04-28 04:40:38,520 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 04:40:38,520 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 04:40:38,521 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 04:40:38,521 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 04:40:38,521 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 04:40:38,581 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 59. [2022-04-28 04:40:38,582 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:40:38,582 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 04:40:38,582 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 04:40:38,582 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 04:40:38,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:38,584 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-28 04:40:38,585 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-28 04:40:38,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:38,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:38,585 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 04:40:38,585 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 04:40:38,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:38,588 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-28 04:40:38,588 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-28 04:40:38,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:38,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:38,588 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:40:38,588 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:40:38,589 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 04:40:38,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 64 transitions. [2022-04-28 04:40:38,590 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 64 transitions. Word has length 41 [2022-04-28 04:40:38,590 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:40:38,590 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 64 transitions. [2022-04-28 04:40:38,591 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 04:40:38,591 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 64 transitions. [2022-04-28 04:40:38,692 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 04:40:38,692 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-04-28 04:40:38,692 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 04:40:38,692 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:40:38,692 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 04:40:38,709 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 04:40:38,895 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 04:40:38,896 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:40:38,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:40:38,896 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 3 times [2022-04-28 04:40:38,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:38,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1045283415] [2022-04-28 04:40:38,897 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:40:38,897 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 4 times [2022-04-28 04:40:38,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:40:38,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [146418326] [2022-04-28 04:40:38,897 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:40:38,897 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:40:38,923 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:40:38,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1369556378] [2022-04-28 04:40:38,924 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:40:38,924 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:40:38,924 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:40:38,928 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 04:40:38,951 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 04:40:38,988 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:40:38,988 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:40:38,989 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 04:40:39,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:40:39,001 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:40:53,524 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:40:56,929 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:40:59,405 INFO L272 TraceCheckUtils]: 0: Hoare triple {3443#true} call ULTIMATE.init(); {3443#true} is VALID [2022-04-28 04:40:59,406 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 04:40:59,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 04:40:59,406 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3443#true} {3443#true} #69#return; {3443#true} is VALID [2022-04-28 04:40:59,406 INFO L272 TraceCheckUtils]: 4: Hoare triple {3443#true} call #t~ret8 := main(); {3443#true} is VALID [2022-04-28 04:40:59,406 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 04:40:59,406 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 04:40:59,406 INFO L290 TraceCheckUtils]: 7: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-28 04:40:59,407 INFO L290 TraceCheckUtils]: 8: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-28 04:40:59,407 INFO L290 TraceCheckUtils]: 9: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 04:40:59,407 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3443#true} {3443#true} #61#return; {3443#true} is VALID [2022-04-28 04:40:59,407 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 04:40:59,407 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 04:40:59,407 INFO L290 TraceCheckUtils]: 13: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-28 04:40:59,407 INFO L290 TraceCheckUtils]: 14: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-28 04:40:59,407 INFO L290 TraceCheckUtils]: 15: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 04:40:59,407 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3443#true} {3443#true} #63#return; {3443#true} is VALID [2022-04-28 04:40:59,408 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 04:40:59,408 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 04:40:59,408 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 04:40:59,408 INFO L290 TraceCheckUtils]: 20: Hoare triple {3443#true} ~cond := #in~cond; {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:59,409 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 04:40:59,409 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 04:40:59,410 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 04:40:59,410 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 04:40:59,411 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 04:40:59,411 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 04:40:59,412 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 04:40:59,412 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 04:40:59,412 INFO L290 TraceCheckUtils]: 29: Hoare triple {3443#true} ~cond := #in~cond; {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:59,412 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 04:40:59,412 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 04:40:59,414 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 04:40:59,414 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 04:40:59,415 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 04:40:59,415 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 04:40:59,417 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 04:40:59,418 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 04:40:59,418 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 04:40:59,419 INFO L290 TraceCheckUtils]: 39: Hoare triple {3573#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3444#false} is VALID [2022-04-28 04:40:59,419 INFO L290 TraceCheckUtils]: 40: Hoare triple {3444#false} assume !false; {3444#false} is VALID [2022-04-28 04:40:59,419 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 04:40:59,419 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:41:04,521 INFO L290 TraceCheckUtils]: 40: Hoare triple {3444#false} assume !false; {3444#false} is VALID [2022-04-28 04:41:04,521 INFO L290 TraceCheckUtils]: 39: Hoare triple {3573#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3444#false} is VALID [2022-04-28 04:41:04,521 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 04:41:04,522 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 04:41:04,523 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 04:41:04,525 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 04:41:04,526 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 04:41:04,526 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 04:41:04,527 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 04:41:04,528 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 04:41:04,528 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 04:41:04,528 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 04:41:04,528 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 04:41:04,529 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 04:41:04,529 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 04:41:04,529 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 04:41:04,529 INFO L290 TraceCheckUtils]: 24: Hoare triple {3443#true} assume !!(~x~0 <= ~X~0); {3443#true} is VALID [2022-04-28 04:41:04,529 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3443#true} {3443#true} #65#return; {3443#true} is VALID [2022-04-28 04:41:04,529 INFO L290 TraceCheckUtils]: 22: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 04:41:04,530 INFO L290 TraceCheckUtils]: 21: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-28 04:41:04,530 INFO L290 TraceCheckUtils]: 20: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-28 04:41:04,530 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 04:41:04,530 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 04:41:04,530 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 04:41:04,530 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3443#true} {3443#true} #63#return; {3443#true} is VALID [2022-04-28 04:41:04,530 INFO L290 TraceCheckUtils]: 15: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 04:41:04,530 INFO L290 TraceCheckUtils]: 14: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-28 04:41:04,530 INFO L290 TraceCheckUtils]: 13: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-28 04:41:04,530 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 04:41:04,530 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 04:41:04,530 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3443#true} {3443#true} #61#return; {3443#true} is VALID [2022-04-28 04:41:04,531 INFO L290 TraceCheckUtils]: 9: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 04:41:04,531 INFO L290 TraceCheckUtils]: 8: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-28 04:41:04,531 INFO L290 TraceCheckUtils]: 7: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-28 04:41:04,531 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 04:41:04,531 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 04:41:04,531 INFO L272 TraceCheckUtils]: 4: Hoare triple {3443#true} call #t~ret8 := main(); {3443#true} is VALID [2022-04-28 04:41:04,531 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3443#true} {3443#true} #69#return; {3443#true} is VALID [2022-04-28 04:41:04,531 INFO L290 TraceCheckUtils]: 2: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-28 04:41:04,531 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 04:41:04,531 INFO L272 TraceCheckUtils]: 0: Hoare triple {3443#true} call ULTIMATE.init(); {3443#true} is VALID [2022-04-28 04:41:04,531 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 04:41:04,532 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:41:04,532 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [146418326] [2022-04-28 04:41:04,532 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:41:04,532 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1369556378] [2022-04-28 04:41:04,532 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1369556378] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:41:04,532 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:41:04,532 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-28 04:41:04,532 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:41:04,532 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1045283415] [2022-04-28 04:41:04,532 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1045283415] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:41:04,533 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:41:04,533 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:41:04,533 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [185409392] [2022-04-28 04:41:04,533 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:41:04,533 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 04:41:04,533 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:41:04,534 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 04:41:04,564 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 04:41:04,565 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:41:04,565 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:04,565 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:41:04,565 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=319, Unknown=1, NotChecked=0, Total=380 [2022-04-28 04:41:04,565 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 04:41:06,801 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 04:41:09,267 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 04:41:11,315 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 04:41:13,447 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 04:41:14,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:14,062 INFO L93 Difference]: Finished difference Result 86 states and 98 transitions. [2022-04-28 04:41:14,062 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 04:41:14,062 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 04:41:14,062 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:41:14,062 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 04:41:14,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-28 04:41:14,064 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 04:41:14,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-28 04:41:14,065 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 70 transitions. [2022-04-28 04:41:14,126 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 04:41:14,127 INFO L225 Difference]: With dead ends: 86 [2022-04-28 04:41:14,127 INFO L226 Difference]: Without dead ends: 73 [2022-04-28 04:41:14,127 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 61 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=98, Invalid=501, Unknown=1, NotChecked=0, Total=600 [2022-04-28 04:41:14,128 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 15 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 297 mSolverCounterSat, 6 mSolverCounterUnsat, 4 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 307 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 297 IncrementalHoareTripleChecker+Invalid, 4 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:41:14,128 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 184 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 297 Invalid, 4 Unknown, 0 Unchecked, 8.4s Time] [2022-04-28 04:41:14,128 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-28 04:41:14,215 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 73. [2022-04-28 04:41:14,215 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:41:14,215 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 04:41:14,216 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 04:41:14,216 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 04:41:14,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:14,218 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-28 04:41:14,218 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 04:41:14,218 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:14,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:14,219 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 04:41:14,219 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 04:41:14,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:14,221 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-28 04:41:14,221 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 04:41:14,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:14,221 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:14,221 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:41:14,222 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:41:14,222 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 04:41:14,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-28 04:41:14,224 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-28 04:41:14,224 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:41:14,224 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-28 04:41:14,224 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 04:41:14,224 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-28 04:41:14,355 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 04:41:14,356 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 04:41:14,356 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 04:41:14,356 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:41:14,356 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 04:41:14,360 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 04:41:14,559 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 04:41:14,560 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:41:14,560 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:41:14,560 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 3 times [2022-04-28 04:41:14,560 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:14,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1844226563] [2022-04-28 04:41:14,560 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:41:14,561 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 4 times [2022-04-28 04:41:14,561 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:41:14,561 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2043133304] [2022-04-28 04:41:14,561 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:41:14,561 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:41:14,586 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:41:14,587 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [695372685] [2022-04-28 04:41:14,587 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:41:14,587 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:41:14,587 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:41:14,589 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 04:41:14,590 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 04:41:14,652 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:41:14,652 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:41:14,653 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 04:41:14,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:41:14,665 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:41:15,001 INFO L272 TraceCheckUtils]: 0: Hoare triple {4182#true} call ULTIMATE.init(); {4182#true} is VALID [2022-04-28 04:41:15,002 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 04:41:15,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 04:41:15,002 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4182#true} {4182#true} #69#return; {4182#true} is VALID [2022-04-28 04:41:15,002 INFO L272 TraceCheckUtils]: 4: Hoare triple {4182#true} call #t~ret8 := main(); {4182#true} is VALID [2022-04-28 04:41:15,002 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 04:41:15,002 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 04:41:15,002 INFO L290 TraceCheckUtils]: 7: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 04:41:15,003 INFO L290 TraceCheckUtils]: 8: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 04:41:15,003 INFO L290 TraceCheckUtils]: 9: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 04:41:15,003 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4182#true} {4182#true} #61#return; {4182#true} is VALID [2022-04-28 04:41:15,003 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 04:41:15,003 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 04:41:15,003 INFO L290 TraceCheckUtils]: 13: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 04:41:15,003 INFO L290 TraceCheckUtils]: 14: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 04:41:15,003 INFO L290 TraceCheckUtils]: 15: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 04:41:15,003 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4182#true} {4182#true} #63#return; {4182#true} is VALID [2022-04-28 04:41:15,004 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 04:41:15,004 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 04:41:15,004 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 04:41:15,005 INFO L290 TraceCheckUtils]: 20: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 04:41:15,005 INFO L290 TraceCheckUtils]: 21: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 04:41:15,005 INFO L290 TraceCheckUtils]: 22: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 04:41:15,006 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 04:41:15,006 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 04:41:15,007 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 04:41:15,007 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 04:41:15,008 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 04:41:15,008 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 04:41:15,008 INFO L290 TraceCheckUtils]: 29: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 04:41:15,008 INFO L290 TraceCheckUtils]: 30: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 04:41:15,008 INFO L290 TraceCheckUtils]: 31: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 04:41:15,009 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 04:41:15,010 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 04:41:15,011 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 04:41:15,011 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 04:41:15,012 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 04:41:15,013 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 04:41:15,014 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 04:41:15,014 INFO L290 TraceCheckUtils]: 39: Hoare triple {4309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4183#false} is VALID [2022-04-28 04:41:15,014 INFO L290 TraceCheckUtils]: 40: Hoare triple {4183#false} assume !false; {4183#false} is VALID [2022-04-28 04:41:15,014 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 04:41:15,015 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:41:15,431 INFO L290 TraceCheckUtils]: 40: Hoare triple {4183#false} assume !false; {4183#false} is VALID [2022-04-28 04:41:15,432 INFO L290 TraceCheckUtils]: 39: Hoare triple {4309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4183#false} is VALID [2022-04-28 04:41:15,432 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 04:41:15,433 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 04:41:15,433 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 04:41:15,435 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 04:41:15,436 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 04:41:15,437 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 04:41:15,437 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 04:41:15,437 INFO L290 TraceCheckUtils]: 31: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 04:41:15,438 INFO L290 TraceCheckUtils]: 30: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 04:41:15,438 INFO L290 TraceCheckUtils]: 29: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 04:41:15,438 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 04:41:15,438 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 04:41:15,440 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 04:41:15,441 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 04:41:15,442 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 04:41:15,442 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 04:41:15,442 INFO L290 TraceCheckUtils]: 22: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 04:41:15,442 INFO L290 TraceCheckUtils]: 21: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 04:41:15,442 INFO L290 TraceCheckUtils]: 20: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 04:41:15,443 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 04:41:15,443 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 04:41:15,443 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 04:41:15,444 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4182#true} {4182#true} #63#return; {4182#true} is VALID [2022-04-28 04:41:15,444 INFO L290 TraceCheckUtils]: 15: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 04:41:15,444 INFO L290 TraceCheckUtils]: 14: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 04:41:15,444 INFO L290 TraceCheckUtils]: 13: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 04:41:15,444 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 04:41:15,444 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 04:41:15,444 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4182#true} {4182#true} #61#return; {4182#true} is VALID [2022-04-28 04:41:15,444 INFO L290 TraceCheckUtils]: 9: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 04:41:15,444 INFO L290 TraceCheckUtils]: 8: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-28 04:41:15,444 INFO L290 TraceCheckUtils]: 7: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-28 04:41:15,444 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 04:41:15,444 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 04:41:15,444 INFO L272 TraceCheckUtils]: 4: Hoare triple {4182#true} call #t~ret8 := main(); {4182#true} is VALID [2022-04-28 04:41:15,444 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4182#true} {4182#true} #69#return; {4182#true} is VALID [2022-04-28 04:41:15,445 INFO L290 TraceCheckUtils]: 2: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-28 04:41:15,445 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 04:41:15,445 INFO L272 TraceCheckUtils]: 0: Hoare triple {4182#true} call ULTIMATE.init(); {4182#true} is VALID [2022-04-28 04:41:15,445 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 04:41:15,445 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:41:15,445 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2043133304] [2022-04-28 04:41:15,445 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:41:15,445 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [695372685] [2022-04-28 04:41:15,445 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [695372685] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:41:15,445 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:41:15,446 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2022-04-28 04:41:15,446 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:41:15,446 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1844226563] [2022-04-28 04:41:15,446 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1844226563] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:41:15,446 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:41:15,446 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 04:41:15,446 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1046609295] [2022-04-28 04:41:15,446 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:41:15,447 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 04:41:15,447 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:41:15,447 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 04:41:15,475 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 04:41:15,475 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 04:41:15,475 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:15,475 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 04:41:15,475 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-28 04:41:15,475 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 04:41:16,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:16,204 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2022-04-28 04:41:16,205 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 04:41:16,205 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 04:41:16,205 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:41:16,205 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 04:41:16,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-28 04:41:16,206 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 04:41:16,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-28 04:41:16,207 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 58 transitions. [2022-04-28 04:41:16,258 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 04:41:16,259 INFO L225 Difference]: With dead ends: 86 [2022-04-28 04:41:16,259 INFO L226 Difference]: Without dead ends: 84 [2022-04-28 04:41:16,259 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 64 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=73, Invalid=307, Unknown=0, NotChecked=0, Total=380 [2022-04-28 04:41:16,260 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 04:41:16,260 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 04:41:16,260 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-28 04:41:16,361 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 73. [2022-04-28 04:41:16,362 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:41:16,362 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 04:41:16,362 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 04:41:16,362 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 04:41:16,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:16,365 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-28 04:41:16,365 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-28 04:41:16,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:16,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:16,366 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 04:41:16,366 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 04:41:16,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:16,368 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-28 04:41:16,368 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-28 04:41:16,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:16,368 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:16,368 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:41:16,369 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:41:16,369 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 04:41:16,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-28 04:41:16,370 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-28 04:41:16,370 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:41:16,370 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-28 04:41:16,371 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 04:41:16,371 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-28 04:41:16,500 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 04:41:16,500 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 04:41:16,500 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 04:41:16,501 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:41:16,501 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 04:41:16,505 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 04:41:16,703 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 04:41:16,704 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:41:16,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:41:16,704 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 1 times [2022-04-28 04:41:16,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:16,704 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [353248867] [2022-04-28 04:41:16,705 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:41:16,705 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 2 times [2022-04-28 04:41:16,705 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:41:16,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [516696598] [2022-04-28 04:41:16,705 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:41:16,705 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:41:16,732 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:41:16,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1709466683] [2022-04-28 04:41:16,732 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:41:16,732 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:41:16,732 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:41:16,734 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 04:41:16,735 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 04:41:16,778 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:41:16,778 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:41:16,778 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:41:16,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:41:16,788 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:41:17,499 INFO L272 TraceCheckUtils]: 0: Hoare triple {4935#true} call ULTIMATE.init(); {4935#true} is VALID [2022-04-28 04:41:17,499 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 04:41:17,499 INFO L290 TraceCheckUtils]: 2: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 04:41:17,499 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4935#true} {4935#true} #69#return; {4935#true} is VALID [2022-04-28 04:41:17,499 INFO L272 TraceCheckUtils]: 4: Hoare triple {4935#true} call #t~ret8 := main(); {4935#true} is VALID [2022-04-28 04:41:17,500 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 04:41:17,500 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 04:41:17,500 INFO L290 TraceCheckUtils]: 7: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 04:41:17,500 INFO L290 TraceCheckUtils]: 8: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 04:41:17,500 INFO L290 TraceCheckUtils]: 9: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 04:41:17,500 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4935#true} {4935#true} #61#return; {4935#true} is VALID [2022-04-28 04:41:17,500 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 04:41:17,500 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 04:41:17,500 INFO L290 TraceCheckUtils]: 13: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 04:41:17,500 INFO L290 TraceCheckUtils]: 14: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 04:41:17,500 INFO L290 TraceCheckUtils]: 15: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 04:41:17,500 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4935#true} {4935#true} #63#return; {4935#true} is VALID [2022-04-28 04:41:17,501 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 04:41:17,501 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 04:41:17,501 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 04:41:17,501 INFO L290 TraceCheckUtils]: 20: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 04:41:17,501 INFO L290 TraceCheckUtils]: 21: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 04:41:17,501 INFO L290 TraceCheckUtils]: 22: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 04:41:17,502 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 04:41:17,502 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 04:41:17,503 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 04:41:17,504 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 04:41:17,504 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 04:41:17,505 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 04:41:17,505 INFO L290 TraceCheckUtils]: 29: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 04:41:17,505 INFO L290 TraceCheckUtils]: 30: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 04:41:17,505 INFO L290 TraceCheckUtils]: 31: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 04:41:17,505 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 04:41:17,506 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 04:41:17,506 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 04:41:17,507 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 04:41:17,507 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 04:41:17,507 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 04:41:17,507 INFO L290 TraceCheckUtils]: 38: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 04:41:17,508 INFO L290 TraceCheckUtils]: 39: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 04:41:17,508 INFO L290 TraceCheckUtils]: 40: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 04:41:17,508 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 04:41:17,509 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 04:41:17,509 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 04:41:17,509 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 04:41:17,509 INFO L290 TraceCheckUtils]: 45: Hoare triple {4936#false} ~cond := #in~cond; {4936#false} is VALID [2022-04-28 04:41:17,509 INFO L290 TraceCheckUtils]: 46: Hoare triple {4936#false} assume 0 == ~cond; {4936#false} is VALID [2022-04-28 04:41:17,509 INFO L290 TraceCheckUtils]: 47: Hoare triple {4936#false} assume !false; {4936#false} is VALID [2022-04-28 04:41:17,509 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 04:41:17,509 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:41:17,788 INFO L290 TraceCheckUtils]: 47: Hoare triple {4936#false} assume !false; {4936#false} is VALID [2022-04-28 04:41:17,789 INFO L290 TraceCheckUtils]: 46: Hoare triple {4936#false} assume 0 == ~cond; {4936#false} is VALID [2022-04-28 04:41:17,789 INFO L290 TraceCheckUtils]: 45: Hoare triple {4936#false} ~cond := #in~cond; {4936#false} is VALID [2022-04-28 04:41:17,789 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 04:41:17,789 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 04:41:17,789 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 04:41:17,790 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 04:41:17,790 INFO L290 TraceCheckUtils]: 40: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 04:41:17,790 INFO L290 TraceCheckUtils]: 39: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 04:41:17,790 INFO L290 TraceCheckUtils]: 38: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 04:41:17,790 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 04:41:17,795 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 04:41:17,796 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 04:41:17,797 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 04:41:17,797 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 04:41:17,798 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 04:41:17,798 INFO L290 TraceCheckUtils]: 31: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 04:41:17,798 INFO L290 TraceCheckUtils]: 30: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 04:41:17,798 INFO L290 TraceCheckUtils]: 29: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 04:41:17,798 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 04:41:17,798 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 04:41:17,799 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 04:41:17,800 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 04:41:17,800 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 04:41:17,801 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 04:41:17,801 INFO L290 TraceCheckUtils]: 22: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 04:41:17,801 INFO L290 TraceCheckUtils]: 21: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 04:41:17,801 INFO L290 TraceCheckUtils]: 20: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 04:41:17,801 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 04:41:17,802 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 04:41:17,803 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 04:41:17,803 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4935#true} {4935#true} #63#return; {4935#true} is VALID [2022-04-28 04:41:17,803 INFO L290 TraceCheckUtils]: 15: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 04:41:17,803 INFO L290 TraceCheckUtils]: 14: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 04:41:17,803 INFO L290 TraceCheckUtils]: 13: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 04:41:17,803 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 04:41:17,803 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 04:41:17,803 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4935#true} {4935#true} #61#return; {4935#true} is VALID [2022-04-28 04:41:17,803 INFO L290 TraceCheckUtils]: 9: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 04:41:17,804 INFO L290 TraceCheckUtils]: 8: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-28 04:41:17,804 INFO L290 TraceCheckUtils]: 7: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-28 04:41:17,804 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 04:41:17,804 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 04:41:17,804 INFO L272 TraceCheckUtils]: 4: Hoare triple {4935#true} call #t~ret8 := main(); {4935#true} is VALID [2022-04-28 04:41:17,804 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4935#true} {4935#true} #69#return; {4935#true} is VALID [2022-04-28 04:41:17,804 INFO L290 TraceCheckUtils]: 2: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-28 04:41:17,804 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 04:41:17,804 INFO L272 TraceCheckUtils]: 0: Hoare triple {4935#true} call ULTIMATE.init(); {4935#true} is VALID [2022-04-28 04:41:17,805 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 04:41:17,805 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:41:17,805 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [516696598] [2022-04-28 04:41:17,805 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:41:17,805 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1709466683] [2022-04-28 04:41:17,805 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1709466683] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:41:17,805 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:41:17,805 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 04:41:17,806 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:41:17,806 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [353248867] [2022-04-28 04:41:17,806 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [353248867] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:41:17,806 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:41:17,806 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 04:41:17,806 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1948246183] [2022-04-28 04:41:17,806 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:41:17,806 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 04:41:17,807 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:41:17,808 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 04:41:17,846 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 04:41:17,846 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 04:41:17,846 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:17,846 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 04:41:17,847 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-28 04:41:17,847 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 04:41:18,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:18,183 INFO L93 Difference]: Finished difference Result 87 states and 96 transitions. [2022-04-28 04:41:18,184 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 04:41:18,184 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 04:41:18,184 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:41:18,184 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 04:41:18,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-28 04:41:18,185 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 04:41:18,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-28 04:41:18,186 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2022-04-28 04:41:18,228 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 04:41:18,229 INFO L225 Difference]: With dead ends: 87 [2022-04-28 04:41:18,229 INFO L226 Difference]: Without dead ends: 79 [2022-04-28 04:41:18,229 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 04:41:18,230 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 04:41:18,230 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 04:41:18,231 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-28 04:41:18,358 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 76. [2022-04-28 04:41:18,358 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:41:18,358 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 04:41:18,359 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 04:41:18,359 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 04:41:18,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:18,361 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-28 04:41:18,361 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-28 04:41:18,361 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:18,361 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:18,362 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 04:41:18,362 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 04:41:18,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:18,363 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-28 04:41:18,364 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-28 04:41:18,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:18,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:18,364 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:41:18,364 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:41:18,364 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 04:41:18,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 84 transitions. [2022-04-28 04:41:18,366 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 84 transitions. Word has length 48 [2022-04-28 04:41:18,366 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:41:18,366 INFO L495 AbstractCegarLoop]: Abstraction has 76 states and 84 transitions. [2022-04-28 04:41:18,366 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 04:41:18,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 84 transitions. [2022-04-28 04:41:18,511 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 04:41:18,511 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 84 transitions. [2022-04-28 04:41:18,511 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 04:41:18,511 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:41:18,511 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 04:41:18,529 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 04:41:18,712 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 04:41:18,712 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:41:18,712 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:41:18,713 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 3 times [2022-04-28 04:41:18,713 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:18,713 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1553800218] [2022-04-28 04:41:18,713 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:41:18,713 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 4 times [2022-04-28 04:41:18,713 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:41:18,713 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [367172037] [2022-04-28 04:41:18,713 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:41:18,714 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:41:18,733 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:41:18,733 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1824030752] [2022-04-28 04:41:18,733 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:41:18,734 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:41:18,734 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:41:18,736 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 04:41:18,739 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 04:41:18,778 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:41:18,778 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:41:18,779 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 04:41:18,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:41:18,790 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:41:19,279 INFO L272 TraceCheckUtils]: 0: Hoare triple {5718#true} call ULTIMATE.init(); {5718#true} is VALID [2022-04-28 04:41:19,279 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 04:41:19,279 INFO L290 TraceCheckUtils]: 2: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 04:41:19,280 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5718#true} {5718#true} #69#return; {5718#true} is VALID [2022-04-28 04:41:19,280 INFO L272 TraceCheckUtils]: 4: Hoare triple {5718#true} call #t~ret8 := main(); {5718#true} is VALID [2022-04-28 04:41:19,280 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 04:41:19,280 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 04:41:19,280 INFO L290 TraceCheckUtils]: 7: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 04:41:19,280 INFO L290 TraceCheckUtils]: 8: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 04:41:19,280 INFO L290 TraceCheckUtils]: 9: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 04:41:19,280 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5718#true} {5718#true} #61#return; {5718#true} is VALID [2022-04-28 04:41:19,280 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 04:41:19,280 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 04:41:19,280 INFO L290 TraceCheckUtils]: 13: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 04:41:19,280 INFO L290 TraceCheckUtils]: 14: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 04:41:19,280 INFO L290 TraceCheckUtils]: 15: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 04:41:19,280 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5718#true} {5718#true} #63#return; {5718#true} is VALID [2022-04-28 04:41:19,281 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 04:41:19,281 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 04:41:19,281 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 04:41:19,281 INFO L290 TraceCheckUtils]: 20: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 04:41:19,281 INFO L290 TraceCheckUtils]: 21: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 04:41:19,282 INFO L290 TraceCheckUtils]: 22: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 04:41:19,282 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 04:41:19,282 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 04:41:19,283 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 04:41:19,283 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 04:41:19,284 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 04:41:19,284 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 04:41:19,291 INFO L290 TraceCheckUtils]: 29: Hoare triple {5718#true} ~cond := #in~cond; {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:19,292 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 04:41:19,292 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 04:41:19,293 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 04:41:19,293 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 04:41:19,294 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 04:41:19,294 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 04:41:19,295 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 04:41:19,295 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 04:41:19,295 INFO L290 TraceCheckUtils]: 38: Hoare triple {5718#true} ~cond := #in~cond; {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:19,296 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 04:41:19,296 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 04:41:19,297 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 04:41:19,298 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 04:41:19,298 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 04:41:19,299 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 04:41:19,300 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 04:41:19,300 INFO L290 TraceCheckUtils]: 46: Hoare triple {5871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5719#false} is VALID [2022-04-28 04:41:19,300 INFO L290 TraceCheckUtils]: 47: Hoare triple {5719#false} assume !false; {5719#false} is VALID [2022-04-28 04:41:19,300 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 04:41:19,300 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:41:19,836 INFO L290 TraceCheckUtils]: 47: Hoare triple {5719#false} assume !false; {5719#false} is VALID [2022-04-28 04:41:19,836 INFO L290 TraceCheckUtils]: 46: Hoare triple {5871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5719#false} is VALID [2022-04-28 04:41:19,837 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 04:41:19,838 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 04:41:19,838 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 04:41:19,839 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 04:41:19,840 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 04:41:19,840 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 04:41:19,841 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 04:41:19,841 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 04:41:19,841 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 04:41:19,842 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 04:41:19,844 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 04:41:19,846 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 04:41:19,847 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 04:41:19,847 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5718#true} {5718#true} #65#return; {5718#true} is VALID [2022-04-28 04:41:19,848 INFO L290 TraceCheckUtils]: 31: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 04:41:19,848 INFO L290 TraceCheckUtils]: 30: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 04:41:19,848 INFO L290 TraceCheckUtils]: 29: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 04:41:19,848 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 04:41:19,848 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 04:41:19,848 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 04:41:19,848 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 04:41:19,848 INFO L290 TraceCheckUtils]: 24: Hoare triple {5718#true} assume !!(~x~0 <= ~X~0); {5718#true} is VALID [2022-04-28 04:41:19,848 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5718#true} {5718#true} #65#return; {5718#true} is VALID [2022-04-28 04:41:19,848 INFO L290 TraceCheckUtils]: 22: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 04:41:19,848 INFO L290 TraceCheckUtils]: 21: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 04:41:19,848 INFO L290 TraceCheckUtils]: 20: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 04:41:19,848 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 04:41:19,848 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 04:41:19,849 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 04:41:19,849 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5718#true} {5718#true} #63#return; {5718#true} is VALID [2022-04-28 04:41:19,849 INFO L290 TraceCheckUtils]: 15: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 04:41:19,849 INFO L290 TraceCheckUtils]: 14: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 04:41:19,849 INFO L290 TraceCheckUtils]: 13: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 04:41:19,849 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 04:41:19,849 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 04:41:19,849 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5718#true} {5718#true} #61#return; {5718#true} is VALID [2022-04-28 04:41:19,849 INFO L290 TraceCheckUtils]: 9: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 04:41:19,849 INFO L290 TraceCheckUtils]: 8: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-28 04:41:19,849 INFO L290 TraceCheckUtils]: 7: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-28 04:41:19,849 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 04:41:19,849 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 04:41:19,849 INFO L272 TraceCheckUtils]: 4: Hoare triple {5718#true} call #t~ret8 := main(); {5718#true} is VALID [2022-04-28 04:41:19,850 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5718#true} {5718#true} #69#return; {5718#true} is VALID [2022-04-28 04:41:19,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-28 04:41:19,850 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 04:41:19,850 INFO L272 TraceCheckUtils]: 0: Hoare triple {5718#true} call ULTIMATE.init(); {5718#true} is VALID [2022-04-28 04:41:19,850 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 04:41:19,850 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:41:19,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [367172037] [2022-04-28 04:41:19,850 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:41:19,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1824030752] [2022-04-28 04:41:19,850 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1824030752] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:41:19,850 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:41:19,850 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-28 04:41:19,851 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:41:19,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1553800218] [2022-04-28 04:41:19,851 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1553800218] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:41:19,851 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:41:19,851 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 04:41:19,851 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1788308871] [2022-04-28 04:41:19,851 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:41:19,851 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 04:41:19,852 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:41:19,852 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 04:41:19,886 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 04:41:19,886 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 04:41:19,886 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:19,887 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 04:41:19,887 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=475, Unknown=0, NotChecked=0, Total=552 [2022-04-28 04:41:19,887 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 04:41:20,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:20,904 INFO L93 Difference]: Finished difference Result 87 states and 96 transitions. [2022-04-28 04:41:20,904 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 04:41:20,905 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 04:41:20,905 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:41:20,905 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 04:41:20,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 61 transitions. [2022-04-28 04:41:20,906 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 04:41:20,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 61 transitions. [2022-04-28 04:41:20,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 61 transitions. [2022-04-28 04:41:20,957 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 04:41:20,959 INFO L225 Difference]: With dead ends: 87 [2022-04-28 04:41:20,959 INFO L226 Difference]: Without dead ends: 79 [2022-04-28 04:41:20,959 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 04:41:20,960 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 04:41:20,960 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 04:41:20,960 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-28 04:41:21,065 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 73. [2022-04-28 04:41:21,065 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:41:21,065 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 04:41:21,065 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 04:41:21,066 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 04:41:21,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:21,067 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-28 04:41:21,067 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-28 04:41:21,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:21,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:21,068 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 04:41:21,068 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 04:41:21,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:21,072 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-28 04:41:21,072 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-28 04:41:21,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:21,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:21,073 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:41:21,073 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:41:21,073 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 04:41:21,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-28 04:41:21,074 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 48 [2022-04-28 04:41:21,075 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:41:21,075 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-28 04:41:21,075 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 04:41:21,075 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-28 04:41:21,216 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 04:41:21,217 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-28 04:41:21,217 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:41:21,217 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:41:21,217 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 04:41:21,233 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-28 04:41:21,418 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 04:41:21,418 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:41:21,418 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:41:21,418 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 5 times [2022-04-28 04:41:21,418 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:21,419 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [6149558] [2022-04-28 04:41:21,419 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:41:21,419 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 6 times [2022-04-28 04:41:21,419 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:41:21,419 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1153643601] [2022-04-28 04:41:21,419 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:41:21,420 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:41:21,439 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:41:21,439 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1230705832] [2022-04-28 04:41:21,439 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:41:21,440 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:41:21,440 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:41:21,441 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 04:41:21,442 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 04:41:21,480 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 04:41:21,481 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:41:21,482 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 50 conjunts are in the unsatisfiable core [2022-04-28 04:41:21,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:41:21,496 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:41:30,661 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:41:44,267 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:41:47,479 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:41:48,174 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:41:48,516 INFO L272 TraceCheckUtils]: 0: Hoare triple {6517#true} call ULTIMATE.init(); {6517#true} is VALID [2022-04-28 04:41:48,516 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 04:41:48,516 INFO L290 TraceCheckUtils]: 2: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 04:41:48,516 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6517#true} {6517#true} #69#return; {6517#true} is VALID [2022-04-28 04:41:48,516 INFO L272 TraceCheckUtils]: 4: Hoare triple {6517#true} call #t~ret8 := main(); {6517#true} is VALID [2022-04-28 04:41:48,517 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 04:41:48,517 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 04:41:48,517 INFO L290 TraceCheckUtils]: 7: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 04:41:48,517 INFO L290 TraceCheckUtils]: 8: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 04:41:48,517 INFO L290 TraceCheckUtils]: 9: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 04:41:48,517 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6517#true} {6517#true} #61#return; {6517#true} is VALID [2022-04-28 04:41:48,517 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 04:41:48,517 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 04:41:48,518 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 04:41:48,518 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 04:41:48,518 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 04:41:48,519 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 04:41:48,520 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 04:41:48,520 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 04:41:48,520 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 04:41:48,520 INFO L290 TraceCheckUtils]: 20: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 04:41:48,520 INFO L290 TraceCheckUtils]: 21: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 04:41:48,521 INFO L290 TraceCheckUtils]: 22: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 04:41:48,521 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 04:41:48,522 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 04:41:48,523 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 04:41:48,523 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 04:41:48,524 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 04:41:48,524 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 04:41:48,524 INFO L290 TraceCheckUtils]: 29: Hoare triple {6517#true} ~cond := #in~cond; {6616#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:48,525 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 04:41:48,525 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 04:41:48,526 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 04:41:48,527 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 04:41:48,528 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 04:41:48,529 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 04:41:48,529 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 04:41:48,530 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 04:41:48,530 INFO L290 TraceCheckUtils]: 38: Hoare triple {6517#true} ~cond := #in~cond; {6616#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:48,530 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 04:41:48,531 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 04:41:48,532 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 04:41:48,533 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 04:41:48,534 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 04:41:48,536 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 04:41:48,540 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 04:41:48,541 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 04:41:48,542 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 04:41:48,542 INFO L290 TraceCheckUtils]: 48: Hoare triple {6681#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6518#false} is VALID [2022-04-28 04:41:48,542 INFO L290 TraceCheckUtils]: 49: Hoare triple {6518#false} assume !false; {6518#false} is VALID [2022-04-28 04:41:48,543 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 04:41:48,543 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:41:51,467 INFO L290 TraceCheckUtils]: 49: Hoare triple {6518#false} assume !false; {6518#false} is VALID [2022-04-28 04:41:51,468 INFO L290 TraceCheckUtils]: 48: Hoare triple {6681#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6518#false} is VALID [2022-04-28 04:41:51,468 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 04:41:51,469 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 04:41:51,469 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 04:41:51,478 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 04:41:51,479 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 04:41:51,479 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 04:41:51,480 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 04:41:51,480 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 04:41:51,481 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 04:41:51,481 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 04:41:51,481 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 04:41:51,482 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 04:41:51,482 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 04:41:51,482 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 04:41:51,482 INFO L290 TraceCheckUtils]: 33: Hoare triple {6517#true} assume !!(~x~0 <= ~X~0); {6517#true} is VALID [2022-04-28 04:41:51,482 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6517#true} {6517#true} #65#return; {6517#true} is VALID [2022-04-28 04:41:51,482 INFO L290 TraceCheckUtils]: 31: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 04:41:51,482 INFO L290 TraceCheckUtils]: 30: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 04:41:51,482 INFO L290 TraceCheckUtils]: 29: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 04:41:51,482 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 04:41:51,482 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 04:41:51,483 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 04:41:51,483 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 04:41:51,483 INFO L290 TraceCheckUtils]: 24: Hoare triple {6517#true} assume !!(~x~0 <= ~X~0); {6517#true} is VALID [2022-04-28 04:41:51,483 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6517#true} {6517#true} #65#return; {6517#true} is VALID [2022-04-28 04:41:51,483 INFO L290 TraceCheckUtils]: 22: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 04:41:51,483 INFO L290 TraceCheckUtils]: 21: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 04:41:51,483 INFO L290 TraceCheckUtils]: 20: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 04:41:51,483 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 04:41:51,483 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 04:41:51,483 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 04:41:51,483 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6517#true} {6517#true} #63#return; {6517#true} is VALID [2022-04-28 04:41:51,483 INFO L290 TraceCheckUtils]: 15: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 04:41:51,483 INFO L290 TraceCheckUtils]: 14: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 04:41:51,483 INFO L290 TraceCheckUtils]: 13: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 04:41:51,484 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 04:41:51,484 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 04:41:51,484 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6517#true} {6517#true} #61#return; {6517#true} is VALID [2022-04-28 04:41:51,484 INFO L290 TraceCheckUtils]: 9: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 04:41:51,484 INFO L290 TraceCheckUtils]: 8: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-28 04:41:51,484 INFO L290 TraceCheckUtils]: 7: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-28 04:41:51,484 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 04:41:51,484 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 04:41:51,484 INFO L272 TraceCheckUtils]: 4: Hoare triple {6517#true} call #t~ret8 := main(); {6517#true} is VALID [2022-04-28 04:41:51,484 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6517#true} {6517#true} #69#return; {6517#true} is VALID [2022-04-28 04:41:51,484 INFO L290 TraceCheckUtils]: 2: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-28 04:41:51,484 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 04:41:51,484 INFO L272 TraceCheckUtils]: 0: Hoare triple {6517#true} call ULTIMATE.init(); {6517#true} is VALID [2022-04-28 04:41:51,485 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 04:41:51,485 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:41:51,485 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1153643601] [2022-04-28 04:41:51,485 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:41:51,485 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1230705832] [2022-04-28 04:41:51,485 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1230705832] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:41:51,485 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:41:51,485 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 10] total 26 [2022-04-28 04:41:51,485 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:41:51,485 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [6149558] [2022-04-28 04:41:51,485 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [6149558] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:41:51,485 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:41:51,486 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 04:41:51,486 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2081245101] [2022-04-28 04:41:51,486 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:41:51,486 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 04:41:51,486 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:41:51,486 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 04:41:51,527 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 04:41:51,527 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 04:41:51,528 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:51,528 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 04:41:51,528 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=564, Unknown=0, NotChecked=0, Total=650 [2022-04-28 04:41:51,528 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 04:41:53,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:53,055 INFO L93 Difference]: Finished difference Result 92 states and 101 transitions. [2022-04-28 04:41:53,055 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 04:41:53,055 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 04:41:53,056 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:41:53,056 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 04:41:53,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-28 04:41:53,057 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 04:41:53,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-28 04:41:53,058 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 65 transitions. [2022-04-28 04:41:53,140 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 04:41:53,142 INFO L225 Difference]: With dead ends: 92 [2022-04-28 04:41:53,142 INFO L226 Difference]: Without dead ends: 88 [2022-04-28 04:41:53,142 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 04:41:53,143 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 36 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 482 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-28 04:41:53,143 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.6s Time] [2022-04-28 04:41:53,143 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-28 04:41:53,257 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 79. [2022-04-28 04:41:53,257 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:41:53,258 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 04:41:53,258 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 04:41:53,258 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 04:41:53,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:53,259 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-04-28 04:41:53,259 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-04-28 04:41:53,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:53,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:53,260 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 04:41:53,260 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 04:41:53,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:53,262 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-04-28 04:41:53,262 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-04-28 04:41:53,262 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:53,262 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:53,262 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:41:53,262 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:41:53,263 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 04:41:53,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 86 transitions. [2022-04-28 04:41:53,264 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 86 transitions. Word has length 50 [2022-04-28 04:41:53,264 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:41:53,264 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 86 transitions. [2022-04-28 04:41:53,265 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 04:41:53,265 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 86 transitions. [2022-04-28 04:41:53,412 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 04:41:53,412 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 86 transitions. [2022-04-28 04:41:53,412 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:41:53,412 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:41:53,412 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 04:41:53,428 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-28 04:41:53,613 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 04:41:53,613 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:41:53,613 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:41:53,614 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 5 times [2022-04-28 04:41:53,614 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:53,614 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1600000264] [2022-04-28 04:41:53,614 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:41:53,614 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 6 times [2022-04-28 04:41:53,614 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:41:53,614 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [755545310] [2022-04-28 04:41:53,615 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:41:53,615 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:41:53,624 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:41:53,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [477768814] [2022-04-28 04:41:53,624 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:41:53,624 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:41:53,624 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:41:53,625 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 04:41:53,634 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 04:41:53,673 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 04:41:53,674 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:41:53,674 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 04:41:53,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:41:53,689 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:42:00,121 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:42:13,698 WARN L232 SmtUtils]: Spent 8.03s 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 04:42:34,144 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:42:39,890 INFO L272 TraceCheckUtils]: 0: Hoare triple {7374#true} call ULTIMATE.init(); {7374#true} is VALID [2022-04-28 04:42:39,890 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 04:42:39,890 INFO L290 TraceCheckUtils]: 2: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 04:42:39,890 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7374#true} {7374#true} #69#return; {7374#true} is VALID [2022-04-28 04:42:39,890 INFO L272 TraceCheckUtils]: 4: Hoare triple {7374#true} call #t~ret8 := main(); {7374#true} is VALID [2022-04-28 04:42:39,890 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 04:42:39,891 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 04:42:39,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-28 04:42:39,891 INFO L290 TraceCheckUtils]: 8: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-28 04:42:39,891 INFO L290 TraceCheckUtils]: 9: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 04:42:39,891 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7374#true} {7374#true} #61#return; {7374#true} is VALID [2022-04-28 04:42:39,891 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 04:42:39,891 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 04:42:39,891 INFO L290 TraceCheckUtils]: 13: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-28 04:42:39,891 INFO L290 TraceCheckUtils]: 14: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-28 04:42:39,891 INFO L290 TraceCheckUtils]: 15: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 04:42:39,892 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7374#true} {7374#true} #63#return; {7374#true} is VALID [2022-04-28 04:42:39,892 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 04:42:39,893 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 04:42:39,893 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 04:42:39,893 INFO L290 TraceCheckUtils]: 20: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-28 04:42:39,893 INFO L290 TraceCheckUtils]: 21: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-28 04:42:39,893 INFO L290 TraceCheckUtils]: 22: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 04:42:39,894 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 04:42:39,895 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 04:42:39,896 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 04:42:39,896 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 04:42:39,897 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 04:42:39,897 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 04:42:39,897 INFO L290 TraceCheckUtils]: 29: Hoare triple {7374#true} ~cond := #in~cond; {7470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:42:39,898 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 04:42:39,898 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 04:42:39,900 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 04:42:39,900 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 04:42:39,901 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 04:42:41,903 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 04:42:41,905 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 04:42:41,905 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 04:42:41,906 INFO L290 TraceCheckUtils]: 38: Hoare triple {7374#true} ~cond := #in~cond; {7470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:42:41,906 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 04:42:41,906 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 04:42:41,908 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 04:42:41,909 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 04:42:41,912 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 04:42:41,915 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 04:42:41,921 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 04:42:41,922 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 04:42:41,922 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 04:42:41,923 INFO L290 TraceCheckUtils]: 48: Hoare triple {7535#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7375#false} is VALID [2022-04-28 04:42:41,923 INFO L290 TraceCheckUtils]: 49: Hoare triple {7375#false} assume !false; {7375#false} is VALID [2022-04-28 04:42:41,923 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 04:42:41,923 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:42:46,941 INFO L290 TraceCheckUtils]: 49: Hoare triple {7375#false} assume !false; {7375#false} is VALID [2022-04-28 04:42:46,942 INFO L290 TraceCheckUtils]: 48: Hoare triple {7535#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7375#false} is VALID [2022-04-28 04:42:46,942 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 04:42:46,943 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 04:42:46,943 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 04:42:46,945 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 04:42:46,946 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 04:42:46,947 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 04:42:46,948 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 04:42:46,948 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 04:42:46,948 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 04:42:46,949 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 04:42:46,949 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 04:42:46,950 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 04:42:46,950 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 04:42:46,950 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 04:42:46,950 INFO L290 TraceCheckUtils]: 33: Hoare triple {7374#true} assume !!(~x~0 <= ~X~0); {7374#true} is VALID [2022-04-28 04:42:46,950 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7374#true} {7374#true} #65#return; {7374#true} is VALID [2022-04-28 04:42:46,950 INFO L290 TraceCheckUtils]: 31: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 04:42:46,950 INFO L290 TraceCheckUtils]: 30: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-28 04:42:46,950 INFO L290 TraceCheckUtils]: 29: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-28 04:42:46,950 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 04:42:46,950 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 04:42:46,950 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 04:42:46,950 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 04:42:46,950 INFO L290 TraceCheckUtils]: 24: Hoare triple {7374#true} assume !!(~x~0 <= ~X~0); {7374#true} is VALID [2022-04-28 04:42:46,951 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7374#true} {7374#true} #65#return; {7374#true} is VALID [2022-04-28 04:42:46,951 INFO L290 TraceCheckUtils]: 22: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 04:42:46,951 INFO L290 TraceCheckUtils]: 21: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-28 04:42:46,951 INFO L290 TraceCheckUtils]: 20: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-28 04:42:46,951 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 04:42:46,951 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 04:42:46,951 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 04:42:46,951 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7374#true} {7374#true} #63#return; {7374#true} is VALID [2022-04-28 04:42:46,951 INFO L290 TraceCheckUtils]: 15: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 04:42:46,951 INFO L290 TraceCheckUtils]: 14: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-28 04:42:46,951 INFO L290 TraceCheckUtils]: 13: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-28 04:42:46,951 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 04:42:46,951 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 04:42:46,951 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7374#true} {7374#true} #61#return; {7374#true} is VALID [2022-04-28 04:42:46,951 INFO L290 TraceCheckUtils]: 9: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 04:42:46,952 INFO L290 TraceCheckUtils]: 8: Hoare triple {7374#true} assume !(0 == ~cond); {7374#true} is VALID [2022-04-28 04:42:46,952 INFO L290 TraceCheckUtils]: 7: Hoare triple {7374#true} ~cond := #in~cond; {7374#true} is VALID [2022-04-28 04:42:46,952 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 04:42:46,952 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 04:42:46,952 INFO L272 TraceCheckUtils]: 4: Hoare triple {7374#true} call #t~ret8 := main(); {7374#true} is VALID [2022-04-28 04:42:46,952 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7374#true} {7374#true} #69#return; {7374#true} is VALID [2022-04-28 04:42:46,952 INFO L290 TraceCheckUtils]: 2: Hoare triple {7374#true} assume true; {7374#true} is VALID [2022-04-28 04:42:46,952 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 04:42:46,952 INFO L272 TraceCheckUtils]: 0: Hoare triple {7374#true} call ULTIMATE.init(); {7374#true} is VALID [2022-04-28 04:42:46,952 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 04:42:46,952 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:42:46,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [755545310] [2022-04-28 04:42:46,953 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:42:46,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [477768814] [2022-04-28 04:42:46,953 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [477768814] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:42:46,953 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:42:46,953 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 11] total 24 [2022-04-28 04:42:46,953 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:42:46,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1600000264] [2022-04-28 04:42:46,953 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1600000264] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:42:46,953 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:42:46,953 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 04:42:46,953 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1496895100] [2022-04-28 04:42:46,954 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:42:46,954 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 04:42:46,954 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:42:46,954 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 04:42:49,217 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 04:42:49,218 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 04:42:49,218 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:42:49,218 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 04:42:49,218 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=481, Unknown=1, NotChecked=0, Total=552 [2022-04-28 04:42:49,218 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 04:42:51,893 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 04:42:56,192 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 04:43:16,426 WARN L232 SmtUtils]: Spent 15.50s 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 04:43:20,054 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 04:43:20,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:20,085 INFO L93 Difference]: Finished difference Result 96 states and 105 transitions. [2022-04-28 04:43:20,085 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 04:43:20,086 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 04:43:20,086 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:43:20,086 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 04:43:20,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 69 transitions. [2022-04-28 04:43:20,087 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 04:43:20,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 69 transitions. [2022-04-28 04:43:20,088 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 69 transitions. [2022-04-28 04:43:22,409 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 68 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:43:22,410 INFO L225 Difference]: With dead ends: 96 [2022-04-28 04:43:22,410 INFO L226 Difference]: Without dead ends: 88 [2022-04-28 04:43:22,410 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 107 ImplicationChecksByTransitivity, 27.9s TimeCoverageRelationStatistics Valid=109, Invalid=702, Unknown=1, NotChecked=0, Total=812 [2022-04-28 04:43:22,411 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 18 mSDsluCounter, 200 mSDsCounter, 0 mSdLazyCounter, 487 mSolverCounterSat, 6 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 226 SdHoareTripleChecker+Invalid, 496 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 487 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:43:22,411 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 226 Invalid, 496 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 487 Invalid, 3 Unknown, 0 Unchecked, 7.8s Time] [2022-04-28 04:43:22,412 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-28 04:43:22,542 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 79. [2022-04-28 04:43:22,543 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:43:22,543 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 04:43:22,543 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 04:43:22,543 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 04:43:22,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:22,544 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-04-28 04:43:22,545 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-04-28 04:43:22,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:43:22,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:43:22,545 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 04:43:22,545 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 04:43:22,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:22,547 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-04-28 04:43:22,547 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-04-28 04:43:22,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:43:22,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:43:22,549 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:43:22,549 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:43:22,549 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 04:43:22,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 86 transitions. [2022-04-28 04:43:22,550 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 86 transitions. Word has length 50 [2022-04-28 04:43:22,551 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:43:22,551 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 86 transitions. [2022-04-28 04:43:22,551 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 04:43:22,551 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 86 transitions. [2022-04-28 04:43:22,767 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 04:43:22,767 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 86 transitions. [2022-04-28 04:43:22,768 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:43:22,768 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:43:22,768 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 04:43:22,784 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 04:43:22,968 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 04:43:22,968 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:43:22,969 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:43:22,969 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 7 times [2022-04-28 04:43:22,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:43:22,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1446510562] [2022-04-28 04:43:22,969 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:43:22,969 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 8 times [2022-04-28 04:43:22,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:43:22,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1511672516] [2022-04-28 04:43:22,970 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:43:22,970 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:43:22,981 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:43:22,981 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [670543489] [2022-04-28 04:43:22,981 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:43:22,981 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:43:22,981 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:43:22,982 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 04:43:22,983 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 04:43:23,024 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:43:23,024 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:43:23,025 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 04:43:23,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:43:23,041 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:43:30,794 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:43:34,254 INFO L272 TraceCheckUtils]: 0: Hoare triple {8233#true} call ULTIMATE.init(); {8233#true} is VALID [2022-04-28 04:43:34,255 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 04:43:34,255 INFO L290 TraceCheckUtils]: 2: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 04:43:34,255 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8233#true} {8233#true} #69#return; {8233#true} is VALID [2022-04-28 04:43:34,255 INFO L272 TraceCheckUtils]: 4: Hoare triple {8233#true} call #t~ret8 := main(); {8233#true} is VALID [2022-04-28 04:43:34,255 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 04:43:34,255 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 04:43:34,255 INFO L290 TraceCheckUtils]: 7: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-28 04:43:34,255 INFO L290 TraceCheckUtils]: 8: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-28 04:43:34,255 INFO L290 TraceCheckUtils]: 9: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 04:43:34,256 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8233#true} {8233#true} #61#return; {8233#true} is VALID [2022-04-28 04:43:34,256 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 04:43:34,256 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 04:43:34,256 INFO L290 TraceCheckUtils]: 13: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-28 04:43:34,256 INFO L290 TraceCheckUtils]: 14: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-28 04:43:34,256 INFO L290 TraceCheckUtils]: 15: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 04:43:34,256 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8233#true} {8233#true} #63#return; {8233#true} is VALID [2022-04-28 04:43:34,257 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 04:43:34,257 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 04:43:34,258 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 04:43:34,258 INFO L290 TraceCheckUtils]: 20: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-28 04:43:34,258 INFO L290 TraceCheckUtils]: 21: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-28 04:43:34,258 INFO L290 TraceCheckUtils]: 22: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 04:43:34,259 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 04:43:34,259 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 04:43:34,260 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 04:43:34,261 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 04:43:34,261 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 04:43:34,262 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 04:43:34,262 INFO L290 TraceCheckUtils]: 29: Hoare triple {8233#true} ~cond := #in~cond; {8327#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:43:34,262 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 04:43:34,263 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 04:43:34,264 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 04:43:34,264 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 04:43:34,265 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 04:43:34,266 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 04:43:34,266 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 04:43:34,267 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 04:43:34,267 INFO L290 TraceCheckUtils]: 38: Hoare triple {8233#true} ~cond := #in~cond; {8327#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:43:34,267 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 04:43:34,268 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 04:43:34,270 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 04:43:34,271 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 04:43:34,272 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 04:43:34,274 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 04:43:34,277 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 04:43:34,281 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 04:43:34,282 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 04:43:34,282 INFO L290 TraceCheckUtils]: 48: Hoare triple {8390#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8234#false} is VALID [2022-04-28 04:43:34,282 INFO L290 TraceCheckUtils]: 49: Hoare triple {8234#false} assume !false; {8234#false} is VALID [2022-04-28 04:43:34,283 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 04:43:34,283 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:43:37,169 INFO L290 TraceCheckUtils]: 49: Hoare triple {8234#false} assume !false; {8234#false} is VALID [2022-04-28 04:43:37,170 INFO L290 TraceCheckUtils]: 48: Hoare triple {8390#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8234#false} is VALID [2022-04-28 04:43:37,170 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 04:43:37,171 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 04:43:37,172 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 04:43:37,173 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 04:43:37,174 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 04:43:37,175 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 04:43:37,175 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 04:43:37,176 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 04:43:37,176 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 04:43:37,176 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 04:43:37,176 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 04:43:37,177 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 04:43:37,177 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 04:43:37,177 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 04:43:37,177 INFO L290 TraceCheckUtils]: 33: Hoare triple {8233#true} assume !!(~x~0 <= ~X~0); {8233#true} is VALID [2022-04-28 04:43:37,177 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8233#true} {8233#true} #65#return; {8233#true} is VALID [2022-04-28 04:43:37,178 INFO L290 TraceCheckUtils]: 31: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 04:43:37,178 INFO L290 TraceCheckUtils]: 30: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-28 04:43:37,178 INFO L290 TraceCheckUtils]: 29: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-28 04:43:37,178 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 04:43:37,178 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 04:43:37,178 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 04:43:37,178 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 04:43:37,178 INFO L290 TraceCheckUtils]: 24: Hoare triple {8233#true} assume !!(~x~0 <= ~X~0); {8233#true} is VALID [2022-04-28 04:43:37,178 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8233#true} {8233#true} #65#return; {8233#true} is VALID [2022-04-28 04:43:37,178 INFO L290 TraceCheckUtils]: 22: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 04:43:37,178 INFO L290 TraceCheckUtils]: 21: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-28 04:43:37,179 INFO L290 TraceCheckUtils]: 20: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-28 04:43:37,179 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 04:43:37,179 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 04:43:37,179 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 04:43:37,179 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8233#true} {8233#true} #63#return; {8233#true} is VALID [2022-04-28 04:43:37,179 INFO L290 TraceCheckUtils]: 15: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 04:43:37,179 INFO L290 TraceCheckUtils]: 14: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-28 04:43:37,179 INFO L290 TraceCheckUtils]: 13: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-28 04:43:37,179 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 04:43:37,179 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 04:43:37,180 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8233#true} {8233#true} #61#return; {8233#true} is VALID [2022-04-28 04:43:37,180 INFO L290 TraceCheckUtils]: 9: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 04:43:37,180 INFO L290 TraceCheckUtils]: 8: Hoare triple {8233#true} assume !(0 == ~cond); {8233#true} is VALID [2022-04-28 04:43:37,180 INFO L290 TraceCheckUtils]: 7: Hoare triple {8233#true} ~cond := #in~cond; {8233#true} is VALID [2022-04-28 04:43:37,180 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 04:43:37,180 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 04:43:37,180 INFO L272 TraceCheckUtils]: 4: Hoare triple {8233#true} call #t~ret8 := main(); {8233#true} is VALID [2022-04-28 04:43:37,180 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8233#true} {8233#true} #69#return; {8233#true} is VALID [2022-04-28 04:43:37,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {8233#true} assume true; {8233#true} is VALID [2022-04-28 04:43:37,180 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 04:43:37,181 INFO L272 TraceCheckUtils]: 0: Hoare triple {8233#true} call ULTIMATE.init(); {8233#true} is VALID [2022-04-28 04:43:37,181 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 04:43:37,181 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:43:37,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1511672516] [2022-04-28 04:43:37,181 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:43:37,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [670543489] [2022-04-28 04:43:37,181 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [670543489] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:43:37,181 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:43:37,182 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-28 04:43:37,182 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:43:37,182 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1446510562] [2022-04-28 04:43:37,182 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1446510562] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:43:37,182 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:43:37,182 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:43:37,182 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [884995214] [2022-04-28 04:43:37,182 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:43:37,183 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 04:43:37,183 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:43:37,183 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 04:43:37,223 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 04:43:37,224 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:43:37,224 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:43:37,224 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:43:37,224 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=293, Unknown=0, NotChecked=0, Total=342 [2022-04-28 04:43:37,224 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 04:43:39,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:39,044 INFO L93 Difference]: Finished difference Result 97 states and 108 transitions. [2022-04-28 04:43:39,044 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 04:43:39,044 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 04:43:39,045 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:43:39,045 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 04:43:39,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-28 04:43:39,048 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 04:43:39,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-28 04:43:39,049 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 65 transitions. [2022-04-28 04:43:39,118 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 04:43:39,120 INFO L225 Difference]: With dead ends: 97 [2022-04-28 04:43:39,120 INFO L226 Difference]: Without dead ends: 95 [2022-04-28 04:43:39,121 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 04:43:39,121 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 18 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 354 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:43:39,121 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 182 Invalid, 359 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 354 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:43:39,122 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-28 04:43:39,322 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 91. [2022-04-28 04:43:39,323 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:43:39,323 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 04:43:39,323 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 04:43:39,324 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 04:43:39,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:39,327 INFO L93 Difference]: Finished difference Result 95 states and 106 transitions. [2022-04-28 04:43:39,327 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 106 transitions. [2022-04-28 04:43:39,327 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:43:39,327 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:43:39,328 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 04:43:39,328 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 04:43:39,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:39,330 INFO L93 Difference]: Finished difference Result 95 states and 106 transitions. [2022-04-28 04:43:39,330 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 106 transitions. [2022-04-28 04:43:39,331 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:43:39,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:43:39,331 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:43:39,331 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:43:39,331 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 04:43:39,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 100 transitions. [2022-04-28 04:43:39,333 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 100 transitions. Word has length 50 [2022-04-28 04:43:39,333 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:43:39,333 INFO L495 AbstractCegarLoop]: Abstraction has 91 states and 100 transitions. [2022-04-28 04:43:39,333 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 04:43:39,333 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 100 transitions. [2022-04-28 04:43:39,594 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 04:43:39,594 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 100 transitions. [2022-04-28 04:43:39,595 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:43:39,595 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:43:39,595 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 04:43:39,611 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-28 04:43:39,795 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 04:43:39,795 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:43:39,796 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:43:39,796 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 9 times [2022-04-28 04:43:39,796 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:43:39,796 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [529303770] [2022-04-28 04:43:39,796 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:43:39,796 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 10 times [2022-04-28 04:43:39,797 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:43:39,797 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [231697609] [2022-04-28 04:43:39,797 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:43:39,797 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:43:39,809 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:43:39,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [368798159] [2022-04-28 04:43:39,809 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:43:39,810 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:43:39,810 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:43:39,811 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 04:43:39,813 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 04:43:39,847 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:43:39,847 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:43:39,848 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 04:43:39,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:43:39,861 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:43:40,197 INFO L272 TraceCheckUtils]: 0: Hoare triple {9125#true} call ULTIMATE.init(); {9125#true} is VALID [2022-04-28 04:43:40,198 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 04:43:40,198 INFO L290 TraceCheckUtils]: 2: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 04:43:40,198 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9125#true} {9125#true} #69#return; {9125#true} is VALID [2022-04-28 04:43:40,198 INFO L272 TraceCheckUtils]: 4: Hoare triple {9125#true} call #t~ret8 := main(); {9125#true} is VALID [2022-04-28 04:43:40,198 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 04:43:40,198 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 04:43:40,198 INFO L290 TraceCheckUtils]: 7: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 04:43:40,199 INFO L290 TraceCheckUtils]: 8: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 04:43:40,203 INFO L290 TraceCheckUtils]: 9: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 04:43:40,204 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9125#true} {9125#true} #61#return; {9125#true} is VALID [2022-04-28 04:43:40,204 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 04:43:40,204 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 04:43:40,204 INFO L290 TraceCheckUtils]: 13: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 04:43:40,204 INFO L290 TraceCheckUtils]: 14: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 04:43:40,204 INFO L290 TraceCheckUtils]: 15: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 04:43:40,204 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9125#true} {9125#true} #63#return; {9125#true} is VALID [2022-04-28 04:43:40,215 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 04:43:40,216 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 04:43:40,216 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 04:43:40,216 INFO L290 TraceCheckUtils]: 20: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 04:43:40,216 INFO L290 TraceCheckUtils]: 21: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 04:43:40,216 INFO L290 TraceCheckUtils]: 22: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 04:43:40,217 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 04:43:40,217 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 04:43:40,218 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 04:43:40,219 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 04:43:40,219 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 04:43:40,219 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 04:43:40,219 INFO L290 TraceCheckUtils]: 29: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 04:43:40,220 INFO L290 TraceCheckUtils]: 30: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 04:43:40,220 INFO L290 TraceCheckUtils]: 31: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 04:43:40,220 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 04:43:40,221 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 04:43:40,222 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 04:43:40,222 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 04:43:40,223 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 04:43:40,223 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 04:43:40,223 INFO L290 TraceCheckUtils]: 38: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 04:43:40,223 INFO L290 TraceCheckUtils]: 39: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 04:43:40,223 INFO L290 TraceCheckUtils]: 40: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 04:43:40,224 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 04:43:40,224 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 04:43:40,225 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 04:43:40,225 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 04:43:40,225 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 04:43:40,225 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 04:43:40,225 INFO L290 TraceCheckUtils]: 47: Hoare triple {9126#false} ~cond := #in~cond; {9126#false} is VALID [2022-04-28 04:43:40,226 INFO L290 TraceCheckUtils]: 48: Hoare triple {9126#false} assume 0 == ~cond; {9126#false} is VALID [2022-04-28 04:43:40,226 INFO L290 TraceCheckUtils]: 49: Hoare triple {9126#false} assume !false; {9126#false} is VALID [2022-04-28 04:43:40,226 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 04:43:40,226 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:43:40,443 INFO L290 TraceCheckUtils]: 49: Hoare triple {9126#false} assume !false; {9126#false} is VALID [2022-04-28 04:43:40,443 INFO L290 TraceCheckUtils]: 48: Hoare triple {9126#false} assume 0 == ~cond; {9126#false} is VALID [2022-04-28 04:43:40,443 INFO L290 TraceCheckUtils]: 47: Hoare triple {9126#false} ~cond := #in~cond; {9126#false} is VALID [2022-04-28 04:43:40,443 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 04:43:40,444 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 04:43:40,444 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 04:43:40,444 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 04:43:40,444 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 04:43:40,445 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 04:43:40,445 INFO L290 TraceCheckUtils]: 40: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 04:43:40,445 INFO L290 TraceCheckUtils]: 39: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 04:43:40,445 INFO L290 TraceCheckUtils]: 38: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 04:43:40,445 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 04:43:40,445 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 04:43:40,446 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 04:43:40,446 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 04:43:40,447 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 04:43:40,447 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 04:43:40,447 INFO L290 TraceCheckUtils]: 31: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 04:43:40,447 INFO L290 TraceCheckUtils]: 30: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 04:43:40,447 INFO L290 TraceCheckUtils]: 29: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 04:43:40,447 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 04:43:40,448 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 04:43:40,448 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 04:43:40,449 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 04:43:40,449 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 04:43:40,450 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 04:43:40,450 INFO L290 TraceCheckUtils]: 22: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 04:43:40,450 INFO L290 TraceCheckUtils]: 21: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 04:43:40,450 INFO L290 TraceCheckUtils]: 20: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 04:43:40,450 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 04:43:40,450 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 04:43:40,451 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 04:43:40,451 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9125#true} {9125#true} #63#return; {9125#true} is VALID [2022-04-28 04:43:40,451 INFO L290 TraceCheckUtils]: 15: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 04:43:40,451 INFO L290 TraceCheckUtils]: 14: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 04:43:40,451 INFO L290 TraceCheckUtils]: 13: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 04:43:40,451 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 04:43:40,451 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 04:43:40,451 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9125#true} {9125#true} #61#return; {9125#true} is VALID [2022-04-28 04:43:40,451 INFO L290 TraceCheckUtils]: 9: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 04:43:40,451 INFO L290 TraceCheckUtils]: 8: Hoare triple {9125#true} assume !(0 == ~cond); {9125#true} is VALID [2022-04-28 04:43:40,452 INFO L290 TraceCheckUtils]: 7: Hoare triple {9125#true} ~cond := #in~cond; {9125#true} is VALID [2022-04-28 04:43:40,452 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 04:43:40,452 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 04:43:40,452 INFO L272 TraceCheckUtils]: 4: Hoare triple {9125#true} call #t~ret8 := main(); {9125#true} is VALID [2022-04-28 04:43:40,452 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9125#true} {9125#true} #69#return; {9125#true} is VALID [2022-04-28 04:43:40,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {9125#true} assume true; {9125#true} is VALID [2022-04-28 04:43:40,452 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 04:43:40,452 INFO L272 TraceCheckUtils]: 0: Hoare triple {9125#true} call ULTIMATE.init(); {9125#true} is VALID [2022-04-28 04:43:40,452 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 04:43:40,452 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:43:40,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [231697609] [2022-04-28 04:43:40,453 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:43:40,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [368798159] [2022-04-28 04:43:40,453 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [368798159] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:43:40,453 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:43:40,453 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 04:43:40,453 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:43:40,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [529303770] [2022-04-28 04:43:40,453 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [529303770] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:43:40,453 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:43:40,453 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:43:40,453 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [874629086] [2022-04-28 04:43:40,453 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:43:40,454 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 04:43:40,454 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:43:40,454 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 04:43:40,485 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 04:43:40,485 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 04:43:40,486 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:43:40,486 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 04:43:40,486 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 04:43:40,486 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 04:43:41,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:41,033 INFO L93 Difference]: Finished difference Result 126 states and 145 transitions. [2022-04-28 04:43:41,033 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 04:43:41,033 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 04:43:41,034 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:43:41,034 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 04:43:41,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-28 04:43:41,035 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 04:43:41,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-28 04:43:41,036 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 71 transitions. [2022-04-28 04:43:41,111 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 04:43:41,113 INFO L225 Difference]: With dead ends: 126 [2022-04-28 04:43:41,113 INFO L226 Difference]: Without dead ends: 113 [2022-04-28 04:43:41,113 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 04:43:41,114 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 04:43:41,114 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 04:43:41,115 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-28 04:43:41,439 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 109. [2022-04-28 04:43:41,439 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:43:41,440 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 04:43:41,440 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 04:43:41,440 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 04:43:41,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:41,443 INFO L93 Difference]: Finished difference Result 113 states and 128 transitions. [2022-04-28 04:43:41,443 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 128 transitions. [2022-04-28 04:43:41,443 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:43:41,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:43:41,443 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 04:43:41,444 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 04:43:41,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:41,446 INFO L93 Difference]: Finished difference Result 113 states and 128 transitions. [2022-04-28 04:43:41,446 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 128 transitions. [2022-04-28 04:43:41,446 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:43:41,447 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:43:41,447 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:43:41,447 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:43:41,447 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 04:43:41,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 124 transitions. [2022-04-28 04:43:41,449 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 124 transitions. Word has length 50 [2022-04-28 04:43:41,450 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:43:41,450 INFO L495 AbstractCegarLoop]: Abstraction has 109 states and 124 transitions. [2022-04-28 04:43:41,450 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 04:43:41,450 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 109 states and 124 transitions. [2022-04-28 04:43:41,836 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 04:43:41,836 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 124 transitions. [2022-04-28 04:43:41,837 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:43:41,837 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:43:41,837 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 04:43:41,855 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 04:43:42,037 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 04:43:42,038 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:43:42,038 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:43:42,038 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 11 times [2022-04-28 04:43:42,038 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:43:42,038 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1190889521] [2022-04-28 04:43:42,038 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:43:42,038 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 12 times [2022-04-28 04:43:42,038 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:43:42,038 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [500617712] [2022-04-28 04:43:42,039 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:43:42,039 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:43:42,048 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:43:42,048 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1001965877] [2022-04-28 04:43:42,048 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:43:42,048 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:43:42,048 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:43:42,049 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 04:43:42,054 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 04:43:42,097 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 04:43:42,097 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:43:42,098 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-28 04:43:42,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:43:42,111 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:43:57,303 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:43:59,962 INFO L272 TraceCheckUtils]: 0: Hoare triple {10130#true} call ULTIMATE.init(); {10130#true} is VALID [2022-04-28 04:43:59,962 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 04:43:59,962 INFO L290 TraceCheckUtils]: 2: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 04:43:59,962 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10130#true} {10130#true} #69#return; {10130#true} is VALID [2022-04-28 04:43:59,962 INFO L272 TraceCheckUtils]: 4: Hoare triple {10130#true} call #t~ret8 := main(); {10130#true} is VALID [2022-04-28 04:43:59,962 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 04:43:59,962 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 04:43:59,962 INFO L290 TraceCheckUtils]: 7: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-28 04:43:59,962 INFO L290 TraceCheckUtils]: 8: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-28 04:43:59,962 INFO L290 TraceCheckUtils]: 9: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 04:43:59,962 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10130#true} {10130#true} #61#return; {10130#true} is VALID [2022-04-28 04:43:59,963 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 04:43:59,963 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 04:43:59,963 INFO L290 TraceCheckUtils]: 13: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-28 04:43:59,963 INFO L290 TraceCheckUtils]: 14: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-28 04:43:59,963 INFO L290 TraceCheckUtils]: 15: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 04:43:59,963 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10130#true} {10130#true} #63#return; {10130#true} is VALID [2022-04-28 04:43:59,963 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 04:43:59,964 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 04:43:59,964 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 04:43:59,964 INFO L290 TraceCheckUtils]: 20: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-28 04:43:59,964 INFO L290 TraceCheckUtils]: 21: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-28 04:43:59,964 INFO L290 TraceCheckUtils]: 22: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 04:43:59,965 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 04:43:59,965 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 04:43:59,966 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 04:43:59,966 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 04:43:59,967 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 04:43:59,967 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 04:43:59,967 INFO L290 TraceCheckUtils]: 29: Hoare triple {10130#true} ~cond := #in~cond; {10226#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:43:59,968 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 04:43:59,968 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 04:43:59,969 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 04:43:59,969 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 04:43:59,970 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 04:43:59,970 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 04:43:59,971 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 04:43:59,971 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 04:43:59,971 INFO L290 TraceCheckUtils]: 38: Hoare triple {10130#true} ~cond := #in~cond; {10226#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:43:59,972 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 04:43:59,972 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 04:43:59,973 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 04:43:59,974 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 04:43:59,975 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 04:43:59,976 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 04:43:59,978 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 04:43:59,980 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 04:43:59,981 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 04:43:59,981 INFO L290 TraceCheckUtils]: 48: Hoare triple {10290#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10131#false} is VALID [2022-04-28 04:43:59,981 INFO L290 TraceCheckUtils]: 49: Hoare triple {10131#false} assume !false; {10131#false} is VALID [2022-04-28 04:43:59,981 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 04:43:59,982 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:44:04,567 INFO L290 TraceCheckUtils]: 49: Hoare triple {10131#false} assume !false; {10131#false} is VALID [2022-04-28 04:44:04,567 INFO L290 TraceCheckUtils]: 48: Hoare triple {10290#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10131#false} is VALID [2022-04-28 04:44:04,568 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 04:44:04,568 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 04:44:04,569 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 04:44:04,580 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 04:44:04,582 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 04:44:04,583 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 04:44:04,584 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 04:44:04,584 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 04:44:04,584 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 04:44:04,584 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 04:44:04,585 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 04:44:04,585 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 04:44:04,585 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 04:44:04,586 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 04:44:04,586 INFO L290 TraceCheckUtils]: 33: Hoare triple {10130#true} assume !!(~x~0 <= ~X~0); {10130#true} is VALID [2022-04-28 04:44:04,586 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10130#true} {10130#true} #65#return; {10130#true} is VALID [2022-04-28 04:44:04,586 INFO L290 TraceCheckUtils]: 31: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 04:44:04,586 INFO L290 TraceCheckUtils]: 30: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-28 04:44:04,586 INFO L290 TraceCheckUtils]: 29: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-28 04:44:04,586 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 04:44:04,586 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 04:44:04,586 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 04:44:04,586 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 04:44:04,586 INFO L290 TraceCheckUtils]: 24: Hoare triple {10130#true} assume !!(~x~0 <= ~X~0); {10130#true} is VALID [2022-04-28 04:44:04,586 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10130#true} {10130#true} #65#return; {10130#true} is VALID [2022-04-28 04:44:04,586 INFO L290 TraceCheckUtils]: 22: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 04:44:04,586 INFO L290 TraceCheckUtils]: 21: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-28 04:44:04,586 INFO L290 TraceCheckUtils]: 20: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-28 04:44:04,587 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 04:44:04,587 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 04:44:04,587 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 04:44:04,587 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10130#true} {10130#true} #63#return; {10130#true} is VALID [2022-04-28 04:44:04,587 INFO L290 TraceCheckUtils]: 15: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 04:44:04,587 INFO L290 TraceCheckUtils]: 14: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-28 04:44:04,587 INFO L290 TraceCheckUtils]: 13: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-28 04:44:04,587 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 04:44:04,587 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 04:44:04,587 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10130#true} {10130#true} #61#return; {10130#true} is VALID [2022-04-28 04:44:04,587 INFO L290 TraceCheckUtils]: 9: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 04:44:04,587 INFO L290 TraceCheckUtils]: 8: Hoare triple {10130#true} assume !(0 == ~cond); {10130#true} is VALID [2022-04-28 04:44:04,587 INFO L290 TraceCheckUtils]: 7: Hoare triple {10130#true} ~cond := #in~cond; {10130#true} is VALID [2022-04-28 04:44:04,587 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 04:44:04,588 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 04:44:04,588 INFO L272 TraceCheckUtils]: 4: Hoare triple {10130#true} call #t~ret8 := main(); {10130#true} is VALID [2022-04-28 04:44:04,588 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10130#true} {10130#true} #69#return; {10130#true} is VALID [2022-04-28 04:44:04,588 INFO L290 TraceCheckUtils]: 2: Hoare triple {10130#true} assume true; {10130#true} is VALID [2022-04-28 04:44:04,588 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 04:44:04,588 INFO L272 TraceCheckUtils]: 0: Hoare triple {10130#true} call ULTIMATE.init(); {10130#true} is VALID [2022-04-28 04:44:04,588 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 04:44:04,588 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:44:04,588 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [500617712] [2022-04-28 04:44:04,588 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:44:04,588 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1001965877] [2022-04-28 04:44:04,589 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1001965877] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:44:04,589 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:44:04,589 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 11] total 23 [2022-04-28 04:44:04,589 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:44:04,589 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1190889521] [2022-04-28 04:44:04,589 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1190889521] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:44:04,589 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:44:04,589 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 04:44:04,589 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1876046367] [2022-04-28 04:44:04,589 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:44:04,589 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 04:44:04,590 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:44:04,590 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 04:44:04,637 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 04:44:04,637 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 04:44:04,637 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:44:04,637 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 04:44:04,637 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=431, Unknown=0, NotChecked=0, Total=506 [2022-04-28 04:44:04,638 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 04:44:07,051 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:44:07,052 INFO L93 Difference]: Finished difference Result 122 states and 139 transitions. [2022-04-28 04:44:07,052 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 04:44:07,052 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 04:44:07,052 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:44:07,052 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 04:44:07,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 64 transitions. [2022-04-28 04:44:07,056 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 04:44:07,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 64 transitions. [2022-04-28 04:44:07,058 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 64 transitions. [2022-04-28 04:44:07,137 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 04:44:07,139 INFO L225 Difference]: With dead ends: 122 [2022-04-28 04:44:07,139 INFO L226 Difference]: Without dead ends: 120 [2022-04-28 04:44:07,139 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 04:44:07,140 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 19 mSDsluCounter, 191 mSDsCounter, 0 mSdLazyCounter, 477 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s 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.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:44:07,140 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.9s Time] [2022-04-28 04:44:07,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2022-04-28 04:44:07,453 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 116. [2022-04-28 04:44:07,454 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:44:07,454 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 04:44:07,454 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 04:44:07,455 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 04:44:07,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:44:07,457 INFO L93 Difference]: Finished difference Result 120 states and 137 transitions. [2022-04-28 04:44:07,457 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 137 transitions. [2022-04-28 04:44:07,458 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:44:07,458 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:44:07,458 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 04:44:07,458 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 04:44:07,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:44:07,460 INFO L93 Difference]: Finished difference Result 120 states and 137 transitions. [2022-04-28 04:44:07,460 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 137 transitions. [2022-04-28 04:44:07,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:44:07,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:44:07,461 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:44:07,461 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:44:07,461 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 04:44:07,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 131 transitions. [2022-04-28 04:44:07,463 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 131 transitions. Word has length 50 [2022-04-28 04:44:07,464 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:44:07,464 INFO L495 AbstractCegarLoop]: Abstraction has 116 states and 131 transitions. [2022-04-28 04:44:07,464 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 04:44:07,464 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 116 states and 131 transitions. [2022-04-28 04:44:07,869 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 04:44:07,869 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 131 transitions. [2022-04-28 04:44:07,869 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:44:07,870 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:44:07,870 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 04:44:07,885 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 04:44:08,070 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 04:44:08,070 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:44:08,071 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:44:08,071 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 13 times [2022-04-28 04:44:08,071 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:44:08,071 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [184028053] [2022-04-28 04:44:08,071 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:44:08,071 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 14 times [2022-04-28 04:44:08,071 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:44:08,071 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [156759497] [2022-04-28 04:44:08,071 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:44:08,071 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:44:08,080 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:44:08,080 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [735363970] [2022-04-28 04:44:08,080 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:44:08,081 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:44:08,081 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:44:08,082 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 04:44:08,084 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 04:44:08,124 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:44:08,124 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:44:08,125 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 04:44:08,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:44:08,139 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:44:20,933 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:44:24,069 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:44:26,630 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:45:45,862 INFO L272 TraceCheckUtils]: 0: Hoare triple {11178#true} call ULTIMATE.init(); {11178#true} is VALID [2022-04-28 04:45:45,862 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 04:45:45,862 INFO L290 TraceCheckUtils]: 2: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 04:45:45,862 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11178#true} {11178#true} #69#return; {11178#true} is VALID [2022-04-28 04:45:45,862 INFO L272 TraceCheckUtils]: 4: Hoare triple {11178#true} call #t~ret8 := main(); {11178#true} is VALID [2022-04-28 04:45:45,862 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 04:45:45,863 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 04:45:45,863 INFO L290 TraceCheckUtils]: 7: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-28 04:45:45,863 INFO L290 TraceCheckUtils]: 8: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-28 04:45:45,863 INFO L290 TraceCheckUtils]: 9: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 04:45:45,863 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11178#true} {11178#true} #61#return; {11178#true} is VALID [2022-04-28 04:45:45,863 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 04:45:45,863 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 04:45:45,863 INFO L290 TraceCheckUtils]: 13: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-28 04:45:45,863 INFO L290 TraceCheckUtils]: 14: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-28 04:45:45,863 INFO L290 TraceCheckUtils]: 15: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 04:45:45,863 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11178#true} {11178#true} #63#return; {11178#true} is VALID [2022-04-28 04:45:45,864 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 04:45:45,864 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 04:45:45,864 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 04:45:45,864 INFO L290 TraceCheckUtils]: 20: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-28 04:45:45,864 INFO L290 TraceCheckUtils]: 21: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-28 04:45:45,864 INFO L290 TraceCheckUtils]: 22: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 04:45:45,865 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 04:45:45,865 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 04:45:45,866 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 04:45:45,867 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 04:45:45,867 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 04:45:45,867 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 04:45:45,867 INFO L290 TraceCheckUtils]: 29: Hoare triple {11178#true} ~cond := #in~cond; {11274#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:45:45,868 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 04:45:45,868 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 04:45:45,869 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 04:45:45,870 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 04:45:45,872 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 04:45:45,872 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 04:45:45,873 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 04:45:45,873 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 04:45:45,873 INFO L290 TraceCheckUtils]: 38: Hoare triple {11178#true} ~cond := #in~cond; {11274#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:45:45,873 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 04:45:45,874 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 04:45:45,875 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 04:45:45,876 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 04:45:45,876 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 04:45:45,878 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 04:45:45,882 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 04:45:45,883 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 04:45:45,884 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 04:45:45,884 INFO L290 TraceCheckUtils]: 48: Hoare triple {11340#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11179#false} is VALID [2022-04-28 04:45:45,884 INFO L290 TraceCheckUtils]: 49: Hoare triple {11179#false} assume !false; {11179#false} is VALID [2022-04-28 04:45:45,884 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 04:45:45,885 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:45:51,789 INFO L290 TraceCheckUtils]: 49: Hoare triple {11179#false} assume !false; {11179#false} is VALID [2022-04-28 04:45:51,789 INFO L290 TraceCheckUtils]: 48: Hoare triple {11340#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11179#false} is VALID [2022-04-28 04:45:51,789 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 04:45:51,790 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 04:45:51,791 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 04:45:51,794 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 04:45:51,794 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 04:45:51,795 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 04:45:51,796 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 04:45:51,796 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 04:45:51,797 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 04:45:51,797 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 04:45:51,797 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 04:45:51,798 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 04:45:51,799 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 04:45:51,799 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 04:45:51,799 INFO L290 TraceCheckUtils]: 33: Hoare triple {11178#true} assume !!(~x~0 <= ~X~0); {11178#true} is VALID [2022-04-28 04:45:51,799 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11178#true} {11178#true} #65#return; {11178#true} is VALID [2022-04-28 04:45:51,799 INFO L290 TraceCheckUtils]: 31: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 04:45:51,799 INFO L290 TraceCheckUtils]: 30: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-28 04:45:51,799 INFO L290 TraceCheckUtils]: 29: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-28 04:45:51,799 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 04:45:51,799 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 04:45:51,799 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 04:45:51,800 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 04:45:51,800 INFO L290 TraceCheckUtils]: 24: Hoare triple {11178#true} assume !!(~x~0 <= ~X~0); {11178#true} is VALID [2022-04-28 04:45:51,800 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11178#true} {11178#true} #65#return; {11178#true} is VALID [2022-04-28 04:45:51,800 INFO L290 TraceCheckUtils]: 22: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 04:45:51,800 INFO L290 TraceCheckUtils]: 21: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-28 04:45:51,800 INFO L290 TraceCheckUtils]: 20: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-28 04:45:51,800 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 04:45:51,800 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 04:45:51,800 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 04:45:51,800 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11178#true} {11178#true} #63#return; {11178#true} is VALID [2022-04-28 04:45:51,801 INFO L290 TraceCheckUtils]: 15: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 04:45:51,801 INFO L290 TraceCheckUtils]: 14: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-28 04:45:51,801 INFO L290 TraceCheckUtils]: 13: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-28 04:45:51,801 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 04:45:51,801 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 04:45:51,801 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11178#true} {11178#true} #61#return; {11178#true} is VALID [2022-04-28 04:45:51,801 INFO L290 TraceCheckUtils]: 9: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 04:45:51,801 INFO L290 TraceCheckUtils]: 8: Hoare triple {11178#true} assume !(0 == ~cond); {11178#true} is VALID [2022-04-28 04:45:51,801 INFO L290 TraceCheckUtils]: 7: Hoare triple {11178#true} ~cond := #in~cond; {11178#true} is VALID [2022-04-28 04:45:51,801 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 04:45:51,801 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 04:45:51,802 INFO L272 TraceCheckUtils]: 4: Hoare triple {11178#true} call #t~ret8 := main(); {11178#true} is VALID [2022-04-28 04:45:51,802 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11178#true} {11178#true} #69#return; {11178#true} is VALID [2022-04-28 04:45:51,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {11178#true} assume true; {11178#true} is VALID [2022-04-28 04:45:51,802 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 04:45:51,802 INFO L272 TraceCheckUtils]: 0: Hoare triple {11178#true} call ULTIMATE.init(); {11178#true} is VALID [2022-04-28 04:45:51,802 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 04:45:51,802 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:45:51,802 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [156759497] [2022-04-28 04:45:51,803 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:45:51,803 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [735363970] [2022-04-28 04:45:51,803 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [735363970] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:45:51,803 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:45:51,803 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 10] total 24 [2022-04-28 04:45:51,803 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:45:51,803 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [184028053] [2022-04-28 04:45:51,803 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [184028053] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:45:51,803 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:45:51,804 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 04:45:51,804 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2132896168] [2022-04-28 04:45:51,804 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:45:51,804 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 04:45:51,804 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:45:51,804 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 04:45:51,849 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 04:45:51,849 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 04:45:51,849 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:45:51,850 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 04:45:51,850 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=483, Unknown=0, NotChecked=0, Total=552 [2022-04-28 04:45:51,850 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 04:45:57,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:45:57,361 INFO L93 Difference]: Finished difference Result 134 states and 151 transitions. [2022-04-28 04:45:57,361 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 04:45:57,361 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 04:45:57,361 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:45:57,361 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 04:45:57,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 65 transitions. [2022-04-28 04:45:57,362 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 04:45:57,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 65 transitions. [2022-04-28 04:45:57,363 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 65 transitions. [2022-04-28 04:45:57,469 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 04:45:57,472 INFO L225 Difference]: With dead ends: 134 [2022-04-28 04:45:57,472 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 04:45:57,472 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 75 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 136 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=115, Invalid=755, Unknown=0, NotChecked=0, Total=870 [2022-04-28 04:45:57,473 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 20 mSDsluCounter, 233 mSDsCounter, 0 mSdLazyCounter, 617 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s 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.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:45:57,473 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.2s Time] [2022-04-28 04:45:57,473 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 04:45:57,856 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 121. [2022-04-28 04:45:57,857 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:45:57,857 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 04:45:57,857 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 04:45:57,857 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 04:45:57,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:45:57,860 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-28 04:45:57,860 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-28 04:45:57,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:45:57,861 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:45:57,861 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 04:45:57,861 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 04:45:57,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:45:57,864 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-28 04:45:57,864 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-28 04:45:57,864 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:45:57,864 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:45:57,864 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:45:57,864 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:45:57,865 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 04:45:57,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-28 04:45:57,867 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 50 [2022-04-28 04:45:57,867 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:45:57,867 INFO L495 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-28 04:45:57,867 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 04:45:57,867 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-28 04:45:58,387 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 04:45:58,387 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-28 04:45:58,387 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:45:58,387 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:45:58,387 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 04:45:58,405 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Ended with exit code 0 [2022-04-28 04:45:58,591 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 04:45:58,592 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:45:58,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:45:58,592 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 5 times [2022-04-28 04:45:58,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:45:58,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [933230645] [2022-04-28 04:45:58,592 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:45:58,592 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 6 times [2022-04-28 04:45:58,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:45:58,593 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [398847196] [2022-04-28 04:45:58,593 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:45:58,593 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:45:58,609 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:45:58,609 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1399792488] [2022-04-28 04:45:58,609 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:45:58,609 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:45:58,609 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:45:58,610 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 04:45:58,619 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 04:45:58,663 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 04:45:58,664 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:45:58,665 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 04:45:58,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:45:58,680 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:46:12,842 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:46:19,565 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:46:27,120 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:46:31,670 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:46:35,899 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:46:42,068 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:46:46,168 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:50:09,945 INFO L272 TraceCheckUtils]: 0: Hoare triple {12287#true} call ULTIMATE.init(); {12287#true} is VALID [2022-04-28 04:50:09,945 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 04:50:09,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 04:50:09,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12287#true} {12287#true} #69#return; {12287#true} is VALID [2022-04-28 04:50:09,946 INFO L272 TraceCheckUtils]: 4: Hoare triple {12287#true} call #t~ret8 := main(); {12287#true} is VALID [2022-04-28 04:50:09,946 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 04:50:09,946 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 04:50:09,946 INFO L290 TraceCheckUtils]: 7: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 04:50:09,946 INFO L290 TraceCheckUtils]: 8: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 04:50:09,946 INFO L290 TraceCheckUtils]: 9: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 04:50:09,946 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12287#true} {12287#true} #61#return; {12287#true} is VALID [2022-04-28 04:50:09,946 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 04:50:09,946 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 04:50:09,946 INFO L290 TraceCheckUtils]: 13: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 04:50:09,946 INFO L290 TraceCheckUtils]: 14: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 04:50:09,946 INFO L290 TraceCheckUtils]: 15: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 04:50:09,947 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12287#true} {12287#true} #63#return; {12287#true} is VALID [2022-04-28 04:50:09,948 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 04:50:09,948 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 04:50:09,949 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 04:50:09,949 INFO L290 TraceCheckUtils]: 20: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 04:50:09,949 INFO L290 TraceCheckUtils]: 21: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 04:50:09,949 INFO L290 TraceCheckUtils]: 22: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 04:50:09,949 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 04:50:09,950 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 04:50:09,951 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 04:50:09,951 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 04:50:09,952 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 04:50:09,952 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 04:50:09,952 INFO L290 TraceCheckUtils]: 29: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 04:50:09,952 INFO L290 TraceCheckUtils]: 30: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 04:50:09,952 INFO L290 TraceCheckUtils]: 31: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 04:50:09,953 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 04:50:09,953 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 04:50:09,954 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 04:50:09,955 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 04:50:09,955 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 04:50:09,955 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 04:50:09,956 INFO L290 TraceCheckUtils]: 38: Hoare triple {12287#true} ~cond := #in~cond; {12413#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:50:09,956 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 04:50:09,956 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 04:50:09,958 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 04:50:09,958 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 04:50:09,961 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 04:50:09,963 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 04:50:09,973 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 04:50:09,975 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 04:50:09,975 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 04:50:09,976 INFO L290 TraceCheckUtils]: 48: Hoare triple {12448#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12288#false} is VALID [2022-04-28 04:50:09,976 INFO L290 TraceCheckUtils]: 49: Hoare triple {12288#false} assume !false; {12288#false} is VALID [2022-04-28 04:50:09,976 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 04:50:09,976 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:50:14,922 INFO L290 TraceCheckUtils]: 49: Hoare triple {12288#false} assume !false; {12288#false} is VALID [2022-04-28 04:50:14,922 INFO L290 TraceCheckUtils]: 48: Hoare triple {12448#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12288#false} is VALID [2022-04-28 04:50:14,922 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 04:50:14,923 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 04:50:14,924 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 04:50:14,926 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 04:50:14,928 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 04:50:14,928 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 04:50:14,929 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 04:50:14,929 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 04:50:14,930 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 04:50:14,930 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 04:50:14,930 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 04:50:14,931 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 04:50:14,931 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 04:50:14,931 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 04:50:14,931 INFO L290 TraceCheckUtils]: 33: Hoare triple {12287#true} assume !!(~x~0 <= ~X~0); {12287#true} is VALID [2022-04-28 04:50:14,931 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12287#true} {12287#true} #65#return; {12287#true} is VALID [2022-04-28 04:50:14,931 INFO L290 TraceCheckUtils]: 31: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 04:50:14,932 INFO L290 TraceCheckUtils]: 30: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 04:50:14,932 INFO L290 TraceCheckUtils]: 29: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 04:50:14,932 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 04:50:14,932 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 04:50:14,932 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 04:50:14,932 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 04:50:14,932 INFO L290 TraceCheckUtils]: 24: Hoare triple {12287#true} assume !!(~x~0 <= ~X~0); {12287#true} is VALID [2022-04-28 04:50:14,932 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12287#true} {12287#true} #65#return; {12287#true} is VALID [2022-04-28 04:50:14,932 INFO L290 TraceCheckUtils]: 22: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 04:50:14,932 INFO L290 TraceCheckUtils]: 21: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 04:50:14,932 INFO L290 TraceCheckUtils]: 20: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 04:50:14,932 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 04:50:14,932 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 04:50:14,932 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 04:50:14,933 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12287#true} {12287#true} #63#return; {12287#true} is VALID [2022-04-28 04:50:14,933 INFO L290 TraceCheckUtils]: 15: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 04:50:14,933 INFO L290 TraceCheckUtils]: 14: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 04:50:14,933 INFO L290 TraceCheckUtils]: 13: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 04:50:14,933 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 04:50:14,933 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 04:50:14,933 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12287#true} {12287#true} #61#return; {12287#true} is VALID [2022-04-28 04:50:14,933 INFO L290 TraceCheckUtils]: 9: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 04:50:14,933 INFO L290 TraceCheckUtils]: 8: Hoare triple {12287#true} assume !(0 == ~cond); {12287#true} is VALID [2022-04-28 04:50:14,934 INFO L290 TraceCheckUtils]: 7: Hoare triple {12287#true} ~cond := #in~cond; {12287#true} is VALID [2022-04-28 04:50:14,934 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 04:50:14,934 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 04:50:14,934 INFO L272 TraceCheckUtils]: 4: Hoare triple {12287#true} call #t~ret8 := main(); {12287#true} is VALID [2022-04-28 04:50:14,934 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12287#true} {12287#true} #69#return; {12287#true} is VALID [2022-04-28 04:50:14,934 INFO L290 TraceCheckUtils]: 2: Hoare triple {12287#true} assume true; {12287#true} is VALID [2022-04-28 04:50:14,934 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 04:50:14,934 INFO L272 TraceCheckUtils]: 0: Hoare triple {12287#true} call ULTIMATE.init(); {12287#true} is VALID [2022-04-28 04:50:14,935 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 04:50:14,935 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:50:14,935 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [398847196] [2022-04-28 04:50:14,935 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:50:14,935 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1399792488] [2022-04-28 04:50:14,935 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1399792488] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:50:14,935 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:50:14,935 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 11] total 24 [2022-04-28 04:50:14,936 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:50:14,936 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [933230645] [2022-04-28 04:50:14,936 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [933230645] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:50:14,936 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:50:14,936 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 04:50:14,936 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [559043381] [2022-04-28 04:50:14,936 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:50:14,936 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 04:50:14,937 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:50:14,937 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 04:50:14,993 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 04:50:14,993 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 04:50:14,993 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:50:14,994 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 04:50:14,994 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=472, Unknown=1, NotChecked=0, Total=552 [2022-04-28 04:50:14,994 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 04:50:22,514 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 04:50:25,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:50:25,952 INFO L93 Difference]: Finished difference Result 134 states and 151 transitions. [2022-04-28 04:50:25,953 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 04:50:25,953 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 04:50:25,953 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:50:25,953 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 04:50:25,954 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 65 transitions. [2022-04-28 04:50:25,954 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 04:50:25,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 65 transitions. [2022-04-28 04:50:25,955 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 65 transitions. [2022-04-28 04:50:26,027 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 04:50:26,029 INFO L225 Difference]: With dead ends: 134 [2022-04-28 04:50:26,029 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 04:50:26,029 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 75 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 138 ImplicationChecksByTransitivity, 7.3s TimeCoverageRelationStatistics Valid=122, Invalid=689, Unknown=1, NotChecked=0, Total=812 [2022-04-28 04:50:26,030 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 20 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 502 mSolverCounterSat, 5 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.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, 502 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:50:26,031 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 214 Invalid, 508 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 502 Invalid, 1 Unknown, 0 Unchecked, 4.3s Time] [2022-04-28 04:50:26,031 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 04:50:26,366 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 121. [2022-04-28 04:50:26,366 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:50:26,366 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 04:50:26,367 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 04:50:26,367 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 04:50:26,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:50:26,373 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-28 04:50:26,373 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-28 04:50:26,375 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:50:26,375 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:50:26,375 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 04:50:26,375 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 04:50:26,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:50:26,378 INFO L93 Difference]: Finished difference Result 132 states and 149 transitions. [2022-04-28 04:50:26,378 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 149 transitions. [2022-04-28 04:50:26,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:50:26,378 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:50:26,379 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:50:26,379 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:50:26,379 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 04:50:26,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-28 04:50:26,381 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 50 [2022-04-28 04:50:26,381 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:50:26,382 INFO L495 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-28 04:50:26,382 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 04:50:26,382 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-28 04:50:26,930 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 04:50:26,931 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-28 04:50:26,937 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 04:50:26,937 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:50:26,937 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 04:50:26,953 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 04:50:27,138 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 04:50:27,138 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:50:27,138 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:50:27,138 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 3 times [2022-04-28 04:50:27,138 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:50:27,139 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [687331789] [2022-04-28 04:50:27,139 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:50:27,139 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 4 times [2022-04-28 04:50:27,139 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:50:27,139 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2023291209] [2022-04-28 04:50:27,139 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:50:27,139 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:50:27,150 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:50:27,150 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2104257922] [2022-04-28 04:50:27,150 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:50:27,150 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:50:27,150 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:50:27,151 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 04:50:27,155 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 04:50:27,201 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:50:27,201 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:50:27,202 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 04:50:27,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:50:27,213 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:50:28,274 INFO L272 TraceCheckUtils]: 0: Hoare triple {13394#true} call ULTIMATE.init(); {13394#true} is VALID [2022-04-28 04:50:28,274 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 04:50:28,274 INFO L290 TraceCheckUtils]: 2: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 04:50:28,274 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13394#true} {13394#true} #69#return; {13394#true} is VALID [2022-04-28 04:50:28,274 INFO L272 TraceCheckUtils]: 4: Hoare triple {13394#true} call #t~ret8 := main(); {13394#true} is VALID [2022-04-28 04:50:28,274 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 04:50:28,274 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 04:50:28,275 INFO L290 TraceCheckUtils]: 7: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 04:50:28,275 INFO L290 TraceCheckUtils]: 8: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 04:50:28,275 INFO L290 TraceCheckUtils]: 9: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 04:50:28,275 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13394#true} {13394#true} #61#return; {13394#true} is VALID [2022-04-28 04:50:28,275 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 04:50:28,275 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 04:50:28,275 INFO L290 TraceCheckUtils]: 13: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 04:50:28,275 INFO L290 TraceCheckUtils]: 14: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 04:50:28,275 INFO L290 TraceCheckUtils]: 15: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 04:50:28,275 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13394#true} {13394#true} #63#return; {13394#true} is VALID [2022-04-28 04:50:28,276 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 04:50:28,276 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 04:50:28,276 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 04:50:28,276 INFO L290 TraceCheckUtils]: 20: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 04:50:28,276 INFO L290 TraceCheckUtils]: 21: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 04:50:28,276 INFO L290 TraceCheckUtils]: 22: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 04:50:28,277 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 04:50:28,277 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 04:50:28,278 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 04:50:28,280 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 04:50:28,280 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 04:50:28,280 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 04:50:28,280 INFO L290 TraceCheckUtils]: 29: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 04:50:28,281 INFO L290 TraceCheckUtils]: 30: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 04:50:28,281 INFO L290 TraceCheckUtils]: 31: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 04:50:28,281 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 04:50:28,282 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 04:50:28,283 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 04:50:28,283 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 04:50:28,284 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 04:50:28,284 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 04:50:28,284 INFO L290 TraceCheckUtils]: 38: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 04:50:28,284 INFO L290 TraceCheckUtils]: 39: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 04:50:28,284 INFO L290 TraceCheckUtils]: 40: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 04:50:28,285 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 04:50:28,285 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 04:50:28,285 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 04:50:28,286 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 04:50:28,286 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 04:50:28,287 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 04:50:28,287 INFO L290 TraceCheckUtils]: 47: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 04:50:28,287 INFO L290 TraceCheckUtils]: 48: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 04:50:28,287 INFO L290 TraceCheckUtils]: 49: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 04:50:28,288 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 04:50:28,288 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 04:50:28,288 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 04:50:28,288 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 04:50:28,288 INFO L290 TraceCheckUtils]: 54: Hoare triple {13395#false} ~cond := #in~cond; {13395#false} is VALID [2022-04-28 04:50:28,289 INFO L290 TraceCheckUtils]: 55: Hoare triple {13395#false} assume 0 == ~cond; {13395#false} is VALID [2022-04-28 04:50:28,289 INFO L290 TraceCheckUtils]: 56: Hoare triple {13395#false} assume !false; {13395#false} is VALID [2022-04-28 04:50:28,289 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 04:50:28,289 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:50:28,614 INFO L290 TraceCheckUtils]: 56: Hoare triple {13395#false} assume !false; {13395#false} is VALID [2022-04-28 04:50:28,614 INFO L290 TraceCheckUtils]: 55: Hoare triple {13395#false} assume 0 == ~cond; {13395#false} is VALID [2022-04-28 04:50:28,614 INFO L290 TraceCheckUtils]: 54: Hoare triple {13395#false} ~cond := #in~cond; {13395#false} is VALID [2022-04-28 04:50:28,614 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 04:50:28,614 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 04:50:28,614 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 04:50:28,615 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 04:50:28,615 INFO L290 TraceCheckUtils]: 49: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 04:50:28,615 INFO L290 TraceCheckUtils]: 48: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 04:50:28,615 INFO L290 TraceCheckUtils]: 47: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 04:50:28,615 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 04:50:28,616 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 04:50:28,617 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 04:50:28,617 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 04:50:28,618 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 04:50:28,618 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 04:50:28,618 INFO L290 TraceCheckUtils]: 40: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 04:50:28,618 INFO L290 TraceCheckUtils]: 39: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 04:50:28,618 INFO L290 TraceCheckUtils]: 38: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 04:50:28,618 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 04:50:28,619 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 04:50:28,619 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 04:50:28,620 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 04:50:28,620 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 04:50:28,621 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 04:50:28,621 INFO L290 TraceCheckUtils]: 31: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 04:50:28,621 INFO L290 TraceCheckUtils]: 30: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 04:50:28,621 INFO L290 TraceCheckUtils]: 29: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 04:50:28,621 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 04:50:28,621 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 04:50:28,622 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 04:50:28,623 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 04:50:28,623 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 04:50:28,624 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 04:50:28,624 INFO L290 TraceCheckUtils]: 22: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 04:50:28,624 INFO L290 TraceCheckUtils]: 21: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 04:50:28,624 INFO L290 TraceCheckUtils]: 20: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 04:50:28,624 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 04:50:28,625 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 04:50:28,625 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 04:50:28,625 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13394#true} {13394#true} #63#return; {13394#true} is VALID [2022-04-28 04:50:28,626 INFO L290 TraceCheckUtils]: 15: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 04:50:28,626 INFO L290 TraceCheckUtils]: 14: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 04:50:28,626 INFO L290 TraceCheckUtils]: 13: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 04:50:28,626 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 04:50:28,626 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 04:50:28,626 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13394#true} {13394#true} #61#return; {13394#true} is VALID [2022-04-28 04:50:28,626 INFO L290 TraceCheckUtils]: 9: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 04:50:28,626 INFO L290 TraceCheckUtils]: 8: Hoare triple {13394#true} assume !(0 == ~cond); {13394#true} is VALID [2022-04-28 04:50:28,626 INFO L290 TraceCheckUtils]: 7: Hoare triple {13394#true} ~cond := #in~cond; {13394#true} is VALID [2022-04-28 04:50:28,626 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 04:50:28,626 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 04:50:28,626 INFO L272 TraceCheckUtils]: 4: Hoare triple {13394#true} call #t~ret8 := main(); {13394#true} is VALID [2022-04-28 04:50:28,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13394#true} {13394#true} #69#return; {13394#true} is VALID [2022-04-28 04:50:28,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {13394#true} assume true; {13394#true} is VALID [2022-04-28 04:50:28,627 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 04:50:28,627 INFO L272 TraceCheckUtils]: 0: Hoare triple {13394#true} call ULTIMATE.init(); {13394#true} is VALID [2022-04-28 04:50:28,627 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 04:50:28,627 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:50:28,627 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2023291209] [2022-04-28 04:50:28,628 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:50:28,628 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2104257922] [2022-04-28 04:50:28,628 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2104257922] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:50:28,628 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:50:28,628 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 04:50:28,628 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:50:28,628 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [687331789] [2022-04-28 04:50:28,628 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [687331789] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:50:28,628 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:50:28,628 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 04:50:28,629 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1753272525] [2022-04-28 04:50:28,629 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:50:28,629 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 04:50:28,629 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:50:28,629 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 04:50:28,666 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 04:50:28,667 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 04:50:28,667 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:50:28,667 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 04:50:28,667 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-28 04:50:28,667 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 04:50:29,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:50:29,347 INFO L93 Difference]: Finished difference Result 133 states and 149 transitions. [2022-04-28 04:50:29,347 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 04:50:29,347 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 04:50:29,347 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:50:29,347 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 04:50:29,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-28 04:50:29,348 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 04:50:29,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-28 04:50:29,349 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-28 04:50:29,410 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 04:50:29,411 INFO L225 Difference]: With dead ends: 133 [2022-04-28 04:50:29,411 INFO L226 Difference]: Without dead ends: 125 [2022-04-28 04:50:29,412 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 04:50:29,412 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 04:50:29,412 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 04:50:29,412 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-04-28 04:50:29,762 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 121. [2022-04-28 04:50:29,762 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:50:29,763 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 04:50:29,763 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 04:50:29,763 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 04:50:29,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:50:29,765 INFO L93 Difference]: Finished difference Result 125 states and 141 transitions. [2022-04-28 04:50:29,765 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 141 transitions. [2022-04-28 04:50:29,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:50:29,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:50:29,766 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 04:50:29,766 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 04:50:29,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:50:29,768 INFO L93 Difference]: Finished difference Result 125 states and 141 transitions. [2022-04-28 04:50:29,768 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 141 transitions. [2022-04-28 04:50:29,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:50:29,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:50:29,769 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:50:29,769 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:50:29,769 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 04:50:29,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-28 04:50:29,771 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 57 [2022-04-28 04:50:29,771 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:50:29,771 INFO L495 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-28 04:50:29,771 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 04:50:29,771 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-28 04:50:30,251 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 04:50:30,252 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-28 04:50:30,255 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 04:50:30,255 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:50:30,255 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 04:50:30,276 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 04:50:30,475 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 04:50:30,475 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:50:30,476 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:50:30,476 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 5 times [2022-04-28 04:50:30,476 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:50:30,476 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [45942222] [2022-04-28 04:50:30,476 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:50:30,476 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 6 times [2022-04-28 04:50:30,476 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:50:30,476 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [306702050] [2022-04-28 04:50:30,476 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:50:30,477 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:50:30,486 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:50:30,486 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1213187931] [2022-04-28 04:50:30,486 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:50:30,486 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:50:30,486 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:50:30,487 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 04:50:30,489 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 04:50:30,534 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 04:50:30,534 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:50:30,534 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 04:50:30,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:50:30,547 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:50:42,565 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:50:49,176 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:50:55,197 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:51:01,130 INFO L272 TraceCheckUtils]: 0: Hoare triple {14507#true} call ULTIMATE.init(); {14507#true} is VALID [2022-04-28 04:51:01,130 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 04:51:01,130 INFO L290 TraceCheckUtils]: 2: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 04:51:01,131 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14507#true} {14507#true} #69#return; {14507#true} is VALID [2022-04-28 04:51:01,131 INFO L272 TraceCheckUtils]: 4: Hoare triple {14507#true} call #t~ret8 := main(); {14507#true} is VALID [2022-04-28 04:51:01,131 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 04:51:01,131 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 04:51:01,131 INFO L290 TraceCheckUtils]: 7: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 04:51:01,131 INFO L290 TraceCheckUtils]: 8: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 04:51:01,131 INFO L290 TraceCheckUtils]: 9: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 04:51:01,131 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14507#true} {14507#true} #61#return; {14507#true} is VALID [2022-04-28 04:51:01,131 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 04:51:01,131 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 04:51:01,131 INFO L290 TraceCheckUtils]: 13: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 04:51:01,131 INFO L290 TraceCheckUtils]: 14: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 04:51:01,131 INFO L290 TraceCheckUtils]: 15: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 04:51:01,131 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14507#true} {14507#true} #63#return; {14507#true} is VALID [2022-04-28 04:51:01,132 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 04:51:01,132 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 04:51:01,132 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 04:51:01,132 INFO L290 TraceCheckUtils]: 20: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 04:51:01,132 INFO L290 TraceCheckUtils]: 21: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 04:51:01,132 INFO L290 TraceCheckUtils]: 22: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 04:51:01,133 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 04:51:01,134 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 04:51:01,134 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 04:51:01,135 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 04:51:01,135 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 04:51:01,135 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 04:51:01,135 INFO L290 TraceCheckUtils]: 29: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 04:51:01,135 INFO L290 TraceCheckUtils]: 30: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 04:51:01,135 INFO L290 TraceCheckUtils]: 31: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 04:51:01,136 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 04:51:01,136 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 04:51:01,137 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 04:51:01,137 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 04:51:01,137 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 04:51:01,137 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 04:51:01,137 INFO L290 TraceCheckUtils]: 38: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 04:51:01,138 INFO L290 TraceCheckUtils]: 39: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 04:51:01,138 INFO L290 TraceCheckUtils]: 40: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 04:51:01,138 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 04:51:01,138 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 04:51:01,139 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 04:51:01,140 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 04:51:01,140 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 04:51:01,140 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 04:51:01,140 INFO L290 TraceCheckUtils]: 47: Hoare triple {14507#true} ~cond := #in~cond; {14660#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:51:01,141 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 04:51:01,141 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 04:51:01,143 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 04:51:01,143 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 04:51:03,146 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 04:51:03,149 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 04:51:03,149 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 04:51:03,150 INFO L290 TraceCheckUtils]: 55: Hoare triple {14687#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14508#false} is VALID [2022-04-28 04:51:03,150 INFO L290 TraceCheckUtils]: 56: Hoare triple {14508#false} assume !false; {14508#false} is VALID [2022-04-28 04:51:03,150 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 04:51:03,150 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:51:09,592 INFO L290 TraceCheckUtils]: 56: Hoare triple {14508#false} assume !false; {14508#false} is VALID [2022-04-28 04:51:09,592 INFO L290 TraceCheckUtils]: 55: Hoare triple {14687#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14508#false} is VALID [2022-04-28 04:51:09,593 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 04:51:09,593 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 04:51:09,595 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 04:51:09,595 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 04:51:09,596 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 04:51:09,596 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 04:51:09,597 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 04:51:09,597 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 04:51:09,597 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 04:51:09,598 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 04:51:09,600 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 04:51:09,603 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 04:51:09,604 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 04:51:09,605 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14507#true} {14507#true} #65#return; {14507#true} is VALID [2022-04-28 04:51:09,605 INFO L290 TraceCheckUtils]: 40: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 04:51:09,605 INFO L290 TraceCheckUtils]: 39: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 04:51:09,605 INFO L290 TraceCheckUtils]: 38: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 04:51:09,605 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 04:51:09,605 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 04:51:09,605 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 04:51:09,605 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 04:51:09,605 INFO L290 TraceCheckUtils]: 33: Hoare triple {14507#true} assume !!(~x~0 <= ~X~0); {14507#true} is VALID [2022-04-28 04:51:09,605 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14507#true} {14507#true} #65#return; {14507#true} is VALID [2022-04-28 04:51:09,605 INFO L290 TraceCheckUtils]: 31: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 04:51:09,605 INFO L290 TraceCheckUtils]: 30: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 04:51:09,605 INFO L290 TraceCheckUtils]: 29: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 04:51:09,605 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 04:51:09,606 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 04:51:09,606 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 04:51:09,606 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 04:51:09,606 INFO L290 TraceCheckUtils]: 24: Hoare triple {14507#true} assume !!(~x~0 <= ~X~0); {14507#true} is VALID [2022-04-28 04:51:09,606 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14507#true} {14507#true} #65#return; {14507#true} is VALID [2022-04-28 04:51:09,606 INFO L290 TraceCheckUtils]: 22: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 04:51:09,606 INFO L290 TraceCheckUtils]: 21: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 04:51:09,606 INFO L290 TraceCheckUtils]: 20: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 04:51:09,606 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 04:51:09,606 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 04:51:09,606 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 04:51:09,606 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14507#true} {14507#true} #63#return; {14507#true} is VALID [2022-04-28 04:51:09,606 INFO L290 TraceCheckUtils]: 15: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 04:51:09,606 INFO L290 TraceCheckUtils]: 14: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 04:51:09,606 INFO L290 TraceCheckUtils]: 13: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 04:51:09,607 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 04:51:09,607 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 04:51:09,607 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14507#true} {14507#true} #61#return; {14507#true} is VALID [2022-04-28 04:51:09,607 INFO L290 TraceCheckUtils]: 9: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 04:51:09,607 INFO L290 TraceCheckUtils]: 8: Hoare triple {14507#true} assume !(0 == ~cond); {14507#true} is VALID [2022-04-28 04:51:09,607 INFO L290 TraceCheckUtils]: 7: Hoare triple {14507#true} ~cond := #in~cond; {14507#true} is VALID [2022-04-28 04:51:09,607 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 04:51:09,607 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 04:51:09,607 INFO L272 TraceCheckUtils]: 4: Hoare triple {14507#true} call #t~ret8 := main(); {14507#true} is VALID [2022-04-28 04:51:09,607 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14507#true} {14507#true} #69#return; {14507#true} is VALID [2022-04-28 04:51:09,607 INFO L290 TraceCheckUtils]: 2: Hoare triple {14507#true} assume true; {14507#true} is VALID [2022-04-28 04:51:09,607 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 04:51:09,607 INFO L272 TraceCheckUtils]: 0: Hoare triple {14507#true} call ULTIMATE.init(); {14507#true} is VALID [2022-04-28 04:51:09,608 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 04:51:09,608 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:51:09,608 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [306702050] [2022-04-28 04:51:09,608 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:51:09,608 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1213187931] [2022-04-28 04:51:09,608 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1213187931] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:51:09,608 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:51:09,608 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-28 04:51:09,608 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:51:09,608 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [45942222] [2022-04-28 04:51:09,608 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [45942222] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:51:09,608 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:51:09,609 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 04:51:09,609 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2125877778] [2022-04-28 04:51:09,609 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:51:09,609 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 04:51:09,609 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:51:09,609 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 04:51:11,649 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 04:51:11,649 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 04:51:11,649 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:51:11,650 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 04:51:11,650 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=471, Unknown=1, NotChecked=0, Total=552 [2022-04-28 04:51:11,650 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 04:51:17,520 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 04:51:19,619 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 04:51:21,700 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 04:51:24,127 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 04:51:28,230 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 04:51:30,233 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 04:51:32,237 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 04:51:33,419 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.18s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:51:35,421 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 04:51:37,425 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 04:51:38,801 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.37s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:51:40,803 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 04:51:42,806 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 04:51:44,809 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 04:51:46,813 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 04:51:48,217 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.40s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:51:48,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:51:48,859 INFO L93 Difference]: Finished difference Result 168 states and 199 transitions. [2022-04-28 04:51:48,859 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 04:51:48,859 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 04:51:48,860 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:51:48,860 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 04:51:48,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 71 transitions. [2022-04-28 04:51:48,861 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 04:51:48,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 71 transitions. [2022-04-28 04:51:48,862 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 71 transitions. [2022-04-28 04:51:52,181 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 04:51:52,184 INFO L225 Difference]: With dead ends: 168 [2022-04-28 04:51:52,184 INFO L226 Difference]: Without dead ends: 160 [2022-04-28 04:51:52,184 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 162 ImplicationChecksByTransitivity, 7.0s TimeCoverageRelationStatistics Valid=151, Invalid=840, Unknown=1, NotChecked=0, Total=992 [2022-04-28 04:51:52,185 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 25 mSDsluCounter, 237 mSDsCounter, 0 mSdLazyCounter, 530 mSolverCounterSat, 9 mSolverCounterUnsat, 13 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 30.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 269 SdHoareTripleChecker+Invalid, 552 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 530 IncrementalHoareTripleChecker+Invalid, 13 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 30.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:51:52,185 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 269 Invalid, 552 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 530 Invalid, 13 Unknown, 0 Unchecked, 30.9s Time] [2022-04-28 04:51:52,186 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-04-28 04:51:52,673 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 155. [2022-04-28 04:51:52,673 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:51:52,673 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 04:51:52,674 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 04:51:52,674 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 04:51:52,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:51:52,677 INFO L93 Difference]: Finished difference Result 160 states and 189 transitions. [2022-04-28 04:51:52,677 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 189 transitions. [2022-04-28 04:51:52,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:51:52,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:51:52,678 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 04:51:52,678 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 04:51:52,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:51:52,681 INFO L93 Difference]: Finished difference Result 160 states and 189 transitions. [2022-04-28 04:51:52,681 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 189 transitions. [2022-04-28 04:51:52,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:51:52,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:51:52,682 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:51:52,682 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:51:52,682 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 04:51:52,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 155 states to 155 states and 184 transitions. [2022-04-28 04:51:52,685 INFO L78 Accepts]: Start accepts. Automaton has 155 states and 184 transitions. Word has length 57 [2022-04-28 04:51:52,685 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:51:52,685 INFO L495 AbstractCegarLoop]: Abstraction has 155 states and 184 transitions. [2022-04-28 04:51:52,685 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 04:51:52,685 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 155 states and 184 transitions. [2022-04-28 04:51:53,231 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 04:51:53,231 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 184 transitions. [2022-04-28 04:51:53,232 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 04:51:53,232 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:51:53,232 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 04:51:53,248 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 04:51:53,435 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 04:51:53,435 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:51:53,436 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:51:53,436 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 5 times [2022-04-28 04:51:53,436 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:51:53,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1696385941] [2022-04-28 04:51:53,436 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:51:53,436 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 6 times [2022-04-28 04:51:53,436 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:51:53,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1354260900] [2022-04-28 04:51:53,437 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:51:53,437 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:51:53,446 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:51:53,446 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2126853606] [2022-04-28 04:51:53,446 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:51:53,447 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:51:53,447 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:51:53,447 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 04:51:53,448 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 04:51:53,848 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 04:51:53,848 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:51:53,849 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 04:51:53,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:51:53,866 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:52:08,336 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:52:16,618 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:52:22,643 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:52:26,602 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 04:53:13,444 WARN L232 SmtUtils]: Spent 5.17s on a formula simplification. DAG size of input: 14 DAG size of output: 1 (called from [L 988] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2022-04-28 04:53:13,495 INFO L272 TraceCheckUtils]: 0: Hoare triple {15854#true} call ULTIMATE.init(); {15854#true} is VALID [2022-04-28 04:53:13,495 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 04:53:13,495 INFO L290 TraceCheckUtils]: 2: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 04:53:13,495 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15854#true} {15854#true} #69#return; {15854#true} is VALID [2022-04-28 04:53:13,495 INFO L272 TraceCheckUtils]: 4: Hoare triple {15854#true} call #t~ret8 := main(); {15854#true} is VALID [2022-04-28 04:53:13,496 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 04:53:13,496 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 04:53:13,496 INFO L290 TraceCheckUtils]: 7: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 04:53:13,496 INFO L290 TraceCheckUtils]: 8: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 04:53:13,496 INFO L290 TraceCheckUtils]: 9: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 04:53:13,496 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15854#true} {15854#true} #61#return; {15854#true} is VALID [2022-04-28 04:53:13,496 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 04:53:13,496 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 04:53:13,496 INFO L290 TraceCheckUtils]: 13: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 04:53:13,496 INFO L290 TraceCheckUtils]: 14: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 04:53:13,496 INFO L290 TraceCheckUtils]: 15: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 04:53:13,496 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15854#true} {15854#true} #63#return; {15854#true} is VALID [2022-04-28 04:53:13,497 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 04:53:13,497 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 04:53:13,497 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 04:53:13,497 INFO L290 TraceCheckUtils]: 20: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 04:53:13,497 INFO L290 TraceCheckUtils]: 21: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 04:53:13,497 INFO L290 TraceCheckUtils]: 22: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 04:53:13,498 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 04:53:13,500 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 04:53:13,500 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 04:53:13,500 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 04:53:13,500 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 04:53:13,501 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 04:53:13,501 INFO L290 TraceCheckUtils]: 29: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 04:53:13,501 INFO L290 TraceCheckUtils]: 30: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 04:53:13,501 INFO L290 TraceCheckUtils]: 31: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 04:53:13,501 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 04:53:13,502 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 04:53:13,502 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 04:53:13,502 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 04:53:13,502 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 04:53:13,502 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 04:53:13,503 INFO L290 TraceCheckUtils]: 38: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 04:53:13,503 INFO L290 TraceCheckUtils]: 39: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 04:53:13,503 INFO L290 TraceCheckUtils]: 40: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 04:53:13,503 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 04:53:13,504 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 04:53:13,504 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 04:53:13,506 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 04:53:13,507 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 04:53:13,507 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 04:53:13,508 INFO L290 TraceCheckUtils]: 47: Hoare triple {15854#true} ~cond := #in~cond; {16005#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:53:13,508 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 04:53:13,509 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 04:53:13,510 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 04:53:13,511 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 04:53:15,515 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 04:53:15,550 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 04:53:15,551 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 04:53:15,551 INFO L290 TraceCheckUtils]: 55: Hoare triple {16032#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15855#false} is VALID [2022-04-28 04:53:15,551 INFO L290 TraceCheckUtils]: 56: Hoare triple {15855#false} assume !false; {15855#false} is VALID [2022-04-28 04:53:15,552 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 04:53:15,552 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:53:16,680 INFO L290 TraceCheckUtils]: 56: Hoare triple {15855#false} assume !false; {15855#false} is VALID [2022-04-28 04:53:16,680 INFO L290 TraceCheckUtils]: 55: Hoare triple {16032#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15855#false} is VALID [2022-04-28 04:53:16,681 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 04:53:16,682 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 04:53:16,683 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 04:53:16,684 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 04:53:16,685 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 04:53:16,685 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 04:53:16,686 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 04:53:16,686 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 04:53:16,686 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 04:53:16,689 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 04:53:16,693 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 04:53:16,698 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 04:53:16,702 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 04:53:16,702 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15854#true} {15854#true} #65#return; {15854#true} is VALID [2022-04-28 04:53:16,702 INFO L290 TraceCheckUtils]: 40: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 04:53:16,702 INFO L290 TraceCheckUtils]: 39: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 04:53:16,702 INFO L290 TraceCheckUtils]: 38: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 04:53:16,702 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 04:53:16,702 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 04:53:16,702 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 04:53:16,702 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 04:53:16,703 INFO L290 TraceCheckUtils]: 33: Hoare triple {15854#true} assume !!(~x~0 <= ~X~0); {15854#true} is VALID [2022-04-28 04:53:16,703 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15854#true} {15854#true} #65#return; {15854#true} is VALID [2022-04-28 04:53:16,703 INFO L290 TraceCheckUtils]: 31: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 04:53:16,703 INFO L290 TraceCheckUtils]: 30: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 04:53:16,703 INFO L290 TraceCheckUtils]: 29: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 04:53:16,703 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 04:53:16,703 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 04:53:16,703 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 04:53:16,703 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 04:53:16,703 INFO L290 TraceCheckUtils]: 24: Hoare triple {15854#true} assume !!(~x~0 <= ~X~0); {15854#true} is VALID [2022-04-28 04:53:16,703 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15854#true} {15854#true} #65#return; {15854#true} is VALID [2022-04-28 04:53:16,704 INFO L290 TraceCheckUtils]: 22: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 04:53:16,704 INFO L290 TraceCheckUtils]: 21: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 04:53:16,704 INFO L290 TraceCheckUtils]: 20: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 04:53:16,704 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 04:53:16,704 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 04:53:16,704 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 04:53:16,704 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15854#true} {15854#true} #63#return; {15854#true} is VALID [2022-04-28 04:53:16,704 INFO L290 TraceCheckUtils]: 15: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 04:53:16,704 INFO L290 TraceCheckUtils]: 14: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 04:53:16,704 INFO L290 TraceCheckUtils]: 13: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 04:53:16,704 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 04:53:16,705 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 04:53:16,705 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15854#true} {15854#true} #61#return; {15854#true} is VALID [2022-04-28 04:53:16,705 INFO L290 TraceCheckUtils]: 9: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 04:53:16,705 INFO L290 TraceCheckUtils]: 8: Hoare triple {15854#true} assume !(0 == ~cond); {15854#true} is VALID [2022-04-28 04:53:16,705 INFO L290 TraceCheckUtils]: 7: Hoare triple {15854#true} ~cond := #in~cond; {15854#true} is VALID [2022-04-28 04:53:16,705 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 04:53:16,705 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 04:53:16,705 INFO L272 TraceCheckUtils]: 4: Hoare triple {15854#true} call #t~ret8 := main(); {15854#true} is VALID [2022-04-28 04:53:16,705 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15854#true} {15854#true} #69#return; {15854#true} is VALID [2022-04-28 04:53:16,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {15854#true} assume true; {15854#true} is VALID [2022-04-28 04:53:16,706 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 04:53:16,706 INFO L272 TraceCheckUtils]: 0: Hoare triple {15854#true} call ULTIMATE.init(); {15854#true} is VALID [2022-04-28 04:53:16,706 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 04:53:16,706 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:53:16,706 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1354260900] [2022-04-28 04:53:16,706 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:53:16,706 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2126853606] [2022-04-28 04:53:16,707 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2126853606] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:53:16,707 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:53:16,707 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12] total 21 [2022-04-28 04:53:16,707 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:53:16,707 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1696385941] [2022-04-28 04:53:16,707 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1696385941] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:53:16,707 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:53:16,707 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:53:16,707 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1688786821] [2022-04-28 04:53:16,707 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:53:16,708 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 04:53:16,708 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:53:16,708 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 04:53:18,780 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 04:53:18,780 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:53:18,780 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:53:18,781 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:53:18,781 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=313, Unknown=1, NotChecked=36, Total=420 [2022-04-28 04:53:18,781 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 04:53:22,080 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 04:53:22,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:53:22,312 INFO L93 Difference]: Finished difference Result 163 states and 191 transitions. [2022-04-28 04:53:22,312 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 04:53:22,312 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 04:53:22,312 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:53:22,313 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 04:53:22,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 42 transitions. [2022-04-28 04:53:22,313 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 04:53:22,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 42 transitions. [2022-04-28 04:53:22,314 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 42 transitions. [2022-04-28 04:53:24,391 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 04:53:24,394 INFO L225 Difference]: With dead ends: 163 [2022-04-28 04:53:24,394 INFO L226 Difference]: Without dead ends: 155 [2022-04-28 04:53:24,395 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 93 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 142 ImplicationChecksByTransitivity, 4.9s TimeCoverageRelationStatistics Valid=170, Invalid=648, Unknown=2, NotChecked=110, Total=930 [2022-04-28 04:53:24,395 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 04:53:24,396 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 04:53:24,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 155 states. [2022-04-28 04:53:24,766 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 155 to 117. [2022-04-28 04:53:24,767 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:53:24,767 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 04:53:24,767 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 04:53:24,767 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 04:53:24,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:53:24,770 INFO L93 Difference]: Finished difference Result 155 states and 178 transitions. [2022-04-28 04:53:24,770 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 178 transitions. [2022-04-28 04:53:24,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:53:24,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:53:24,771 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 04:53:24,771 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 04:53:24,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:53:24,774 INFO L93 Difference]: Finished difference Result 155 states and 178 transitions. [2022-04-28 04:53:24,774 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 178 transitions. [2022-04-28 04:53:24,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:53:24,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:53:24,775 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:53:24,775 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:53:24,775 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 04:53:24,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 129 transitions. [2022-04-28 04:53:24,778 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 129 transitions. Word has length 57 [2022-04-28 04:53:24,778 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:53:24,778 INFO L495 AbstractCegarLoop]: Abstraction has 117 states and 129 transitions. [2022-04-28 04:53:24,778 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 04:53:24,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 117 states and 129 transitions. [2022-04-28 04:53:25,356 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 04:53:25,356 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 129 transitions. [2022-04-28 04:53:25,357 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 04:53:25,357 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:53:25,357 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 04:53:25,364 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Ended with exit code 0 [2022-04-28 04:53:25,563 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 04:53:25,563 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:53:25,563 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:53:25,563 INFO L85 PathProgramCache]: Analyzing trace with hash 1830651545, now seen corresponding path program 7 times [2022-04-28 04:53:25,563 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:53:25,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [115992146] [2022-04-28 04:53:25,564 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:53:25,564 INFO L85 PathProgramCache]: Analyzing trace with hash 1830651545, now seen corresponding path program 8 times [2022-04-28 04:53:25,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:53:25,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1037364329] [2022-04-28 04:53:25,564 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:53:25,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:53:25,574 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:53:25,574 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2122846881] [2022-04-28 04:53:25,574 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:53:25,575 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:53:25,575 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:53:25,576 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 04:53:25,577 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 04:53:25,636 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:53:25,636 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:53:25,637 INFO L263 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 04:53:25,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:53:25,649 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:53:26,347 INFO L272 TraceCheckUtils]: 0: Hoare triple {17106#true} call ULTIMATE.init(); {17106#true} is VALID [2022-04-28 04:53:26,348 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 04:53:26,348 INFO L290 TraceCheckUtils]: 2: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 04:53:26,348 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17106#true} {17106#true} #69#return; {17106#true} is VALID [2022-04-28 04:53:26,348 INFO L272 TraceCheckUtils]: 4: Hoare triple {17106#true} call #t~ret8 := main(); {17106#true} is VALID [2022-04-28 04:53:26,348 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 04:53:26,348 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 04:53:26,348 INFO L290 TraceCheckUtils]: 7: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 04:53:26,348 INFO L290 TraceCheckUtils]: 8: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 04:53:26,348 INFO L290 TraceCheckUtils]: 9: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 04:53:26,348 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17106#true} {17106#true} #61#return; {17106#true} is VALID [2022-04-28 04:53:26,348 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 04:53:26,348 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 04:53:26,349 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 04:53:26,349 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 04:53:26,349 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 04:53:26,350 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 04:53:26,350 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 04:53:26,351 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 04:53:26,351 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 04:53:26,351 INFO L290 TraceCheckUtils]: 20: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 04:53:26,351 INFO L290 TraceCheckUtils]: 21: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 04:53:26,351 INFO L290 TraceCheckUtils]: 22: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 04:53:26,352 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 04:53:26,352 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 04:53:26,353 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 04:53:26,353 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 04:53:26,354 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 04:53:26,354 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 04:53:26,354 INFO L290 TraceCheckUtils]: 29: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 04:53:26,354 INFO L290 TraceCheckUtils]: 30: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 04:53:26,354 INFO L290 TraceCheckUtils]: 31: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 04:53:26,355 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 04:53:26,355 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 04:53:26,356 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 04:53:26,356 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 04:53:26,357 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 04:53:26,357 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 04:53:26,357 INFO L290 TraceCheckUtils]: 38: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 04:53:26,357 INFO L290 TraceCheckUtils]: 39: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 04:53:26,357 INFO L290 TraceCheckUtils]: 40: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 04:53:26,358 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 04:53:26,358 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 04:53:26,359 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 04:53:26,359 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 04:53:26,360 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 04:53:26,360 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 04:53:26,360 INFO L290 TraceCheckUtils]: 47: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 04:53:26,360 INFO L290 TraceCheckUtils]: 48: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 04:53:26,360 INFO L290 TraceCheckUtils]: 49: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 04:53:26,361 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 04:53:26,361 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 04:53:26,362 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 04:53:26,362 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 04:53:26,363 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 04:53:26,364 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 04:53:26,364 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 04:53:26,365 INFO L290 TraceCheckUtils]: 57: Hoare triple {17293#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17107#false} is VALID [2022-04-28 04:53:26,365 INFO L290 TraceCheckUtils]: 58: Hoare triple {17107#false} assume !false; {17107#false} is VALID [2022-04-28 04:53:26,365 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 04:53:26,365 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:53:26,718 INFO L290 TraceCheckUtils]: 58: Hoare triple {17107#false} assume !false; {17107#false} is VALID [2022-04-28 04:53:26,719 INFO L290 TraceCheckUtils]: 57: Hoare triple {17293#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17107#false} is VALID [2022-04-28 04:53:26,719 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 04:53:26,720 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 04:53:26,721 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 04:53:26,724 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 04:53:26,725 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 04:53:26,725 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 04:53:26,726 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 04:53:26,726 INFO L290 TraceCheckUtils]: 49: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 04:53:26,726 INFO L290 TraceCheckUtils]: 48: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 04:53:26,726 INFO L290 TraceCheckUtils]: 47: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 04:53:26,726 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 04:53:26,726 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 04:53:26,730 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 04:53:26,731 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 04:53:26,731 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 04:53:26,732 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 04:53:26,732 INFO L290 TraceCheckUtils]: 40: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 04:53:26,732 INFO L290 TraceCheckUtils]: 39: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 04:53:26,732 INFO L290 TraceCheckUtils]: 38: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 04:53:26,732 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 04:53:26,733 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 04:53:26,735 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 04:53:26,736 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 04:53:26,736 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 04:53:26,737 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 04:53:26,737 INFO L290 TraceCheckUtils]: 31: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 04:53:26,737 INFO L290 TraceCheckUtils]: 30: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 04:53:26,737 INFO L290 TraceCheckUtils]: 29: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 04:53:26,737 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 04:53:26,738 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 04:53:26,740 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 04:53:26,741 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 04:53:26,742 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 04:53:26,742 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 04:53:26,743 INFO L290 TraceCheckUtils]: 22: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 04:53:26,743 INFO L290 TraceCheckUtils]: 21: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 04:53:26,743 INFO L290 TraceCheckUtils]: 20: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 04:53:26,743 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 04:53:26,743 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 04:53:26,744 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 04:53:26,744 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17106#true} {17106#true} #63#return; {17106#true} is VALID [2022-04-28 04:53:26,744 INFO L290 TraceCheckUtils]: 15: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 04:53:26,744 INFO L290 TraceCheckUtils]: 14: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 04:53:26,744 INFO L290 TraceCheckUtils]: 13: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 04:53:26,744 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 04:53:26,744 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 04:53:26,744 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17106#true} {17106#true} #61#return; {17106#true} is VALID [2022-04-28 04:53:26,744 INFO L290 TraceCheckUtils]: 9: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 04:53:26,744 INFO L290 TraceCheckUtils]: 8: Hoare triple {17106#true} assume !(0 == ~cond); {17106#true} is VALID [2022-04-28 04:53:26,744 INFO L290 TraceCheckUtils]: 7: Hoare triple {17106#true} ~cond := #in~cond; {17106#true} is VALID [2022-04-28 04:53:26,744 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 04:53:26,744 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 04:53:26,744 INFO L272 TraceCheckUtils]: 4: Hoare triple {17106#true} call #t~ret8 := main(); {17106#true} is VALID [2022-04-28 04:53:26,745 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17106#true} {17106#true} #69#return; {17106#true} is VALID [2022-04-28 04:53:26,745 INFO L290 TraceCheckUtils]: 2: Hoare triple {17106#true} assume true; {17106#true} is VALID [2022-04-28 04:53:26,745 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 04:53:26,745 INFO L272 TraceCheckUtils]: 0: Hoare triple {17106#true} call ULTIMATE.init(); {17106#true} is VALID [2022-04-28 04:53:26,745 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 04:53:26,745 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:53:26,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1037364329] [2022-04-28 04:53:26,745 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:53:26,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2122846881] [2022-04-28 04:53:26,745 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2122846881] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:53:26,745 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:53:26,746 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 7] total 20 [2022-04-28 04:53:26,746 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:53:26,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [115992146] [2022-04-28 04:53:26,746 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [115992146] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:53:26,746 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:53:26,746 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 04:53:26,746 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [55527377] [2022-04-28 04:53:26,746 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:53:26,746 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 04:53:26,747 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:53:26,747 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 04:53:26,802 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 04:53:26,802 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 04:53:26,802 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:53:26,802 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 04:53:26,803 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=323, Unknown=0, NotChecked=0, Total=380 [2022-04-28 04:53:26,803 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 04:53:28,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:53:28,663 INFO L93 Difference]: Finished difference Result 130 states and 144 transitions. [2022-04-28 04:53:28,663 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 04:53:28,664 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 04:53:28,664 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:53:28,664 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 04:53:28,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 66 transitions. [2022-04-28 04:53:28,665 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 04:53:28,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 66 transitions. [2022-04-28 04:53:28,666 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 66 transitions. [2022-04-28 04:53:28,745 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 04:53:28,747 INFO L225 Difference]: With dead ends: 130 [2022-04-28 04:53:28,747 INFO L226 Difference]: Without dead ends: 128 [2022-04-28 04:53:28,747 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 04:53:28,748 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 20 mSDsluCounter, 179 mSDsCounter, 0 mSdLazyCounter, 574 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:53:28,748 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.7s Time] [2022-04-28 04:53:28,748 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-28 04:53:29,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 119. [2022-04-28 04:53:29,151 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:53:29,152 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 04:53:29,152 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 04:53:29,152 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 04:53:29,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:53:29,153 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-28 04:53:29,153 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-28 04:53:29,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:53:29,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:53:29,154 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 04:53:29,154 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 04:53:29,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:53:29,156 INFO L93 Difference]: Finished difference Result 128 states and 142 transitions. [2022-04-28 04:53:29,156 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 142 transitions. [2022-04-28 04:53:29,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:53:29,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:53:29,156 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:53:29,156 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:53:29,157 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 04:53:29,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 132 transitions. [2022-04-28 04:53:29,159 INFO L78 Accepts]: Start accepts. Automaton has 119 states and 132 transitions. Word has length 59 [2022-04-28 04:53:29,159 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:53:29,159 INFO L495 AbstractCegarLoop]: Abstraction has 119 states and 132 transitions. [2022-04-28 04:53:29,159 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 04:53:29,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 119 states and 132 transitions. [2022-04-28 04:53:29,702 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 04:53:29,702 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 132 transitions. [2022-04-28 04:53:29,702 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 04:53:29,702 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:53:29,702 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 04:53:29,708 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 04:53:29,903 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 04:53:29,903 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:53:29,903 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:53:29,904 INFO L85 PathProgramCache]: Analyzing trace with hash -689308389, now seen corresponding path program 15 times [2022-04-28 04:53:29,904 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:53:29,904 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1698812105] [2022-04-28 04:53:29,904 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:53:29,904 INFO L85 PathProgramCache]: Analyzing trace with hash -689308389, now seen corresponding path program 16 times [2022-04-28 04:53:29,904 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:53:29,904 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [176877026] [2022-04-28 04:53:29,904 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:53:29,904 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:53:29,913 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:53:29,914 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1037666387] [2022-04-28 04:53:29,914 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:53:29,914 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:53:29,914 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:53:29,915 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 04:53:29,921 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 04:53:29,960 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:53:29,961 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:53:29,962 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-28 04:53:29,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:53:29,989 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:53:44,642 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:53:48,995 INFO L272 TraceCheckUtils]: 0: Hoare triple {18239#true} call ULTIMATE.init(); {18239#true} is VALID [2022-04-28 04:53:48,995 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 04:53:48,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 04:53:48,995 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18239#true} {18239#true} #69#return; {18239#true} is VALID [2022-04-28 04:53:48,995 INFO L272 TraceCheckUtils]: 4: Hoare triple {18239#true} call #t~ret8 := main(); {18239#true} is VALID [2022-04-28 04:53:48,995 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 04:53:48,995 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 04:53:48,995 INFO L290 TraceCheckUtils]: 7: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 04:53:48,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 04:53:48,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 04:53:48,996 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18239#true} {18239#true} #61#return; {18239#true} is VALID [2022-04-28 04:53:48,996 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 04:53:48,996 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 04:53:48,996 INFO L290 TraceCheckUtils]: 13: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 04:53:48,996 INFO L290 TraceCheckUtils]: 14: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 04:53:48,996 INFO L290 TraceCheckUtils]: 15: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 04:53:48,996 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18239#true} {18239#true} #63#return; {18239#true} is VALID [2022-04-28 04:53:48,997 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 04:53:48,997 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 04:53:48,997 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 04:53:48,997 INFO L290 TraceCheckUtils]: 20: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 04:53:48,997 INFO L290 TraceCheckUtils]: 21: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 04:53:48,997 INFO L290 TraceCheckUtils]: 22: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 04:53:48,998 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 04:53:48,998 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 04:53:48,999 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 04:53:49,000 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 04:53:49,000 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 04:53:49,000 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 04:53:49,001 INFO L290 TraceCheckUtils]: 29: Hoare triple {18239#true} ~cond := #in~cond; {18335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:53:49,001 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 04:53:49,001 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 04:53:49,002 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 04:53:49,002 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 04:53:49,003 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 04:53:49,004 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 04:53:49,004 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 04:53:49,004 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 04:53:49,005 INFO L290 TraceCheckUtils]: 38: Hoare triple {18239#true} ~cond := #in~cond; {18335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:53:49,005 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 04:53:49,005 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 04:53:49,006 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 04:53:49,006 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 04:53:49,007 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 04:53:49,007 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 04:53:49,008 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 04:53:49,008 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 04:53:49,008 INFO L290 TraceCheckUtils]: 47: Hoare triple {18239#true} ~cond := #in~cond; {18335#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:53:49,009 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 04:53:49,009 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 04:53:49,011 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 04:53:49,011 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 04:53:49,012 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 04:53:49,014 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 04:53:49,019 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 04:53:49,022 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 04:53:49,022 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 04:53:49,023 INFO L290 TraceCheckUtils]: 57: Hoare triple {18429#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18240#false} is VALID [2022-04-28 04:53:49,023 INFO L290 TraceCheckUtils]: 58: Hoare triple {18240#false} assume !false; {18240#false} is VALID [2022-04-28 04:53:49,023 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 04:53:49,023 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:53:52,875 INFO L290 TraceCheckUtils]: 58: Hoare triple {18240#false} assume !false; {18240#false} is VALID [2022-04-28 04:53:52,876 INFO L290 TraceCheckUtils]: 57: Hoare triple {18429#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18240#false} is VALID [2022-04-28 04:53:52,876 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 04:53:52,877 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 04:53:52,878 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 04:53:52,881 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 04:53:52,883 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 04:53:52,884 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 04:53:52,885 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 04:53:52,885 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 04:53:52,886 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 04:53:52,886 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 04:53:52,886 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 04:53:52,887 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 04:53:52,888 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 04:53:52,888 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 04:53:52,888 INFO L290 TraceCheckUtils]: 42: Hoare triple {18239#true} assume !!(~x~0 <= ~X~0); {18239#true} is VALID [2022-04-28 04:53:52,888 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18239#true} {18239#true} #65#return; {18239#true} is VALID [2022-04-28 04:53:52,888 INFO L290 TraceCheckUtils]: 40: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 04:53:52,888 INFO L290 TraceCheckUtils]: 39: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 04:53:52,888 INFO L290 TraceCheckUtils]: 38: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 04:53:52,888 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 04:53:52,888 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 04:53:52,888 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 04:53:52,888 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 04:53:52,888 INFO L290 TraceCheckUtils]: 33: Hoare triple {18239#true} assume !!(~x~0 <= ~X~0); {18239#true} is VALID [2022-04-28 04:53:52,888 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {18239#true} {18239#true} #65#return; {18239#true} is VALID [2022-04-28 04:53:52,889 INFO L290 TraceCheckUtils]: 31: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 04:53:52,889 INFO L290 TraceCheckUtils]: 30: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 04:53:52,889 INFO L290 TraceCheckUtils]: 29: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 04:53:52,889 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 04:53:52,889 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 04:53:52,889 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 04:53:52,889 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 04:53:52,889 INFO L290 TraceCheckUtils]: 24: Hoare triple {18239#true} assume !!(~x~0 <= ~X~0); {18239#true} is VALID [2022-04-28 04:53:52,889 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18239#true} {18239#true} #65#return; {18239#true} is VALID [2022-04-28 04:53:52,889 INFO L290 TraceCheckUtils]: 22: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 04:53:52,889 INFO L290 TraceCheckUtils]: 21: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 04:53:52,889 INFO L290 TraceCheckUtils]: 20: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 04:53:52,889 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 04:53:52,889 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 04:53:52,889 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 04:53:52,890 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18239#true} {18239#true} #63#return; {18239#true} is VALID [2022-04-28 04:53:52,890 INFO L290 TraceCheckUtils]: 15: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 04:53:52,890 INFO L290 TraceCheckUtils]: 14: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 04:53:52,890 INFO L290 TraceCheckUtils]: 13: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 04:53:52,890 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 04:53:52,890 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 04:53:52,890 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18239#true} {18239#true} #61#return; {18239#true} is VALID [2022-04-28 04:53:52,890 INFO L290 TraceCheckUtils]: 9: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 04:53:52,890 INFO L290 TraceCheckUtils]: 8: Hoare triple {18239#true} assume !(0 == ~cond); {18239#true} is VALID [2022-04-28 04:53:52,890 INFO L290 TraceCheckUtils]: 7: Hoare triple {18239#true} ~cond := #in~cond; {18239#true} is VALID [2022-04-28 04:53:52,890 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 04:53:52,890 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 04:53:52,890 INFO L272 TraceCheckUtils]: 4: Hoare triple {18239#true} call #t~ret8 := main(); {18239#true} is VALID [2022-04-28 04:53:52,890 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18239#true} {18239#true} #69#return; {18239#true} is VALID [2022-04-28 04:53:52,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {18239#true} assume true; {18239#true} is VALID [2022-04-28 04:53:52,891 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 04:53:52,891 INFO L272 TraceCheckUtils]: 0: Hoare triple {18239#true} call ULTIMATE.init(); {18239#true} is VALID [2022-04-28 04:53:52,891 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 04:53:52,891 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:53:52,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [176877026] [2022-04-28 04:53:52,891 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:53:52,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1037666387] [2022-04-28 04:53:52,891 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1037666387] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:53:52,891 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:53:52,891 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 11] total 26 [2022-04-28 04:53:52,892 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:53:52,892 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1698812105] [2022-04-28 04:53:52,892 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1698812105] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:53:52,892 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:53:52,892 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-28 04:53:52,892 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [563914069] [2022-04-28 04:53:52,892 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:53:52,892 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 04:53:52,892 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:53:52,893 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 04:53:52,955 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 04:53:52,955 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-28 04:53:52,955 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:53:52,955 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-28 04:53:52,956 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=562, Unknown=0, NotChecked=0, Total=650 [2022-04-28 04:53:52,956 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 04:53:56,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:53:56,533 INFO L93 Difference]: Finished difference Result 134 states and 146 transitions. [2022-04-28 04:53:56,533 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 04:53:56,533 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 04:53:56,533 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:53:56,533 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 04:53:56,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-28 04:53:56,534 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 04:53:56,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-28 04:53:56,534 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 65 transitions. [2022-04-28 04:53:56,626 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 04:53:56,627 INFO L225 Difference]: With dead ends: 134 [2022-04-28 04:53:56,627 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 04:53:56,628 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 90 SyntacticMatches, 3 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=118, Invalid=752, Unknown=0, NotChecked=0, Total=870 [2022-04-28 04:53:56,628 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 17 mSDsluCounter, 247 mSDsCounter, 0 mSdLazyCounter, 698 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:53:56,628 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.4s Time] [2022-04-28 04:53:56,629 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 04:53:57,048 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 130. [2022-04-28 04:53:57,048 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:53:57,048 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 04:53:57,048 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 04:53:57,049 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 04:53:57,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:53:57,050 INFO L93 Difference]: Finished difference Result 132 states and 144 transitions. [2022-04-28 04:53:57,050 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 144 transitions. [2022-04-28 04:53:57,050 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:53:57,050 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:53:57,051 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 04:53:57,051 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 04:53:57,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:53:57,053 INFO L93 Difference]: Finished difference Result 132 states and 144 transitions. [2022-04-28 04:53:57,053 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 144 transitions. [2022-04-28 04:53:57,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:53:57,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:53:57,054 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:53:57,054 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:53:57,054 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 04:53:57,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 142 transitions. [2022-04-28 04:53:57,064 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 142 transitions. Word has length 59 [2022-04-28 04:53:57,064 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:53:57,064 INFO L495 AbstractCegarLoop]: Abstraction has 130 states and 142 transitions. [2022-04-28 04:53:57,064 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 04:53:57,064 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 130 states and 142 transitions. [2022-04-28 04:53:57,681 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 04:53:57,681 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 142 transitions. [2022-04-28 04:53:57,682 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 04:53:57,682 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:53:57,682 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 04:53:57,706 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Ended with exit code 0 [2022-04-28 04:53:57,895 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 04:53:57,896 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:53:57,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:53:57,896 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 17 times [2022-04-28 04:53:57,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:53:57,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [963450875] [2022-04-28 04:53:57,896 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:53:57,896 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 18 times [2022-04-28 04:53:57,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:53:57,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2032758670] [2022-04-28 04:53:57,897 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:53:57,897 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:53:57,908 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:53:57,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [209779334] [2022-04-28 04:53:57,908 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:53:57,908 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:53:57,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:53:57,910 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 04:53:57,920 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 04:53:57,980 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 04:53:57,980 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:53:57,981 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 04:53:57,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:53:57,996 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:54:03,180 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:54:07,494 INFO L272 TraceCheckUtils]: 0: Hoare triple {19418#true} call ULTIMATE.init(); {19418#true} is VALID [2022-04-28 04:54:07,494 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 04:54:07,494 INFO L290 TraceCheckUtils]: 2: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 04:54:07,494 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19418#true} {19418#true} #69#return; {19418#true} is VALID [2022-04-28 04:54:07,494 INFO L272 TraceCheckUtils]: 4: Hoare triple {19418#true} call #t~ret8 := main(); {19418#true} is VALID [2022-04-28 04:54:07,494 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 04:54:07,494 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 04:54:07,494 INFO L290 TraceCheckUtils]: 7: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 04:54:07,494 INFO L290 TraceCheckUtils]: 8: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 04:54:07,494 INFO L290 TraceCheckUtils]: 9: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 04:54:07,495 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19418#true} {19418#true} #61#return; {19418#true} is VALID [2022-04-28 04:54:07,495 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 04:54:07,495 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 04:54:07,495 INFO L290 TraceCheckUtils]: 13: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 04:54:07,495 INFO L290 TraceCheckUtils]: 14: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 04:54:07,495 INFO L290 TraceCheckUtils]: 15: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 04:54:07,495 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {19418#true} {19418#true} #63#return; {19418#true} is VALID [2022-04-28 04:54:07,496 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 04:54:07,497 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 04:54:07,497 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 04:54:07,497 INFO L290 TraceCheckUtils]: 20: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 04:54:07,497 INFO L290 TraceCheckUtils]: 21: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 04:54:07,497 INFO L290 TraceCheckUtils]: 22: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 04:54:07,498 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 04:54:07,498 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 04:54:07,499 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 04:54:07,499 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 04:54:07,500 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 04:54:07,500 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 04:54:07,500 INFO L290 TraceCheckUtils]: 29: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 04:54:07,500 INFO L290 TraceCheckUtils]: 30: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 04:54:07,500 INFO L290 TraceCheckUtils]: 31: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 04:54:07,501 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 04:54:07,501 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 04:54:07,502 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 04:54:07,502 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 04:54:07,503 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 04:54:07,503 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 04:54:07,503 INFO L290 TraceCheckUtils]: 38: Hoare triple {19418#true} ~cond := #in~cond; {19541#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:54:07,504 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 04:54:07,504 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 04:54:07,505 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 04:54:07,506 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 04:54:07,507 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 04:54:07,507 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 04:54:07,507 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 04:54:07,508 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 04:54:07,508 INFO L290 TraceCheckUtils]: 47: Hoare triple {19418#true} ~cond := #in~cond; {19541#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:54:07,508 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 04:54:07,508 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 04:54:07,510 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 04:54:07,510 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 04:54:07,511 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 04:54:07,514 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 04:54:07,517 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 04:54:07,521 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 04:54:07,522 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 04:54:07,522 INFO L290 TraceCheckUtils]: 57: Hoare triple {19604#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19419#false} is VALID [2022-04-28 04:54:07,522 INFO L290 TraceCheckUtils]: 58: Hoare triple {19419#false} assume !false; {19419#false} is VALID [2022-04-28 04:54:07,522 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 04:54:07,523 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:54:10,242 INFO L290 TraceCheckUtils]: 58: Hoare triple {19419#false} assume !false; {19419#false} is VALID [2022-04-28 04:54:10,242 INFO L290 TraceCheckUtils]: 57: Hoare triple {19604#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19419#false} is VALID [2022-04-28 04:54:10,243 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 04:54:10,243 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 04:54:10,244 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 04:54:10,247 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 04:54:10,248 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 04:54:10,248 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 04:54:10,249 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 04:54:10,249 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 04:54:10,250 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 04:54:10,255 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 04:54:10,256 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 04:54:10,257 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 04:54:10,258 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 04:54:10,258 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 04:54:10,258 INFO L290 TraceCheckUtils]: 42: Hoare triple {19418#true} assume !!(~x~0 <= ~X~0); {19418#true} is VALID [2022-04-28 04:54:10,258 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19418#true} {19418#true} #65#return; {19418#true} is VALID [2022-04-28 04:54:10,258 INFO L290 TraceCheckUtils]: 40: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 04:54:10,258 INFO L290 TraceCheckUtils]: 39: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 04:54:10,258 INFO L290 TraceCheckUtils]: 38: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 04:54:10,258 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 04:54:10,258 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 04:54:10,258 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 04:54:10,259 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 04:54:10,259 INFO L290 TraceCheckUtils]: 33: Hoare triple {19418#true} assume !!(~x~0 <= ~X~0); {19418#true} is VALID [2022-04-28 04:54:10,259 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19418#true} {19418#true} #65#return; {19418#true} is VALID [2022-04-28 04:54:10,259 INFO L290 TraceCheckUtils]: 31: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 04:54:10,259 INFO L290 TraceCheckUtils]: 30: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 04:54:10,259 INFO L290 TraceCheckUtils]: 29: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 04:54:10,259 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 04:54:10,259 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 04:54:10,259 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 04:54:10,259 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 04:54:10,260 INFO L290 TraceCheckUtils]: 24: Hoare triple {19418#true} assume !!(~x~0 <= ~X~0); {19418#true} is VALID [2022-04-28 04:54:10,260 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19418#true} {19418#true} #65#return; {19418#true} is VALID [2022-04-28 04:54:10,260 INFO L290 TraceCheckUtils]: 22: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 04:54:10,260 INFO L290 TraceCheckUtils]: 21: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 04:54:10,260 INFO L290 TraceCheckUtils]: 20: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 04:54:10,260 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 04:54:10,260 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 04:54:10,260 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 04:54:10,260 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {19418#true} {19418#true} #63#return; {19418#true} is VALID [2022-04-28 04:54:10,260 INFO L290 TraceCheckUtils]: 15: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 04:54:10,261 INFO L290 TraceCheckUtils]: 14: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 04:54:10,261 INFO L290 TraceCheckUtils]: 13: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 04:54:10,261 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 04:54:10,261 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 04:54:10,261 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19418#true} {19418#true} #61#return; {19418#true} is VALID [2022-04-28 04:54:10,261 INFO L290 TraceCheckUtils]: 9: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 04:54:10,261 INFO L290 TraceCheckUtils]: 8: Hoare triple {19418#true} assume !(0 == ~cond); {19418#true} is VALID [2022-04-28 04:54:10,261 INFO L290 TraceCheckUtils]: 7: Hoare triple {19418#true} ~cond := #in~cond; {19418#true} is VALID [2022-04-28 04:54:10,261 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 04:54:10,261 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 04:54:10,261 INFO L272 TraceCheckUtils]: 4: Hoare triple {19418#true} call #t~ret8 := main(); {19418#true} is VALID [2022-04-28 04:54:10,262 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19418#true} {19418#true} #69#return; {19418#true} is VALID [2022-04-28 04:54:10,262 INFO L290 TraceCheckUtils]: 2: Hoare triple {19418#true} assume true; {19418#true} is VALID [2022-04-28 04:54:10,262 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 04:54:10,262 INFO L272 TraceCheckUtils]: 0: Hoare triple {19418#true} call ULTIMATE.init(); {19418#true} is VALID [2022-04-28 04:54:10,262 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 04:54:10,262 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:54:10,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2032758670] [2022-04-28 04:54:10,263 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:54:10,263 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [209779334] [2022-04-28 04:54:10,263 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [209779334] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:54:10,263 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:54:10,263 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 10] total 21 [2022-04-28 04:54:10,263 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:54:10,263 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [963450875] [2022-04-28 04:54:10,263 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [963450875] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:54:10,263 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:54:10,263 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 04:54:10,264 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [417658629] [2022-04-28 04:54:10,264 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:54:10,265 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 04:54:10,265 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:54:10,266 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 04:54:10,336 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 04:54:10,337 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 04:54:10,337 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:54:10,337 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 04:54:10,337 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=366, Unknown=0, NotChecked=0, Total=420 [2022-04-28 04:54:10,337 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 04:54:13,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:54:13,348 INFO L93 Difference]: Finished difference Result 143 states and 156 transitions. [2022-04-28 04:54:13,348 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 04:54:13,348 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 04:54:13,349 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:54:13,349 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 04:54:13,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 65 transitions. [2022-04-28 04:54:13,350 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 04:54:13,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 65 transitions. [2022-04-28 04:54:13,351 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 65 transitions. [2022-04-28 04:54:13,453 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 04:54:13,455 INFO L225 Difference]: With dead ends: 143 [2022-04-28 04:54:13,456 INFO L226 Difference]: Without dead ends: 141 [2022-04-28 04:54:13,456 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 04:54:13,456 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 17 mSDsluCounter, 214 mSDsCounter, 0 mSdLazyCounter, 508 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s 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, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:54:13,457 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 241 Invalid, 511 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 508 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 04:54:13,457 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states. [2022-04-28 04:54:13,875 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 127. [2022-04-28 04:54:13,875 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:54:13,875 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 04:54:13,876 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 04:54:13,876 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 04:54:13,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:54:13,878 INFO L93 Difference]: Finished difference Result 141 states and 154 transitions. [2022-04-28 04:54:13,878 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 154 transitions. [2022-04-28 04:54:13,878 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:54:13,879 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:54:13,879 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 04:54:13,879 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 04:54:13,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:54:13,881 INFO L93 Difference]: Finished difference Result 141 states and 154 transitions. [2022-04-28 04:54:13,881 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 154 transitions. [2022-04-28 04:54:13,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:54:13,882 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:54:13,882 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:54:13,882 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:54:13,882 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 04:54:13,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 138 transitions. [2022-04-28 04:54:13,884 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 138 transitions. Word has length 59 [2022-04-28 04:54:13,884 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:54:13,884 INFO L495 AbstractCegarLoop]: Abstraction has 127 states and 138 transitions. [2022-04-28 04:54:13,885 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 04:54:13,885 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 127 states and 138 transitions. [2022-04-28 04:54:14,483 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 04:54:14,484 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 138 transitions. [2022-04-28 04:54:14,484 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 04:54:14,484 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:54:14,484 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 04:54:14,503 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 04:54:14,685 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 04:54:14,685 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:54:14,685 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:54:14,685 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 19 times [2022-04-28 04:54:14,685 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:54:14,685 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [502062093] [2022-04-28 04:54:14,686 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:54:14,686 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 20 times [2022-04-28 04:54:14,686 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:54:14,686 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1987296918] [2022-04-28 04:54:14,687 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:54:14,687 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:54:14,695 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:54:14,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [9009768] [2022-04-28 04:54:14,696 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:54:14,696 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:54:14,696 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:54:14,697 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 04:54:14,697 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 04:54:14,747 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:54:14,747 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:54:14,748 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-28 04:54:14,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:54:14,761 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:54:15,311 INFO L272 TraceCheckUtils]: 0: Hoare triple {20622#true} call ULTIMATE.init(); {20622#true} is VALID [2022-04-28 04:54:15,311 INFO L290 TraceCheckUtils]: 1: Hoare triple {20622#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); {20622#true} is VALID [2022-04-28 04:54:15,311 INFO L290 TraceCheckUtils]: 2: Hoare triple {20622#true} assume true; {20622#true} is VALID [2022-04-28 04:54:15,311 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20622#true} {20622#true} #69#return; {20622#true} is VALID [2022-04-28 04:54:15,311 INFO L272 TraceCheckUtils]: 4: Hoare triple {20622#true} call #t~ret8 := main(); {20622#true} is VALID [2022-04-28 04:54:15,311 INFO L290 TraceCheckUtils]: 5: Hoare triple {20622#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; {20622#true} is VALID [2022-04-28 04:54:15,311 INFO L272 TraceCheckUtils]: 6: Hoare triple {20622#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {20622#true} is VALID [2022-04-28 04:54:15,311 INFO L290 TraceCheckUtils]: 7: Hoare triple {20622#true} ~cond := #in~cond; {20622#true} is VALID [2022-04-28 04:54:15,311 INFO L290 TraceCheckUtils]: 8: Hoare triple {20622#true} assume !(0 == ~cond); {20622#true} is VALID [2022-04-28 04:54:15,311 INFO L290 TraceCheckUtils]: 9: Hoare triple {20622#true} assume true; {20622#true} is VALID [2022-04-28 04:54:15,312 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20622#true} {20622#true} #61#return; {20622#true} is VALID [2022-04-28 04:54:15,312 INFO L290 TraceCheckUtils]: 11: Hoare triple {20622#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {20622#true} is VALID [2022-04-28 04:54:15,312 INFO L272 TraceCheckUtils]: 12: Hoare triple {20622#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {20622#true} is VALID [2022-04-28 04:54:15,312 INFO L290 TraceCheckUtils]: 13: Hoare triple {20622#true} ~cond := #in~cond; {20622#true} is VALID [2022-04-28 04:54:15,312 INFO L290 TraceCheckUtils]: 14: Hoare triple {20622#true} assume !(0 == ~cond); {20622#true} is VALID [2022-04-28 04:54:15,312 INFO L290 TraceCheckUtils]: 15: Hoare triple {20622#true} assume true; {20622#true} is VALID [2022-04-28 04:54:15,312 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20622#true} {20622#true} #63#return; {20622#true} is VALID [2022-04-28 04:54:15,312 INFO L290 TraceCheckUtils]: 17: Hoare triple {20622#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {20678#(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 04:54:15,313 INFO L290 TraceCheckUtils]: 18: Hoare triple {20678#(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; {20678#(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 04:54:15,313 INFO L272 TraceCheckUtils]: 19: Hoare triple {20678#(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)); {20622#true} is VALID [2022-04-28 04:54:15,313 INFO L290 TraceCheckUtils]: 20: Hoare triple {20622#true} ~cond := #in~cond; {20622#true} is VALID [2022-04-28 04:54:15,313 INFO L290 TraceCheckUtils]: 21: Hoare triple {20622#true} assume !(0 == ~cond); {20622#true} is VALID [2022-04-28 04:54:15,313 INFO L290 TraceCheckUtils]: 22: Hoare triple {20622#true} assume true; {20622#true} is VALID [2022-04-28 04:54:15,314 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20622#true} {20678#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {20678#(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 04:54:15,314 INFO L290 TraceCheckUtils]: 24: Hoare triple {20678#(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); {20678#(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 04:54:15,315 INFO L290 TraceCheckUtils]: 25: Hoare triple {20678#(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; {20703#(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 04:54:15,316 INFO L290 TraceCheckUtils]: 26: Hoare triple {20703#(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; {20707#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 04:54:15,316 INFO L290 TraceCheckUtils]: 27: Hoare triple {20707#(and (= (+ (- 1) main_~x~0) 0) (= 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; {20707#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 04:54:15,316 INFO L272 TraceCheckUtils]: 28: Hoare triple {20707#(and (= (+ (- 1) main_~x~0) 0) (= 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)); {20622#true} is VALID [2022-04-28 04:54:15,316 INFO L290 TraceCheckUtils]: 29: Hoare triple {20622#true} ~cond := #in~cond; {20622#true} is VALID [2022-04-28 04:54:15,316 INFO L290 TraceCheckUtils]: 30: Hoare triple {20622#true} assume !(0 == ~cond); {20622#true} is VALID [2022-04-28 04:54:15,317 INFO L290 TraceCheckUtils]: 31: Hoare triple {20622#true} assume true; {20622#true} is VALID [2022-04-28 04:54:15,317 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20622#true} {20707#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #65#return; {20707#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 04:54:15,318 INFO L290 TraceCheckUtils]: 33: Hoare triple {20707#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {20707#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-28 04:54:15,319 INFO L290 TraceCheckUtils]: 34: Hoare triple {20707#(and (= (+ (- 1) main_~x~0) 0) (= 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 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {20732#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1))} is VALID [2022-04-28 04:54:15,319 INFO L290 TraceCheckUtils]: 35: Hoare triple {20732#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20736#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (- 2) main_~x~0) 0) (= main_~y~0 1))} is VALID [2022-04-28 04:54:15,319 INFO L290 TraceCheckUtils]: 36: Hoare triple {20736#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (- 2) main_~x~0) 0) (= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20740#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (- 2) main_~x~0) 0) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:54:15,320 INFO L272 TraceCheckUtils]: 37: Hoare triple {20740#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (- 2) main_~x~0) 0) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20622#true} is VALID [2022-04-28 04:54:15,320 INFO L290 TraceCheckUtils]: 38: Hoare triple {20622#true} ~cond := #in~cond; {20747#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:54:15,320 INFO L290 TraceCheckUtils]: 39: Hoare triple {20747#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20751#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:54:15,320 INFO L290 TraceCheckUtils]: 40: Hoare triple {20751#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20751#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:54:15,321 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20751#(not (= |__VERIFIER_assert_#in~cond| 0))} {20740#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (- 2) main_~x~0) 0) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {20736#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (- 2) main_~x~0) 0) (= main_~y~0 1))} is VALID [2022-04-28 04:54:15,322 INFO L290 TraceCheckUtils]: 42: Hoare triple {20736#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (- 2) main_~x~0) 0) (= main_~y~0 1))} assume !!(~x~0 <= ~X~0); {20736#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (- 2) main_~x~0) 0) (= main_~y~0 1))} is VALID [2022-04-28 04:54:15,322 INFO L290 TraceCheckUtils]: 43: Hoare triple {20736#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (- 2) main_~x~0) 0) (= main_~y~0 1))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20764#(and (= (+ (- 2) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-28 04:54:15,323 INFO L290 TraceCheckUtils]: 44: Hoare triple {20764#(and (= (+ (- 2) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20768#(and (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-28 04:54:15,323 INFO L290 TraceCheckUtils]: 45: Hoare triple {20768#(and (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20772#(and (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:54:15,323 INFO L272 TraceCheckUtils]: 46: Hoare triple {20772#(and (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20622#true} is VALID [2022-04-28 04:54:15,324 INFO L290 TraceCheckUtils]: 47: Hoare triple {20622#true} ~cond := #in~cond; {20747#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:54:15,324 INFO L290 TraceCheckUtils]: 48: Hoare triple {20747#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20751#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:54:15,324 INFO L290 TraceCheckUtils]: 49: Hoare triple {20751#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20751#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:54:15,325 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20751#(not (= |__VERIFIER_assert_#in~cond| 0))} {20772#(and (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {20768#(and (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-28 04:54:15,325 INFO L290 TraceCheckUtils]: 51: Hoare triple {20768#(and (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} assume !!(~x~0 <= ~X~0); {20768#(and (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-28 04:54:15,326 INFO L290 TraceCheckUtils]: 52: Hoare triple {20768#(and (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20794#(and (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 10)) main_~v~0))} is VALID [2022-04-28 04:54:15,326 INFO L290 TraceCheckUtils]: 53: Hoare triple {20794#(and (= (+ main_~x~0 (- 3)) 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; {20798#(and (= main_~y~0 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 10)) main_~v~0) (= (+ main_~x~0 (- 4)) 0))} is VALID [2022-04-28 04:54:15,327 INFO L290 TraceCheckUtils]: 54: Hoare triple {20798#(and (= main_~y~0 1) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 10)) main_~v~0) (= (+ main_~x~0 (- 4)) 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20802#(and (= main_~yx~0 (* main_~Y~0 4)) (= main_~X~0 main_~xy~0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 10)) main_~v~0))} is VALID [2022-04-28 04:54:15,328 INFO L272 TraceCheckUtils]: 55: Hoare triple {20802#(and (= main_~yx~0 (* main_~Y~0 4)) (= main_~X~0 main_~xy~0) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 10)) 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)); {20806#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:54:15,328 INFO L290 TraceCheckUtils]: 56: Hoare triple {20806#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20810#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:54:15,329 INFO L290 TraceCheckUtils]: 57: Hoare triple {20810#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20623#false} is VALID [2022-04-28 04:54:15,329 INFO L290 TraceCheckUtils]: 58: Hoare triple {20623#false} assume !false; {20623#false} is VALID [2022-04-28 04:54:15,329 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 04:54:15,329 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:54:17,843 INFO L290 TraceCheckUtils]: 58: Hoare triple {20623#false} assume !false; {20623#false} is VALID [2022-04-28 04:54:17,844 INFO L290 TraceCheckUtils]: 57: Hoare triple {20810#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20623#false} is VALID [2022-04-28 04:54:17,844 INFO L290 TraceCheckUtils]: 56: Hoare triple {20806#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20810#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:54:17,845 INFO L272 TraceCheckUtils]: 55: Hoare triple {20826#(= (+ (* 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)); {20806#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:54:17,846 INFO L290 TraceCheckUtils]: 54: Hoare triple {20830#(= (+ (* 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; {20826#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:54:17,850 INFO L290 TraceCheckUtils]: 53: Hoare triple {20834#(= (+ (* (* 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; {20830#(= (+ (* 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 04:54:17,851 INFO L290 TraceCheckUtils]: 52: Hoare triple {20830#(= (+ (* 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; {20834#(= (+ (* (* 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 04:54:17,852 INFO L290 TraceCheckUtils]: 51: Hoare triple {20830#(= (+ (* 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); {20830#(= (+ (* 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 04:54:17,853 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20751#(not (= |__VERIFIER_assert_#in~cond| 0))} {20844#(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; {20830#(= (+ (* 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 04:54:17,853 INFO L290 TraceCheckUtils]: 49: Hoare triple {20751#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20751#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:54:17,853 INFO L290 TraceCheckUtils]: 48: Hoare triple {20854#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {20751#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:54:17,854 INFO L290 TraceCheckUtils]: 47: Hoare triple {20622#true} ~cond := #in~cond; {20854#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:54:17,854 INFO L272 TraceCheckUtils]: 46: Hoare triple {20844#(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)); {20622#true} is VALID [2022-04-28 04:54:17,855 INFO L290 TraceCheckUtils]: 45: Hoare triple {20622#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20844#(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 04:54:17,855 INFO L290 TraceCheckUtils]: 44: Hoare triple {20622#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20622#true} is VALID [2022-04-28 04:54:17,855 INFO L290 TraceCheckUtils]: 43: Hoare triple {20622#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20622#true} is VALID [2022-04-28 04:54:17,855 INFO L290 TraceCheckUtils]: 42: Hoare triple {20622#true} assume !!(~x~0 <= ~X~0); {20622#true} is VALID [2022-04-28 04:54:17,855 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20622#true} {20622#true} #65#return; {20622#true} is VALID [2022-04-28 04:54:17,855 INFO L290 TraceCheckUtils]: 40: Hoare triple {20622#true} assume true; {20622#true} is VALID [2022-04-28 04:54:17,855 INFO L290 TraceCheckUtils]: 39: Hoare triple {20622#true} assume !(0 == ~cond); {20622#true} is VALID [2022-04-28 04:54:17,856 INFO L290 TraceCheckUtils]: 38: Hoare triple {20622#true} ~cond := #in~cond; {20622#true} is VALID [2022-04-28 04:54:17,856 INFO L272 TraceCheckUtils]: 37: Hoare triple {20622#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20622#true} is VALID [2022-04-28 04:54:17,856 INFO L290 TraceCheckUtils]: 36: Hoare triple {20622#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20622#true} is VALID [2022-04-28 04:54:17,856 INFO L290 TraceCheckUtils]: 35: Hoare triple {20622#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20622#true} is VALID [2022-04-28 04:54:17,856 INFO L290 TraceCheckUtils]: 34: Hoare triple {20622#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; {20622#true} is VALID [2022-04-28 04:54:17,856 INFO L290 TraceCheckUtils]: 33: Hoare triple {20622#true} assume !!(~x~0 <= ~X~0); {20622#true} is VALID [2022-04-28 04:54:17,856 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20622#true} {20622#true} #65#return; {20622#true} is VALID [2022-04-28 04:54:17,856 INFO L290 TraceCheckUtils]: 31: Hoare triple {20622#true} assume true; {20622#true} is VALID [2022-04-28 04:54:17,856 INFO L290 TraceCheckUtils]: 30: Hoare triple {20622#true} assume !(0 == ~cond); {20622#true} is VALID [2022-04-28 04:54:17,856 INFO L290 TraceCheckUtils]: 29: Hoare triple {20622#true} ~cond := #in~cond; {20622#true} is VALID [2022-04-28 04:54:17,856 INFO L272 TraceCheckUtils]: 28: Hoare triple {20622#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20622#true} is VALID [2022-04-28 04:54:17,856 INFO L290 TraceCheckUtils]: 27: Hoare triple {20622#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20622#true} is VALID [2022-04-28 04:54:17,856 INFO L290 TraceCheckUtils]: 26: Hoare triple {20622#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20622#true} is VALID [2022-04-28 04:54:17,856 INFO L290 TraceCheckUtils]: 25: Hoare triple {20622#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20622#true} is VALID [2022-04-28 04:54:17,856 INFO L290 TraceCheckUtils]: 24: Hoare triple {20622#true} assume !!(~x~0 <= ~X~0); {20622#true} is VALID [2022-04-28 04:54:17,857 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20622#true} {20622#true} #65#return; {20622#true} is VALID [2022-04-28 04:54:17,857 INFO L290 TraceCheckUtils]: 22: Hoare triple {20622#true} assume true; {20622#true} is VALID [2022-04-28 04:54:17,857 INFO L290 TraceCheckUtils]: 21: Hoare triple {20622#true} assume !(0 == ~cond); {20622#true} is VALID [2022-04-28 04:54:17,857 INFO L290 TraceCheckUtils]: 20: Hoare triple {20622#true} ~cond := #in~cond; {20622#true} is VALID [2022-04-28 04:54:17,857 INFO L272 TraceCheckUtils]: 19: Hoare triple {20622#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20622#true} is VALID [2022-04-28 04:54:17,857 INFO L290 TraceCheckUtils]: 18: Hoare triple {20622#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20622#true} is VALID [2022-04-28 04:54:17,857 INFO L290 TraceCheckUtils]: 17: Hoare triple {20622#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {20622#true} is VALID [2022-04-28 04:54:17,857 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20622#true} {20622#true} #63#return; {20622#true} is VALID [2022-04-28 04:54:17,857 INFO L290 TraceCheckUtils]: 15: Hoare triple {20622#true} assume true; {20622#true} is VALID [2022-04-28 04:54:17,857 INFO L290 TraceCheckUtils]: 14: Hoare triple {20622#true} assume !(0 == ~cond); {20622#true} is VALID [2022-04-28 04:54:17,857 INFO L290 TraceCheckUtils]: 13: Hoare triple {20622#true} ~cond := #in~cond; {20622#true} is VALID [2022-04-28 04:54:17,857 INFO L272 TraceCheckUtils]: 12: Hoare triple {20622#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 50 then 1 else 0)); {20622#true} is VALID [2022-04-28 04:54:17,857 INFO L290 TraceCheckUtils]: 11: Hoare triple {20622#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {20622#true} is VALID [2022-04-28 04:54:17,857 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20622#true} {20622#true} #61#return; {20622#true} is VALID [2022-04-28 04:54:17,858 INFO L290 TraceCheckUtils]: 9: Hoare triple {20622#true} assume true; {20622#true} is VALID [2022-04-28 04:54:17,858 INFO L290 TraceCheckUtils]: 8: Hoare triple {20622#true} assume !(0 == ~cond); {20622#true} is VALID [2022-04-28 04:54:17,858 INFO L290 TraceCheckUtils]: 7: Hoare triple {20622#true} ~cond := #in~cond; {20622#true} is VALID [2022-04-28 04:54:17,858 INFO L272 TraceCheckUtils]: 6: Hoare triple {20622#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 50 then 1 else 0)); {20622#true} is VALID [2022-04-28 04:54:17,858 INFO L290 TraceCheckUtils]: 5: Hoare triple {20622#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; {20622#true} is VALID [2022-04-28 04:54:17,858 INFO L272 TraceCheckUtils]: 4: Hoare triple {20622#true} call #t~ret8 := main(); {20622#true} is VALID [2022-04-28 04:54:17,858 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20622#true} {20622#true} #69#return; {20622#true} is VALID [2022-04-28 04:54:17,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {20622#true} assume true; {20622#true} is VALID [2022-04-28 04:54:17,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {20622#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); {20622#true} is VALID [2022-04-28 04:54:17,858 INFO L272 TraceCheckUtils]: 0: Hoare triple {20622#true} call ULTIMATE.init(); {20622#true} is VALID [2022-04-28 04:54:17,858 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 04:54:17,858 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:54:17,859 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1987296918] [2022-04-28 04:54:17,859 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:54:17,859 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [9009768] [2022-04-28 04:54:17,859 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [9009768] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:54:17,859 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:54:17,859 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 10] total 23 [2022-04-28 04:54:17,859 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:54:17,859 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [502062093] [2022-04-28 04:54:17,859 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [502062093] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:54:17,859 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:54:17,859 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 04:54:17,859 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [181577422] [2022-04-28 04:54:17,859 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:54:17,860 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 17 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 04:54:17,860 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:54:17,860 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 17 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 04:54:17,924 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 04:54:17,924 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 04:54:17,924 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:54:17,925 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 04:54:17,925 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=435, Unknown=0, NotChecked=0, Total=506 [2022-04-28 04:54:17,925 INFO L87 Difference]: Start difference. First operand 127 states and 138 transitions. Second operand has 18 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 17 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)