/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_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 04:37:16,379 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 04:37:16,380 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 04:37:16,413 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 04:37:16,413 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 04:37:16,415 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 04:37:16,418 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 04:37:16,419 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 04:37:16,421 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 04:37:16,424 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 04:37:16,424 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 04:37:16,425 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 04:37:16,425 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 04:37:16,427 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 04:37:16,428 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 04:37:16,429 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 04:37:16,430 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 04:37:16,430 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 04:37:16,432 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 04:37:16,435 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 04:37:16,437 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 04:37:16,437 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 04:37:16,438 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 04:37:16,438 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 04:37:16,439 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 04:37:16,444 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 04:37:16,444 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 04:37:16,444 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 04:37:16,445 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 04:37:16,445 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 04:37:16,446 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 04:37:16,446 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 04:37:16,447 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 04:37:16,448 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 04:37:16,448 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 04:37:16,449 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 04:37:16,449 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 04:37:16,449 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 04:37:16,449 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 04:37:16,449 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 04:37:16,450 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 04:37:16,451 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 04:37:16,451 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:37:16,460 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 04:37:16,461 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 04:37:16,462 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 04:37:16,462 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 04:37:16,462 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 04:37:16,462 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 04:37:16,462 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 04:37:16,462 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 04:37:16,462 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 04:37:16,463 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 04:37:16,463 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 04:37:16,463 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 04:37:16,463 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 04:37:16,463 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 04:37:16,463 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 04:37:16,463 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 04:37:16,463 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 04:37:16,464 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 04:37:16,464 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:37:16,464 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 04:37:16,464 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 04:37:16,464 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 04:37:16,464 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 04:37:16,464 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 04:37:16,464 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 04:37:16,464 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:37:16,635 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 04:37:16,654 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 04:37:16,656 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 04:37:16,656 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 04:37:16,657 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 04:37:16,658 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c [2022-04-28 04:37:16,698 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4c99c5ba2/fbf1e021ebda42dea7e7df0ed48f88ec/FLAG25fa19df6 [2022-04-28 04:37:17,037 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 04:37:17,038 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c [2022-04-28 04:37:17,041 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4c99c5ba2/fbf1e021ebda42dea7e7df0ed48f88ec/FLAG25fa19df6 [2022-04-28 04:37:17,050 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4c99c5ba2/fbf1e021ebda42dea7e7df0ed48f88ec [2022-04-28 04:37:17,051 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 04:37:17,052 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 04:37:17,054 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 04:37:17,054 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 04:37:17,057 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 04:37:17,057 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:37:17" (1/1) ... [2022-04-28 04:37:17,058 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@67490d09 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:37:17, skipping insertion in model container [2022-04-28 04:37:17,058 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:37:17" (1/1) ... [2022-04-28 04:37:17,063 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 04:37:17,072 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 04:37:17,195 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c[597,610] [2022-04-28 04:37:17,225 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:37:17,231 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 04:37:17,242 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c[597,610] [2022-04-28 04:37:17,261 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:37:17,269 INFO L208 MainTranslator]: Completed translation [2022-04-28 04:37:17,269 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:37:17 WrapperNode [2022-04-28 04:37:17,269 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 04:37:17,270 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 04:37:17,270 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 04:37:17,270 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 04:37:17,277 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:37:17" (1/1) ... [2022-04-28 04:37:17,278 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:37:17" (1/1) ... [2022-04-28 04:37:17,283 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:37:17" (1/1) ... [2022-04-28 04:37:17,284 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:37:17" (1/1) ... [2022-04-28 04:37:17,294 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:37:17" (1/1) ... [2022-04-28 04:37:17,297 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:37:17" (1/1) ... [2022-04-28 04:37:17,301 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:37:17" (1/1) ... [2022-04-28 04:37:17,303 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 04:37:17,304 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 04:37:17,304 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 04:37:17,304 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 04:37:17,305 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:37:17" (1/1) ... [2022-04-28 04:37:17,309 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:37:17,316 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:37:17,324 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:37:17,346 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:37:17,356 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 04:37:17,356 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 04:37:17,356 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 04:37:17,356 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 04:37:17,356 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 04:37:17,356 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 04:37:17,357 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 04:37:17,357 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 04:37:17,357 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 04:37:17,357 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 04:37:17,358 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 04:37:17,358 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 04:37:17,358 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 04:37:17,359 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 04:37:17,359 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 04:37:17,359 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 04:37:17,359 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 04:37:17,359 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 04:37:17,359 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 04:37:17,359 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 04:37:17,408 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 04:37:17,409 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 04:37:17,557 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 04:37:17,566 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 04:37:17,566 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 04:37:17,567 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:37:17 BoogieIcfgContainer [2022-04-28 04:37:17,567 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 04:37:17,569 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 04:37:17,569 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 04:37:17,571 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 04:37:17,571 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 04:37:17" (1/3) ... [2022-04-28 04:37:17,571 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@20d9412c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:37:17, skipping insertion in model container [2022-04-28 04:37:17,571 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:37:17" (2/3) ... [2022-04-28 04:37:17,572 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@20d9412c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:37:17, skipping insertion in model container [2022-04-28 04:37:17,572 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:37:17" (3/3) ... [2022-04-28 04:37:17,572 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound2.c [2022-04-28 04:37:17,581 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 04:37:17,581 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 04:37:17,606 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 04:37:17,612 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@550aa955, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@1c08cbff [2022-04-28 04:37:17,612 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 04:37:17,617 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:37:17,621 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 04:37:17,622 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:37:17,622 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:37:17,622 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:37:17,627 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:37:17,627 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-28 04:37:17,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:37:17,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1442892467] [2022-04-28 04:37:17,643 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:37:17,643 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 2 times [2022-04-28 04:37:17,645 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:37:17,645 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [617660123] [2022-04-28 04:37:17,646 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:37:17,646 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:37:17,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:37:17,795 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:37:17,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:37:17,823 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:37:17,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 04:37:17,824 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-28 04:37:17,825 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:37:17,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:37:17,835 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 04:37:17,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 04:37:17,836 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 04:37:17,837 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 04:37:17,837 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:37:17,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:37:17,852 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 04:37:17,853 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 04:37:17,853 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 04:37:17,853 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 04:37:17,854 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:37:17,854 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:37:17,854 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 04:37:17,855 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-28 04:37:17,855 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-28 04:37:17,855 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:37:17,855 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-28 04:37:17,856 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 04:37:17,857 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 04:37:17,857 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 04:37:17,857 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 04:37:17,858 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:37:17,858 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-28 04:37:17,858 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 04:37:17,858 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 04:37:17,858 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 04:37:17,859 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 04:37:17,859 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:37:17,859 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:37:17,859 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:37:17,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 04:37:17,860 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 04:37:17,860 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 04:37:17,861 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:37:17,861 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:37:17,861 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [617660123] [2022-04-28 04:37:17,862 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [617660123] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:37:17,863 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:37:17,863 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 04:37:17,865 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:37:17,865 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1442892467] [2022-04-28 04:37:17,865 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1442892467] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:37:17,866 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:37:17,866 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 04:37:17,866 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [557160454] [2022-04-28 04:37:17,867 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:37:17,871 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:37:17,872 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:37:17,874 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:37:17,901 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:37:17,902 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 04:37:17,902 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:37:17,917 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 04:37:17,918 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 04:37:17,920 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:37:18,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:37:18,033 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-28 04:37:18,034 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 04:37:18,034 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:37:18,034 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:37:18,035 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:37:18,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-28 04:37:18,042 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:37:18,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-28 04:37:18,049 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-28 04:37:18,127 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:37:18,133 INFO L225 Difference]: With dead ends: 57 [2022-04-28 04:37:18,133 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 04:37:18,135 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:37:18,138 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:37:18,139 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:37:18,149 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 04:37:18,161 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 04:37:18,162 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:37:18,165 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:37:18,166 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:37:18,171 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:37:18,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:37:18,174 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 04:37:18,174 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 04:37:18,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:37:18,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:37:18,175 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:37:18,176 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:37:18,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:37:18,179 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 04:37:18,179 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 04:37:18,179 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:37:18,179 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:37:18,179 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:37:18,179 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:37:18,180 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:37:18,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-28 04:37:18,183 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-28 04:37:18,183 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:37:18,183 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-28 04:37:18,184 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:37:18,185 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-28 04:37:18,211 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:37:18,211 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 04:37:18,212 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 04:37:18,212 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:37:18,212 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:37:18,212 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 04:37:18,212 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:37:18,213 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:37:18,213 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-28 04:37:18,213 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:37:18,213 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1471465448] [2022-04-28 04:37:18,213 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:37:18,213 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 2 times [2022-04-28 04:37:18,213 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:37:18,214 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1181731451] [2022-04-28 04:37:18,214 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:37:18,214 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:37:18,226 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:37:18,227 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1395070753] [2022-04-28 04:37:18,227 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:37:18,227 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:37:18,227 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:37:18,228 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:37:18,229 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:37:18,263 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 04:37:18,263 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:37:18,265 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 04:37:18,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:37:18,274 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:37:18,426 INFO L272 TraceCheckUtils]: 0: Hoare triple {273#true} call ULTIMATE.init(); {273#true} is VALID [2022-04-28 04:37:18,427 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:37:18,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 04:37:18,427 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {273#true} {273#true} #69#return; {273#true} is VALID [2022-04-28 04:37:18,427 INFO L272 TraceCheckUtils]: 4: Hoare triple {273#true} call #t~ret8 := main(); {273#true} is VALID [2022-04-28 04:37:18,427 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:37:18,427 INFO L272 TraceCheckUtils]: 6: Hoare triple {273#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {273#true} is VALID [2022-04-28 04:37:18,427 INFO L290 TraceCheckUtils]: 7: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-28 04:37:18,428 INFO L290 TraceCheckUtils]: 8: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-28 04:37:18,428 INFO L290 TraceCheckUtils]: 9: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 04:37:18,428 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {273#true} {273#true} #61#return; {273#true} is VALID [2022-04-28 04:37:18,428 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:37:18,428 INFO L272 TraceCheckUtils]: 12: Hoare triple {273#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {273#true} is VALID [2022-04-28 04:37:18,428 INFO L290 TraceCheckUtils]: 13: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-28 04:37:18,428 INFO L290 TraceCheckUtils]: 14: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-28 04:37:18,429 INFO L290 TraceCheckUtils]: 15: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-28 04:37:18,429 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {273#true} {273#true} #63#return; {273#true} is VALID [2022-04-28 04:37:18,434 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:37:18,434 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:37:18,435 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:37:18,436 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:37:18,436 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {274#false} is VALID [2022-04-28 04:37:18,436 INFO L290 TraceCheckUtils]: 22: Hoare triple {274#false} assume !false; {274#false} is VALID [2022-04-28 04:37:18,436 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:37:18,436 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 04:37:18,437 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:37:18,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1181731451] [2022-04-28 04:37:18,437 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:37:18,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1395070753] [2022-04-28 04:37:18,437 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1395070753] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:37:18,437 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:37:18,437 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 04:37:18,438 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:37:18,438 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1471465448] [2022-04-28 04:37:18,438 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1471465448] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:37:18,438 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:37:18,438 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 04:37:18,438 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1405932394] [2022-04-28 04:37:18,438 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:37:18,439 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:37:18,439 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:37:18,439 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:37:18,453 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:37:18,453 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 04:37:18,453 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:37:18,453 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 04:37:18,454 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 04:37:18,454 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:37:18,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:37:18,653 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-28 04:37:18,653 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 04:37:18,653 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:37:18,653 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:37:18,654 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:37:18,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 04:37:18,655 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:37:18,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-28 04:37:18,656 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-28 04:37:18,693 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:37:18,694 INFO L225 Difference]: With dead ends: 39 [2022-04-28 04:37:18,694 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 04:37:18,695 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:37:18,695 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:37:18,696 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:37:18,696 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 04:37:18,704 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-28 04:37:18,705 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:37:18,705 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:37:18,705 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:37:18,705 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:37:18,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:37:18,707 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 04:37:18,707 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 04:37:18,707 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:37:18,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:37:18,708 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:37:18,708 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:37:18,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:37:18,709 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 04:37:18,709 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 04:37:18,710 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:37:18,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:37:18,710 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:37:18,710 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:37:18,710 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:37:18,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-28 04:37:18,711 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-28 04:37:18,711 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:37:18,712 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-28 04:37:18,712 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:37:18,712 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 37 transitions. [2022-04-28 04:37:18,748 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:37:18,749 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-28 04:37:18,749 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 04:37:18,749 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:37:18,749 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:37:18,767 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:37:18,960 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:37:18,961 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:37:18,961 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:37:18,961 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-28 04:37:18,961 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:37:18,961 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [27917794] [2022-04-28 04:37:18,961 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:37:18,962 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 2 times [2022-04-28 04:37:18,962 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:37:18,962 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1682828477] [2022-04-28 04:37:18,962 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:37:18,962 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:37:18,976 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:37:18,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [19825814] [2022-04-28 04:37:18,976 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:37:18,976 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:37:18,976 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:37:18,979 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:37:18,980 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:37:19,024 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:37:19,024 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:37:19,025 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 04:37:19,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:37:19,040 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:37:29,532 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-28 04:37:29,532 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:37:29,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:37:29,533 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-28 04:37:29,533 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-28 04:37:29,533 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:37:29,533 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {567#true} is VALID [2022-04-28 04:37:29,533 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:37:29,534 INFO L290 TraceCheckUtils]: 8: Hoare triple {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:37:29,534 INFO L290 TraceCheckUtils]: 9: Hoare triple {597#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:37:29,535 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {597#(not (= |assume_abort_if_not_#in~cond| 0))} {567#true} #61#return; {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:37:29,535 INFO L290 TraceCheckUtils]: 11: Hoare triple {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:37:29,535 INFO L272 TraceCheckUtils]: 12: Hoare triple {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {567#true} is VALID [2022-04-28 04:37:29,536 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:37:29,536 INFO L290 TraceCheckUtils]: 14: Hoare triple {593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:37:29,536 INFO L290 TraceCheckUtils]: 15: Hoare triple {597#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:37:29,537 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {597#(not (= |assume_abort_if_not_#in~cond| 0))} {604#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {623#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:37:29,537 INFO L290 TraceCheckUtils]: 17: Hoare triple {623#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:37:29,538 INFO L290 TraceCheckUtils]: 18: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:37:29,538 INFO L272 TraceCheckUtils]: 19: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {567#true} is VALID [2022-04-28 04:37:29,538 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-28 04:37:29,538 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-28 04:37:29,538 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-28 04:37:29,539 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} #65#return; {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:37:29,540 INFO L290 TraceCheckUtils]: 24: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:37:29,540 INFO L290 TraceCheckUtils]: 25: Hoare triple {627#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} is VALID [2022-04-28 04:37:29,541 INFO L290 TraceCheckUtils]: 26: Hoare triple {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} is VALID [2022-04-28 04:37:29,542 INFO L290 TraceCheckUtils]: 27: Hoare triple {652#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {659#(and (<= main_~X~0 2) (= main_~xy~0 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~yx~0 0))} is VALID [2022-04-28 04:37:29,543 INFO L272 TraceCheckUtils]: 28: Hoare triple {659#(and (<= main_~X~0 2) (= main_~xy~0 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~yx~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:37:29,543 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:37:29,543 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-28 04:37:29,544 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-28 04:37:29,544 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:37:29,544 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:39:00,712 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:39:00,713 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1682828477] [2022-04-28 04:39:00,713 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:39:00,713 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [19825814] [2022-04-28 04:39:00,713 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [19825814] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:39:00,713 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 04:39:00,713 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-28 04:39:00,713 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:39:00,713 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [27917794] [2022-04-28 04:39:00,713 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [27917794] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:39:00,713 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:39:00,713 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 04:39:00,713 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [957068237] [2022-04-28 04:39:00,714 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:39:00,714 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-28 04:39:00,714 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:39:00,714 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:39:00,737 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:39:00,737 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 04:39:00,737 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:00,737 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 04:39:00,737 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=144, Unknown=0, NotChecked=0, Total=182 [2022-04-28 04:39:00,738 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:39:01,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:01,181 INFO L93 Difference]: Finished difference Result 61 states and 70 transitions. [2022-04-28 04:39:01,181 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 04:39:01,181 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-28 04:39:01,181 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:39:01,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:39:01,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-28 04:39:01,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:39:01,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-28 04:39:01,185 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 67 transitions. [2022-04-28 04:39:01,238 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:39:01,239 INFO L225 Difference]: With dead ends: 61 [2022-04-28 04:39:01,240 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 04:39:01,240 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-28 04:39:01,241 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 27 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 140 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 154 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 140 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:39:01,241 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 123 Invalid, 154 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 140 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:39:01,242 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 04:39:01,273 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-28 04:39:01,273 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:39:01,273 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:39:01,273 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:39:01,273 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:39:01,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:01,275 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-28 04:39:01,275 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-28 04:39:01,275 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:39:01,275 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:39:01,275 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-28 04:39:01,276 INFO L87 Difference]: Start difference. First operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-28 04:39:01,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:01,277 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-28 04:39:01,277 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-28 04:39:01,277 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:39:01,277 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:39:01,277 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:39:01,277 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:39:01,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 04:39:01,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 38 transitions. [2022-04-28 04:39:01,280 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 38 transitions. Word has length 32 [2022-04-28 04:39:01,280 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:39:01,280 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 38 transitions. [2022-04-28 04:39:01,280 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 04:39:01,280 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 38 transitions. [2022-04-28 04:39:01,324 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:39:01,324 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-28 04:39:01,325 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 04:39:01,325 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:39:01,325 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:39:01,341 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:39:01,539 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:39:01,542 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:39:01,542 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:39:01,542 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-28 04:39:01,542 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:01,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [114194381] [2022-04-28 04:39:01,542 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:39:01,542 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 2 times [2022-04-28 04:39:01,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:39:01,543 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [631559344] [2022-04-28 04:39:01,543 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:39:01,543 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:39:01,570 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:39:01,570 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [364420584] [2022-04-28 04:39:01,570 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:39:01,570 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:39:01,570 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:39:01,576 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:39:01,576 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:39:01,611 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:39:01,611 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:39:01,612 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 04:39:01,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:39:01,628 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:39:01,809 INFO L272 TraceCheckUtils]: 0: Hoare triple {971#true} call ULTIMATE.init(); {971#true} is VALID [2022-04-28 04:39:01,809 INFO L290 TraceCheckUtils]: 1: Hoare triple {971#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {971#true} is VALID [2022-04-28 04:39:01,809 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 04:39:01,809 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {971#true} #69#return; {971#true} is VALID [2022-04-28 04:39:01,809 INFO L272 TraceCheckUtils]: 4: Hoare triple {971#true} call #t~ret8 := main(); {971#true} is VALID [2022-04-28 04:39:01,809 INFO L290 TraceCheckUtils]: 5: Hoare triple {971#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {971#true} is VALID [2022-04-28 04:39:01,809 INFO L272 TraceCheckUtils]: 6: Hoare triple {971#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-28 04:39:01,810 INFO L290 TraceCheckUtils]: 7: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-28 04:39:01,810 INFO L290 TraceCheckUtils]: 8: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-28 04:39:01,810 INFO L290 TraceCheckUtils]: 9: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 04:39:01,810 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {971#true} {971#true} #61#return; {971#true} is VALID [2022-04-28 04:39:01,810 INFO L290 TraceCheckUtils]: 11: Hoare triple {971#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {971#true} is VALID [2022-04-28 04:39:01,810 INFO L272 TraceCheckUtils]: 12: Hoare triple {971#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-28 04:39:01,810 INFO L290 TraceCheckUtils]: 13: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-28 04:39:01,810 INFO L290 TraceCheckUtils]: 14: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-28 04:39:01,810 INFO L290 TraceCheckUtils]: 15: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 04:39:01,811 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {971#true} {971#true} #63#return; {971#true} is VALID [2022-04-28 04:39:01,813 INFO L290 TraceCheckUtils]: 17: Hoare triple {971#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:01,813 INFO L290 TraceCheckUtils]: 18: Hoare triple {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:01,813 INFO L272 TraceCheckUtils]: 19: Hoare triple {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {971#true} is VALID [2022-04-28 04:39:01,813 INFO L290 TraceCheckUtils]: 20: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-28 04:39:01,813 INFO L290 TraceCheckUtils]: 21: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-28 04:39:01,813 INFO L290 TraceCheckUtils]: 22: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 04:39:01,814 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {971#true} {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:01,815 INFO L290 TraceCheckUtils]: 24: Hoare triple {1027#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1049#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:01,816 INFO L290 TraceCheckUtils]: 25: Hoare triple {1049#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1053#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:39:01,816 INFO L290 TraceCheckUtils]: 26: Hoare triple {1053#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1057#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:01,817 INFO L290 TraceCheckUtils]: 27: Hoare triple {1057#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1061#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-28 04:39:01,818 INFO L272 TraceCheckUtils]: 28: Hoare triple {1061#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:39:01,818 INFO L290 TraceCheckUtils]: 29: Hoare triple {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:39:01,819 INFO L290 TraceCheckUtils]: 30: Hoare triple {1069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {972#false} is VALID [2022-04-28 04:39:01,819 INFO L290 TraceCheckUtils]: 31: Hoare triple {972#false} assume !false; {972#false} is VALID [2022-04-28 04:39:01,823 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:39:01,823 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:39:02,103 INFO L290 TraceCheckUtils]: 31: Hoare triple {972#false} assume !false; {972#false} is VALID [2022-04-28 04:39:02,105 INFO L290 TraceCheckUtils]: 30: Hoare triple {1069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {972#false} is VALID [2022-04-28 04:39:02,106 INFO L290 TraceCheckUtils]: 29: Hoare triple {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:39:02,107 INFO L272 TraceCheckUtils]: 28: Hoare triple {1085#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1065#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:39:02,108 INFO L290 TraceCheckUtils]: 27: Hoare triple {1089#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1085#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:39:02,110 INFO L290 TraceCheckUtils]: 26: Hoare triple {1093#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1089#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:39:02,112 INFO L290 TraceCheckUtils]: 25: Hoare triple {1089#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1093#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:39:02,112 INFO L290 TraceCheckUtils]: 24: Hoare triple {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {1089#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:39:02,113 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {971#true} {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} #65#return; {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:39:02,113 INFO L290 TraceCheckUtils]: 22: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 04:39:02,114 INFO L290 TraceCheckUtils]: 21: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-28 04:39:02,114 INFO L290 TraceCheckUtils]: 20: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-28 04:39:02,114 INFO L272 TraceCheckUtils]: 19: Hoare triple {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {971#true} is VALID [2022-04-28 04:39:02,115 INFO L290 TraceCheckUtils]: 18: Hoare triple {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:39:02,115 INFO L290 TraceCheckUtils]: 17: Hoare triple {971#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1100#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:39:02,116 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {971#true} {971#true} #63#return; {971#true} is VALID [2022-04-28 04:39:02,116 INFO L290 TraceCheckUtils]: 15: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 04:39:02,116 INFO L290 TraceCheckUtils]: 14: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-28 04:39:02,116 INFO L290 TraceCheckUtils]: 13: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-28 04:39:02,116 INFO L272 TraceCheckUtils]: 12: Hoare triple {971#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-28 04:39:02,116 INFO L290 TraceCheckUtils]: 11: Hoare triple {971#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {971#true} is VALID [2022-04-28 04:39:02,116 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {971#true} {971#true} #61#return; {971#true} is VALID [2022-04-28 04:39:02,117 INFO L290 TraceCheckUtils]: 9: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 04:39:02,117 INFO L290 TraceCheckUtils]: 8: Hoare triple {971#true} assume !(0 == ~cond); {971#true} is VALID [2022-04-28 04:39:02,117 INFO L290 TraceCheckUtils]: 7: Hoare triple {971#true} ~cond := #in~cond; {971#true} is VALID [2022-04-28 04:39:02,117 INFO L272 TraceCheckUtils]: 6: Hoare triple {971#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {971#true} is VALID [2022-04-28 04:39:02,117 INFO L290 TraceCheckUtils]: 5: Hoare triple {971#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {971#true} is VALID [2022-04-28 04:39:02,117 INFO L272 TraceCheckUtils]: 4: Hoare triple {971#true} call #t~ret8 := main(); {971#true} is VALID [2022-04-28 04:39:02,117 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {971#true} {971#true} #69#return; {971#true} is VALID [2022-04-28 04:39:02,118 INFO L290 TraceCheckUtils]: 2: Hoare triple {971#true} assume true; {971#true} is VALID [2022-04-28 04:39:02,118 INFO L290 TraceCheckUtils]: 1: Hoare triple {971#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {971#true} is VALID [2022-04-28 04:39:02,118 INFO L272 TraceCheckUtils]: 0: Hoare triple {971#true} call ULTIMATE.init(); {971#true} is VALID [2022-04-28 04:39:02,118 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:39:02,118 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:39:02,118 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [631559344] [2022-04-28 04:39:02,118 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:39:02,119 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [364420584] [2022-04-28 04:39:02,119 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [364420584] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:39:02,119 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:39:02,119 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-28 04:39:02,119 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:39:02,119 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [114194381] [2022-04-28 04:39:02,119 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [114194381] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:39:02,119 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:39:02,119 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 04:39:02,120 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1495340718] [2022-04-28 04:39:02,121 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:39:02,121 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:39:02,121 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:39:02,121 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:39:02,144 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:39:02,144 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 04:39:02,144 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:02,145 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 04:39:02,145 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-28 04:39:02,145 INFO L87 Difference]: Start difference. First operand 35 states and 38 transitions. Second operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:39:02,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:02,471 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-28 04:39:02,471 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 04:39:02,472 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:39:02,472 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:39:02,472 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:39:02,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 50 transitions. [2022-04-28 04:39:02,473 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:39:02,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 50 transitions. [2022-04-28 04:39:02,474 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 50 transitions. [2022-04-28 04:39:02,513 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:39:02,514 INFO L225 Difference]: With dead ends: 48 [2022-04-28 04:39:02,514 INFO L226 Difference]: Without dead ends: 46 [2022-04-28 04:39:02,514 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-28 04:39:02,515 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 11 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:39:02,515 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 134 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 124 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:39:02,515 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-28 04:39:02,585 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 42. [2022-04-28 04:39:02,585 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:39:02,586 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:39:02,586 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:39:02,586 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:39:02,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:02,588 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-04-28 04:39:02,588 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-28 04:39:02,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:39:02,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:39:02,588 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 46 states. [2022-04-28 04:39:02,588 INFO L87 Difference]: Start difference. First operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 46 states. [2022-04-28 04:39:02,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:39:02,593 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-04-28 04:39:02,593 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-28 04:39:02,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:39:02,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:39:02,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:39:02,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:39:02,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 30 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:39:02,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 45 transitions. [2022-04-28 04:39:02,595 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 45 transitions. Word has length 32 [2022-04-28 04:39:02,595 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:39:02,595 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 45 transitions. [2022-04-28 04:39:02,595 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:39:02,595 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 45 transitions. [2022-04-28 04:39:02,639 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:39:02,640 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 45 transitions. [2022-04-28 04:39:02,640 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 04:39:02,640 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:39:02,640 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:39:02,658 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:39:02,841 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:39:02,841 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:39:02,841 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:39:02,841 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-28 04:39:02,842 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:02,842 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1283050022] [2022-04-28 04:39:02,842 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:39:02,842 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 2 times [2022-04-28 04:39:02,842 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:39:02,842 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1002447586] [2022-04-28 04:39:02,842 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:39:02,842 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:39:02,858 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:39:02,858 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1172406538] [2022-04-28 04:39:02,858 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:39:02,858 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:39:02,859 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:39:02,860 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:39:02,861 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:39:02,895 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:39:02,895 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:39:02,896 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 04:39:02,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:39:02,911 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:39:20,219 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:39:30,246 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:39:36,269 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:39:43,424 INFO L272 TraceCheckUtils]: 0: Hoare triple {1451#true} call ULTIMATE.init(); {1451#true} is VALID [2022-04-28 04:39:43,424 INFO L290 TraceCheckUtils]: 1: Hoare triple {1451#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1451#true} is VALID [2022-04-28 04:39:43,424 INFO L290 TraceCheckUtils]: 2: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-28 04:39:43,424 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1451#true} {1451#true} #69#return; {1451#true} is VALID [2022-04-28 04:39:43,424 INFO L272 TraceCheckUtils]: 4: Hoare triple {1451#true} call #t~ret8 := main(); {1451#true} is VALID [2022-04-28 04:39:43,424 INFO L290 TraceCheckUtils]: 5: Hoare triple {1451#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1451#true} is VALID [2022-04-28 04:39:43,425 INFO L272 TraceCheckUtils]: 6: Hoare triple {1451#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-28 04:39:43,425 INFO L290 TraceCheckUtils]: 7: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-28 04:39:43,425 INFO L290 TraceCheckUtils]: 8: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-28 04:39:43,425 INFO L290 TraceCheckUtils]: 9: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-28 04:39:43,425 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1451#true} {1451#true} #61#return; {1451#true} is VALID [2022-04-28 04:39:43,425 INFO L290 TraceCheckUtils]: 11: Hoare triple {1451#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1451#true} is VALID [2022-04-28 04:39:43,425 INFO L272 TraceCheckUtils]: 12: Hoare triple {1451#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-28 04:39:43,425 INFO L290 TraceCheckUtils]: 13: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-28 04:39:43,425 INFO L290 TraceCheckUtils]: 14: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-28 04:39:43,425 INFO L290 TraceCheckUtils]: 15: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-28 04:39:43,425 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1451#true} {1451#true} #63#return; {1451#true} is VALID [2022-04-28 04:39:43,426 INFO L290 TraceCheckUtils]: 17: Hoare triple {1451#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1507#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:43,426 INFO L290 TraceCheckUtils]: 18: Hoare triple {1507#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1507#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:43,426 INFO L272 TraceCheckUtils]: 19: Hoare triple {1507#(and (= main_~x~0 0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1451#true} is VALID [2022-04-28 04:39:43,427 INFO L290 TraceCheckUtils]: 20: Hoare triple {1451#true} ~cond := #in~cond; {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:39:43,427 INFO L290 TraceCheckUtils]: 21: Hoare triple {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:39:43,427 INFO L290 TraceCheckUtils]: 22: Hoare triple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:39:43,428 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} {1507#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {1507#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:43,428 INFO L290 TraceCheckUtils]: 24: Hoare triple {1507#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1531#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-28 04:39:43,429 INFO L290 TraceCheckUtils]: 25: Hoare triple {1531#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1535#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-28 04:39:43,430 INFO L290 TraceCheckUtils]: 26: Hoare triple {1535#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1539#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:43,430 INFO L290 TraceCheckUtils]: 27: Hoare triple {1539#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1543#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:39:43,430 INFO L272 TraceCheckUtils]: 28: Hoare triple {1543#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1451#true} is VALID [2022-04-28 04:39:43,431 INFO L290 TraceCheckUtils]: 29: Hoare triple {1451#true} ~cond := #in~cond; {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:39:43,431 INFO L290 TraceCheckUtils]: 30: Hoare triple {1517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:39:43,432 INFO L290 TraceCheckUtils]: 31: Hoare triple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:39:43,433 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} {1543#(and (= main_~y~0 1) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {1559#(and (= main_~y~0 1) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0))} is VALID [2022-04-28 04:39:43,434 INFO L290 TraceCheckUtils]: 33: Hoare triple {1559#(and (= main_~y~0 1) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0))} assume !(~x~0 <= ~X~0); {1563#(and (= main_~y~0 1) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:39:43,440 INFO L290 TraceCheckUtils]: 34: Hoare triple {1563#(and (= main_~y~0 1) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1567#(and (= main_~y~0 1) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is VALID [2022-04-28 04:39:43,442 INFO L272 TraceCheckUtils]: 35: Hoare triple {1567#(and (= main_~y~0 1) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:39:43,442 INFO L290 TraceCheckUtils]: 36: Hoare triple {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1575#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:39:43,442 INFO L290 TraceCheckUtils]: 37: Hoare triple {1575#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1452#false} is VALID [2022-04-28 04:39:43,442 INFO L290 TraceCheckUtils]: 38: Hoare triple {1452#false} assume !false; {1452#false} is VALID [2022-04-28 04:39:43,443 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:39:43,443 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:39:55,241 INFO L290 TraceCheckUtils]: 38: Hoare triple {1452#false} assume !false; {1452#false} is VALID [2022-04-28 04:39:55,241 INFO L290 TraceCheckUtils]: 37: Hoare triple {1575#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1452#false} is VALID [2022-04-28 04:39:55,242 INFO L290 TraceCheckUtils]: 36: Hoare triple {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1575#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:39:55,242 INFO L272 TraceCheckUtils]: 35: Hoare triple {1591#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1571#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:39:55,243 INFO L290 TraceCheckUtils]: 34: Hoare triple {1595#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1591#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:39:55,243 INFO L290 TraceCheckUtils]: 33: Hoare triple {1599#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {1595#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 04:39:55,244 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} {1603#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {1599#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:39:55,245 INFO L290 TraceCheckUtils]: 31: Hoare triple {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:39:55,245 INFO L290 TraceCheckUtils]: 30: Hoare triple {1613#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:39:55,246 INFO L290 TraceCheckUtils]: 29: Hoare triple {1451#true} ~cond := #in~cond; {1613#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:39:55,246 INFO L272 TraceCheckUtils]: 28: Hoare triple {1603#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1451#true} is VALID [2022-04-28 04:39:55,246 INFO L290 TraceCheckUtils]: 27: Hoare triple {1620#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1603#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:39:55,247 INFO L290 TraceCheckUtils]: 26: Hoare triple {1624#(forall ((v_main_~x~0_14 Int)) (or (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~0 1))) (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* v_main_~x~0_14 main_~y~0))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1620#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:39:55,250 INFO L290 TraceCheckUtils]: 25: Hoare triple {1628#(forall ((v_main_~x~0_14 Int)) (or (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) 2 (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* v_main_~x~0_14 (+ main_~y~0 1)) 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2)))) (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~0 1)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1624#(forall ((v_main_~x~0_14 Int)) (or (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~0 1))) (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* v_main_~x~0_14 main_~y~0))))))} is VALID [2022-04-28 04:39:55,251 INFO L290 TraceCheckUtils]: 24: Hoare triple {1451#true} assume !!(~x~0 <= ~X~0); {1628#(forall ((v_main_~x~0_14 Int)) (or (= (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) 2 (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_14 main_~Y~0)) (* main_~Y~0 2) (* (* v_main_~x~0_14 (+ main_~y~0 1)) 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2)))) (<= v_main_~x~0_14 main_~X~0) (not (<= v_main_~x~0_14 (+ main_~x~0 1)))))} is VALID [2022-04-28 04:39:55,251 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1451#true} {1451#true} #65#return; {1451#true} is VALID [2022-04-28 04:39:55,251 INFO L290 TraceCheckUtils]: 22: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-28 04:39:55,251 INFO L290 TraceCheckUtils]: 21: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-28 04:39:55,251 INFO L290 TraceCheckUtils]: 20: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-28 04:39:55,251 INFO L272 TraceCheckUtils]: 19: Hoare triple {1451#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1451#true} is VALID [2022-04-28 04:39:55,251 INFO L290 TraceCheckUtils]: 18: Hoare triple {1451#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1451#true} is VALID [2022-04-28 04:39:55,251 INFO L290 TraceCheckUtils]: 17: Hoare triple {1451#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1451#true} is VALID [2022-04-28 04:39:55,251 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1451#true} {1451#true} #63#return; {1451#true} is VALID [2022-04-28 04:39:55,251 INFO L290 TraceCheckUtils]: 15: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-28 04:39:55,252 INFO L290 TraceCheckUtils]: 14: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-28 04:39:55,252 INFO L290 TraceCheckUtils]: 13: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-28 04:39:55,252 INFO L272 TraceCheckUtils]: 12: Hoare triple {1451#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-28 04:39:55,252 INFO L290 TraceCheckUtils]: 11: Hoare triple {1451#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1451#true} is VALID [2022-04-28 04:39:55,252 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1451#true} {1451#true} #61#return; {1451#true} is VALID [2022-04-28 04:39:55,252 INFO L290 TraceCheckUtils]: 9: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-28 04:39:55,252 INFO L290 TraceCheckUtils]: 8: Hoare triple {1451#true} assume !(0 == ~cond); {1451#true} is VALID [2022-04-28 04:39:55,252 INFO L290 TraceCheckUtils]: 7: Hoare triple {1451#true} ~cond := #in~cond; {1451#true} is VALID [2022-04-28 04:39:55,252 INFO L272 TraceCheckUtils]: 6: Hoare triple {1451#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1451#true} is VALID [2022-04-28 04:39:55,252 INFO L290 TraceCheckUtils]: 5: Hoare triple {1451#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1451#true} is VALID [2022-04-28 04:39:55,252 INFO L272 TraceCheckUtils]: 4: Hoare triple {1451#true} call #t~ret8 := main(); {1451#true} is VALID [2022-04-28 04:39:55,252 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1451#true} {1451#true} #69#return; {1451#true} is VALID [2022-04-28 04:39:55,252 INFO L290 TraceCheckUtils]: 2: Hoare triple {1451#true} assume true; {1451#true} is VALID [2022-04-28 04:39:55,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {1451#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1451#true} is VALID [2022-04-28 04:39:55,253 INFO L272 TraceCheckUtils]: 0: Hoare triple {1451#true} call ULTIMATE.init(); {1451#true} is VALID [2022-04-28 04:39:55,253 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:39:55,253 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:39:55,253 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1002447586] [2022-04-28 04:39:55,253 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:39:55,253 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1172406538] [2022-04-28 04:39:55,253 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1172406538] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:39:55,253 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:39:55,253 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-28 04:39:55,254 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:39:55,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1283050022] [2022-04-28 04:39:55,254 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1283050022] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:39:55,254 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:39:55,254 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:39:55,254 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1588929652] [2022-04-28 04:39:55,254 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:39:55,254 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:39:55,255 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:39:55,256 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:39:55,284 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:39:55,284 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:39:55,284 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:39:55,285 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:39:55,285 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-04-28 04:39:55,285 INFO L87 Difference]: Start difference. First operand 42 states and 45 transitions. Second operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:39:57,626 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:40:01,797 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:40:01,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:01,989 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-28 04:40:01,989 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 04:40:01,990 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:01,990 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:40:01,990 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:01,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-28 04:40:01,992 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:01,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-28 04:40:01,993 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 51 transitions. [2022-04-28 04:40:02,037 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,038 INFO L225 Difference]: With dead ends: 53 [2022-04-28 04:40:02,038 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 04:40:02,039 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 130 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=116, Invalid=586, Unknown=0, NotChecked=0, Total=702 [2022-04-28 04:40:02,039 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 18 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 157 mSolverCounterSat, 7 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 166 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 157 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:40:02,039 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 121 Invalid, 166 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 157 Invalid, 2 Unknown, 0 Unchecked, 4.2s Time] [2022-04-28 04:40:02,040 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 04:40:02,096 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 43. [2022-04-28 04:40:02,096 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:40:02,097 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:40:02,098 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:40:02,098 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:40:02,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:02,100 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-04-28 04:40:02,100 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-04-28 04:40:02,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:02,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:02,101 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 45 states. [2022-04-28 04:40:02,101 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 45 states. [2022-04-28 04:40:02,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:02,104 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-04-28 04:40:02,104 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-04-28 04:40:02,104 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:02,104 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:02,104 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:40:02,104 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:40:02,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.103448275862069) internal successors, (32), 30 states have internal predecessors, (32), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 04:40:02,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 46 transitions. [2022-04-28 04:40:02,118 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 46 transitions. Word has length 39 [2022-04-28 04:40:02,119 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:40:02,119 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 46 transitions. [2022-04-28 04:40:02,119 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:02,119 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 46 transitions. [2022-04-28 04:40:02,169 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:40:02,169 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 46 transitions. [2022-04-28 04:40:02,171 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 04:40:02,171 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:40:02,171 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:02,201 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:02,379 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:02,379 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:40:02,380 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:40:02,380 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 1 times [2022-04-28 04:40:02,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:02,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1740140787] [2022-04-28 04:40:02,380 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:40:02,380 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 2 times [2022-04-28 04:40:02,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:40:02,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1684170751] [2022-04-28 04:40:02,381 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:40:02,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:40:02,390 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:40:02,391 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1209246040] [2022-04-28 04:40:02,391 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:40:02,391 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:40:02,391 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:40:02,392 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:02,392 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:02,429 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:40:02,429 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:40:02,430 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 04:40:02,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:40:02,441 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:40:25,351 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:40:30,376 INFO L272 TraceCheckUtils]: 0: Hoare triple {1998#true} call ULTIMATE.init(); {1998#true} is VALID [2022-04-28 04:40:30,377 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1998#true} is VALID [2022-04-28 04:40:30,377 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-28 04:40:30,377 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} #69#return; {1998#true} is VALID [2022-04-28 04:40:30,377 INFO L272 TraceCheckUtils]: 4: Hoare triple {1998#true} call #t~ret8 := main(); {1998#true} is VALID [2022-04-28 04:40:30,377 INFO L290 TraceCheckUtils]: 5: Hoare triple {1998#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1998#true} is VALID [2022-04-28 04:40:30,377 INFO L272 TraceCheckUtils]: 6: Hoare triple {1998#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-28 04:40:30,377 INFO L290 TraceCheckUtils]: 7: Hoare triple {1998#true} ~cond := #in~cond; {2024#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:40:30,378 INFO L290 TraceCheckUtils]: 8: Hoare triple {2024#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2028#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:40:30,378 INFO L290 TraceCheckUtils]: 9: Hoare triple {2028#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2028#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:40:30,379 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2028#(not (= |assume_abort_if_not_#in~cond| 0))} {1998#true} #61#return; {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:40:30,379 INFO L290 TraceCheckUtils]: 11: Hoare triple {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:40:30,379 INFO L272 TraceCheckUtils]: 12: Hoare triple {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-28 04:40:30,379 INFO L290 TraceCheckUtils]: 13: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-28 04:40:30,379 INFO L290 TraceCheckUtils]: 14: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-28 04:40:30,379 INFO L290 TraceCheckUtils]: 15: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-28 04:40:30,380 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1998#true} {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:40:30,380 INFO L290 TraceCheckUtils]: 17: Hoare triple {2035#(and (<= main_~X~0 2) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-28 04:40:30,381 INFO L290 TraceCheckUtils]: 18: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-28 04:40:30,381 INFO L272 TraceCheckUtils]: 19: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1998#true} is VALID [2022-04-28 04:40:30,381 INFO L290 TraceCheckUtils]: 20: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-28 04:40:30,381 INFO L290 TraceCheckUtils]: 21: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-28 04:40:30,381 INFO L290 TraceCheckUtils]: 22: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-28 04:40:30,382 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1998#true} {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} #65#return; {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-28 04:40:30,382 INFO L290 TraceCheckUtils]: 24: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} is VALID [2022-04-28 04:40:30,383 INFO L290 TraceCheckUtils]: 25: Hoare triple {2057#(and (<= main_~X~0 2) (= main_~x~0 0) (<= 0 main_~X~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2082#(and (<= main_~X~0 2) (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-28 04:40:30,383 INFO L290 TraceCheckUtils]: 26: Hoare triple {2082#(and (<= main_~X~0 2) (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2086#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-28 04:40:30,384 INFO L290 TraceCheckUtils]: 27: Hoare triple {2086#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2090#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-28 04:40:30,384 INFO L272 TraceCheckUtils]: 28: Hoare triple {2090#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1998#true} is VALID [2022-04-28 04:40:30,384 INFO L290 TraceCheckUtils]: 29: Hoare triple {1998#true} ~cond := #in~cond; {2097#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:30,385 INFO L290 TraceCheckUtils]: 30: Hoare triple {2097#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:30,385 INFO L290 TraceCheckUtils]: 31: Hoare triple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:30,386 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} {2090#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-28 04:40:30,387 INFO L290 TraceCheckUtils]: 33: Hoare triple {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-28 04:40:30,388 INFO L290 TraceCheckUtils]: 34: Hoare triple {2108#(and (<= main_~X~0 2) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2115#(and (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-28 04:40:30,388 INFO L290 TraceCheckUtils]: 35: Hoare triple {2115#(and (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= main_~x~0 1) (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2119#(and (= (+ (- 1) main_~x~0) 1) (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:40:30,390 INFO L290 TraceCheckUtils]: 36: Hoare triple {2119#(and (= (+ (- 1) main_~x~0) 1) (<= main_~X~0 2) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2123#(and (<= main_~X~0 2) (= (+ main_~X~0 main_~v~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2)) (* main_~Y~0 6)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (* main_~Y~0 2) main_~yx~0) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (mod main_~xy~0 main_~X~0) 0))} is VALID [2022-04-28 04:40:30,391 INFO L272 TraceCheckUtils]: 37: Hoare triple {2123#(and (<= main_~X~0 2) (= (+ main_~X~0 main_~v~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2)) (* main_~Y~0 6)) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (* main_~Y~0 2) main_~yx~0) (<= main_~X~0 (* main_~Y~0 2)) (< main_~v~0 (* main_~Y~0 2)) (= (mod main_~xy~0 main_~X~0) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:40:30,391 INFO L290 TraceCheckUtils]: 38: Hoare triple {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:30,392 INFO L290 TraceCheckUtils]: 39: Hoare triple {2131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1999#false} is VALID [2022-04-28 04:40:30,392 INFO L290 TraceCheckUtils]: 40: Hoare triple {1999#false} assume !false; {1999#false} is VALID [2022-04-28 04:40:30,392 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 04:40:30,392 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:40:35,407 INFO L290 TraceCheckUtils]: 40: Hoare triple {1999#false} assume !false; {1999#false} is VALID [2022-04-28 04:40:35,408 INFO L290 TraceCheckUtils]: 39: Hoare triple {2131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1999#false} is VALID [2022-04-28 04:40:35,408 INFO L290 TraceCheckUtils]: 38: Hoare triple {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:35,409 INFO L272 TraceCheckUtils]: 37: Hoare triple {2147#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2127#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:40:35,410 INFO L290 TraceCheckUtils]: 36: Hoare triple {2151#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2147#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:40:35,411 INFO L290 TraceCheckUtils]: 35: Hoare triple {2155#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2151#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:40:35,412 INFO L290 TraceCheckUtils]: 34: Hoare triple {2159#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2155#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:40:35,413 INFO L290 TraceCheckUtils]: 33: Hoare triple {2159#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {2159#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:40:35,414 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} {2166#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #65#return; {2159#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:40:35,414 INFO L290 TraceCheckUtils]: 31: Hoare triple {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:35,414 INFO L290 TraceCheckUtils]: 30: Hoare triple {2176#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2101#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:35,415 INFO L290 TraceCheckUtils]: 29: Hoare triple {1998#true} ~cond := #in~cond; {2176#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:40:35,415 INFO L272 TraceCheckUtils]: 28: Hoare triple {2166#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1998#true} is VALID [2022-04-28 04:40:35,415 INFO L290 TraceCheckUtils]: 27: Hoare triple {1998#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2166#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:40:35,416 INFO L290 TraceCheckUtils]: 26: Hoare triple {1998#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1998#true} is VALID [2022-04-28 04:40:35,416 INFO L290 TraceCheckUtils]: 25: Hoare triple {1998#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1998#true} is VALID [2022-04-28 04:40:35,416 INFO L290 TraceCheckUtils]: 24: Hoare triple {1998#true} assume !!(~x~0 <= ~X~0); {1998#true} is VALID [2022-04-28 04:40:35,416 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1998#true} {1998#true} #65#return; {1998#true} is VALID [2022-04-28 04:40:35,416 INFO L290 TraceCheckUtils]: 22: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-28 04:40:35,416 INFO L290 TraceCheckUtils]: 21: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-28 04:40:35,416 INFO L290 TraceCheckUtils]: 20: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-28 04:40:35,416 INFO L272 TraceCheckUtils]: 19: Hoare triple {1998#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1998#true} is VALID [2022-04-28 04:40:35,416 INFO L290 TraceCheckUtils]: 18: Hoare triple {1998#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1998#true} is VALID [2022-04-28 04:40:35,416 INFO L290 TraceCheckUtils]: 17: Hoare triple {1998#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1998#true} is VALID [2022-04-28 04:40:35,416 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1998#true} {1998#true} #63#return; {1998#true} is VALID [2022-04-28 04:40:35,416 INFO L290 TraceCheckUtils]: 15: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-28 04:40:35,416 INFO L290 TraceCheckUtils]: 14: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-28 04:40:35,417 INFO L290 TraceCheckUtils]: 13: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-28 04:40:35,417 INFO L272 TraceCheckUtils]: 12: Hoare triple {1998#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-28 04:40:35,417 INFO L290 TraceCheckUtils]: 11: Hoare triple {1998#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1998#true} is VALID [2022-04-28 04:40:35,417 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1998#true} {1998#true} #61#return; {1998#true} is VALID [2022-04-28 04:40:35,417 INFO L290 TraceCheckUtils]: 9: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-28 04:40:35,417 INFO L290 TraceCheckUtils]: 8: Hoare triple {1998#true} assume !(0 == ~cond); {1998#true} is VALID [2022-04-28 04:40:35,417 INFO L290 TraceCheckUtils]: 7: Hoare triple {1998#true} ~cond := #in~cond; {1998#true} is VALID [2022-04-28 04:40:35,417 INFO L272 TraceCheckUtils]: 6: Hoare triple {1998#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1998#true} is VALID [2022-04-28 04:40:35,417 INFO L290 TraceCheckUtils]: 5: Hoare triple {1998#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1998#true} is VALID [2022-04-28 04:40:35,417 INFO L272 TraceCheckUtils]: 4: Hoare triple {1998#true} call #t~ret8 := main(); {1998#true} is VALID [2022-04-28 04:40:35,417 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} #69#return; {1998#true} is VALID [2022-04-28 04:40:35,417 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} assume true; {1998#true} is VALID [2022-04-28 04:40:35,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1998#true} is VALID [2022-04-28 04:40:35,418 INFO L272 TraceCheckUtils]: 0: Hoare triple {1998#true} call ULTIMATE.init(); {1998#true} is VALID [2022-04-28 04:40:35,418 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:35,418 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:40:35,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1684170751] [2022-04-28 04:40:35,418 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:40:35,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1209246040] [2022-04-28 04:40:35,418 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1209246040] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:40:35,418 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:40:35,418 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 11] total 23 [2022-04-28 04:40:35,418 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:40:35,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1740140787] [2022-04-28 04:40:35,419 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1740140787] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:40:35,419 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:40:35,419 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 04:40:35,419 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [192454057] [2022-04-28 04:40:35,419 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:40:35,419 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 04:40:35,419 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:40:35,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:40:35,454 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:40:35,455 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 04:40:35,455 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:35,455 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 04:40:35,455 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=433, Unknown=0, NotChecked=0, Total=506 [2022-04-28 04:40:35,455 INFO L87 Difference]: Start difference. First operand 43 states and 46 transitions. Second operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:40:37,597 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:40:39,758 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:40:42,114 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:40:42,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:42,401 INFO L93 Difference]: Finished difference Result 66 states and 75 transitions. [2022-04-28 04:40:42,401 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 04:40:42,401 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 04:40:42,402 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:40:42,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:40:42,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 69 transitions. [2022-04-28 04:40:42,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:40:42,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 69 transitions. [2022-04-28 04:40:42,405 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 69 transitions. [2022-04-28 04:40:42,466 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:40:42,467 INFO L225 Difference]: With dead ends: 66 [2022-04-28 04:40:42,467 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 04:40:42,468 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 141 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=109, Invalid=647, Unknown=0, NotChecked=0, Total=756 [2022-04-28 04:40:42,468 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 28 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 318 mSolverCounterSat, 13 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 334 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 318 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:40:42,468 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 118 Invalid, 334 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 318 Invalid, 3 Unknown, 0 Unchecked, 6.3s Time] [2022-04-28 04:40:42,469 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 04:40:42,531 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-04-28 04:40:42,531 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:40:42,532 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:40:42,532 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:40:42,532 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:40:42,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:42,534 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-28 04:40:42,534 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-28 04:40:42,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:42,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:42,534 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 53 states. [2022-04-28 04:40:42,534 INFO L87 Difference]: Start difference. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 53 states. [2022-04-28 04:40:42,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:42,535 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-28 04:40:42,535 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-28 04:40:42,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:42,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:42,536 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:40:42,536 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:40:42,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:40:42,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 57 transitions. [2022-04-28 04:40:42,537 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 57 transitions. Word has length 41 [2022-04-28 04:40:42,537 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:40:42,537 INFO L495 AbstractCegarLoop]: Abstraction has 53 states and 57 transitions. [2022-04-28 04:40:42,537 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 16 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 04:40:42,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 57 transitions. [2022-04-28 04:40:42,608 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:40:42,609 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-28 04:40:42,610 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 04:40:42,610 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:40:42,610 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:42,626 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-28 04:40:42,811 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:42,811 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:40:42,811 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:40:42,812 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 3 times [2022-04-28 04:40:42,812 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:42,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1737330951] [2022-04-28 04:40:42,812 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:40:42,812 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 4 times [2022-04-28 04:40:42,812 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:40:42,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1160350191] [2022-04-28 04:40:42,812 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:40:42,812 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:40:42,829 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:40:42,830 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1911772141] [2022-04-28 04:40:42,830 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:40:42,830 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:40:42,830 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:40:42,831 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:42,831 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:42,871 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:40:42,871 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:40:42,872 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-28 04:40:42,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:40:42,891 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:40:43,489 INFO L272 TraceCheckUtils]: 0: Hoare triple {2620#true} call ULTIMATE.init(); {2620#true} is VALID [2022-04-28 04:40:43,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {2620#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2620#true} is VALID [2022-04-28 04:40:43,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-28 04:40:43,490 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2620#true} {2620#true} #69#return; {2620#true} is VALID [2022-04-28 04:40:43,490 INFO L272 TraceCheckUtils]: 4: Hoare triple {2620#true} call #t~ret8 := main(); {2620#true} is VALID [2022-04-28 04:40:43,490 INFO L290 TraceCheckUtils]: 5: Hoare triple {2620#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2620#true} is VALID [2022-04-28 04:40:43,490 INFO L272 TraceCheckUtils]: 6: Hoare triple {2620#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-28 04:40:43,490 INFO L290 TraceCheckUtils]: 7: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-28 04:40:43,490 INFO L290 TraceCheckUtils]: 8: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-28 04:40:43,490 INFO L290 TraceCheckUtils]: 9: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-28 04:40:43,490 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2620#true} {2620#true} #61#return; {2620#true} is VALID [2022-04-28 04:40:43,490 INFO L290 TraceCheckUtils]: 11: Hoare triple {2620#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2620#true} is VALID [2022-04-28 04:40:43,490 INFO L272 TraceCheckUtils]: 12: Hoare triple {2620#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-28 04:40:43,491 INFO L290 TraceCheckUtils]: 13: Hoare triple {2620#true} ~cond := #in~cond; {2664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:40:43,491 INFO L290 TraceCheckUtils]: 14: Hoare triple {2664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:40:43,491 INFO L290 TraceCheckUtils]: 15: Hoare triple {2668#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:40:43,492 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2668#(not (= |assume_abort_if_not_#in~cond| 0))} {2620#true} #63#return; {2675#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:43,492 INFO L290 TraceCheckUtils]: 17: Hoare triple {2675#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:43,493 INFO L290 TraceCheckUtils]: 18: Hoare triple {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:43,493 INFO L272 TraceCheckUtils]: 19: Hoare triple {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2620#true} is VALID [2022-04-28 04:40:43,493 INFO L290 TraceCheckUtils]: 20: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-28 04:40:43,493 INFO L290 TraceCheckUtils]: 21: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-28 04:40:43,493 INFO L290 TraceCheckUtils]: 22: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-28 04:40:43,494 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2620#true} {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} #65#return; {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:43,494 INFO L290 TraceCheckUtils]: 24: Hoare triple {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:43,495 INFO L290 TraceCheckUtils]: 25: Hoare triple {2679#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2704#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:43,496 INFO L290 TraceCheckUtils]: 26: Hoare triple {2704#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:43,496 INFO L290 TraceCheckUtils]: 27: Hoare triple {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2712#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:43,496 INFO L272 TraceCheckUtils]: 28: Hoare triple {2712#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2620#true} is VALID [2022-04-28 04:40:43,496 INFO L290 TraceCheckUtils]: 29: Hoare triple {2620#true} ~cond := #in~cond; {2719#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:43,497 INFO L290 TraceCheckUtils]: 30: Hoare triple {2719#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:43,497 INFO L290 TraceCheckUtils]: 31: Hoare triple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:43,498 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} {2712#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} #65#return; {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:43,498 INFO L290 TraceCheckUtils]: 33: Hoare triple {2708#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~Y~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {2733#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:43,499 INFO L290 TraceCheckUtils]: 34: Hoare triple {2733#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2737#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 1) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:43,500 INFO L290 TraceCheckUtils]: 35: Hoare triple {2737#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 1) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2741#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:43,500 INFO L290 TraceCheckUtils]: 36: Hoare triple {2741#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2745#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:43,501 INFO L272 TraceCheckUtils]: 37: Hoare triple {2745#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:40:43,501 INFO L290 TraceCheckUtils]: 38: Hoare triple {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2753#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:43,501 INFO L290 TraceCheckUtils]: 39: Hoare triple {2753#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2621#false} is VALID [2022-04-28 04:40:43,502 INFO L290 TraceCheckUtils]: 40: Hoare triple {2621#false} assume !false; {2621#false} is VALID [2022-04-28 04:40:43,502 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 9 proven. 10 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 04:40:43,502 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:40:48,065 INFO L290 TraceCheckUtils]: 40: Hoare triple {2621#false} assume !false; {2621#false} is VALID [2022-04-28 04:40:48,065 INFO L290 TraceCheckUtils]: 39: Hoare triple {2753#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2621#false} is VALID [2022-04-28 04:40:48,065 INFO L290 TraceCheckUtils]: 38: Hoare triple {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2753#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:48,066 INFO L272 TraceCheckUtils]: 37: Hoare triple {2769#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2749#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:40:48,067 INFO L290 TraceCheckUtils]: 36: Hoare triple {2773#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2769#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:40:48,075 INFO L290 TraceCheckUtils]: 35: Hoare triple {2777#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2773#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:40:48,077 INFO L290 TraceCheckUtils]: 34: Hoare triple {2781#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2777#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:40:48,077 INFO L290 TraceCheckUtils]: 33: Hoare triple {2785#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {2781#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:40:48,078 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} {2789#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {2785#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:40:48,078 INFO L290 TraceCheckUtils]: 31: Hoare triple {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:48,079 INFO L290 TraceCheckUtils]: 30: Hoare triple {2799#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:48,079 INFO L290 TraceCheckUtils]: 29: Hoare triple {2620#true} ~cond := #in~cond; {2799#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:40:48,079 INFO L272 TraceCheckUtils]: 28: Hoare triple {2789#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2620#true} is VALID [2022-04-28 04:40:48,080 INFO L290 TraceCheckUtils]: 27: Hoare triple {2620#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2789#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:40:48,080 INFO L290 TraceCheckUtils]: 26: Hoare triple {2620#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2620#true} is VALID [2022-04-28 04:40:48,080 INFO L290 TraceCheckUtils]: 25: Hoare triple {2620#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2620#true} is VALID [2022-04-28 04:40:48,080 INFO L290 TraceCheckUtils]: 24: Hoare triple {2620#true} assume !!(~x~0 <= ~X~0); {2620#true} is VALID [2022-04-28 04:40:48,080 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2620#true} {2620#true} #65#return; {2620#true} is VALID [2022-04-28 04:40:48,080 INFO L290 TraceCheckUtils]: 22: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-28 04:40:48,080 INFO L290 TraceCheckUtils]: 21: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-28 04:40:48,080 INFO L290 TraceCheckUtils]: 20: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-28 04:40:48,080 INFO L272 TraceCheckUtils]: 19: Hoare triple {2620#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2620#true} is VALID [2022-04-28 04:40:48,080 INFO L290 TraceCheckUtils]: 18: Hoare triple {2620#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2620#true} is VALID [2022-04-28 04:40:48,080 INFO L290 TraceCheckUtils]: 17: Hoare triple {2620#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2620#true} is VALID [2022-04-28 04:40:48,080 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2620#true} {2620#true} #63#return; {2620#true} is VALID [2022-04-28 04:40:48,081 INFO L290 TraceCheckUtils]: 15: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-28 04:40:48,081 INFO L290 TraceCheckUtils]: 14: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-28 04:40:48,081 INFO L290 TraceCheckUtils]: 13: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-28 04:40:48,081 INFO L272 TraceCheckUtils]: 12: Hoare triple {2620#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-28 04:40:48,081 INFO L290 TraceCheckUtils]: 11: Hoare triple {2620#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2620#true} is VALID [2022-04-28 04:40:48,081 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2620#true} {2620#true} #61#return; {2620#true} is VALID [2022-04-28 04:40:48,081 INFO L290 TraceCheckUtils]: 9: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-28 04:40:48,081 INFO L290 TraceCheckUtils]: 8: Hoare triple {2620#true} assume !(0 == ~cond); {2620#true} is VALID [2022-04-28 04:40:48,081 INFO L290 TraceCheckUtils]: 7: Hoare triple {2620#true} ~cond := #in~cond; {2620#true} is VALID [2022-04-28 04:40:48,081 INFO L272 TraceCheckUtils]: 6: Hoare triple {2620#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2620#true} is VALID [2022-04-28 04:40:48,081 INFO L290 TraceCheckUtils]: 5: Hoare triple {2620#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2620#true} is VALID [2022-04-28 04:40:48,081 INFO L272 TraceCheckUtils]: 4: Hoare triple {2620#true} call #t~ret8 := main(); {2620#true} is VALID [2022-04-28 04:40:48,081 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2620#true} {2620#true} #69#return; {2620#true} is VALID [2022-04-28 04:40:48,081 INFO L290 TraceCheckUtils]: 2: Hoare triple {2620#true} assume true; {2620#true} is VALID [2022-04-28 04:40:48,082 INFO L290 TraceCheckUtils]: 1: Hoare triple {2620#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2620#true} is VALID [2022-04-28 04:40:48,082 INFO L272 TraceCheckUtils]: 0: Hoare triple {2620#true} call ULTIMATE.init(); {2620#true} is VALID [2022-04-28 04:40:48,082 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:48,082 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:40:48,082 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1160350191] [2022-04-28 04:40:48,082 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:40:48,082 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1911772141] [2022-04-28 04:40:48,082 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1911772141] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:40:48,082 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:40:48,082 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12] total 24 [2022-04-28 04:40:48,082 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:40:48,083 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1737330951] [2022-04-28 04:40:48,083 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1737330951] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:40:48,083 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:40:48,083 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 04:40:48,083 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1395981986] [2022-04-28 04:40:48,083 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:40:48,083 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 04:40:48,083 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:40:48,083 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:40:48,116 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:40:48,116 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 04:40:48,116 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:48,116 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 04:40:48,116 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=463, Unknown=0, NotChecked=0, Total=552 [2022-04-28 04:40:48,117 INFO L87 Difference]: Start difference. First operand 53 states and 57 transitions. Second operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:40:49,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:49,028 INFO L93 Difference]: Finished difference Result 77 states and 86 transitions. [2022-04-28 04:40:49,028 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 04:40:49,028 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-28 04:40:49,028 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:40:49,028 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:40:49,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 71 transitions. [2022-04-28 04:40:49,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:40:49,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 71 transitions. [2022-04-28 04:40:49,039 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 71 transitions. [2022-04-28 04:40:49,095 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:40:49,097 INFO L225 Difference]: With dead ends: 77 [2022-04-28 04:40:49,097 INFO L226 Difference]: Without dead ends: 64 [2022-04-28 04:40:49,098 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 57 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 166 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=127, Invalid=685, Unknown=0, NotChecked=0, Total=812 [2022-04-28 04:40:49,098 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 30 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 348 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 361 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 348 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:40:49,098 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 113 Invalid, 361 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 348 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 04:40:49,099 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-28 04:40:49,185 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 61. [2022-04-28 04:40:49,185 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:40:49,186 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:40:49,186 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:40:49,186 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:40:49,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:49,187 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-28 04:40:49,187 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-28 04:40:49,188 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:49,188 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:49,188 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 64 states. [2022-04-28 04:40:49,188 INFO L87 Difference]: Start difference. First operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 64 states. [2022-04-28 04:40:49,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:49,189 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-28 04:40:49,189 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-28 04:40:49,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:49,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:49,190 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:40:49,190 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:40:49,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 44 states have internal predecessors, (48), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:40:49,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 66 transitions. [2022-04-28 04:40:49,191 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 66 transitions. Word has length 41 [2022-04-28 04:40:49,191 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:40:49,191 INFO L495 AbstractCegarLoop]: Abstraction has 61 states and 66 transitions. [2022-04-28 04:40:49,191 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 04:40:49,191 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 66 transitions. [2022-04-28 04:40:49,268 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:40:49,268 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2022-04-28 04:40:49,269 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 04:40:49,269 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:40:49,269 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:40:49,285 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:49,483 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:49,483 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:40:49,484 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:40:49,484 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 3 times [2022-04-28 04:40:49,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:49,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [758035410] [2022-04-28 04:40:49,484 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:40:49,484 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 4 times [2022-04-28 04:40:49,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:40:49,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [216393351] [2022-04-28 04:40:49,484 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:40:49,485 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:40:49,496 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:40:49,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [87141641] [2022-04-28 04:40:49,497 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:40:49,497 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:40:49,497 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:40:49,497 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:49,498 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:49,533 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:40:49,533 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:40:49,533 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 04:40:49,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:40:49,545 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:40:50,369 INFO L272 TraceCheckUtils]: 0: Hoare triple {3303#true} call ULTIMATE.init(); {3303#true} is VALID [2022-04-28 04:40:50,369 INFO L290 TraceCheckUtils]: 1: Hoare triple {3303#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {3303#true} is VALID [2022-04-28 04:40:50,369 INFO L290 TraceCheckUtils]: 2: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 04:40:50,369 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3303#true} {3303#true} #69#return; {3303#true} is VALID [2022-04-28 04:40:50,369 INFO L272 TraceCheckUtils]: 4: Hoare triple {3303#true} call #t~ret8 := main(); {3303#true} is VALID [2022-04-28 04:40:50,369 INFO L290 TraceCheckUtils]: 5: Hoare triple {3303#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3303#true} is VALID [2022-04-28 04:40:50,369 INFO L272 TraceCheckUtils]: 6: Hoare triple {3303#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-28 04:40:50,369 INFO L290 TraceCheckUtils]: 7: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-28 04:40:50,369 INFO L290 TraceCheckUtils]: 8: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-28 04:40:50,369 INFO L290 TraceCheckUtils]: 9: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 04:40:50,370 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3303#true} {3303#true} #61#return; {3303#true} is VALID [2022-04-28 04:40:50,370 INFO L290 TraceCheckUtils]: 11: Hoare triple {3303#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3303#true} is VALID [2022-04-28 04:40:50,370 INFO L272 TraceCheckUtils]: 12: Hoare triple {3303#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-28 04:40:50,370 INFO L290 TraceCheckUtils]: 13: Hoare triple {3303#true} ~cond := #in~cond; {3347#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:40:50,370 INFO L290 TraceCheckUtils]: 14: Hoare triple {3347#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3351#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:40:50,371 INFO L290 TraceCheckUtils]: 15: Hoare triple {3351#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3351#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:40:50,371 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3351#(not (= |assume_abort_if_not_#in~cond| 0))} {3303#true} #63#return; {3358#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,371 INFO L290 TraceCheckUtils]: 17: Hoare triple {3358#(and (<= 0 main_~Y~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,372 INFO L290 TraceCheckUtils]: 18: Hoare triple {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,372 INFO L272 TraceCheckUtils]: 19: Hoare triple {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-28 04:40:50,372 INFO L290 TraceCheckUtils]: 20: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-28 04:40:50,372 INFO L290 TraceCheckUtils]: 21: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-28 04:40:50,372 INFO L290 TraceCheckUtils]: 22: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 04:40:50,373 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3303#true} {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} #65#return; {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,373 INFO L290 TraceCheckUtils]: 24: Hoare triple {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,374 INFO L290 TraceCheckUtils]: 25: Hoare triple {3362#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3387#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,374 INFO L290 TraceCheckUtils]: 26: Hoare triple {3387#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,375 INFO L290 TraceCheckUtils]: 27: Hoare triple {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,375 INFO L272 TraceCheckUtils]: 28: Hoare triple {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-28 04:40:50,375 INFO L290 TraceCheckUtils]: 29: Hoare triple {3303#true} ~cond := #in~cond; {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:50,375 INFO L290 TraceCheckUtils]: 30: Hoare triple {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:50,375 INFO L290 TraceCheckUtils]: 31: Hoare triple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:50,376 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} #65#return; {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,376 INFO L290 TraceCheckUtils]: 33: Hoare triple {3391#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {3415#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,377 INFO L290 TraceCheckUtils]: 34: Hoare triple {3415#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3419#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,378 INFO L290 TraceCheckUtils]: 35: Hoare triple {3419#(and (= main_~y~0 2) (<= main_~x~0 main_~X~0) (= main_~x~0 1) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,378 INFO L290 TraceCheckUtils]: 36: Hoare triple {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3427#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,378 INFO L272 TraceCheckUtils]: 37: Hoare triple {3427#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-28 04:40:50,378 INFO L290 TraceCheckUtils]: 38: Hoare triple {3303#true} ~cond := #in~cond; {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:50,379 INFO L290 TraceCheckUtils]: 39: Hoare triple {3401#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:50,379 INFO L290 TraceCheckUtils]: 40: Hoare triple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:50,380 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} {3427#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #65#return; {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,380 INFO L290 TraceCheckUtils]: 42: Hoare triple {3423#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !(~x~0 <= ~X~0); {3446#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,381 INFO L290 TraceCheckUtils]: 43: Hoare triple {3446#(and (= main_~y~0 2) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)) (= main_~x~0 2) (<= 1 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3450#(and (= main_~y~0 2) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 1 main_~X~0) (not (<= 2 main_~X~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 04:40:50,382 INFO L272 TraceCheckUtils]: 44: Hoare triple {3450#(and (= main_~y~0 2) (= (* main_~y~0 2) main_~xy~0) (= (* main_~Y~0 2) main_~yx~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 1 main_~X~0) (not (<= 2 main_~X~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:40:50,382 INFO L290 TraceCheckUtils]: 45: Hoare triple {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3458#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:50,382 INFO L290 TraceCheckUtils]: 46: Hoare triple {3458#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3304#false} is VALID [2022-04-28 04:40:50,382 INFO L290 TraceCheckUtils]: 47: Hoare triple {3304#false} assume !false; {3304#false} is VALID [2022-04-28 04:40:50,383 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 13 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-28 04:40:50,383 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:40:51,205 INFO L290 TraceCheckUtils]: 47: Hoare triple {3304#false} assume !false; {3304#false} is VALID [2022-04-28 04:40:51,205 INFO L290 TraceCheckUtils]: 46: Hoare triple {3458#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3304#false} is VALID [2022-04-28 04:40:51,205 INFO L290 TraceCheckUtils]: 45: Hoare triple {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3458#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:40:51,206 INFO L272 TraceCheckUtils]: 44: Hoare triple {3474#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {3454#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:40:51,207 INFO L290 TraceCheckUtils]: 43: Hoare triple {3478#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3474#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:40:51,208 INFO L290 TraceCheckUtils]: 42: Hoare triple {3482#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {3478#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 04:40:51,208 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} {3486#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {3482#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:40:51,209 INFO L290 TraceCheckUtils]: 40: Hoare triple {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:51,209 INFO L290 TraceCheckUtils]: 39: Hoare triple {3496#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3405#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:40:51,209 INFO L290 TraceCheckUtils]: 38: Hoare triple {3303#true} ~cond := #in~cond; {3496#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:40:51,209 INFO L272 TraceCheckUtils]: 37: Hoare triple {3486#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-28 04:40:51,210 INFO L290 TraceCheckUtils]: 36: Hoare triple {3503#(or (<= main_~x~0 main_~X~0) (not (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3486#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:40:51,249 INFO L290 TraceCheckUtils]: 35: Hoare triple {3507#(or (not (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3503#(or (<= main_~x~0 main_~X~0) (not (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:40:51,360 INFO L290 TraceCheckUtils]: 34: Hoare triple {3511#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (not (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3507#(or (not (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 04:40:51,362 INFO L290 TraceCheckUtils]: 33: Hoare triple {3303#true} assume !!(~x~0 <= ~X~0); {3511#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (not (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:40:51,362 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3303#true} {3303#true} #65#return; {3303#true} is VALID [2022-04-28 04:40:51,362 INFO L290 TraceCheckUtils]: 31: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 04:40:51,362 INFO L290 TraceCheckUtils]: 30: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-28 04:40:51,362 INFO L290 TraceCheckUtils]: 29: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-28 04:40:51,362 INFO L272 TraceCheckUtils]: 28: Hoare triple {3303#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-28 04:40:51,362 INFO L290 TraceCheckUtils]: 27: Hoare triple {3303#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3303#true} is VALID [2022-04-28 04:40:51,362 INFO L290 TraceCheckUtils]: 26: Hoare triple {3303#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3303#true} is VALID [2022-04-28 04:40:51,362 INFO L290 TraceCheckUtils]: 25: Hoare triple {3303#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3303#true} is VALID [2022-04-28 04:40:51,362 INFO L290 TraceCheckUtils]: 24: Hoare triple {3303#true} assume !!(~x~0 <= ~X~0); {3303#true} is VALID [2022-04-28 04:40:51,362 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3303#true} {3303#true} #65#return; {3303#true} is VALID [2022-04-28 04:40:51,362 INFO L290 TraceCheckUtils]: 22: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 04:40:51,362 INFO L290 TraceCheckUtils]: 21: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-28 04:40:51,363 INFO L290 TraceCheckUtils]: 20: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-28 04:40:51,363 INFO L272 TraceCheckUtils]: 19: Hoare triple {3303#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3303#true} is VALID [2022-04-28 04:40:51,363 INFO L290 TraceCheckUtils]: 18: Hoare triple {3303#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3303#true} is VALID [2022-04-28 04:40:51,363 INFO L290 TraceCheckUtils]: 17: Hoare triple {3303#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3303#true} is VALID [2022-04-28 04:40:51,363 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3303#true} {3303#true} #63#return; {3303#true} is VALID [2022-04-28 04:40:51,363 INFO L290 TraceCheckUtils]: 15: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 04:40:51,363 INFO L290 TraceCheckUtils]: 14: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-28 04:40:51,363 INFO L290 TraceCheckUtils]: 13: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-28 04:40:51,363 INFO L272 TraceCheckUtils]: 12: Hoare triple {3303#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-28 04:40:51,363 INFO L290 TraceCheckUtils]: 11: Hoare triple {3303#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3303#true} is VALID [2022-04-28 04:40:51,363 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3303#true} {3303#true} #61#return; {3303#true} is VALID [2022-04-28 04:40:51,363 INFO L290 TraceCheckUtils]: 9: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 04:40:51,363 INFO L290 TraceCheckUtils]: 8: Hoare triple {3303#true} assume !(0 == ~cond); {3303#true} is VALID [2022-04-28 04:40:51,363 INFO L290 TraceCheckUtils]: 7: Hoare triple {3303#true} ~cond := #in~cond; {3303#true} is VALID [2022-04-28 04:40:51,363 INFO L272 TraceCheckUtils]: 6: Hoare triple {3303#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {3303#true} is VALID [2022-04-28 04:40:51,364 INFO L290 TraceCheckUtils]: 5: Hoare triple {3303#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3303#true} is VALID [2022-04-28 04:40:51,364 INFO L272 TraceCheckUtils]: 4: Hoare triple {3303#true} call #t~ret8 := main(); {3303#true} is VALID [2022-04-28 04:40:51,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3303#true} {3303#true} #69#return; {3303#true} is VALID [2022-04-28 04:40:51,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {3303#true} assume true; {3303#true} is VALID [2022-04-28 04:40:51,364 INFO L290 TraceCheckUtils]: 1: Hoare triple {3303#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {3303#true} is VALID [2022-04-28 04:40:51,364 INFO L272 TraceCheckUtils]: 0: Hoare triple {3303#true} call ULTIMATE.init(); {3303#true} is VALID [2022-04-28 04:40:51,364 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:40:51,364 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:40:51,364 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [216393351] [2022-04-28 04:40:51,364 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:40:51,364 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [87141641] [2022-04-28 04:40:51,364 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [87141641] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:40:51,365 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:40:51,365 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 13] total 26 [2022-04-28 04:40:51,365 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:40:51,365 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [758035410] [2022-04-28 04:40:51,365 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [758035410] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:40:51,365 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:40:51,365 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 04:40:51,365 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [765194658] [2022-04-28 04:40:51,365 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:40:51,365 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 04:40:51,366 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:40:51,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:40:51,402 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:40:51,402 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 04:40:51,402 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:51,403 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 04:40:51,403 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=548, Unknown=0, NotChecked=0, Total=650 [2022-04-28 04:40:51,403 INFO L87 Difference]: Start difference. First operand 61 states and 66 transitions. Second operand has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:40:52,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:52,468 INFO L93 Difference]: Finished difference Result 70 states and 74 transitions. [2022-04-28 04:40:52,468 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 04:40:52,468 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-28 04:40:52,469 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:40:52,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:40:52,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 56 transitions. [2022-04-28 04:40:52,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:40:52,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 56 transitions. [2022-04-28 04:40:52,473 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 56 transitions. [2022-04-28 04:40:52,517 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:40:52,518 INFO L225 Difference]: With dead ends: 70 [2022-04-28 04:40:52,518 INFO L226 Difference]: Without dead ends: 62 [2022-04-28 04:40:52,518 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 68 SyntacticMatches, 3 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 192 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=142, Invalid=788, Unknown=0, NotChecked=0, Total=930 [2022-04-28 04:40:52,518 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 27 mSDsluCounter, 159 mSDsCounter, 0 mSdLazyCounter, 444 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 454 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 444 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:40:52,519 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 178 Invalid, 454 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 444 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 04:40:52,519 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-04-28 04:40:52,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 53. [2022-04-28 04:40:52,592 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:40:52,592 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:40:52,592 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:40:52,593 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:40:52,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:52,600 INFO L93 Difference]: Finished difference Result 62 states and 66 transitions. [2022-04-28 04:40:52,600 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 66 transitions. [2022-04-28 04:40:52,600 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:52,600 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:52,601 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 62 states. [2022-04-28 04:40:52,601 INFO L87 Difference]: Start difference. First operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 62 states. [2022-04-28 04:40:52,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:40:52,602 INFO L93 Difference]: Finished difference Result 62 states and 66 transitions. [2022-04-28 04:40:52,602 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 66 transitions. [2022-04-28 04:40:52,602 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:40:52,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:40:52,602 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:40:52,602 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:40:52,602 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 37 states have (on average 1.1081081081081081) internal successors, (41), 38 states have internal predecessors, (41), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:40:52,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 57 transitions. [2022-04-28 04:40:52,603 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 57 transitions. Word has length 48 [2022-04-28 04:40:52,603 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:40:52,604 INFO L495 AbstractCegarLoop]: Abstraction has 53 states and 57 transitions. [2022-04-28 04:40:52,604 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 1.9375) internal successors, (31), 16 states have internal predecessors, (31), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:40:52,604 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 57 transitions. [2022-04-28 04:40:52,679 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:40:52,679 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-28 04:40:52,679 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:40:52,680 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:40:52,680 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:40:52,696 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:40:52,895 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:40:52,896 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:40:52,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:40:52,896 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 3 times [2022-04-28 04:40:52,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:40:52,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1237702600] [2022-04-28 04:40:52,897 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:40:52,897 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 4 times [2022-04-28 04:40:52,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:40:52,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1483422104] [2022-04-28 04:40:52,897 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:40:52,897 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:40:52,913 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:40:52,913 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1419079534] [2022-04-28 04:40:52,914 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:40:52,914 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:40:52,914 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:40:52,915 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:40:52,916 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:40:52,952 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:40:52,952 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:40:52,953 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 04:40:52,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:40:52,968 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:41:02,299 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:41:02,709 INFO L272 TraceCheckUtils]: 0: Hoare triple {3996#true} call ULTIMATE.init(); {3996#true} is VALID [2022-04-28 04:41:02,709 INFO L290 TraceCheckUtils]: 1: Hoare triple {3996#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {3996#true} is VALID [2022-04-28 04:41:02,709 INFO L290 TraceCheckUtils]: 2: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-28 04:41:02,709 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3996#true} {3996#true} #69#return; {3996#true} is VALID [2022-04-28 04:41:02,709 INFO L272 TraceCheckUtils]: 4: Hoare triple {3996#true} call #t~ret8 := main(); {3996#true} is VALID [2022-04-28 04:41:02,709 INFO L290 TraceCheckUtils]: 5: Hoare triple {3996#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3996#true} is VALID [2022-04-28 04:41:02,709 INFO L272 TraceCheckUtils]: 6: Hoare triple {3996#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {3996#true} is VALID [2022-04-28 04:41:02,710 INFO L290 TraceCheckUtils]: 7: Hoare triple {3996#true} ~cond := #in~cond; {4022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:41:02,710 INFO L290 TraceCheckUtils]: 8: Hoare triple {4022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:41:02,710 INFO L290 TraceCheckUtils]: 9: Hoare triple {4026#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:41:02,711 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4026#(not (= |assume_abort_if_not_#in~cond| 0))} {3996#true} #61#return; {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:41:02,715 INFO L290 TraceCheckUtils]: 11: Hoare triple {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:41:02,716 INFO L272 TraceCheckUtils]: 12: Hoare triple {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {3996#true} is VALID [2022-04-28 04:41:02,718 INFO L290 TraceCheckUtils]: 13: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-28 04:41:02,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-28 04:41:02,718 INFO L290 TraceCheckUtils]: 15: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-28 04:41:02,718 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3996#true} {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:41:02,719 INFO L290 TraceCheckUtils]: 17: Hoare triple {4033#(and (<= main_~X~0 2) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:02,719 INFO L290 TraceCheckUtils]: 18: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:02,720 INFO L272 TraceCheckUtils]: 19: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3996#true} is VALID [2022-04-28 04:41:02,720 INFO L290 TraceCheckUtils]: 20: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-28 04:41:02,720 INFO L290 TraceCheckUtils]: 21: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-28 04:41:02,720 INFO L290 TraceCheckUtils]: 22: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-28 04:41:02,720 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3996#true} {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} #65#return; {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:02,721 INFO L290 TraceCheckUtils]: 24: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} is VALID [2022-04-28 04:41:02,721 INFO L290 TraceCheckUtils]: 25: Hoare triple {4055#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~x~0) (<= 0 main_~X~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4080#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:41:02,722 INFO L290 TraceCheckUtils]: 26: Hoare triple {4080#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 0 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:41:02,722 INFO L290 TraceCheckUtils]: 27: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:41:02,723 INFO L272 TraceCheckUtils]: 28: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3996#true} is VALID [2022-04-28 04:41:02,723 INFO L290 TraceCheckUtils]: 29: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-28 04:41:02,723 INFO L290 TraceCheckUtils]: 30: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-28 04:41:02,723 INFO L290 TraceCheckUtils]: 31: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-28 04:41:02,723 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3996#true} {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:41:02,724 INFO L290 TraceCheckUtils]: 33: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-28 04:41:02,724 INFO L290 TraceCheckUtils]: 34: Hoare triple {4084#(and (<= main_~X~0 2) (= (+ (- 1) main_~y~0) 0) (<= 1 main_~x~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {4109#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= 1 main_~x~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)))} is VALID [2022-04-28 04:41:02,725 INFO L290 TraceCheckUtils]: 35: Hoare triple {4109#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (<= 1 main_~x~0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-28 04:41:02,726 INFO L290 TraceCheckUtils]: 36: Hoare triple {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-28 04:41:02,726 INFO L272 TraceCheckUtils]: 37: Hoare triple {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3996#true} is VALID [2022-04-28 04:41:02,726 INFO L290 TraceCheckUtils]: 38: Hoare triple {3996#true} ~cond := #in~cond; {3996#true} is VALID [2022-04-28 04:41:02,726 INFO L290 TraceCheckUtils]: 39: Hoare triple {3996#true} assume !(0 == ~cond); {3996#true} is VALID [2022-04-28 04:41:02,726 INFO L290 TraceCheckUtils]: 40: Hoare triple {3996#true} assume true; {3996#true} is VALID [2022-04-28 04:41:02,726 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3996#true} {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} #65#return; {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-28 04:41:02,727 INFO L290 TraceCheckUtils]: 42: Hoare triple {4113#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} assume !!(~x~0 <= ~X~0); {4135#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} is VALID [2022-04-28 04:41:02,728 INFO L290 TraceCheckUtils]: 43: Hoare triple {4135#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= 2 main_~x~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4139#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 2 main_~x~0) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-28 04:41:02,728 INFO L290 TraceCheckUtils]: 44: Hoare triple {4139#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= main_~x~0 main_~X~0) (<= 2 main_~x~0) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4143#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 3 main_~x~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:41:02,730 INFO L290 TraceCheckUtils]: 45: Hoare triple {4143#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= 3 main_~x~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4147#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~xy~0 (* main_~X~0 2)) (<= 3 (div main_~yx~0 main_~Y~0)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= (div main_~yx~0 main_~Y~0) (+ main_~X~0 1)))} is VALID [2022-04-28 04:41:02,732 INFO L272 TraceCheckUtils]: 46: Hoare triple {4147#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= main_~X~0 2) (= main_~xy~0 (* main_~X~0 2)) (<= 3 (div main_~yx~0 main_~Y~0)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (<= (div main_~yx~0 main_~Y~0) (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4151#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:41:02,732 INFO L290 TraceCheckUtils]: 47: Hoare triple {4151#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4155#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:02,732 INFO L290 TraceCheckUtils]: 48: Hoare triple {4155#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3997#false} is VALID [2022-04-28 04:41:02,733 INFO L290 TraceCheckUtils]: 49: Hoare triple {3997#false} assume !false; {3997#false} is VALID [2022-04-28 04:41:02,733 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 6 proven. 24 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 04:41:02,733 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:41:11,881 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:41:11,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1483422104] [2022-04-28 04:41:11,881 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:41:11,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1419079534] [2022-04-28 04:41:11,881 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1419079534] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:41:11,881 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 04:41:11,881 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-28 04:41:11,881 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:41:11,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1237702600] [2022-04-28 04:41:11,881 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1237702600] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:41:11,881 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:41:11,881 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 04:41:11,882 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2064400448] [2022-04-28 04:41:11,882 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:41:11,882 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 04:41:11,882 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:41:11,882 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:41:11,919 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:41:11,919 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 04:41:11,919 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:11,919 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 04:41:11,920 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=423, Unknown=0, NotChecked=0, Total=506 [2022-04-28 04:41:11,920 INFO L87 Difference]: Start difference. First operand 53 states and 57 transitions. Second operand has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:41:12,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:12,767 INFO L93 Difference]: Finished difference Result 81 states and 90 transitions. [2022-04-28 04:41:12,767 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 04:41:12,767 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 04:41:12,768 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:41:12,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:41:12,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 75 transitions. [2022-04-28 04:41:12,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:41:12,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 75 transitions. [2022-04-28 04:41:12,770 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 75 transitions. [2022-04-28 04:41:12,831 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:41:12,832 INFO L225 Difference]: With dead ends: 81 [2022-04-28 04:41:12,832 INFO L226 Difference]: Without dead ends: 68 [2022-04-28 04:41:12,832 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 45 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 139 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=102, Invalid=548, Unknown=0, NotChecked=0, Total=650 [2022-04-28 04:41:12,832 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 28 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 303 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 320 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 303 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:41:12,833 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 116 Invalid, 320 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 303 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 04:41:12,833 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-04-28 04:41:12,951 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 66. [2022-04-28 04:41:12,951 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:41:12,951 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:41:12,951 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:41:12,952 INFO L87 Difference]: Start difference. First operand 68 states. Second operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:41:12,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:12,953 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-28 04:41:12,953 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-28 04:41:12,953 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:12,953 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:12,954 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 68 states. [2022-04-28 04:41:12,955 INFO L87 Difference]: Start difference. First operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 68 states. [2022-04-28 04:41:12,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:41:12,956 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-28 04:41:12,956 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-28 04:41:12,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:41:12,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:41:12,956 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:41:12,956 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:41:12,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 47 states have (on average 1.0851063829787233) internal successors, (51), 48 states have internal predecessors, (51), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:41:12,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 71 transitions. [2022-04-28 04:41:12,960 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 71 transitions. Word has length 50 [2022-04-28 04:41:12,960 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:41:12,960 INFO L495 AbstractCegarLoop]: Abstraction has 66 states and 71 transitions. [2022-04-28 04:41:12,960 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.0) internal successors, (30), 15 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:41:12,960 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 71 transitions. [2022-04-28 04:41:13,059 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:41:13,059 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 71 transitions. [2022-04-28 04:41:13,060 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:41:13,060 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:41:13,060 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:13,075 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:13,275 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:13,275 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:41:13,276 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:41:13,276 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 5 times [2022-04-28 04:41:13,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:13,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2139645979] [2022-04-28 04:41:13,276 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:41:13,276 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 6 times [2022-04-28 04:41:13,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:41:13,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [446753348] [2022-04-28 04:41:13,276 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:41:13,276 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:41:13,285 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:41:13,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [754884056] [2022-04-28 04:41:13,285 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:41:13,285 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:41:13,285 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:41:13,286 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:13,292 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:13,339 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 04:41:13,339 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:41:13,341 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-28 04:41:13,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:41:13,357 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:41:17,995 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:41:30,554 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:41:34,628 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:41:44,817 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:41:50,834 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:41:54,126 INFO L272 TraceCheckUtils]: 0: Hoare triple {4658#true} call ULTIMATE.init(); {4658#true} is VALID [2022-04-28 04:41:54,126 INFO L290 TraceCheckUtils]: 1: Hoare triple {4658#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {4658#true} is VALID [2022-04-28 04:41:54,126 INFO L290 TraceCheckUtils]: 2: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-28 04:41:54,126 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4658#true} {4658#true} #69#return; {4658#true} is VALID [2022-04-28 04:41:54,126 INFO L272 TraceCheckUtils]: 4: Hoare triple {4658#true} call #t~ret8 := main(); {4658#true} is VALID [2022-04-28 04:41:54,127 INFO L290 TraceCheckUtils]: 5: Hoare triple {4658#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4658#true} is VALID [2022-04-28 04:41:54,127 INFO L272 TraceCheckUtils]: 6: Hoare triple {4658#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-28 04:41:54,127 INFO L290 TraceCheckUtils]: 7: Hoare triple {4658#true} ~cond := #in~cond; {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:41:54,127 INFO L290 TraceCheckUtils]: 8: Hoare triple {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:41:54,127 INFO L290 TraceCheckUtils]: 9: Hoare triple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:41:54,128 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} {4658#true} #61#return; {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:41:54,128 INFO L290 TraceCheckUtils]: 11: Hoare triple {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:41:54,128 INFO L272 TraceCheckUtils]: 12: Hoare triple {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-28 04:41:54,129 INFO L290 TraceCheckUtils]: 13: Hoare triple {4658#true} ~cond := #in~cond; {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:41:54,129 INFO L290 TraceCheckUtils]: 14: Hoare triple {4684#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:41:54,129 INFO L290 TraceCheckUtils]: 15: Hoare triple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4688#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:41:54,130 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4688#(not (= |assume_abort_if_not_#in~cond| 0))} {4695#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {4714#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,130 INFO L290 TraceCheckUtils]: 17: Hoare triple {4714#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,130 INFO L290 TraceCheckUtils]: 18: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,131 INFO L272 TraceCheckUtils]: 19: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-28 04:41:54,131 INFO L290 TraceCheckUtils]: 20: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-28 04:41:54,131 INFO L290 TraceCheckUtils]: 21: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-28 04:41:54,131 INFO L290 TraceCheckUtils]: 22: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-28 04:41:54,131 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4658#true} {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} #65#return; {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,132 INFO L290 TraceCheckUtils]: 24: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,132 INFO L290 TraceCheckUtils]: 25: Hoare triple {4718#(and (<= main_~X~0 2) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4743#(and (<= main_~X~0 2) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,133 INFO L290 TraceCheckUtils]: 26: Hoare triple {4743#(and (<= main_~X~0 2) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4747#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,133 INFO L290 TraceCheckUtils]: 27: Hoare triple {4747#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4751#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,133 INFO L272 TraceCheckUtils]: 28: Hoare triple {4751#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-28 04:41:54,134 INFO L290 TraceCheckUtils]: 29: Hoare triple {4658#true} ~cond := #in~cond; {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:54,134 INFO L290 TraceCheckUtils]: 30: Hoare triple {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:54,134 INFO L290 TraceCheckUtils]: 31: Hoare triple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:54,135 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} {4751#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~Y~0 2))} #65#return; {4769#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,136 INFO L290 TraceCheckUtils]: 33: Hoare triple {4769#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {4769#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,137 INFO L290 TraceCheckUtils]: 34: Hoare triple {4769#(and (<= main_~X~0 2) (<= 1 main_~x~0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4776#(and (= main_~y~0 2) (<= 1 main_~x~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~X~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,137 INFO L290 TraceCheckUtils]: 35: Hoare triple {4776#(and (= main_~y~0 2) (<= 1 main_~x~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~X~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2))) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4780#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,138 INFO L290 TraceCheckUtils]: 36: Hoare triple {4780#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4784#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,138 INFO L272 TraceCheckUtils]: 37: Hoare triple {4784#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-28 04:41:54,138 INFO L290 TraceCheckUtils]: 38: Hoare triple {4658#true} ~cond := #in~cond; {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:54,138 INFO L290 TraceCheckUtils]: 39: Hoare triple {4758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:54,139 INFO L290 TraceCheckUtils]: 40: Hoare triple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:54,140 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} {4784#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} #65#return; {4800#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,140 INFO L290 TraceCheckUtils]: 42: Hoare triple {4800#(and (= main_~y~0 2) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (<= 0 main_~X~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {4804#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,142 INFO L290 TraceCheckUtils]: 43: Hoare triple {4804#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 2 main_~x~0) (= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 6)) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4808#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,143 INFO L290 TraceCheckUtils]: 44: Hoare triple {4808#(and (<= main_~x~0 main_~X~0) (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 2 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4812#(and (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 3 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (<= main_~x~0 (+ main_~X~0 1)) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,148 INFO L290 TraceCheckUtils]: 45: Hoare triple {4812#(and (<= (* main_~X~0 3) (* main_~Y~0 4)) (<= 3 main_~x~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (<= main_~x~0 (+ main_~X~0 1)) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 (+ (- 1) main_~y~0)) 2) (* main_~Y~0 6) (* main_~X~0 (- 4)))) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4816#(and (<= (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) (+ main_~X~0 1)) (<= 3 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0)) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (* (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (mod main_~xy~0 main_~X~0) 0) (<= main_~Y~0 2))} is VALID [2022-04-28 04:41:54,150 INFO L272 TraceCheckUtils]: 46: Hoare triple {4816#(and (<= (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) (+ main_~X~0 1)) (<= 3 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0)) (<= (* main_~X~0 3) (* main_~Y~0 4)) (= (* (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= (+ (* main_~Y~0 8) (* main_~X~0 (- 7))) main_~v~0) (= (mod main_~xy~0 main_~X~0) 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4820#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:41:54,151 INFO L290 TraceCheckUtils]: 47: Hoare triple {4820#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:54,151 INFO L290 TraceCheckUtils]: 48: Hoare triple {4824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4659#false} is VALID [2022-04-28 04:41:54,151 INFO L290 TraceCheckUtils]: 49: Hoare triple {4659#false} assume !false; {4659#false} is VALID [2022-04-28 04:41:54,151 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:41:54,151 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:41:58,820 INFO L290 TraceCheckUtils]: 49: Hoare triple {4659#false} assume !false; {4659#false} is VALID [2022-04-28 04:41:58,821 INFO L290 TraceCheckUtils]: 48: Hoare triple {4824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4659#false} is VALID [2022-04-28 04:41:58,821 INFO L290 TraceCheckUtils]: 47: Hoare triple {4820#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:41:58,822 INFO L272 TraceCheckUtils]: 46: Hoare triple {4840#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4820#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:41:58,822 INFO L290 TraceCheckUtils]: 45: Hoare triple {4844#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4840#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-28 04:41:58,824 INFO L290 TraceCheckUtils]: 44: Hoare triple {4848#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4844#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:41:58,825 INFO L290 TraceCheckUtils]: 43: Hoare triple {4844#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4848#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-28 04:41:58,826 INFO L290 TraceCheckUtils]: 42: Hoare triple {4855#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {4844#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:41:58,826 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} {4859#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {4855#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:41:58,827 INFO L290 TraceCheckUtils]: 40: Hoare triple {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:58,827 INFO L290 TraceCheckUtils]: 39: Hoare triple {4869#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:41:58,827 INFO L290 TraceCheckUtils]: 38: Hoare triple {4658#true} ~cond := #in~cond; {4869#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:41:58,827 INFO L272 TraceCheckUtils]: 37: Hoare triple {4859#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-28 04:41:58,828 INFO L290 TraceCheckUtils]: 36: Hoare triple {4658#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4859#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:41:58,828 INFO L290 TraceCheckUtils]: 35: Hoare triple {4658#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4658#true} is VALID [2022-04-28 04:41:58,828 INFO L290 TraceCheckUtils]: 34: Hoare triple {4658#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4658#true} is VALID [2022-04-28 04:41:58,828 INFO L290 TraceCheckUtils]: 33: Hoare triple {4658#true} assume !!(~x~0 <= ~X~0); {4658#true} is VALID [2022-04-28 04:41:58,828 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4658#true} {4658#true} #65#return; {4658#true} is VALID [2022-04-28 04:41:58,828 INFO L290 TraceCheckUtils]: 31: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-28 04:41:58,828 INFO L290 TraceCheckUtils]: 30: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-28 04:41:58,828 INFO L290 TraceCheckUtils]: 29: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-28 04:41:58,828 INFO L272 TraceCheckUtils]: 28: Hoare triple {4658#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L290 TraceCheckUtils]: 27: Hoare triple {4658#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L290 TraceCheckUtils]: 26: Hoare triple {4658#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L290 TraceCheckUtils]: 25: Hoare triple {4658#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L290 TraceCheckUtils]: 24: Hoare triple {4658#true} assume !!(~x~0 <= ~X~0); {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4658#true} {4658#true} #65#return; {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L290 TraceCheckUtils]: 22: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L290 TraceCheckUtils]: 21: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L290 TraceCheckUtils]: 20: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L272 TraceCheckUtils]: 19: Hoare triple {4658#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L290 TraceCheckUtils]: 18: Hoare triple {4658#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L290 TraceCheckUtils]: 17: Hoare triple {4658#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4658#true} {4658#true} #63#return; {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L290 TraceCheckUtils]: 15: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L290 TraceCheckUtils]: 14: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L290 TraceCheckUtils]: 13: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L272 TraceCheckUtils]: 12: Hoare triple {4658#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-28 04:41:58,829 INFO L290 TraceCheckUtils]: 11: Hoare triple {4658#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4658#true} is VALID [2022-04-28 04:41:58,830 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4658#true} {4658#true} #61#return; {4658#true} is VALID [2022-04-28 04:41:58,830 INFO L290 TraceCheckUtils]: 9: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-28 04:41:58,830 INFO L290 TraceCheckUtils]: 8: Hoare triple {4658#true} assume !(0 == ~cond); {4658#true} is VALID [2022-04-28 04:41:58,830 INFO L290 TraceCheckUtils]: 7: Hoare triple {4658#true} ~cond := #in~cond; {4658#true} is VALID [2022-04-28 04:41:58,830 INFO L272 TraceCheckUtils]: 6: Hoare triple {4658#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {4658#true} is VALID [2022-04-28 04:41:58,830 INFO L290 TraceCheckUtils]: 5: Hoare triple {4658#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4658#true} is VALID [2022-04-28 04:41:58,830 INFO L272 TraceCheckUtils]: 4: Hoare triple {4658#true} call #t~ret8 := main(); {4658#true} is VALID [2022-04-28 04:41:58,830 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4658#true} {4658#true} #69#return; {4658#true} is VALID [2022-04-28 04:41:58,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {4658#true} assume true; {4658#true} is VALID [2022-04-28 04:41:58,830 INFO L290 TraceCheckUtils]: 1: Hoare triple {4658#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {4658#true} is VALID [2022-04-28 04:41:58,830 INFO L272 TraceCheckUtils]: 0: Hoare triple {4658#true} call ULTIMATE.init(); {4658#true} is VALID [2022-04-28 04:41:58,830 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:58,830 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:41:58,830 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [446753348] [2022-04-28 04:41:58,831 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:41:58,831 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [754884056] [2022-04-28 04:41:58,831 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [754884056] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:41:58,831 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:41:58,831 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 11] total 29 [2022-04-28 04:41:58,831 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:41:58,831 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2139645979] [2022-04-28 04:41:58,831 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2139645979] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:41:58,831 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:41:58,831 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 04:41:58,831 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1262101361] [2022-04-28 04:41:58,831 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:41:58,832 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 04:41:58,832 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:41:58,832 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:41:58,879 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:41:58,879 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 04:41:58,880 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:41:58,880 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 04:41:58,880 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=119, Invalid=693, Unknown=0, NotChecked=0, Total=812 [2022-04-28 04:41:58,883 INFO L87 Difference]: Start difference. First operand 66 states and 71 transitions. Second operand has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:42:01,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:42:01,121 INFO L93 Difference]: Finished difference Result 88 states and 93 transitions. [2022-04-28 04:42:01,121 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 04:42:01,122 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 04:42:01,122 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:42:01,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:42:01,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 74 transitions. [2022-04-28 04:42:01,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:42:01,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 74 transitions. [2022-04-28 04:42:01,124 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 74 transitions. [2022-04-28 04:42:01,195 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:42:01,196 INFO L225 Difference]: With dead ends: 88 [2022-04-28 04:42:01,196 INFO L226 Difference]: Without dead ends: 73 [2022-04-28 04:42:01,197 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 70 SyntacticMatches, 2 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 285 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=181, Invalid=1079, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 04:42:01,197 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 32 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 539 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 159 SdHoareTripleChecker+Invalid, 559 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 539 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:42:01,197 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [34 Valid, 159 Invalid, 559 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 539 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 04:42:01,198 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-28 04:42:01,294 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 54. [2022-04-28 04:42:01,294 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:42:01,294 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:42:01,294 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:42:01,294 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:42:01,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:42:01,295 INFO L93 Difference]: Finished difference Result 73 states and 74 transitions. [2022-04-28 04:42:01,295 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 74 transitions. [2022-04-28 04:42:01,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:42:01,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:42:01,296 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 73 states. [2022-04-28 04:42:01,296 INFO L87 Difference]: Start difference. First operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 73 states. [2022-04-28 04:42:01,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:42:01,297 INFO L93 Difference]: Finished difference Result 73 states and 74 transitions. [2022-04-28 04:42:01,297 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 74 transitions. [2022-04-28 04:42:01,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:42:01,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:42:01,297 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:42:01,297 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:42:01,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 38 states have (on average 1.0263157894736843) internal successors, (39), 38 states have internal predecessors, (39), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:42:01,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 55 transitions. [2022-04-28 04:42:01,298 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 55 transitions. Word has length 50 [2022-04-28 04:42:01,298 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:42:01,298 INFO L495 AbstractCegarLoop]: Abstraction has 54 states and 55 transitions. [2022-04-28 04:42:01,298 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 20 states have (on average 1.5) internal successors, (30), 20 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 04:42:01,298 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 55 transitions. [2022-04-28 04:42:01,398 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:42:01,398 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 55 transitions. [2022-04-28 04:42:01,399 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 04:42:01,399 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:42:01,399 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:42:01,414 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:42:01,599 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:42:01,599 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:42:01,599 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:42:01,599 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 1 times [2022-04-28 04:42:01,599 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:42:01,600 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1938481051] [2022-04-28 04:42:01,600 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:42:01,600 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 2 times [2022-04-28 04:42:01,600 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:42:01,600 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [764519762] [2022-04-28 04:42:01,600 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:42:01,600 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:42:01,609 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:42:01,610 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1778142695] [2022-04-28 04:42:01,610 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:42:01,610 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:42:01,610 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:42:01,628 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:42:01,628 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:42:01,671 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:42:01,671 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:42:01,672 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 04:42:01,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:42:01,686 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:42:02,487 INFO L272 TraceCheckUtils]: 0: Hoare triple {5430#true} call ULTIMATE.init(); {5430#true} is VALID [2022-04-28 04:42:02,487 INFO L290 TraceCheckUtils]: 1: Hoare triple {5430#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {5430#true} is VALID [2022-04-28 04:42:02,487 INFO L290 TraceCheckUtils]: 2: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 04:42:02,487 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5430#true} {5430#true} #69#return; {5430#true} is VALID [2022-04-28 04:42:02,487 INFO L272 TraceCheckUtils]: 4: Hoare triple {5430#true} call #t~ret8 := main(); {5430#true} is VALID [2022-04-28 04:42:02,487 INFO L290 TraceCheckUtils]: 5: Hoare triple {5430#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {5430#true} is VALID [2022-04-28 04:42:02,487 INFO L272 TraceCheckUtils]: 6: Hoare triple {5430#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {5430#true} is VALID [2022-04-28 04:42:02,488 INFO L290 TraceCheckUtils]: 7: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 04:42:02,488 INFO L290 TraceCheckUtils]: 8: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 04:42:02,488 INFO L290 TraceCheckUtils]: 9: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 04:42:02,488 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5430#true} {5430#true} #61#return; {5430#true} is VALID [2022-04-28 04:42:02,488 INFO L290 TraceCheckUtils]: 11: Hoare triple {5430#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5430#true} is VALID [2022-04-28 04:42:02,488 INFO L272 TraceCheckUtils]: 12: Hoare triple {5430#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {5430#true} is VALID [2022-04-28 04:42:02,488 INFO L290 TraceCheckUtils]: 13: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 04:42:02,488 INFO L290 TraceCheckUtils]: 14: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 04:42:02,488 INFO L290 TraceCheckUtils]: 15: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 04:42:02,488 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5430#true} {5430#true} #63#return; {5430#true} is VALID [2022-04-28 04:42:02,503 INFO L290 TraceCheckUtils]: 17: Hoare triple {5430#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:42:02,504 INFO L290 TraceCheckUtils]: 18: Hoare triple {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:42:02,504 INFO L272 TraceCheckUtils]: 19: Hoare triple {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 04:42:02,504 INFO L290 TraceCheckUtils]: 20: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 04:42:02,504 INFO L290 TraceCheckUtils]: 21: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 04:42:02,504 INFO L290 TraceCheckUtils]: 22: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 04:42:02,504 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5430#true} {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:42:02,505 INFO L290 TraceCheckUtils]: 24: Hoare triple {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-28 04:42:02,506 INFO L290 TraceCheckUtils]: 25: Hoare triple {5486#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5511#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:42:02,506 INFO L290 TraceCheckUtils]: 26: Hoare triple {5511#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:42:02,506 INFO L290 TraceCheckUtils]: 27: Hoare triple {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:42:02,506 INFO L272 TraceCheckUtils]: 28: Hoare triple {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 04:42:02,507 INFO L290 TraceCheckUtils]: 29: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 04:42:02,507 INFO L290 TraceCheckUtils]: 30: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 04:42:02,507 INFO L290 TraceCheckUtils]: 31: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 04:42:02,507 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5430#true} {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #65#return; {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:42:02,508 INFO L290 TraceCheckUtils]: 33: Hoare triple {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-28 04:42:02,508 INFO L290 TraceCheckUtils]: 34: Hoare triple {5515#(and (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5540#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1))} is VALID [2022-04-28 04:42:02,509 INFO L290 TraceCheckUtils]: 35: Hoare triple {5540#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-28 04:42:02,509 INFO L290 TraceCheckUtils]: 36: Hoare triple {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-28 04:42:02,509 INFO L272 TraceCheckUtils]: 37: Hoare triple {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 04:42:02,509 INFO L290 TraceCheckUtils]: 38: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 04:42:02,509 INFO L290 TraceCheckUtils]: 39: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 04:42:02,509 INFO L290 TraceCheckUtils]: 40: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 04:42:02,510 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5430#true} {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} #65#return; {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-28 04:42:02,510 INFO L290 TraceCheckUtils]: 42: Hoare triple {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} assume !!(~x~0 <= ~X~0); {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} is VALID [2022-04-28 04:42:02,511 INFO L290 TraceCheckUtils]: 43: Hoare triple {5544#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 6)) (= (+ (- 1) main_~y~0) 0) (not (< (* main_~Y~0 2) main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5569#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2))} is VALID [2022-04-28 04:42:02,512 INFO L290 TraceCheckUtils]: 44: Hoare triple {5569#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5573#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-28 04:42:02,512 INFO L290 TraceCheckUtils]: 45: Hoare triple {5573#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5573#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-28 04:42:02,512 INFO L272 TraceCheckUtils]: 46: Hoare triple {5573#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 04:42:02,512 INFO L290 TraceCheckUtils]: 47: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 04:42:02,512 INFO L290 TraceCheckUtils]: 48: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 04:42:02,512 INFO L290 TraceCheckUtils]: 49: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 04:42:02,513 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5430#true} {5573#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} #65#return; {5573#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-28 04:42:02,513 INFO L290 TraceCheckUtils]: 51: Hoare triple {5573#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} assume !(~x~0 <= ~X~0); {5595#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:42:02,514 INFO L290 TraceCheckUtils]: 52: Hoare triple {5595#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= main_~x~0 3) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5599#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= (* main_~Y~0 3) main_~yx~0) (= main_~xy~0 (* main_~y~0 3)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= 3 main_~X~0)))} is VALID [2022-04-28 04:42:02,515 INFO L272 TraceCheckUtils]: 53: Hoare triple {5599#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~y~0 2) (= (* main_~Y~0 3) main_~yx~0) (= main_~xy~0 (* main_~y~0 3)) (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))) (not (<= 3 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5603#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:42:02,515 INFO L290 TraceCheckUtils]: 54: Hoare triple {5603#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5607#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:42:02,516 INFO L290 TraceCheckUtils]: 55: Hoare triple {5607#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5431#false} is VALID [2022-04-28 04:42:02,516 INFO L290 TraceCheckUtils]: 56: Hoare triple {5431#false} assume !false; {5431#false} is VALID [2022-04-28 04:42:02,516 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:42:02,516 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:42:03,588 INFO L290 TraceCheckUtils]: 56: Hoare triple {5431#false} assume !false; {5431#false} is VALID [2022-04-28 04:42:03,589 INFO L290 TraceCheckUtils]: 55: Hoare triple {5607#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5431#false} is VALID [2022-04-28 04:42:03,589 INFO L290 TraceCheckUtils]: 54: Hoare triple {5603#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5607#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:42:03,590 INFO L272 TraceCheckUtils]: 53: Hoare triple {5623#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5603#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:42:03,590 INFO L290 TraceCheckUtils]: 52: Hoare triple {5627#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5623#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:42:03,591 INFO L290 TraceCheckUtils]: 51: Hoare triple {5631#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {5627#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 04:42:03,591 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5430#true} {5631#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {5631#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:42:03,591 INFO L290 TraceCheckUtils]: 49: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 04:42:03,592 INFO L290 TraceCheckUtils]: 48: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 04:42:03,592 INFO L290 TraceCheckUtils]: 47: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 04:42:03,592 INFO L272 TraceCheckUtils]: 46: Hoare triple {5631#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 04:42:03,592 INFO L290 TraceCheckUtils]: 45: Hoare triple {5631#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5631#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:42:03,595 INFO L290 TraceCheckUtils]: 44: Hoare triple {5653#(or (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5631#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:42:03,598 INFO L290 TraceCheckUtils]: 43: Hoare triple {5657#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5653#(or (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-28 04:42:03,599 INFO L290 TraceCheckUtils]: 42: Hoare triple {5661#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {5657#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-28 04:42:03,599 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5430#true} {5661#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {5661#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:42:03,599 INFO L290 TraceCheckUtils]: 40: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 04:42:03,599 INFO L290 TraceCheckUtils]: 39: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 04:42:03,599 INFO L290 TraceCheckUtils]: 38: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 04:42:03,600 INFO L272 TraceCheckUtils]: 37: Hoare triple {5661#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 04:42:03,600 INFO L290 TraceCheckUtils]: 36: Hoare triple {5661#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5661#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:42:03,602 INFO L290 TraceCheckUtils]: 35: Hoare triple {5683#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5661#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-28 04:42:03,603 INFO L290 TraceCheckUtils]: 34: Hoare triple {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5683#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 04:42:03,604 INFO L290 TraceCheckUtils]: 33: Hoare triple {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !!(~x~0 <= ~X~0); {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 04:42:03,604 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5430#true} {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} #65#return; {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 04:42:03,604 INFO L290 TraceCheckUtils]: 31: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 04:42:03,604 INFO L290 TraceCheckUtils]: 30: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 04:42:03,604 INFO L290 TraceCheckUtils]: 29: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 04:42:03,604 INFO L272 TraceCheckUtils]: 28: Hoare triple {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 04:42:03,605 INFO L290 TraceCheckUtils]: 27: Hoare triple {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 04:42:03,608 INFO L290 TraceCheckUtils]: 26: Hoare triple {5712#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 4 (* main_~y~0 4)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 4 (* main_~y~0 4)) (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0)))))) (not (<= (+ main_~x~0 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5687#(or (<= (+ main_~x~0 2) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 2 (* main_~y~0 2)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 2 (* main_~y~0 2)) (+ main_~X~0 (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-28 04:42:03,610 INFO L290 TraceCheckUtils]: 25: Hoare triple {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5712#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0) (and (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) 4 (* main_~y~0 4)))) (or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (<= (+ (* main_~x~0 2) (* 2 (* main_~y~0 main_~x~0)) main_~v~0 4 (* main_~y~0 4)) (+ main_~X~0 (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0)))))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 04:42:03,611 INFO L290 TraceCheckUtils]: 24: Hoare triple {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !!(~x~0 <= ~X~0); {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 04:42:03,612 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5430#true} {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} #65#return; {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 04:42:03,612 INFO L290 TraceCheckUtils]: 22: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 04:42:03,612 INFO L290 TraceCheckUtils]: 21: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 04:42:03,612 INFO L290 TraceCheckUtils]: 20: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 04:42:03,612 INFO L272 TraceCheckUtils]: 19: Hoare triple {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5430#true} is VALID [2022-04-28 04:42:03,613 INFO L290 TraceCheckUtils]: 18: Hoare triple {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 04:42:03,614 INFO L290 TraceCheckUtils]: 17: Hoare triple {5430#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5716#(or (and (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ (* 2 (* main_~y~0 main_~x~0)) main_~v~0 (* main_~x~0 4) 8 (* main_~y~0 4)) (+ (* main_~Y~0 2) (* main_~X~0 3) (* 2 (* main_~Y~0 main_~x~0))))) (or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (<= (+ main_~X~0 (* main_~Y~0 6) (* 2 (* main_~Y~0 main_~x~0))) (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~x~0 4) 8 (* main_~y~0 4))))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-28 04:42:03,614 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5430#true} {5430#true} #63#return; {5430#true} is VALID [2022-04-28 04:42:03,614 INFO L290 TraceCheckUtils]: 15: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 04:42:03,614 INFO L290 TraceCheckUtils]: 14: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 04:42:03,614 INFO L290 TraceCheckUtils]: 13: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 04:42:03,614 INFO L272 TraceCheckUtils]: 12: Hoare triple {5430#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {5430#true} is VALID [2022-04-28 04:42:03,614 INFO L290 TraceCheckUtils]: 11: Hoare triple {5430#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5430#true} is VALID [2022-04-28 04:42:03,615 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5430#true} {5430#true} #61#return; {5430#true} is VALID [2022-04-28 04:42:03,615 INFO L290 TraceCheckUtils]: 9: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 04:42:03,615 INFO L290 TraceCheckUtils]: 8: Hoare triple {5430#true} assume !(0 == ~cond); {5430#true} is VALID [2022-04-28 04:42:03,615 INFO L290 TraceCheckUtils]: 7: Hoare triple {5430#true} ~cond := #in~cond; {5430#true} is VALID [2022-04-28 04:42:03,615 INFO L272 TraceCheckUtils]: 6: Hoare triple {5430#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {5430#true} is VALID [2022-04-28 04:42:03,615 INFO L290 TraceCheckUtils]: 5: Hoare triple {5430#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {5430#true} is VALID [2022-04-28 04:42:03,615 INFO L272 TraceCheckUtils]: 4: Hoare triple {5430#true} call #t~ret8 := main(); {5430#true} is VALID [2022-04-28 04:42:03,615 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5430#true} {5430#true} #69#return; {5430#true} is VALID [2022-04-28 04:42:03,615 INFO L290 TraceCheckUtils]: 2: Hoare triple {5430#true} assume true; {5430#true} is VALID [2022-04-28 04:42:03,615 INFO L290 TraceCheckUtils]: 1: Hoare triple {5430#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {5430#true} is VALID [2022-04-28 04:42:03,615 INFO L272 TraceCheckUtils]: 0: Hoare triple {5430#true} call ULTIMATE.init(); {5430#true} is VALID [2022-04-28 04:42:03,615 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:42:03,616 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:42:03,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [764519762] [2022-04-28 04:42:03,616 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:42:03,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1778142695] [2022-04-28 04:42:03,616 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1778142695] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:42:03,616 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:42:03,616 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 23 [2022-04-28 04:42:03,616 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:42:03,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1938481051] [2022-04-28 04:42:03,616 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1938481051] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:42:03,616 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:42:03,616 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 04:42:03,616 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1218746379] [2022-04-28 04:42:03,616 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:42:03,617 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-28 04:42:03,617 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:42:03,617 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 04:42:03,652 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:42:03,652 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 04:42:03,652 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:42:03,652 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 04:42:03,652 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=415, Unknown=0, NotChecked=0, Total=506 [2022-04-28 04:42:03,652 INFO L87 Difference]: Start difference. First operand 54 states and 55 transitions. Second operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 04:42:04,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:42:04,588 INFO L93 Difference]: Finished difference Result 69 states and 71 transitions. [2022-04-28 04:42:04,588 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 04:42:04,588 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-28 04:42:04,588 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:42:04,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 04:42:04,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-28 04:42:04,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 04:42:04,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-28 04:42:04,590 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 57 transitions. [2022-04-28 04:42:04,633 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:42:04,634 INFO L225 Difference]: With dead ends: 69 [2022-04-28 04:42:04,634 INFO L226 Difference]: Without dead ends: 54 [2022-04-28 04:42:04,634 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 90 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=109, Invalid=491, Unknown=0, NotChecked=0, Total=600 [2022-04-28 04:42:04,635 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 4 mSDsluCounter, 179 mSDsCounter, 0 mSdLazyCounter, 317 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 212 SdHoareTripleChecker+Invalid, 317 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 317 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:42:04,635 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [4 Valid, 212 Invalid, 317 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 317 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 04:42:04,635 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-28 04:42:04,735 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2022-04-28 04:42:04,735 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:42:04,735 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:42:04,736 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:42:04,736 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:42:04,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:42:04,737 INFO L93 Difference]: Finished difference Result 54 states and 54 transitions. [2022-04-28 04:42:04,737 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 54 transitions. [2022-04-28 04:42:04,737 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:42:04,737 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:42:04,737 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-28 04:42:04,737 INFO L87 Difference]: Start difference. First operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-28 04:42:04,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:42:04,738 INFO L93 Difference]: Finished difference Result 54 states and 54 transitions. [2022-04-28 04:42:04,738 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 54 transitions. [2022-04-28 04:42:04,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:42:04,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:42:04,738 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:42:04,738 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:42:04,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 38 states have (on average 1.0) internal successors, (38), 38 states have internal predecessors, (38), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 04:42:04,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 54 transitions. [2022-04-28 04:42:04,739 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 54 transitions. Word has length 57 [2022-04-28 04:42:04,739 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:42:04,739 INFO L495 AbstractCegarLoop]: Abstraction has 54 states and 54 transitions. [2022-04-28 04:42:04,739 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 04:42:04,739 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 54 transitions. [2022-04-28 04:42:04,837 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:42:04,837 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 54 transitions. [2022-04-28 04:42:04,838 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 04:42:04,838 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:42:04,838 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:42:04,854 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 04:42:05,038 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:42:05,038 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:42:05,039 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:42:05,039 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 5 times [2022-04-28 04:42:05,039 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:42:05,039 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [114079558] [2022-04-28 04:42:05,039 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:42:05,039 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 6 times [2022-04-28 04:42:05,039 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:42:05,039 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [309509583] [2022-04-28 04:42:05,039 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:42:05,039 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:42:05,055 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:42:05,055 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [544457614] [2022-04-28 04:42:05,055 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:42:05,055 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:42:05,055 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:42:05,056 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:42:05,057 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:42:05,125 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 04:42:05,125 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:42:05,126 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 04:42:05,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:42:05,140 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:42:26,887 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:42:34,924 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:42:39,459 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 04:43:34,887 INFO L272 TraceCheckUtils]: 0: Hoare triple {6152#true} call ULTIMATE.init(); {6152#true} is VALID [2022-04-28 04:43:34,887 INFO L290 TraceCheckUtils]: 1: Hoare triple {6152#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {6152#true} is VALID [2022-04-28 04:43:34,887 INFO L290 TraceCheckUtils]: 2: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 04:43:34,887 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6152#true} {6152#true} #69#return; {6152#true} is VALID [2022-04-28 04:43:34,887 INFO L272 TraceCheckUtils]: 4: Hoare triple {6152#true} call #t~ret8 := main(); {6152#true} is VALID [2022-04-28 04:43:34,887 INFO L290 TraceCheckUtils]: 5: Hoare triple {6152#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {6152#true} is VALID [2022-04-28 04:43:34,887 INFO L272 TraceCheckUtils]: 6: Hoare triple {6152#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {6152#true} is VALID [2022-04-28 04:43:34,888 INFO L290 TraceCheckUtils]: 7: Hoare triple {6152#true} ~cond := #in~cond; {6178#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:43:34,888 INFO L290 TraceCheckUtils]: 8: Hoare triple {6178#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6182#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:43:34,888 INFO L290 TraceCheckUtils]: 9: Hoare triple {6182#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6182#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:43:34,889 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6182#(not (= |assume_abort_if_not_#in~cond| 0))} {6152#true} #61#return; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,889 INFO L290 TraceCheckUtils]: 11: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,889 INFO L272 TraceCheckUtils]: 12: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {6152#true} is VALID [2022-04-28 04:43:34,889 INFO L290 TraceCheckUtils]: 13: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 04:43:34,889 INFO L290 TraceCheckUtils]: 14: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 04:43:34,890 INFO L290 TraceCheckUtils]: 15: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 04:43:34,890 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6152#true} {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,891 INFO L290 TraceCheckUtils]: 17: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6211#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,891 INFO L290 TraceCheckUtils]: 18: Hoare triple {6211#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6211#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,891 INFO L272 TraceCheckUtils]: 19: Hoare triple {6211#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 04:43:34,891 INFO L290 TraceCheckUtils]: 20: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 04:43:34,891 INFO L290 TraceCheckUtils]: 21: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 04:43:34,892 INFO L290 TraceCheckUtils]: 22: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 04:43:34,892 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6152#true} {6211#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} #65#return; {6211#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,892 INFO L290 TraceCheckUtils]: 24: Hoare triple {6211#(and (<= main_~X~0 2) (<= 0 main_~x~0) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,893 INFO L290 TraceCheckUtils]: 25: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,893 INFO L290 TraceCheckUtils]: 26: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,893 INFO L290 TraceCheckUtils]: 27: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,894 INFO L272 TraceCheckUtils]: 28: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 04:43:34,894 INFO L290 TraceCheckUtils]: 29: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 04:43:34,894 INFO L290 TraceCheckUtils]: 30: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 04:43:34,894 INFO L290 TraceCheckUtils]: 31: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 04:43:34,894 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6152#true} {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #65#return; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,895 INFO L290 TraceCheckUtils]: 33: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,895 INFO L290 TraceCheckUtils]: 34: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,895 INFO L290 TraceCheckUtils]: 35: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,896 INFO L290 TraceCheckUtils]: 36: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,896 INFO L272 TraceCheckUtils]: 37: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 04:43:34,896 INFO L290 TraceCheckUtils]: 38: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 04:43:34,896 INFO L290 TraceCheckUtils]: 39: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 04:43:34,896 INFO L290 TraceCheckUtils]: 40: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 04:43:34,896 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6152#true} {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #65#return; {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,897 INFO L290 TraceCheckUtils]: 42: Hoare triple {6189#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume !!(~x~0 <= ~X~0); {6287#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,897 INFO L290 TraceCheckUtils]: 43: Hoare triple {6287#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6287#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-28 04:43:34,898 INFO L290 TraceCheckUtils]: 44: Hoare triple {6287#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6294#(and (<= main_~X~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:43:34,898 INFO L290 TraceCheckUtils]: 45: Hoare triple {6294#(and (<= main_~X~0 2) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6298#(and (<= main_~X~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:43:34,899 INFO L272 TraceCheckUtils]: 46: Hoare triple {6298#(and (<= main_~X~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 04:43:34,899 INFO L290 TraceCheckUtils]: 47: Hoare triple {6152#true} ~cond := #in~cond; {6305#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:43:34,899 INFO L290 TraceCheckUtils]: 48: Hoare triple {6305#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:43:34,899 INFO L290 TraceCheckUtils]: 49: Hoare triple {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:43:34,901 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} {6298#(and (<= main_~X~0 2) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {6316#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:43:34,901 INFO L290 TraceCheckUtils]: 51: Hoare triple {6316#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {6320#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-28 04:43:34,923 INFO L290 TraceCheckUtils]: 52: Hoare triple {6320#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {6324#(and (<= main_~X~0 2) (<= 0 main_~X~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is VALID [2022-04-28 04:43:34,942 INFO L272 TraceCheckUtils]: 53: Hoare triple {6324#(and (<= main_~X~0 2) (<= 0 main_~X~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {6328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:43:34,943 INFO L290 TraceCheckUtils]: 54: Hoare triple {6328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:43:34,943 INFO L290 TraceCheckUtils]: 55: Hoare triple {6332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6153#false} is VALID [2022-04-28 04:43:34,943 INFO L290 TraceCheckUtils]: 56: Hoare triple {6153#false} assume !false; {6153#false} is VALID [2022-04-28 04:43:34,943 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 26 proven. 13 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-28 04:43:34,943 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:43:35,965 INFO L290 TraceCheckUtils]: 56: Hoare triple {6153#false} assume !false; {6153#false} is VALID [2022-04-28 04:43:35,965 INFO L290 TraceCheckUtils]: 55: Hoare triple {6332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6153#false} is VALID [2022-04-28 04:43:35,966 INFO L290 TraceCheckUtils]: 54: Hoare triple {6328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:43:35,966 INFO L272 TraceCheckUtils]: 53: Hoare triple {6348#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {6328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:43:35,967 INFO L290 TraceCheckUtils]: 52: Hoare triple {6352#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {6348#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-28 04:43:35,968 INFO L290 TraceCheckUtils]: 51: Hoare triple {6356#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {6352#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-28 04:43:35,969 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} {6360#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {6356#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:43:35,969 INFO L290 TraceCheckUtils]: 49: Hoare triple {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:43:35,969 INFO L290 TraceCheckUtils]: 48: Hoare triple {6370#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6309#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:43:35,970 INFO L290 TraceCheckUtils]: 47: Hoare triple {6152#true} ~cond := #in~cond; {6370#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:43:35,970 INFO L272 TraceCheckUtils]: 46: Hoare triple {6360#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 04:43:35,971 INFO L290 TraceCheckUtils]: 45: Hoare triple {6377#(or (<= main_~x~0 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6360#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-28 04:43:35,973 INFO L290 TraceCheckUtils]: 44: Hoare triple {6381#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 main_~y~0) 2))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6377#(or (<= main_~x~0 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-28 04:43:35,974 INFO L290 TraceCheckUtils]: 43: Hoare triple {6381#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 main_~y~0) 2))))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6381#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 main_~y~0) 2))))))} is VALID [2022-04-28 04:43:35,975 INFO L290 TraceCheckUtils]: 42: Hoare triple {6152#true} assume !!(~x~0 <= ~X~0); {6381#(forall ((v_main_~x~0_41 Int)) (or (not (<= v_main_~x~0_41 (+ main_~x~0 1))) (<= v_main_~x~0_41 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) (* (* v_main_~x~0_41 main_~Y~0) 2)) (+ (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_41 main_~Y~0) 2) (* (* v_main_~x~0_41 main_~y~0) 2))))))} is VALID [2022-04-28 04:43:35,975 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6152#true} {6152#true} #65#return; {6152#true} is VALID [2022-04-28 04:43:35,975 INFO L290 TraceCheckUtils]: 40: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 04:43:35,975 INFO L290 TraceCheckUtils]: 39: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 04:43:35,975 INFO L290 TraceCheckUtils]: 38: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 04:43:35,975 INFO L272 TraceCheckUtils]: 37: Hoare triple {6152#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 04:43:35,975 INFO L290 TraceCheckUtils]: 36: Hoare triple {6152#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6152#true} is VALID [2022-04-28 04:43:35,975 INFO L290 TraceCheckUtils]: 35: Hoare triple {6152#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6152#true} is VALID [2022-04-28 04:43:35,975 INFO L290 TraceCheckUtils]: 34: Hoare triple {6152#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6152#true} is VALID [2022-04-28 04:43:35,975 INFO L290 TraceCheckUtils]: 33: Hoare triple {6152#true} assume !!(~x~0 <= ~X~0); {6152#true} is VALID [2022-04-28 04:43:35,975 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6152#true} {6152#true} #65#return; {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L290 TraceCheckUtils]: 31: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L290 TraceCheckUtils]: 30: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L290 TraceCheckUtils]: 29: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L272 TraceCheckUtils]: 28: Hoare triple {6152#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L290 TraceCheckUtils]: 27: Hoare triple {6152#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L290 TraceCheckUtils]: 26: Hoare triple {6152#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L290 TraceCheckUtils]: 25: Hoare triple {6152#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L290 TraceCheckUtils]: 24: Hoare triple {6152#true} assume !!(~x~0 <= ~X~0); {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6152#true} {6152#true} #65#return; {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L290 TraceCheckUtils]: 22: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L290 TraceCheckUtils]: 21: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L290 TraceCheckUtils]: 20: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L272 TraceCheckUtils]: 19: Hoare triple {6152#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L290 TraceCheckUtils]: 18: Hoare triple {6152#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L290 TraceCheckUtils]: 17: Hoare triple {6152#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6152#true} {6152#true} #63#return; {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L290 TraceCheckUtils]: 15: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 04:43:35,976 INFO L290 TraceCheckUtils]: 14: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 04:43:35,977 INFO L290 TraceCheckUtils]: 13: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 04:43:35,977 INFO L272 TraceCheckUtils]: 12: Hoare triple {6152#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {6152#true} is VALID [2022-04-28 04:43:35,977 INFO L290 TraceCheckUtils]: 11: Hoare triple {6152#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6152#true} is VALID [2022-04-28 04:43:35,977 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6152#true} {6152#true} #61#return; {6152#true} is VALID [2022-04-28 04:43:35,977 INFO L290 TraceCheckUtils]: 9: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 04:43:35,977 INFO L290 TraceCheckUtils]: 8: Hoare triple {6152#true} assume !(0 == ~cond); {6152#true} is VALID [2022-04-28 04:43:35,977 INFO L290 TraceCheckUtils]: 7: Hoare triple {6152#true} ~cond := #in~cond; {6152#true} is VALID [2022-04-28 04:43:35,977 INFO L272 TraceCheckUtils]: 6: Hoare triple {6152#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {6152#true} is VALID [2022-04-28 04:43:35,977 INFO L290 TraceCheckUtils]: 5: Hoare triple {6152#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {6152#true} is VALID [2022-04-28 04:43:35,977 INFO L272 TraceCheckUtils]: 4: Hoare triple {6152#true} call #t~ret8 := main(); {6152#true} is VALID [2022-04-28 04:43:35,977 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6152#true} {6152#true} #69#return; {6152#true} is VALID [2022-04-28 04:43:35,977 INFO L290 TraceCheckUtils]: 2: Hoare triple {6152#true} assume true; {6152#true} is VALID [2022-04-28 04:43:35,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {6152#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {6152#true} is VALID [2022-04-28 04:43:35,977 INFO L272 TraceCheckUtils]: 0: Hoare triple {6152#true} call ULTIMATE.init(); {6152#true} is VALID [2022-04-28 04:43:35,977 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:43:35,978 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:43:35,978 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [309509583] [2022-04-28 04:43:35,978 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:43:35,978 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [544457614] [2022-04-28 04:43:35,978 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [544457614] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:43:35,978 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:43:35,978 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 12] total 23 [2022-04-28 04:43:35,978 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:43:35,978 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [114079558] [2022-04-28 04:43:35,978 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [114079558] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:43:35,978 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:43:35,978 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 04:43:35,978 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [435992595] [2022-04-28 04:43:35,978 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:43:35,979 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-28 04:43:35,979 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:43:35,979 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:36,054 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:43:36,054 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 04:43:36,054 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:43:36,055 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 04:43:36,055 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-28 04:43:36,055 INFO L87 Difference]: Start difference. First operand 54 states and 54 transitions. Second operand has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:40,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:40,065 INFO L93 Difference]: Finished difference Result 54 states and 54 transitions. [2022-04-28 04:43:40,065 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 04:43:40,065 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-28 04:43:40,065 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:43:40,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:40,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 36 transitions. [2022-04-28 04:43:40,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:40,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 36 transitions. [2022-04-28 04:43:40,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 36 transitions. [2022-04-28 04:43:40,136 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:43:40,137 INFO L225 Difference]: With dead ends: 54 [2022-04-28 04:43:40,137 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 04:43:40,138 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 91 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 213 ImplicationChecksByTransitivity, 7.2s TimeCoverageRelationStatistics Valid=191, Invalid=931, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 04:43:40,138 INFO L413 NwaCegarLoop]: 14 mSDtfsCounter, 24 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 169 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 182 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 169 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:43:40,138 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 105 Invalid, 182 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 169 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 04:43:40,138 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 04:43:40,138 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 04:43:40,138 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:43:40,138 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 04:43:40,139 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 04:43:40,139 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 04:43:40,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:40,139 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 04:43:40,139 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 04:43:40,139 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:43:40,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:43:40,139 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 04:43:40,139 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 04:43:40,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:43:40,139 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 04:43:40,139 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 04:43:40,139 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:43:40,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:43:40,139 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:43:40,139 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:43:40,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 04:43:40,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 04:43:40,139 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 57 [2022-04-28 04:43:40,139 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:43:40,140 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 04:43:40,140 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.2857142857142856) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 04:43:40,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 04:43:40,140 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:43:40,140 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 04:43:40,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:43:40,142 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 04:43:40,160 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 04:43:40,348 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:43:40,350 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 04:43:49,489 WARN L232 SmtUtils]: Spent 5.22s on a formula simplification. DAG size of input: 117 DAG size of output: 100 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 04:43:53,495 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 7) no Hoare annotation was computed. [2022-04-28 04:43:53,496 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 7) no Hoare annotation was computed. [2022-04-28 04:43:53,496 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 7) no Hoare annotation was computed. [2022-04-28 04:43:53,496 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 10 12) the Hoare annotation is: true [2022-04-28 04:43:53,496 INFO L895 garLoopResultBuilder]: At program point L11(line 11) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-28 04:43:53,496 INFO L895 garLoopResultBuilder]: At program point L11-2(lines 10 12) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 04:43:53,496 INFO L895 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 10 12) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 04:43:53,496 INFO L895 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~X~0)) [2022-04-28 04:43:53,496 INFO L895 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2)) [2022-04-28 04:43:53,496 INFO L902 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-28 04:43:53,496 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 21 53) the Hoare annotation is: true [2022-04-28 04:43:53,496 INFO L895 garLoopResultBuilder]: At program point L25-1(line 25) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~X~0)) [2022-04-28 04:43:53,496 INFO L895 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (<= main_~X~0 2)) (.cse3 (<= 0 main_~Y~0)) (.cse1 (= main_~xy~0 0)) (.cse4 (+ main_~X~0 main_~v~0)) (.cse2 (* main_~Y~0 2)) (.cse5 (= main_~y~0 0)) (.cse6 (= main_~yx~0 0))) (or (and .cse0 .cse1 (< main_~v~0 .cse2) .cse3 (= .cse4 (* main_~Y~0 4)) .cse5 .cse6) (let ((.cse9 (+ main_~X~0 1))) (and .cse0 .cse3 (let ((.cse10 (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0)) (.cse12 (* main_~X~0 main_~y~0)) (.cse13 (div .cse4 2)) (.cse11 (= main_~Y~0 0))) (or (let ((.cse8 (+ .cse12 .cse13 (* (- 1) main_~Y~0)))) (let ((.cse7 (div .cse8 main_~Y~0))) (and (= (* main_~y~0 .cse7) main_~xy~0) (= (mod .cse8 main_~Y~0) 0) (<= .cse7 .cse9) .cse10 (not (<= .cse7 main_~X~0)) (not .cse11) (= main_~yx~0 (* main_~Y~0 .cse7))))) (and (or (let ((.cse14 (div main_~xy~0 main_~y~0))) (and (= (mod main_~xy~0 main_~y~0) 0) (not .cse5) (<= .cse14 .cse9) (< main_~X~0 .cse14))) (and .cse1 .cse5)) .cse10 (= (+ .cse12 .cse13) main_~Y~0) .cse6 .cse11))) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 .cse9) (<= main_~Y~0 2))) (and (= main_~x~0 0) .cse1 (= .cse4 .cse2) .cse5 .cse6))) [2022-04-28 04:43:53,496 INFO L902 garLoopResultBuilder]: At program point L50-1(line 50) the Hoare annotation is: true [2022-04-28 04:43:53,496 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 21 53) the Hoare annotation is: true [2022-04-28 04:43:53,497 INFO L895 garLoopResultBuilder]: At program point L40(lines 40 45) the Hoare annotation is: (let ((.cse16 (* main_~Y~0 main_~x~0)) (.cse17 (* main_~X~0 main_~y~0)) (.cse14 (* main_~Y~0 2))) (let ((.cse4 (* main_~Y~0 4)) (.cse3 (+ main_~X~0 main_~v~0)) (.cse5 (= main_~y~0 0)) (.cse7 (* main_~X~0 3)) (.cse11 (* main_~Y~0 6)) (.cse1 (< main_~v~0 .cse14)) (.cse0 (<= main_~X~0 2)) (.cse6 (<= main_~x~0 main_~X~0)) (.cse15 (= main_~y~0 1)) (.cse8 (= (+ .cse14 (* 2 .cse16)) (+ (* .cse17 2) main_~X~0 main_~v~0))) (.cse2 (<= 0 main_~Y~0)) (.cse13 (<= 0 main_~X~0)) (.cse9 (= .cse17 main_~xy~0)) (.cse10 (= main_~yx~0 .cse16)) (.cse12 (<= main_~Y~0 2))) (or (and .cse0 (= main_~xy~0 0) .cse1 .cse2 (= .cse3 .cse4) .cse5 (= main_~yx~0 0)) (and .cse6 (<= .cse7 .cse4) .cse8 (<= 2 main_~x~0) .cse9 .cse10 (= (+ main_~v~0 (* 5 main_~X~0)) .cse11) .cse12) (and .cse0 (= main_~x~0 0) .cse2 .cse13 (= .cse3 .cse14) .cse9 .cse5 .cse10 .cse12) (and .cse0 (= (+ main_~X~0 main_~v~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2)) .cse11) (= (+ main_~v~0 .cse7) .cse11) .cse15 (= .cse14 main_~yx~0) (<= main_~X~0 .cse14) .cse8 .cse1 .cse2 .cse13 (= (mod main_~xy~0 main_~X~0) 0)) (and .cse0 .cse6 .cse15 .cse8 (= main_~x~0 1) .cse2 .cse13 (<= .cse14 (+ main_~v~0 (* main_~X~0 2))) .cse9 .cse10 .cse12)))) [2022-04-28 04:43:53,497 INFO L895 garLoopResultBuilder]: At program point L40-2(lines 40 45) the Hoare annotation is: (let ((.cse18 (* main_~Y~0 2)) (.cse10 (* main_~X~0 3))) (let ((.cse0 (+ main_~v~0 .cse10)) (.cse12 (< main_~v~0 .cse18)) (.cse9 (* 2 (* main_~Y~0 main_~x~0))) (.cse8 (* (* main_~X~0 main_~y~0) 2)) (.cse5 (<= main_~Y~0 2)) (.cse1 (* main_~Y~0 4)) (.cse2 (<= main_~X~0 2)) (.cse14 (= main_~y~0 2)) (.cse7 (<= main_~x~0 main_~X~0)) (.cse13 (<= 0 main_~Y~0)) (.cse11 (<= 2 main_~x~0)) (.cse3 (<= 0 main_~X~0)) (.cse16 (+ main_~v~0 (* 5 main_~X~0))) (.cse6 (* main_~Y~0 8)) (.cse4 (<= .cse18 (+ main_~v~0 (* main_~X~0 2))))) (or (and (= .cse0 .cse1) .cse2 (= main_~x~0 0) (= main_~y~0 1) .cse3 .cse4 .cse5) (and (= .cse6 (+ main_~v~0 (* 7 main_~X~0))) .cse7 (= (+ .cse8 .cse1) (+ (* main_~X~0 6) .cse9)) (<= .cse10 .cse1) .cse11 .cse5) (and .cse2 .cse12 .cse13 (= (+ main_~X~0 main_~v~0) .cse1) (= main_~y~0 0)) (and (let ((.cse17 (* main_~Y~0 6)) (.cse15 (= main_~x~0 1))) (or (and .cse14 .cse7 .cse15 .cse4 (= .cse16 .cse17)) (and .cse2 (= .cse0 .cse17) (<= main_~X~0 .cse18) .cse12 .cse15 .cse13 .cse3 (= (+ .cse1 .cse9) (+ .cse8 main_~X~0 main_~v~0))))) .cse5) (and (< .cse1 .cse10) .cse2 .cse14 .cse7 .cse13 .cse11 .cse3 (<= .cse16 .cse6) .cse4)))) [2022-04-28 04:43:53,497 INFO L895 garLoopResultBuilder]: At program point L32-2(lines 32 47) the Hoare annotation is: (let ((.cse11 (* 2 (* main_~Y~0 main_~x~0))) (.cse9 (* (* main_~X~0 main_~y~0) 2)) (.cse14 (* main_~Y~0 2))) (let ((.cse5 (* main_~Y~0 8)) (.cse7 (<= 3 main_~x~0)) (.cse3 (= main_~y~0 2)) (.cse4 (+ main_~v~0 (* 5 main_~X~0))) (.cse1 (* main_~X~0 3)) (.cse10 (* main_~Y~0 6)) (.cse16 (< main_~v~0 .cse14)) (.cse0 (* main_~Y~0 4)) (.cse17 (<= 0 main_~Y~0)) (.cse18 (+ main_~X~0 main_~v~0)) (.cse19 (= main_~y~0 0)) (.cse2 (<= main_~X~0 2)) (.cse15 (= (+ .cse14 .cse11) (+ .cse9 main_~X~0 main_~v~0))) (.cse6 (<= .cse14 (+ main_~v~0 (* main_~X~0 2)))) (.cse8 (<= main_~x~0 (+ main_~X~0 1))) (.cse12 (<= main_~Y~0 2))) (or (and (< .cse0 .cse1) .cse2 .cse3 (<= .cse4 .cse5) .cse6 .cse7 .cse8) (and (= .cse5 (+ main_~v~0 (* 7 main_~X~0))) (= (+ .cse9 .cse10) (+ (* main_~X~0 6) .cse11)) (<= .cse1 .cse0) .cse7 .cse8 .cse12) (and (let ((.cse13 (= main_~x~0 2))) (or (and .cse3 .cse6 .cse13 (<= 1 main_~X~0) (= .cse4 .cse10)) (and .cse2 (= (+ main_~v~0 .cse1) .cse10) (<= main_~X~0 .cse14) .cse15 .cse16 .cse13))) .cse12) (and .cse2 .cse16 .cse17 (= .cse18 .cse0) .cse19) (and .cse2 (= main_~x~0 0) .cse17 (<= 0 main_~X~0) (= .cse18 .cse14) .cse19 .cse12) (and .cse2 (= main_~y~0 1) .cse15 (= main_~x~0 1) .cse6 .cse8 .cse12)))) [2022-04-28 04:43:53,497 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 21 53) the Hoare annotation is: true [2022-04-28 04:43:53,497 INFO L895 garLoopResultBuilder]: At program point L32-3(lines 32 47) the Hoare annotation is: (let ((.cse0 (* main_~Y~0 4)) (.cse1 (<= main_~X~0 2)) (.cse2 (<= 0 main_~Y~0)) (.cse3 (<= 0 main_~X~0)) (.cse5 (<= main_~Y~0 2)) (.cse6 (= main_~xy~0 0)) (.cse7 (+ main_~X~0 main_~v~0)) (.cse4 (* main_~Y~0 2)) (.cse8 (= main_~y~0 0)) (.cse9 (= main_~yx~0 0))) (or (and (< .cse0 (* main_~X~0 3)) .cse1 (= main_~y~0 2) (= main_~x~0 3) .cse2 .cse3 (<= (+ main_~v~0 (* 5 main_~X~0)) (* main_~Y~0 8)) (<= .cse4 (+ main_~v~0 (* main_~X~0 2))) .cse5) (and .cse1 .cse6 (< main_~v~0 .cse4) .cse2 (= .cse7 .cse0) .cse8 .cse9) (let ((.cse11 (* main_~X~0 main_~y~0)) (.cse10 (* main_~Y~0 main_~x~0))) (and .cse1 (= (+ .cse4 (* 2 .cse10)) (+ (* .cse11 2) main_~X~0 main_~v~0)) .cse2 .cse3 (= .cse11 main_~xy~0) (not (<= main_~x~0 main_~X~0)) (= main_~yx~0 .cse10) (<= main_~x~0 (+ main_~X~0 1)) .cse5)) (and (= main_~x~0 0) .cse6 (= .cse7 .cse4) .cse8 .cse9))) [2022-04-28 04:43:53,497 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse29 (* main_~X~0 main_~y~0)) (.cse28 (* main_~Y~0 main_~x~0))) (let ((.cse23 (+ main_~X~0 1)) (.cse27 (* main_~X~0 2)) (.cse18 (* main_~Y~0 2)) (.cse26 (* 2 .cse28)) (.cse25 (* .cse29 2))) (let ((.cse1 (= (+ .cse18 .cse26) (+ .cse25 main_~X~0 main_~v~0))) (.cse7 (< main_~v~0 .cse18)) (.cse13 (= main_~x~0 2)) (.cse8 (<= 0 main_~Y~0)) (.cse9 (+ main_~X~0 main_~v~0)) (.cse3 (= .cse29 main_~xy~0)) (.cse11 (= main_~y~0 0)) (.cse4 (= main_~yx~0 .cse28)) (.cse0 (<= main_~X~0 2)) (.cse12 (= main_~xy~0 .cse27)) (.cse14 (+ main_~v~0 (* 5 main_~X~0))) (.cse2 (<= .cse18 (+ main_~v~0 .cse27))) (.cse21 (* main_~Y~0 8)) (.cse15 (* main_~Y~0 6)) (.cse17 (* main_~X~0 3)) (.cse10 (* main_~Y~0 4)) (.cse22 (<= 3 main_~x~0)) (.cse19 (= (mod main_~xy~0 main_~X~0) 0)) (.cse5 (<= main_~x~0 .cse23)) (.cse6 (<= main_~Y~0 2)) (.cse16 (* (div main_~xy~0 main_~X~0) main_~X~0))) (or (and .cse0 (= main_~y~0 1) .cse1 (= main_~x~0 1) .cse2 .cse3 .cse4 .cse5 .cse6) (and .cse0 (= main_~xy~0 0) .cse7 .cse8 (= .cse9 .cse10) .cse11 (= main_~yx~0 0)) (and .cse12 .cse2 .cse3 .cse4 .cse13 (<= 1 main_~X~0) (= .cse14 .cse15) .cse6) (and .cse0 (= (+ main_~X~0 main_~v~0 (* .cse16 2)) .cse15) (= (+ main_~v~0 .cse17) .cse15) (= .cse18 main_~yx~0) (<= main_~X~0 .cse18) .cse1 .cse7 .cse13 .cse19) (and .cse0 (= main_~x~0 0) .cse8 (<= 0 main_~X~0) (= .cse9 .cse18) .cse3 .cse11 .cse4 .cse6) (let ((.cse20 (div main_~yx~0 main_~Y~0))) (and (< .cse10 .cse17) .cse0 (= main_~y~0 2) .cse12 (<= 3 .cse20) (<= .cse14 .cse21) .cse2 .cse22 .cse5 (<= .cse20 .cse23))) (let ((.cse24 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) .cse16) main_~Y~0))) (and (= .cse21 (+ main_~v~0 (* 7 main_~X~0))) (<= .cse24 .cse23) (= (+ .cse25 .cse15) (+ (* main_~X~0 6) .cse26)) (<= 3 .cse24) (<= .cse17 .cse10) (= (* .cse24 main_~Y~0) main_~yx~0) .cse22 .cse19 .cse5 .cse6)))))) [2022-04-28 04:43:53,497 INFO L895 garLoopResultBuilder]: At program point L35-1(lines 32 47) the Hoare annotation is: (let ((.cse29 (* main_~X~0 main_~y~0)) (.cse28 (* main_~Y~0 main_~x~0))) (let ((.cse24 (+ main_~X~0 1)) (.cse27 (* 2 .cse28)) (.cse26 (* .cse29 2)) (.cse30 (* main_~X~0 2)) (.cse9 (* main_~Y~0 2))) (let ((.cse1 (< main_~v~0 .cse9)) (.cse14 (= main_~xy~0 .cse30)) (.cse18 (+ main_~v~0 (* 5 main_~X~0))) (.cse10 (= (+ .cse9 .cse27) (+ .cse26 main_~X~0 main_~v~0))) (.cse15 (<= .cse9 (+ main_~v~0 .cse30))) (.cse0 (<= main_~X~0 2)) (.cse2 (<= 0 main_~Y~0)) (.cse11 (<= 0 main_~X~0)) (.cse3 (+ main_~X~0 main_~v~0)) (.cse16 (= .cse29 main_~xy~0)) (.cse5 (= main_~y~0 0)) (.cse17 (= main_~yx~0 .cse28)) (.cse21 (* main_~Y~0 8)) (.cse7 (* main_~Y~0 6)) (.cse8 (* main_~X~0 3)) (.cse4 (* main_~Y~0 4)) (.cse22 (<= 3 main_~x~0)) (.cse13 (= (mod main_~xy~0 main_~X~0) 0)) (.cse23 (<= main_~x~0 .cse24)) (.cse19 (<= main_~Y~0 2)) (.cse6 (* (div main_~xy~0 main_~X~0) main_~X~0))) (or (and .cse0 (= main_~xy~0 0) .cse1 .cse2 (= .cse3 .cse4) .cse5 (= main_~yx~0 0)) (and (let ((.cse12 (= main_~x~0 2))) (or (and .cse0 (= (+ main_~X~0 main_~v~0 (* .cse6 2)) .cse7) (= (+ main_~v~0 .cse8) .cse7) (= .cse9 main_~yx~0) (<= main_~X~0 .cse9) .cse10 .cse1 .cse2 .cse11 .cse12 .cse13) (and .cse14 .cse15 .cse16 .cse17 .cse12 (<= 1 main_~X~0) (= .cse18 .cse7)))) .cse19) (let ((.cse20 (div main_~yx~0 main_~Y~0))) (and (< .cse4 .cse8) .cse0 (= main_~y~0 2) .cse14 (<= 3 .cse20) .cse2 .cse11 (<= .cse18 .cse21) .cse15 .cse22 .cse23 (<= .cse20 .cse24))) (and .cse0 (= main_~y~0 1) .cse10 (= main_~x~0 1) .cse2 .cse11 .cse15 .cse16 .cse17 .cse19) (and .cse0 (= main_~x~0 0) .cse2 .cse11 (= .cse3 .cse9) .cse16 .cse5 .cse17 .cse19) (let ((.cse25 (div (+ (* main_~X~0 (- 3)) (* main_~Y~0 3) .cse6) main_~Y~0))) (and (= .cse21 (+ main_~v~0 (* 7 main_~X~0))) (<= .cse25 .cse24) (= (+ .cse26 .cse7) (+ (* main_~X~0 6) .cse27)) (<= 3 .cse25) (<= .cse8 .cse4) (= (* .cse25 main_~Y~0) main_~yx~0) .cse22 .cse13 .cse23 .cse19)))))) [2022-04-28 04:43:53,498 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 04:43:53,498 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-28 04:43:53,498 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 04:43:53,498 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 04:43:53,498 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 04:43:53,498 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 04:43:53,498 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 04:43:53,498 INFO L895 garLoopResultBuilder]: At program point L15(lines 15 16) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 04:43:53,498 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 13 19) the Hoare annotation is: true [2022-04-28 04:43:53,498 INFO L895 garLoopResultBuilder]: At program point L14(lines 14 17) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 04:43:53,498 INFO L895 garLoopResultBuilder]: At program point L14-2(lines 13 19) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 04:43:53,498 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 13 19) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 04:43:53,498 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 16) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 04:43:53,500 INFO L356 BasicCegarLoop]: Path program histogram: [6, 6, 4, 2, 2, 2, 2] [2022-04-28 04:43:53,501 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 04:43:53,503 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 04:43:53,506 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 04:43:53,633 INFO L163 areAnnotationChecker]: CFG has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 04:43:53,659 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 04:43:53 BoogieIcfgContainer [2022-04-28 04:43:53,659 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 04:43:53,660 INFO L158 Benchmark]: Toolchain (without parser) took 396607.78ms. Allocated memory was 177.2MB in the beginning and 212.9MB in the end (delta: 35.7MB). Free memory was 125.9MB in the beginning and 114.6MB in the end (delta: 11.3MB). Peak memory consumption was 101.5MB. Max. memory is 8.0GB. [2022-04-28 04:43:53,660 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 177.2MB. Free memory is still 142.0MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 04:43:53,660 INFO L158 Benchmark]: CACSL2BoogieTranslator took 215.51ms. Allocated memory was 177.2MB in the beginning and 212.9MB in the end (delta: 35.7MB). Free memory was 125.7MB in the beginning and 188.5MB in the end (delta: -62.8MB). Peak memory consumption was 12.4MB. Max. memory is 8.0GB. [2022-04-28 04:43:53,662 INFO L158 Benchmark]: Boogie Preprocessor took 33.22ms. Allocated memory is still 212.9MB. Free memory was 188.5MB in the beginning and 186.9MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 04:43:53,662 INFO L158 Benchmark]: RCFGBuilder took 263.56ms. Allocated memory is still 212.9MB. Free memory was 186.9MB in the beginning and 174.9MB in the end (delta: 12.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 04:43:53,662 INFO L158 Benchmark]: TraceAbstraction took 396090.70ms. Allocated memory is still 212.9MB. Free memory was 174.3MB in the beginning and 114.6MB in the end (delta: 59.8MB). Peak memory consumption was 113.3MB. Max. memory is 8.0GB. [2022-04-28 04:43:53,663 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 177.2MB. Free memory is still 142.0MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 215.51ms. Allocated memory was 177.2MB in the beginning and 212.9MB in the end (delta: 35.7MB). Free memory was 125.7MB in the beginning and 188.5MB in the end (delta: -62.8MB). Peak memory consumption was 12.4MB. Max. memory is 8.0GB. * Boogie Preprocessor took 33.22ms. Allocated memory is still 212.9MB. Free memory was 188.5MB in the beginning and 186.9MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 263.56ms. Allocated memory is still 212.9MB. Free memory was 186.9MB in the beginning and 174.9MB in the end (delta: 12.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 396090.70ms. Allocated memory is still 212.9MB. Free memory was 174.3MB in the beginning and 114.6MB in the end (delta: 59.8MB). Peak memory consumption was 113.3MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 16]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 35 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 395.9s, OverallIterations: 12, TraceHistogramMax: 5, PathProgramHistogramMax: 6, EmptinessCheckTime: 0.0s, AutomataDifference: 25.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 13.1s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 5 mSolverCounterUnknown, 275 SdHoareTripleChecker+Valid, 13.3s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 259 mSDsluCounter, 1504 SdHoareTripleChecker+Invalid, 13.3s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1225 mSDsCounter, 120 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2926 IncrementalHoareTripleChecker+Invalid, 3051 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 120 mSolverCounterUnsat, 279 mSDtfsCounter, 2926 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 911 GetRequests, 640 SyntacticMatches, 16 SemanticMatches, 255 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1381 ImplicationChecksByTransitivity, 12.6s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=66occurred in iteration=9, InterpolantAutomatonStates: 162, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.8s AutomataMinimizationTime, 12 MinimizatonAttempts, 40 StatesRemovedByMinimization, 7 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 32 LocationsWithAnnotation, 184 PreInvPairs, 300 NumberOfFragments, 2013 HoareAnnotationTreeSize, 184 FomulaSimplifications, 705 FormulaSimplificationTreeSizeReduction, 0.6s HoareSimplificationTime, 32 FomulaSimplificationsInter, 12387 FormulaSimplificationTreeSizeReductionInter, 12.4s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 32]: Loop Invariant Derived loop invariant: ((((((((((Y * 4 < X * 3 && X <= 2) && y == 2) && v + 5 * X <= Y * 8) && Y * 2 <= v + X * 2) && 3 <= x) && x <= X + 1) || (((((Y * 8 == v + 7 * X && X * y * 2 + Y * 6 == X * 6 + 2 * (Y * x)) && X * 3 <= Y * 4) && 3 <= x) && x <= X + 1) && Y <= 2)) || ((((((y == 2 && Y * 2 <= v + X * 2) && x == 2) && 1 <= X) && v + 5 * X == Y * 6) || (((((X <= 2 && v + X * 3 == Y * 6) && X <= Y * 2) && Y * 2 + 2 * (Y * x) == X * y * 2 + X + v) && v < Y * 2) && x == 2)) && Y <= 2)) || ((((X <= 2 && v < Y * 2) && 0 <= Y) && X + v == Y * 4) && y == 0)) || ((((((X <= 2 && x == 0) && 0 <= Y) && 0 <= X) && X + v == Y * 2) && y == 0) && Y <= 2)) || ((((((X <= 2 && y == 1) && Y * 2 + 2 * (Y * x) == X * y * 2 + X + v) && x == 1) && Y * 2 <= v + X * 2) && x <= X + 1) && Y <= 2) - ProcedureContractResult [Line: 10]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 21]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 13]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-28 04:43:53,737 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...