/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/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-07 12:52:57,569 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 12:52:57,571 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 12:52:57,604 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 12:52:57,604 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 12:52:57,605 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 12:52:57,605 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 12:52:57,606 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 12:52:57,607 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 12:52:57,610 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 12:52:57,611 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 12:52:57,613 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 12:52:57,614 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 12:52:57,616 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 12:52:57,617 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 12:52:57,618 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 12:52:57,618 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 12:52:57,618 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 12:52:57,619 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 12:52:57,620 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 12:52:57,621 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 12:52:57,621 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 12:52:57,622 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 12:52:57,623 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 12:52:57,623 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 12:52:57,624 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 12:52:57,625 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 12:52:57,625 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 12:52:57,625 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 12:52:57,625 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 12:52:57,626 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 12:52:57,626 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 12:52:57,626 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 12:52:57,627 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 12:52:57,627 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 12:52:57,628 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 12:52:57,628 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 12:52:57,628 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 12:52:57,628 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 12:52:57,629 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 12:52:57,629 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 12:52:57,629 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 12:52:57,630 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-07 12:52:57,642 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 12:52:57,642 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 12:52:57,642 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-07 12:52:57,643 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-07 12:52:57,643 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-07 12:52:57,643 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-07 12:52:57,643 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-07 12:52:57,644 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-07 12:52:57,644 INFO L138 SettingsManager]: * Use SBE=true [2022-04-07 12:52:57,644 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 12:52:57,644 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 12:52:57,644 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 12:52:57,644 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 12:52:57,644 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 12:52:57,644 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 12:52:57,645 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 12:52:57,645 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 12:52:57,645 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 12:52:57,645 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 12:52:57,645 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 12:52:57,645 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 12:52:57,645 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 12:52:57,645 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 12:52:57,645 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 12:52:57,646 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 12:52:57,646 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 12:52:57,646 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-07 12:52:57,646 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-07 12:52:57,646 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 12:52:57,646 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-07 12:52:57,646 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-07 12:52:57,646 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-07 12:52:57,647 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-07 12:52:57,647 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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-07 12:52:57,829 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 12:52:57,845 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 12:52:57,848 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 12:52:57,849 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 12:52:57,850 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 12:52:57,851 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound5.c [2022-04-07 12:52:57,909 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2192312c9/5366a694f06745ca934c442f08d293c2/FLAGa03f672c9 [2022-04-07 12:52:58,253 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 12:52:58,253 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound5.c [2022-04-07 12:52:58,258 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2192312c9/5366a694f06745ca934c442f08d293c2/FLAGa03f672c9 [2022-04-07 12:52:58,267 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2192312c9/5366a694f06745ca934c442f08d293c2 [2022-04-07 12:52:58,268 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 12:52:58,269 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-07 12:52:58,271 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 12:52:58,271 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 12:52:58,273 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 12:52:58,274 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 12:52:58" (1/1) ... [2022-04-07 12:52:58,274 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@69b228b8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:58, skipping insertion in model container [2022-04-07 12:52:58,274 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 12:52:58" (1/1) ... [2022-04-07 12:52:58,279 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 12:52:58,287 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 12:52:58,395 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_valuebound5.c[597,610] [2022-04-07 12:52:58,415 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 12:52:58,425 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 12:52:58,436 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_valuebound5.c[597,610] [2022-04-07 12:52:58,444 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 12:52:58,452 INFO L208 MainTranslator]: Completed translation [2022-04-07 12:52:58,453 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:58 WrapperNode [2022-04-07 12:52:58,453 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 12:52:58,454 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 12:52:58,454 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 12:52:58,454 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 12:52:58,461 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:58" (1/1) ... [2022-04-07 12:52:58,462 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:58" (1/1) ... [2022-04-07 12:52:58,465 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:58" (1/1) ... [2022-04-07 12:52:58,466 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:58" (1/1) ... [2022-04-07 12:52:58,470 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:58" (1/1) ... [2022-04-07 12:52:58,474 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:58" (1/1) ... [2022-04-07 12:52:58,475 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:58" (1/1) ... [2022-04-07 12:52:58,476 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 12:52:58,476 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 12:52:58,476 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 12:52:58,477 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 12:52:58,477 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:58" (1/1) ... [2022-04-07 12:52:58,488 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 12:52:58,498 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:52:58,508 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-07 12:52:58,514 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-07 12:52:58,535 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 12:52:58,535 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 12:52:58,535 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 12:52:58,536 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 12:52:58,536 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 12:52:58,536 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 12:52:58,536 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 12:52:58,536 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 12:52:58,536 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 12:52:58,536 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 12:52:58,536 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-07 12:52:58,536 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 12:52:58,536 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 12:52:58,536 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 12:52:58,537 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 12:52:58,537 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 12:52:58,537 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 12:52:58,537 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 12:52:58,537 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 12:52:58,537 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 12:52:58,579 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 12:52:58,580 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 12:52:58,762 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 12:52:58,779 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 12:52:58,779 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-07 12:52:58,780 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 12:52:58 BoogieIcfgContainer [2022-04-07 12:52:58,780 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 12:52:58,781 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 12:52:58,781 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 12:52:58,784 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 12:52:58,784 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 12:52:58" (1/3) ... [2022-04-07 12:52:58,784 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7b79a971 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 12:52:58, skipping insertion in model container [2022-04-07 12:52:58,784 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:58" (2/3) ... [2022-04-07 12:52:58,785 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7b79a971 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 12:52:58, skipping insertion in model container [2022-04-07 12:52:58,785 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 12:52:58" (3/3) ... [2022-04-07 12:52:58,786 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound5.c [2022-04-07 12:52:58,789 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-07 12:52:58,789 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 12:52:58,821 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 12:52:58,825 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, 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 [2022-04-07 12:52:58,825 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 12:52:58,843 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-07 12:52:58,846 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-07 12:52:58,846 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:52:58,846 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:52:58,847 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:52:58,850 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:52:58,850 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-07 12:52:58,856 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:52:58,857 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [378060000] [2022-04-07 12:52:58,857 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:52:58,857 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:52:58,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:52:58,972 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 12:52:58,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:52:58,995 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-07 12:52:58,996 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-07 12:52:58,996 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-07 12:52:58,996 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 12:52:58,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:52:59,010 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-07 12:52:59,011 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-07 12:52:59,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-07 12:52:59,012 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-07 12:52:59,012 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 12:52:59,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:52:59,039 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-07 12:52:59,039 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-07 12:52:59,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-07 12:52:59,040 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-07 12:52:59,041 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-07 12:52:59,041 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-07 12:52:59,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-07 12:52:59,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-07 12:52:59,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-07 12:52:59,041 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-07 12:52:59,042 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {35#true} is VALID [2022-04-07 12:52:59,042 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-07 12:52:59,042 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-07 12:52:59,042 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-07 12:52:59,042 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-07 12:52:59,042 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-07 12:52:59,043 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {35#true} is VALID [2022-04-07 12:52:59,043 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-07 12:52:59,043 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-07 12:52:59,043 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-07 12:52:59,043 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-07 12:52:59,044 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-07 12:52:59,044 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-07 12:52:59,044 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-07 12:52:59,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-07 12:52:59,044 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-07 12:52:59,044 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-07 12:52:59,045 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-07 12:52:59,045 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:52:59,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [378060000] [2022-04-07 12:52:59,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [378060000] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 12:52:59,046 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 12:52:59,046 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-07 12:52:59,047 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [651173007] [2022-04-07 12:52:59,047 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 12:52:59,051 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-07 12:52:59,052 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:52:59,054 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-07 12:52:59,088 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-07 12:52:59,088 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-07 12:52:59,089 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:52:59,108 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-07 12:52:59,108 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 12:52:59,111 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-07 12:52:59,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:52:59,234 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-07 12:52:59,235 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-07 12:52:59,235 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-07 12:52:59,235 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:52:59,236 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-07 12:52:59,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-07 12:52:59,247 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-07 12:52:59,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-07 12:52:59,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-07 12:52:59,336 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-07 12:52:59,343 INFO L225 Difference]: With dead ends: 57 [2022-04-07 12:52:59,344 INFO L226 Difference]: Without dead ends: 27 [2022-04-07 12:52:59,346 INFO L912 BasicCegarLoop]: 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-07 12:52:59,350 INFO L913 BasicCegarLoop]: 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-07 12:52:59,351 INFO L914 BasicCegarLoop]: 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-07 12:52:59,362 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-07 12:52:59,403 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-07 12:52:59,404 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:52:59,405 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-07 12:52:59,408 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-07 12:52:59,408 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-07 12:52:59,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:52:59,416 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-07 12:52:59,416 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-07 12:52:59,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:52:59,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:52:59,417 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-07 12:52:59,418 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-07 12:52:59,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:52:59,422 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-07 12:52:59,422 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-07 12:52:59,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:52:59,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:52:59,422 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:52:59,422 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:52:59,423 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-07 12:52:59,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-07 12:52:59,426 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-07 12:52:59,427 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:52:59,427 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-07 12:52:59,428 INFO L479 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-07 12:52:59,428 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-07 12:52:59,429 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-07 12:52:59,429 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:52:59,429 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:52:59,429 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-07 12:52:59,430 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:52:59,431 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:52:59,431 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-07 12:52:59,431 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:52:59,431 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1736755903] [2022-04-07 12:52:59,431 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:52:59,431 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:52:59,474 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:52:59,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2146020647] [2022-04-07 12:52:59,474 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:52:59,475 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:52:59,475 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:52:59,476 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-07 12:52:59,477 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-07 12:52:59,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:52:59,527 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 12:52:59,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:52:59,545 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:52:59,743 INFO L272 TraceCheckUtils]: 0: Hoare triple {217#true} call ULTIMATE.init(); {217#true} is VALID [2022-04-07 12:52:59,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {217#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); {217#true} is VALID [2022-04-07 12:52:59,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-07 12:52:59,744 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {217#true} {217#true} #69#return; {217#true} is VALID [2022-04-07 12:52:59,744 INFO L272 TraceCheckUtils]: 4: Hoare triple {217#true} call #t~ret8 := main(); {217#true} is VALID [2022-04-07 12:52:59,745 INFO L290 TraceCheckUtils]: 5: Hoare triple {217#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; {217#true} is VALID [2022-04-07 12:52:59,745 INFO L272 TraceCheckUtils]: 6: Hoare triple {217#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {217#true} is VALID [2022-04-07 12:52:59,745 INFO L290 TraceCheckUtils]: 7: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-04-07 12:52:59,745 INFO L290 TraceCheckUtils]: 8: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-04-07 12:52:59,745 INFO L290 TraceCheckUtils]: 9: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-07 12:52:59,746 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {217#true} {217#true} #61#return; {217#true} is VALID [2022-04-07 12:52:59,746 INFO L290 TraceCheckUtils]: 11: Hoare triple {217#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {217#true} is VALID [2022-04-07 12:52:59,746 INFO L272 TraceCheckUtils]: 12: Hoare triple {217#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {217#true} is VALID [2022-04-07 12:52:59,746 INFO L290 TraceCheckUtils]: 13: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-04-07 12:52:59,748 INFO L290 TraceCheckUtils]: 14: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-04-07 12:52:59,748 INFO L290 TraceCheckUtils]: 15: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-07 12:52:59,749 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {217#true} {217#true} #63#return; {217#true} is VALID [2022-04-07 12:52:59,750 INFO L290 TraceCheckUtils]: 17: Hoare triple {217#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {273#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-07 12:52:59,751 INFO L290 TraceCheckUtils]: 18: Hoare triple {273#(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; {277#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-07 12:52:59,753 INFO L272 TraceCheckUtils]: 19: Hoare triple {277#(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)); {281#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:52:59,753 INFO L290 TraceCheckUtils]: 20: Hoare triple {281#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {285#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:52:59,755 INFO L290 TraceCheckUtils]: 21: Hoare triple {285#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {218#false} is VALID [2022-04-07 12:52:59,756 INFO L290 TraceCheckUtils]: 22: Hoare triple {218#false} assume !false; {218#false} is VALID [2022-04-07 12:52:59,756 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-07 12:52:59,756 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 12:52:59,756 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:52:59,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1736755903] [2022-04-07 12:52:59,757 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:52:59,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2146020647] [2022-04-07 12:52:59,760 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2146020647] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 12:52:59,760 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 12:52:59,760 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-07 12:52:59,761 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1628155948] [2022-04-07 12:52:59,761 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 12:52:59,762 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-07 12:52:59,763 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:52:59,763 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-07 12:52:59,778 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-07 12:52:59,779 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 12:52:59,779 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:52:59,780 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 12:52:59,780 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-07 12:52:59,780 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-07 12:52:59,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:52:59,964 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-07 12:52:59,964 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 12:52:59,965 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-07 12:52:59,965 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:52:59,965 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-07 12:52:59,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-07 12:52:59,967 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-07 12:52:59,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-07 12:52:59,968 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-07 12:53:00,002 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-07 12:53:00,004 INFO L225 Difference]: With dead ends: 39 [2022-04-07 12:53:00,004 INFO L226 Difference]: Without dead ends: 35 [2022-04-07 12:53:00,004 INFO L912 BasicCegarLoop]: 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-07 12:53:00,005 INFO L913 BasicCegarLoop]: 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-07 12:53:00,005 INFO L914 BasicCegarLoop]: 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-07 12:53:00,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-07 12:53:00,010 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-07 12:53:00,011 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:53:00,011 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-07 12:53:00,011 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-07 12:53:00,011 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-07 12:53:00,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:53:00,013 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-07 12:53:00,013 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-07 12:53:00,013 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:53:00,013 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:53:00,014 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-07 12:53:00,014 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-07 12:53:00,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:53:00,015 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-07 12:53:00,016 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-07 12:53:00,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:53:00,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:53:00,016 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:53:00,016 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:53:00,016 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-07 12:53:00,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-07 12:53:00,017 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-07 12:53:00,018 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:53:00,018 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-07 12:53:00,018 INFO L479 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-07 12:53:00,018 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-07 12:53:00,018 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-07 12:53:00,018 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:53:00,018 INFO L499 BasicCegarLoop]: 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-07 12:53:00,040 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-07 12:53:00,219 WARN L460 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-07 12:53:00,219 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:53:00,220 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:53:00,220 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-07 12:53:00,220 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:53:00,220 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1172961378] [2022-04-07 12:53:00,220 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:53:00,220 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:53:00,233 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:53:00,233 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1494398839] [2022-04-07 12:53:00,233 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:53:00,233 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:53:00,233 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:53:00,234 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-07 12:53:00,235 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-07 12:53:00,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:53:00,273 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-07 12:53:00,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:53:00,288 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:53:00,492 INFO L272 TraceCheckUtils]: 0: Hoare triple {467#true} call ULTIMATE.init(); {467#true} is VALID [2022-04-07 12:53:00,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {467#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); {467#true} is VALID [2022-04-07 12:53:00,492 INFO L290 TraceCheckUtils]: 2: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-07 12:53:00,492 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {467#true} {467#true} #69#return; {467#true} is VALID [2022-04-07 12:53:00,492 INFO L272 TraceCheckUtils]: 4: Hoare triple {467#true} call #t~ret8 := main(); {467#true} is VALID [2022-04-07 12:53:00,492 INFO L290 TraceCheckUtils]: 5: Hoare triple {467#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; {467#true} is VALID [2022-04-07 12:53:00,492 INFO L272 TraceCheckUtils]: 6: Hoare triple {467#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {467#true} is VALID [2022-04-07 12:53:00,493 INFO L290 TraceCheckUtils]: 7: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-07 12:53:00,493 INFO L290 TraceCheckUtils]: 8: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-07 12:53:00,493 INFO L290 TraceCheckUtils]: 9: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-07 12:53:00,493 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {467#true} {467#true} #61#return; {467#true} is VALID [2022-04-07 12:53:00,493 INFO L290 TraceCheckUtils]: 11: Hoare triple {467#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {467#true} is VALID [2022-04-07 12:53:00,493 INFO L272 TraceCheckUtils]: 12: Hoare triple {467#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {467#true} is VALID [2022-04-07 12:53:00,493 INFO L290 TraceCheckUtils]: 13: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-07 12:53:00,493 INFO L290 TraceCheckUtils]: 14: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-07 12:53:00,493 INFO L290 TraceCheckUtils]: 15: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-07 12:53:00,493 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {467#true} {467#true} #63#return; {467#true} is VALID [2022-04-07 12:53:00,494 INFO L290 TraceCheckUtils]: 17: Hoare triple {467#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {523#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-07 12:53:00,494 INFO L290 TraceCheckUtils]: 18: Hoare triple {523#(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; {523#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-07 12:53:00,495 INFO L272 TraceCheckUtils]: 19: Hoare triple {523#(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)); {467#true} is VALID [2022-04-07 12:53:00,495 INFO L290 TraceCheckUtils]: 20: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-07 12:53:00,495 INFO L290 TraceCheckUtils]: 21: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-07 12:53:00,495 INFO L290 TraceCheckUtils]: 22: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-07 12:53:00,496 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {467#true} {523#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {523#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-07 12:53:00,496 INFO L290 TraceCheckUtils]: 24: Hoare triple {523#(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); {523#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-07 12:53:00,497 INFO L290 TraceCheckUtils]: 25: Hoare triple {523#(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; {548#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-07 12:53:00,497 INFO L290 TraceCheckUtils]: 26: Hoare triple {548#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {552#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-07 12:53:00,498 INFO L290 TraceCheckUtils]: 27: Hoare triple {552#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {556#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-07 12:53:00,499 INFO L272 TraceCheckUtils]: 28: Hoare triple {556#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {560#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:53:00,499 INFO L290 TraceCheckUtils]: 29: Hoare triple {560#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {564#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:53:00,499 INFO L290 TraceCheckUtils]: 30: Hoare triple {564#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {468#false} is VALID [2022-04-07 12:53:00,500 INFO L290 TraceCheckUtils]: 31: Hoare triple {468#false} assume !false; {468#false} is VALID [2022-04-07 12:53:00,500 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-07 12:53:00,500 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:53:00,682 INFO L290 TraceCheckUtils]: 31: Hoare triple {468#false} assume !false; {468#false} is VALID [2022-04-07 12:53:00,683 INFO L290 TraceCheckUtils]: 30: Hoare triple {564#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {468#false} is VALID [2022-04-07 12:53:00,684 INFO L290 TraceCheckUtils]: 29: Hoare triple {560#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {564#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:53:00,685 INFO L272 TraceCheckUtils]: 28: Hoare triple {580#(= (+ (* 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)); {560#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:53:00,685 INFO L290 TraceCheckUtils]: 27: Hoare triple {584#(= (+ (* 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; {580#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-07 12:53:00,687 INFO L290 TraceCheckUtils]: 26: Hoare triple {588#(= (+ (* (* 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; {584#(= (+ (* 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-07 12:53:00,687 INFO L290 TraceCheckUtils]: 25: Hoare triple {584#(= (+ (* 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; {588#(= (+ (* (* 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-07 12:53:00,688 INFO L290 TraceCheckUtils]: 24: Hoare triple {584#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {584#(= (+ (* 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-07 12:53:00,689 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {467#true} {584#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {584#(= (+ (* 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-07 12:53:00,689 INFO L290 TraceCheckUtils]: 22: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-07 12:53:00,689 INFO L290 TraceCheckUtils]: 21: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-07 12:53:00,689 INFO L290 TraceCheckUtils]: 20: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-07 12:53:00,689 INFO L272 TraceCheckUtils]: 19: Hoare triple {584#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {467#true} is VALID [2022-04-07 12:53:00,695 INFO L290 TraceCheckUtils]: 18: Hoare triple {584#(= (+ (* 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; {584#(= (+ (* 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-07 12:53:00,696 INFO L290 TraceCheckUtils]: 17: Hoare triple {467#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {584#(= (+ (* 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-07 12:53:00,696 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {467#true} {467#true} #63#return; {467#true} is VALID [2022-04-07 12:53:00,696 INFO L290 TraceCheckUtils]: 15: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-07 12:53:00,696 INFO L290 TraceCheckUtils]: 14: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-07 12:53:00,696 INFO L290 TraceCheckUtils]: 13: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-07 12:53:00,697 INFO L272 TraceCheckUtils]: 12: Hoare triple {467#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {467#true} is VALID [2022-04-07 12:53:00,697 INFO L290 TraceCheckUtils]: 11: Hoare triple {467#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {467#true} is VALID [2022-04-07 12:53:00,697 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {467#true} {467#true} #61#return; {467#true} is VALID [2022-04-07 12:53:00,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-07 12:53:00,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-07 12:53:00,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-07 12:53:00,697 INFO L272 TraceCheckUtils]: 6: Hoare triple {467#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {467#true} is VALID [2022-04-07 12:53:00,703 INFO L290 TraceCheckUtils]: 5: Hoare triple {467#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; {467#true} is VALID [2022-04-07 12:53:00,704 INFO L272 TraceCheckUtils]: 4: Hoare triple {467#true} call #t~ret8 := main(); {467#true} is VALID [2022-04-07 12:53:00,705 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {467#true} {467#true} #69#return; {467#true} is VALID [2022-04-07 12:53:00,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-07 12:53:00,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {467#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); {467#true} is VALID [2022-04-07 12:53:00,711 INFO L272 TraceCheckUtils]: 0: Hoare triple {467#true} call ULTIMATE.init(); {467#true} is VALID [2022-04-07 12:53:00,712 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-07 12:53:00,712 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:53:00,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1172961378] [2022-04-07 12:53:00,712 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:53:00,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1494398839] [2022-04-07 12:53:00,712 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1494398839] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:53:00,712 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:53:00,712 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-07 12:53:00,712 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [348487852] [2022-04-07 12:53:00,712 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:53:00,713 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 32 [2022-04-07 12:53:00,713 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:53:00,713 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 12:53:00,754 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-07 12:53:00,754 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-07 12:53:00,754 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:53:00,754 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-07 12:53:00,754 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-07 12:53:00,755 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 12:53:01,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:53:01,225 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2022-04-07 12:53:01,225 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-07 12:53:01,225 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 32 [2022-04-07 12:53:01,226 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:53:01,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 12:53:01,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 51 transitions. [2022-04-07 12:53:01,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 12:53:01,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 51 transitions. [2022-04-07 12:53:01,229 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 51 transitions. [2022-04-07 12:53:01,284 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-07 12:53:01,286 INFO L225 Difference]: With dead ends: 48 [2022-04-07 12:53:01,286 INFO L226 Difference]: Without dead ends: 42 [2022-04-07 12:53:01,287 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 52 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-07 12:53:01,288 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 14 mSDsluCounter, 114 mSDsCounter, 0 mSdLazyCounter, 166 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 135 SdHoareTripleChecker+Invalid, 177 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 166 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 12:53:01,288 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 135 Invalid, 177 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 166 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 12:53:01,288 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-04-07 12:53:01,309 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 41. [2022-04-07 12:53:01,309 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:53:01,309 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:53:01,310 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:53:01,310 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:53:01,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:53:01,311 INFO L93 Difference]: Finished difference Result 42 states and 47 transitions. [2022-04-07 12:53:01,311 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-07 12:53:01,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:53:01,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:53:01,312 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 42 states. [2022-04-07 12:53:01,312 INFO L87 Difference]: Start difference. First operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 42 states. [2022-04-07 12:53:01,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:53:01,313 INFO L93 Difference]: Finished difference Result 42 states and 47 transitions. [2022-04-07 12:53:01,314 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-07 12:53:01,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:53:01,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:53:01,314 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:53:01,314 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:53:01,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:53:01,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-07 12:53:01,315 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 32 [2022-04-07 12:53:01,315 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:53:01,316 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-07 12:53:01,316 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 12:53:01,316 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-07 12:53:01,316 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-07 12:53:01,317 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:53:01,317 INFO L499 BasicCegarLoop]: 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-07 12:53:01,336 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-07 12:53:01,517 WARN L460 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-07 12:53:01,517 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:53:01,518 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:53:01,518 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-07 12:53:01,518 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:53:01,518 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [991473673] [2022-04-07 12:53:01,518 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:53:01,518 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:53:01,529 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:53:01,530 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1706761988] [2022-04-07 12:53:01,530 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:53:01,530 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:53:01,530 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:53:01,531 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-07 12:53:01,559 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-07 12:53:01,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:53:01,575 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-07 12:53:01,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:53:01,594 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:53:02,029 INFO L272 TraceCheckUtils]: 0: Hoare triple {885#true} call ULTIMATE.init(); {885#true} is VALID [2022-04-07 12:53:02,029 INFO L290 TraceCheckUtils]: 1: Hoare triple {885#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); {885#true} is VALID [2022-04-07 12:53:02,029 INFO L290 TraceCheckUtils]: 2: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-07 12:53:02,029 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {885#true} {885#true} #69#return; {885#true} is VALID [2022-04-07 12:53:02,030 INFO L272 TraceCheckUtils]: 4: Hoare triple {885#true} call #t~ret8 := main(); {885#true} is VALID [2022-04-07 12:53:02,030 INFO L290 TraceCheckUtils]: 5: Hoare triple {885#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; {885#true} is VALID [2022-04-07 12:53:02,030 INFO L272 TraceCheckUtils]: 6: Hoare triple {885#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {885#true} is VALID [2022-04-07 12:53:02,030 INFO L290 TraceCheckUtils]: 7: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-07 12:53:02,030 INFO L290 TraceCheckUtils]: 8: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-07 12:53:02,030 INFO L290 TraceCheckUtils]: 9: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-07 12:53:02,030 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {885#true} {885#true} #61#return; {885#true} is VALID [2022-04-07 12:53:02,030 INFO L290 TraceCheckUtils]: 11: Hoare triple {885#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {885#true} is VALID [2022-04-07 12:53:02,030 INFO L272 TraceCheckUtils]: 12: Hoare triple {885#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {885#true} is VALID [2022-04-07 12:53:02,030 INFO L290 TraceCheckUtils]: 13: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-07 12:53:02,030 INFO L290 TraceCheckUtils]: 14: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-07 12:53:02,030 INFO L290 TraceCheckUtils]: 15: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-07 12:53:02,030 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {885#true} {885#true} #63#return; {885#true} is VALID [2022-04-07 12:53:02,031 INFO L290 TraceCheckUtils]: 17: Hoare triple {885#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {941#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-07 12:53:02,031 INFO L290 TraceCheckUtils]: 18: Hoare triple {941#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {941#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-07 12:53:02,032 INFO L272 TraceCheckUtils]: 19: Hoare triple {941#(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)); {885#true} is VALID [2022-04-07 12:53:02,032 INFO L290 TraceCheckUtils]: 20: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-07 12:53:02,032 INFO L290 TraceCheckUtils]: 21: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-07 12:53:02,032 INFO L290 TraceCheckUtils]: 22: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-07 12:53:02,033 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {885#true} {941#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {941#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-07 12:53:02,033 INFO L290 TraceCheckUtils]: 24: Hoare triple {941#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {963#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-07 12:53:02,033 INFO L290 TraceCheckUtils]: 25: Hoare triple {963#(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; {967#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-07 12:53:02,034 INFO L290 TraceCheckUtils]: 26: Hoare triple {967#(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; {971#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-07 12:53:02,034 INFO L290 TraceCheckUtils]: 27: Hoare triple {971#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {975#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-07 12:53:02,035 INFO L272 TraceCheckUtils]: 28: Hoare triple {975#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= 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)); {885#true} is VALID [2022-04-07 12:53:02,035 INFO L290 TraceCheckUtils]: 29: Hoare triple {885#true} ~cond := #in~cond; {982#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:53:02,035 INFO L290 TraceCheckUtils]: 30: Hoare triple {982#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {986#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:53:02,035 INFO L290 TraceCheckUtils]: 31: Hoare triple {986#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {986#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:53:02,037 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {986#(not (= |__VERIFIER_assert_#in~cond| 0))} {975#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {993#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-07 12:53:02,037 INFO L290 TraceCheckUtils]: 33: Hoare triple {993#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {997#(and (= (+ (- 1) main_~x~0) 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)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-07 12:53:02,039 INFO L290 TraceCheckUtils]: 34: Hoare triple {997#(and (= (+ (- 1) main_~x~0) 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)) (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; {1001#(and (not (<= 1 main_~X~0)) (= main_~y~0 main_~xy~0) (= main_~y~0 1) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-07 12:53:02,040 INFO L272 TraceCheckUtils]: 35: Hoare triple {1001#(and (not (<= 1 main_~X~0)) (= main_~y~0 main_~xy~0) (= main_~y~0 1) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1005#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:53:02,040 INFO L290 TraceCheckUtils]: 36: Hoare triple {1005#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1009#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:53:02,041 INFO L290 TraceCheckUtils]: 37: Hoare triple {1009#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {886#false} is VALID [2022-04-07 12:53:02,041 INFO L290 TraceCheckUtils]: 38: Hoare triple {886#false} assume !false; {886#false} is VALID [2022-04-07 12:53:02,041 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-07 12:53:02,041 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:53:02,768 INFO L290 TraceCheckUtils]: 38: Hoare triple {886#false} assume !false; {886#false} is VALID [2022-04-07 12:53:02,768 INFO L290 TraceCheckUtils]: 37: Hoare triple {1009#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {886#false} is VALID [2022-04-07 12:53:02,769 INFO L290 TraceCheckUtils]: 36: Hoare triple {1005#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1009#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:53:02,769 INFO L272 TraceCheckUtils]: 35: Hoare triple {1025#(= (+ (* 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)); {1005#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:53:02,770 INFO L290 TraceCheckUtils]: 34: Hoare triple {1029#(= (+ (* 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; {1025#(= (+ (* 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-07 12:53:02,770 INFO L290 TraceCheckUtils]: 33: Hoare triple {1033#(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); {1029#(= (+ (* 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-07 12:53:02,771 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {986#(not (= |__VERIFIER_assert_#in~cond| 0))} {1037#(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; {1033#(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-07 12:53:02,772 INFO L290 TraceCheckUtils]: 31: Hoare triple {986#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {986#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:53:02,772 INFO L290 TraceCheckUtils]: 30: Hoare triple {1047#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {986#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:53:02,772 INFO L290 TraceCheckUtils]: 29: Hoare triple {885#true} ~cond := #in~cond; {1047#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 12:53:02,772 INFO L272 TraceCheckUtils]: 28: Hoare triple {1037#(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)); {885#true} is VALID [2022-04-07 12:53:02,773 INFO L290 TraceCheckUtils]: 27: Hoare triple {1054#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1037#(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-07 12:53:02,775 INFO L290 TraceCheckUtils]: 26: Hoare triple {1058#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1054#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-07 12:53:02,776 INFO L290 TraceCheckUtils]: 25: Hoare triple {1062#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1058#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} is VALID [2022-04-07 12:53:02,778 INFO L290 TraceCheckUtils]: 24: Hoare triple {885#true} assume !!(~x~0 <= ~X~0); {1062#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-07 12:53:02,778 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {885#true} {885#true} #65#return; {885#true} is VALID [2022-04-07 12:53:02,778 INFO L290 TraceCheckUtils]: 22: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-07 12:53:02,778 INFO L290 TraceCheckUtils]: 21: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-07 12:53:02,778 INFO L290 TraceCheckUtils]: 20: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-07 12:53:02,778 INFO L272 TraceCheckUtils]: 19: Hoare triple {885#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {885#true} is VALID [2022-04-07 12:53:02,778 INFO L290 TraceCheckUtils]: 18: Hoare triple {885#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {885#true} is VALID [2022-04-07 12:53:02,778 INFO L290 TraceCheckUtils]: 17: Hoare triple {885#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {885#true} is VALID [2022-04-07 12:53:02,778 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {885#true} {885#true} #63#return; {885#true} is VALID [2022-04-07 12:53:02,778 INFO L290 TraceCheckUtils]: 15: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-07 12:53:02,779 INFO L290 TraceCheckUtils]: 14: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-07 12:53:02,779 INFO L290 TraceCheckUtils]: 13: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-07 12:53:02,779 INFO L272 TraceCheckUtils]: 12: Hoare triple {885#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {885#true} is VALID [2022-04-07 12:53:02,779 INFO L290 TraceCheckUtils]: 11: Hoare triple {885#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {885#true} is VALID [2022-04-07 12:53:02,779 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {885#true} {885#true} #61#return; {885#true} is VALID [2022-04-07 12:53:02,779 INFO L290 TraceCheckUtils]: 9: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-07 12:53:02,779 INFO L290 TraceCheckUtils]: 8: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-07 12:53:02,779 INFO L290 TraceCheckUtils]: 7: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-07 12:53:02,779 INFO L272 TraceCheckUtils]: 6: Hoare triple {885#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {885#true} is VALID [2022-04-07 12:53:02,779 INFO L290 TraceCheckUtils]: 5: Hoare triple {885#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; {885#true} is VALID [2022-04-07 12:53:02,779 INFO L272 TraceCheckUtils]: 4: Hoare triple {885#true} call #t~ret8 := main(); {885#true} is VALID [2022-04-07 12:53:02,779 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {885#true} {885#true} #69#return; {885#true} is VALID [2022-04-07 12:53:02,780 INFO L290 TraceCheckUtils]: 2: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-07 12:53:02,780 INFO L290 TraceCheckUtils]: 1: Hoare triple {885#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); {885#true} is VALID [2022-04-07 12:53:02,780 INFO L272 TraceCheckUtils]: 0: Hoare triple {885#true} call ULTIMATE.init(); {885#true} is VALID [2022-04-07 12:53:02,780 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-07 12:53:02,780 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:53:02,780 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [991473673] [2022-04-07 12:53:02,780 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:53:02,780 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1706761988] [2022-04-07 12:53:02,780 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1706761988] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:53:02,780 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:53:02,780 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-07 12:53:02,781 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1988157560] [2022-04-07 12:53:02,781 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:53:02,781 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) Word has length 39 [2022-04-07 12:53:02,781 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:53:02,782 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-07 12:53:02,836 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-07 12:53:02,837 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-07 12:53:02,837 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:53:02,838 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-07 12:53:02,838 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-07 12:53:02,838 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-07 12:53:04,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:53:04,022 INFO L93 Difference]: Finished difference Result 60 states and 68 transitions. [2022-04-07 12:53:04,022 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-07 12:53:04,022 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) Word has length 39 [2022-04-07 12:53:04,022 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:53:04,023 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-07 12:53:04,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 62 transitions. [2022-04-07 12:53:04,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-07 12:53:04,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 62 transitions. [2022-04-07 12:53:04,026 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 62 transitions. [2022-04-07 12:53:04,088 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:53:04,089 INFO L225 Difference]: With dead ends: 60 [2022-04-07 12:53:04,089 INFO L226 Difference]: Without dead ends: 52 [2022-04-07 12:53:04,090 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 261 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=220, Invalid=1112, Unknown=0, NotChecked=0, Total=1332 [2022-04-07 12:53:04,090 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 28 mSDsluCounter, 202 mSDsCounter, 0 mSdLazyCounter, 254 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 222 SdHoareTripleChecker+Invalid, 377 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 254 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 98 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-07 12:53:04,091 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 222 Invalid, 377 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 254 Invalid, 0 Unknown, 98 Unchecked, 0.3s Time] [2022-04-07 12:53:04,091 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-07 12:53:04,098 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 41. [2022-04-07 12:53:04,098 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:53:04,099 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:53:04,099 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:53:04,099 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:53:04,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:53:04,101 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2022-04-07 12:53:04,101 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2022-04-07 12:53:04,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:53:04,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:53:04,102 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 52 states. [2022-04-07 12:53:04,102 INFO L87 Difference]: Start difference. First operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 52 states. [2022-04-07 12:53:04,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:53:04,103 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2022-04-07 12:53:04,103 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2022-04-07 12:53:04,104 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:53:04,104 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:53:04,104 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:53:04,104 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:53:04,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 12:53:04,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-07 12:53:04,105 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 39 [2022-04-07 12:53:04,106 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:53:04,106 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-07 12:53:04,106 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-07 12:53:04,106 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-07 12:53:04,107 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-07 12:53:04,107 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:53:04,107 INFO L499 BasicCegarLoop]: 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-07 12:53:04,124 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-07 12:53:04,319 WARN L460 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-07 12:53:04,320 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:53:04,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:53:04,320 INFO L85 PathProgramCache]: Analyzing trace with hash 1662296326, now seen corresponding path program 1 times [2022-04-07 12:53:04,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:53:04,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1962507749] [2022-04-07 12:53:04,320 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:53:04,320 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:53:04,335 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:53:04,335 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1555353967] [2022-04-07 12:53:04,335 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:53:04,335 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:53:04,336 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:53:04,340 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-07 12:53:04,341 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-07 12:53:04,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:53:04,379 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-07 12:53:04,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:53:04,390 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:53:21,800 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:53:31,816 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:53:45,431 INFO L272 TraceCheckUtils]: 0: Hoare triple {1417#true} call ULTIMATE.init(); {1417#true} is VALID [2022-04-07 12:53:45,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {1417#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); {1417#true} is VALID [2022-04-07 12:53:45,431 INFO L290 TraceCheckUtils]: 2: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-07 12:53:45,431 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1417#true} {1417#true} #69#return; {1417#true} is VALID [2022-04-07 12:53:45,431 INFO L272 TraceCheckUtils]: 4: Hoare triple {1417#true} call #t~ret8 := main(); {1417#true} is VALID [2022-04-07 12:53:45,431 INFO L290 TraceCheckUtils]: 5: Hoare triple {1417#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; {1417#true} is VALID [2022-04-07 12:53:45,431 INFO L272 TraceCheckUtils]: 6: Hoare triple {1417#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {1417#true} is VALID [2022-04-07 12:53:45,432 INFO L290 TraceCheckUtils]: 7: Hoare triple {1417#true} ~cond := #in~cond; {1417#true} is VALID [2022-04-07 12:53:45,432 INFO L290 TraceCheckUtils]: 8: Hoare triple {1417#true} assume !(0 == ~cond); {1417#true} is VALID [2022-04-07 12:53:45,432 INFO L290 TraceCheckUtils]: 9: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-07 12:53:45,432 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1417#true} {1417#true} #61#return; {1417#true} is VALID [2022-04-07 12:53:45,432 INFO L290 TraceCheckUtils]: 11: Hoare triple {1417#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1417#true} is VALID [2022-04-07 12:53:45,432 INFO L272 TraceCheckUtils]: 12: Hoare triple {1417#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {1417#true} is VALID [2022-04-07 12:53:45,432 INFO L290 TraceCheckUtils]: 13: Hoare triple {1417#true} ~cond := #in~cond; {1417#true} is VALID [2022-04-07 12:53:45,432 INFO L290 TraceCheckUtils]: 14: Hoare triple {1417#true} assume !(0 == ~cond); {1417#true} is VALID [2022-04-07 12:53:45,432 INFO L290 TraceCheckUtils]: 15: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-07 12:53:45,432 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1417#true} {1417#true} #63#return; {1417#true} is VALID [2022-04-07 12:53:45,433 INFO L290 TraceCheckUtils]: 17: Hoare triple {1417#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:45,433 INFO L290 TraceCheckUtils]: 18: Hoare triple {1473#(= main_~y~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:45,433 INFO L272 TraceCheckUtils]: 19: Hoare triple {1473#(= 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)); {1417#true} is VALID [2022-04-07 12:53:45,433 INFO L290 TraceCheckUtils]: 20: Hoare triple {1417#true} ~cond := #in~cond; {1417#true} is VALID [2022-04-07 12:53:45,433 INFO L290 TraceCheckUtils]: 21: Hoare triple {1417#true} assume !(0 == ~cond); {1417#true} is VALID [2022-04-07 12:53:45,433 INFO L290 TraceCheckUtils]: 22: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-07 12:53:45,434 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1417#true} {1473#(= main_~y~0 0)} #65#return; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:45,434 INFO L290 TraceCheckUtils]: 24: Hoare triple {1473#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:45,435 INFO L290 TraceCheckUtils]: 25: Hoare triple {1473#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:45,435 INFO L290 TraceCheckUtils]: 26: Hoare triple {1473#(= main_~y~0 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:45,435 INFO L290 TraceCheckUtils]: 27: Hoare triple {1473#(= main_~y~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:45,435 INFO L272 TraceCheckUtils]: 28: Hoare triple {1473#(= 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)); {1417#true} is VALID [2022-04-07 12:53:45,435 INFO L290 TraceCheckUtils]: 29: Hoare triple {1417#true} ~cond := #in~cond; {1510#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:53:45,436 INFO L290 TraceCheckUtils]: 30: Hoare triple {1510#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:53:45,436 INFO L290 TraceCheckUtils]: 31: Hoare triple {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:53:45,437 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} {1473#(= main_~y~0 0)} #65#return; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:45,437 INFO L290 TraceCheckUtils]: 33: Hoare triple {1473#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:45,437 INFO L290 TraceCheckUtils]: 34: Hoare triple {1473#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:45,438 INFO L290 TraceCheckUtils]: 35: Hoare triple {1473#(= main_~y~0 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:45,438 INFO L290 TraceCheckUtils]: 36: Hoare triple {1473#(= main_~y~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1533#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-07 12:53:45,438 INFO L272 TraceCheckUtils]: 37: Hoare triple {1533#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1417#true} is VALID [2022-04-07 12:53:45,438 INFO L290 TraceCheckUtils]: 38: Hoare triple {1417#true} ~cond := #in~cond; {1510#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:53:45,439 INFO L290 TraceCheckUtils]: 39: Hoare triple {1510#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:53:45,439 INFO L290 TraceCheckUtils]: 40: Hoare triple {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:53:45,440 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} {1533#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {1549#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-07 12:53:45,441 INFO L290 TraceCheckUtils]: 42: Hoare triple {1549#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !(~x~0 <= ~X~0); {1549#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-07 12:53:47,442 WARN L290 TraceCheckUtils]: 43: Hoare triple {1549#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1556#(and (= main_~y~0 0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~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) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is UNKNOWN [2022-04-07 12:53:47,449 INFO L272 TraceCheckUtils]: 44: Hoare triple {1556#(and (= main_~y~0 0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~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) (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)); {1560#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:53:47,449 INFO L290 TraceCheckUtils]: 45: Hoare triple {1560#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1564#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:53:47,450 INFO L290 TraceCheckUtils]: 46: Hoare triple {1564#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1418#false} is VALID [2022-04-07 12:53:47,450 INFO L290 TraceCheckUtils]: 47: Hoare triple {1418#false} assume !false; {1418#false} is VALID [2022-04-07 12:53:47,451 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 14 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-07 12:53:47,451 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:53:52,927 INFO L290 TraceCheckUtils]: 47: Hoare triple {1418#false} assume !false; {1418#false} is VALID [2022-04-07 12:53:52,929 INFO L290 TraceCheckUtils]: 46: Hoare triple {1564#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1418#false} is VALID [2022-04-07 12:53:52,929 INFO L290 TraceCheckUtils]: 45: Hoare triple {1560#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1564#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:53:52,930 INFO L272 TraceCheckUtils]: 44: Hoare triple {1580#(= (+ (* 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)); {1560#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:53:52,931 INFO L290 TraceCheckUtils]: 43: Hoare triple {1584#(= (+ (* 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; {1580#(= (+ (* 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-07 12:53:52,931 INFO L290 TraceCheckUtils]: 42: Hoare triple {1584#(= (+ (* 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); {1584#(= (+ (* 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-07 12:53:52,933 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} {1591#(= (+ (* 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; {1584#(= (+ (* 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-07 12:53:52,933 INFO L290 TraceCheckUtils]: 40: Hoare triple {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:53:52,936 INFO L290 TraceCheckUtils]: 39: Hoare triple {1601#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:53:52,936 INFO L290 TraceCheckUtils]: 38: Hoare triple {1417#true} ~cond := #in~cond; {1601#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 12:53:52,936 INFO L272 TraceCheckUtils]: 37: Hoare triple {1591#(= (+ (* 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)); {1417#true} is VALID [2022-04-07 12:53:52,937 INFO L290 TraceCheckUtils]: 36: Hoare triple {1473#(= main_~y~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1591#(= (+ (* 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-07 12:53:52,937 INFO L290 TraceCheckUtils]: 35: Hoare triple {1473#(= main_~y~0 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:52,937 INFO L290 TraceCheckUtils]: 34: Hoare triple {1473#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:52,938 INFO L290 TraceCheckUtils]: 33: Hoare triple {1473#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:52,938 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1417#true} {1473#(= main_~y~0 0)} #65#return; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:52,938 INFO L290 TraceCheckUtils]: 31: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-07 12:53:52,938 INFO L290 TraceCheckUtils]: 30: Hoare triple {1417#true} assume !(0 == ~cond); {1417#true} is VALID [2022-04-07 12:53:52,938 INFO L290 TraceCheckUtils]: 29: Hoare triple {1417#true} ~cond := #in~cond; {1417#true} is VALID [2022-04-07 12:53:52,939 INFO L272 TraceCheckUtils]: 28: Hoare triple {1473#(= 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)); {1417#true} is VALID [2022-04-07 12:53:52,939 INFO L290 TraceCheckUtils]: 27: Hoare triple {1473#(= main_~y~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:52,939 INFO L290 TraceCheckUtils]: 26: Hoare triple {1473#(= main_~y~0 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:52,939 INFO L290 TraceCheckUtils]: 25: Hoare triple {1473#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:52,940 INFO L290 TraceCheckUtils]: 24: Hoare triple {1473#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:52,940 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1417#true} {1473#(= main_~y~0 0)} #65#return; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:52,940 INFO L290 TraceCheckUtils]: 22: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-07 12:53:52,940 INFO L290 TraceCheckUtils]: 21: Hoare triple {1417#true} assume !(0 == ~cond); {1417#true} is VALID [2022-04-07 12:53:52,940 INFO L290 TraceCheckUtils]: 20: Hoare triple {1417#true} ~cond := #in~cond; {1417#true} is VALID [2022-04-07 12:53:52,940 INFO L272 TraceCheckUtils]: 19: Hoare triple {1473#(= 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)); {1417#true} is VALID [2022-04-07 12:53:52,941 INFO L290 TraceCheckUtils]: 18: Hoare triple {1473#(= main_~y~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:52,941 INFO L290 TraceCheckUtils]: 17: Hoare triple {1417#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1473#(= main_~y~0 0)} is VALID [2022-04-07 12:53:52,941 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1417#true} {1417#true} #63#return; {1417#true} is VALID [2022-04-07 12:53:52,941 INFO L290 TraceCheckUtils]: 15: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-07 12:53:52,941 INFO L290 TraceCheckUtils]: 14: Hoare triple {1417#true} assume !(0 == ~cond); {1417#true} is VALID [2022-04-07 12:53:52,941 INFO L290 TraceCheckUtils]: 13: Hoare triple {1417#true} ~cond := #in~cond; {1417#true} is VALID [2022-04-07 12:53:52,941 INFO L272 TraceCheckUtils]: 12: Hoare triple {1417#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {1417#true} is VALID [2022-04-07 12:53:52,941 INFO L290 TraceCheckUtils]: 11: Hoare triple {1417#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1417#true} is VALID [2022-04-07 12:53:52,941 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1417#true} {1417#true} #61#return; {1417#true} is VALID [2022-04-07 12:53:52,941 INFO L290 TraceCheckUtils]: 9: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-07 12:53:52,941 INFO L290 TraceCheckUtils]: 8: Hoare triple {1417#true} assume !(0 == ~cond); {1417#true} is VALID [2022-04-07 12:53:52,942 INFO L290 TraceCheckUtils]: 7: Hoare triple {1417#true} ~cond := #in~cond; {1417#true} is VALID [2022-04-07 12:53:52,942 INFO L272 TraceCheckUtils]: 6: Hoare triple {1417#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {1417#true} is VALID [2022-04-07 12:53:52,942 INFO L290 TraceCheckUtils]: 5: Hoare triple {1417#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; {1417#true} is VALID [2022-04-07 12:53:52,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {1417#true} call #t~ret8 := main(); {1417#true} is VALID [2022-04-07 12:53:52,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1417#true} {1417#true} #69#return; {1417#true} is VALID [2022-04-07 12:53:52,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-07 12:53:52,942 INFO L290 TraceCheckUtils]: 1: Hoare triple {1417#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); {1417#true} is VALID [2022-04-07 12:53:52,942 INFO L272 TraceCheckUtils]: 0: Hoare triple {1417#true} call ULTIMATE.init(); {1417#true} is VALID [2022-04-07 12:53:52,942 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 11 proven. 5 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-07 12:53:52,943 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:53:52,943 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1962507749] [2022-04-07 12:53:52,943 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:53:52,943 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1555353967] [2022-04-07 12:53:52,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1555353967] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:53:52,943 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:53:52,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 14 [2022-04-07 12:53:52,943 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [668081227] [2022-04-07 12:53:52,943 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:53:52,944 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 10 states have (on average 2.9) internal successors, (29), 13 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) Word has length 48 [2022-04-07 12:53:52,945 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:53:52,946 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 10 states have (on average 2.9) internal successors, (29), 13 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-07 12:53:54,977 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 44 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 12:53:54,977 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-07 12:53:54,977 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:53:54,977 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-07 12:53:54,978 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=146, Unknown=1, NotChecked=0, Total=182 [2022-04-07 12:53:54,978 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 14 states, 10 states have (on average 2.9) internal successors, (29), 13 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-07 12:53:57,125 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-07 12:54:01,216 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-07 12:54:03,231 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-07 12:54:07,516 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-07 12:54:09,541 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-07 12:54:11,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:11,740 INFO L93 Difference]: Finished difference Result 56 states and 63 transitions. [2022-04-07 12:54:11,740 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-07 12:54:11,741 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 10 states have (on average 2.9) internal successors, (29), 13 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) Word has length 48 [2022-04-07 12:54:11,741 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:54:11,741 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 10 states have (on average 2.9) internal successors, (29), 13 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-07 12:54:11,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 48 transitions. [2022-04-07 12:54:11,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 10 states have (on average 2.9) internal successors, (29), 13 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-07 12:54:11,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 48 transitions. [2022-04-07 12:54:11,743 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 48 transitions. [2022-04-07 12:54:13,781 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 47 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 12:54:13,782 INFO L225 Difference]: With dead ends: 56 [2022-04-07 12:54:13,782 INFO L226 Difference]: Without dead ends: 50 [2022-04-07 12:54:13,783 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 81 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 6.3s TimeCoverageRelationStatistics Valid=66, Invalid=237, Unknown=3, NotChecked=0, Total=306 [2022-04-07 12:54:13,783 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 25 mSDsluCounter, 114 mSDsCounter, 0 mSdLazyCounter, 144 mSolverCounterSat, 13 mSolverCounterUnsat, 5 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 10.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 162 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 144 IncrementalHoareTripleChecker+Invalid, 5 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 10.3s IncrementalHoareTripleChecker+Time [2022-04-07 12:54:13,783 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 133 Invalid, 162 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 144 Invalid, 5 Unknown, 0 Unchecked, 10.3s Time] [2022-04-07 12:54:13,784 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-07 12:54:13,800 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 44. [2022-04-07 12:54:13,800 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:54:13,801 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 44 states, 30 states have (on average 1.1) internal successors, (33), 31 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:54:13,801 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 44 states, 30 states have (on average 1.1) internal successors, (33), 31 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:54:13,802 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 44 states, 30 states have (on average 1.1) internal successors, (33), 31 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:54:13,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:13,806 INFO L93 Difference]: Finished difference Result 50 states and 57 transitions. [2022-04-07 12:54:13,806 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2022-04-07 12:54:13,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:13,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:13,814 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 30 states have (on average 1.1) internal successors, (33), 31 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-07 12:54:13,814 INFO L87 Difference]: Start difference. First operand has 44 states, 30 states have (on average 1.1) internal successors, (33), 31 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-07 12:54:13,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:13,816 INFO L93 Difference]: Finished difference Result 50 states and 57 transitions. [2022-04-07 12:54:13,816 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2022-04-07 12:54:13,816 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:13,817 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:13,817 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:54:13,817 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:54:13,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 30 states have (on average 1.1) internal successors, (33), 31 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:54:13,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 49 transitions. [2022-04-07 12:54:13,820 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 49 transitions. Word has length 48 [2022-04-07 12:54:13,820 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:54:13,820 INFO L478 AbstractCegarLoop]: Abstraction has 44 states and 49 transitions. [2022-04-07 12:54:13,820 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 10 states have (on average 2.9) internal successors, (29), 13 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-07 12:54:13,820 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-07 12:54:13,822 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-07 12:54:13,822 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:54:13,822 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:54:13,841 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-07 12:54:14,035 WARN L460 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-07 12:54:14,035 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:54:14,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:54:14,036 INFO L85 PathProgramCache]: Analyzing trace with hash -143142008, now seen corresponding path program 1 times [2022-04-07 12:54:14,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:54:14,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [495420401] [2022-04-07 12:54:14,036 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:54:14,036 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:54:14,049 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:54:14,050 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [578005713] [2022-04-07 12:54:14,050 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:54:14,050 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:54:14,050 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:54:14,051 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-07 12:54:14,051 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-07 12:54:14,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:54:14,093 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 12:54:14,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:54:14,108 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:54:15,619 INFO L272 TraceCheckUtils]: 0: Hoare triple {1968#true} call ULTIMATE.init(); {1968#true} is VALID [2022-04-07 12:54:15,619 INFO L290 TraceCheckUtils]: 1: Hoare triple {1968#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); {1968#true} is VALID [2022-04-07 12:54:15,619 INFO L290 TraceCheckUtils]: 2: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-07 12:54:15,619 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1968#true} {1968#true} #69#return; {1968#true} is VALID [2022-04-07 12:54:15,619 INFO L272 TraceCheckUtils]: 4: Hoare triple {1968#true} call #t~ret8 := main(); {1968#true} is VALID [2022-04-07 12:54:15,619 INFO L290 TraceCheckUtils]: 5: Hoare triple {1968#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; {1968#true} is VALID [2022-04-07 12:54:15,619 INFO L272 TraceCheckUtils]: 6: Hoare triple {1968#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {1968#true} is VALID [2022-04-07 12:54:15,620 INFO L290 TraceCheckUtils]: 7: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-07 12:54:15,621 INFO L290 TraceCheckUtils]: 8: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-07 12:54:15,621 INFO L290 TraceCheckUtils]: 9: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-07 12:54:15,621 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1968#true} {1968#true} #61#return; {1968#true} is VALID [2022-04-07 12:54:15,621 INFO L290 TraceCheckUtils]: 11: Hoare triple {1968#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1968#true} is VALID [2022-04-07 12:54:15,621 INFO L272 TraceCheckUtils]: 12: Hoare triple {1968#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {1968#true} is VALID [2022-04-07 12:54:15,621 INFO L290 TraceCheckUtils]: 13: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-07 12:54:15,621 INFO L290 TraceCheckUtils]: 14: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-07 12:54:15,621 INFO L290 TraceCheckUtils]: 15: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-07 12:54:15,621 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1968#true} {1968#true} #63#return; {1968#true} is VALID [2022-04-07 12:54:15,622 INFO L290 TraceCheckUtils]: 17: Hoare triple {1968#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-07 12:54:15,622 INFO L290 TraceCheckUtils]: 18: Hoare triple {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-07 12:54:15,622 INFO L272 TraceCheckUtils]: 19: Hoare triple {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1968#true} is VALID [2022-04-07 12:54:15,622 INFO L290 TraceCheckUtils]: 20: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-07 12:54:15,622 INFO L290 TraceCheckUtils]: 21: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-07 12:54:15,622 INFO L290 TraceCheckUtils]: 22: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-07 12:54:15,623 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1968#true} {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-07 12:54:15,623 INFO L290 TraceCheckUtils]: 24: Hoare triple {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-07 12:54:15,624 INFO L290 TraceCheckUtils]: 25: Hoare triple {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2049#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-07 12:54:15,625 INFO L290 TraceCheckUtils]: 26: Hoare triple {2049#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-07 12:54:15,626 INFO L290 TraceCheckUtils]: 27: Hoare triple {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-07 12:54:15,626 INFO L272 TraceCheckUtils]: 28: Hoare triple {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1968#true} is VALID [2022-04-07 12:54:15,626 INFO L290 TraceCheckUtils]: 29: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-07 12:54:15,626 INFO L290 TraceCheckUtils]: 30: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-07 12:54:15,626 INFO L290 TraceCheckUtils]: 31: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-07 12:54:15,626 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1968#true} {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #65#return; {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-07 12:54:15,627 INFO L290 TraceCheckUtils]: 33: Hoare triple {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume !!(~x~0 <= ~X~0); {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-07 12:54:15,632 INFO L290 TraceCheckUtils]: 34: Hoare triple {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2078#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} is VALID [2022-04-07 12:54:15,633 INFO L290 TraceCheckUtils]: 35: Hoare triple {2078#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2082#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-07 12:54:15,633 INFO L290 TraceCheckUtils]: 36: Hoare triple {2082#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2082#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-07 12:54:15,634 INFO L272 TraceCheckUtils]: 37: Hoare triple {2082#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1968#true} is VALID [2022-04-07 12:54:15,634 INFO L290 TraceCheckUtils]: 38: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-07 12:54:15,634 INFO L290 TraceCheckUtils]: 39: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-07 12:54:15,634 INFO L290 TraceCheckUtils]: 40: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-07 12:54:15,635 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1968#true} {2082#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} #65#return; {2082#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-07 12:54:15,636 INFO L290 TraceCheckUtils]: 42: Hoare triple {2082#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !(~x~0 <= ~X~0); {1969#false} is VALID [2022-04-07 12:54:15,636 INFO L290 TraceCheckUtils]: 43: Hoare triple {1969#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1969#false} is VALID [2022-04-07 12:54:15,636 INFO L272 TraceCheckUtils]: 44: Hoare triple {1969#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1969#false} is VALID [2022-04-07 12:54:15,636 INFO L290 TraceCheckUtils]: 45: Hoare triple {1969#false} ~cond := #in~cond; {1969#false} is VALID [2022-04-07 12:54:15,636 INFO L290 TraceCheckUtils]: 46: Hoare triple {1969#false} assume 0 == ~cond; {1969#false} is VALID [2022-04-07 12:54:15,636 INFO L290 TraceCheckUtils]: 47: Hoare triple {1969#false} assume !false; {1969#false} is VALID [2022-04-07 12:54:15,636 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-07 12:54:15,637 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:54:15,952 INFO L290 TraceCheckUtils]: 47: Hoare triple {1969#false} assume !false; {1969#false} is VALID [2022-04-07 12:54:15,952 INFO L290 TraceCheckUtils]: 46: Hoare triple {1969#false} assume 0 == ~cond; {1969#false} is VALID [2022-04-07 12:54:15,953 INFO L290 TraceCheckUtils]: 45: Hoare triple {1969#false} ~cond := #in~cond; {1969#false} is VALID [2022-04-07 12:54:15,953 INFO L272 TraceCheckUtils]: 44: Hoare triple {1969#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1969#false} is VALID [2022-04-07 12:54:15,953 INFO L290 TraceCheckUtils]: 43: Hoare triple {1969#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1969#false} is VALID [2022-04-07 12:54:15,953 INFO L290 TraceCheckUtils]: 42: Hoare triple {2134#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {1969#false} is VALID [2022-04-07 12:54:15,953 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1968#true} {2134#(<= main_~x~0 main_~X~0)} #65#return; {2134#(<= main_~x~0 main_~X~0)} is VALID [2022-04-07 12:54:15,954 INFO L290 TraceCheckUtils]: 40: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-07 12:54:15,954 INFO L290 TraceCheckUtils]: 39: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-07 12:54:15,954 INFO L290 TraceCheckUtils]: 38: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-07 12:54:15,954 INFO L272 TraceCheckUtils]: 37: Hoare triple {2134#(<= 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)); {1968#true} is VALID [2022-04-07 12:54:15,961 INFO L290 TraceCheckUtils]: 36: Hoare triple {2134#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2134#(<= main_~x~0 main_~X~0)} is VALID [2022-04-07 12:54:15,962 INFO L290 TraceCheckUtils]: 35: Hoare triple {2156#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2134#(<= main_~x~0 main_~X~0)} is VALID [2022-04-07 12:54:15,962 INFO L290 TraceCheckUtils]: 34: Hoare triple {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2156#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-07 12:54:15,963 INFO L290 TraceCheckUtils]: 33: Hoare triple {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-07 12:54:15,963 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1968#true} {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-07 12:54:15,963 INFO L290 TraceCheckUtils]: 31: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-07 12:54:15,963 INFO L290 TraceCheckUtils]: 30: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-07 12:54:15,963 INFO L290 TraceCheckUtils]: 29: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-07 12:54:15,963 INFO L272 TraceCheckUtils]: 28: Hoare triple {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1968#true} is VALID [2022-04-07 12:54:15,964 INFO L290 TraceCheckUtils]: 27: Hoare triple {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-07 12:54:15,964 INFO L290 TraceCheckUtils]: 26: Hoare triple {2185#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-07 12:54:15,965 INFO L290 TraceCheckUtils]: 25: Hoare triple {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2185#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} is VALID [2022-04-07 12:54:15,966 INFO L290 TraceCheckUtils]: 24: Hoare triple {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-07 12:54:15,967 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1968#true} {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} #65#return; {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-07 12:54:15,967 INFO L290 TraceCheckUtils]: 22: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-07 12:54:15,967 INFO L290 TraceCheckUtils]: 21: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-07 12:54:15,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-07 12:54:15,967 INFO L272 TraceCheckUtils]: 19: Hoare triple {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1968#true} is VALID [2022-04-07 12:54:15,968 INFO L290 TraceCheckUtils]: 18: Hoare triple {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-07 12:54:15,969 INFO L290 TraceCheckUtils]: 17: Hoare triple {1968#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-07 12:54:15,969 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1968#true} {1968#true} #63#return; {1968#true} is VALID [2022-04-07 12:54:15,969 INFO L290 TraceCheckUtils]: 15: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-07 12:54:15,969 INFO L290 TraceCheckUtils]: 14: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-07 12:54:15,970 INFO L290 TraceCheckUtils]: 13: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-07 12:54:15,970 INFO L272 TraceCheckUtils]: 12: Hoare triple {1968#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {1968#true} is VALID [2022-04-07 12:54:15,970 INFO L290 TraceCheckUtils]: 11: Hoare triple {1968#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1968#true} is VALID [2022-04-07 12:54:15,970 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1968#true} {1968#true} #61#return; {1968#true} is VALID [2022-04-07 12:54:15,970 INFO L290 TraceCheckUtils]: 9: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-07 12:54:15,970 INFO L290 TraceCheckUtils]: 8: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-07 12:54:15,970 INFO L290 TraceCheckUtils]: 7: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-07 12:54:15,970 INFO L272 TraceCheckUtils]: 6: Hoare triple {1968#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {1968#true} is VALID [2022-04-07 12:54:15,970 INFO L290 TraceCheckUtils]: 5: Hoare triple {1968#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; {1968#true} is VALID [2022-04-07 12:54:15,970 INFO L272 TraceCheckUtils]: 4: Hoare triple {1968#true} call #t~ret8 := main(); {1968#true} is VALID [2022-04-07 12:54:15,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1968#true} {1968#true} #69#return; {1968#true} is VALID [2022-04-07 12:54:15,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-07 12:54:15,970 INFO L290 TraceCheckUtils]: 1: Hoare triple {1968#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); {1968#true} is VALID [2022-04-07 12:54:15,970 INFO L272 TraceCheckUtils]: 0: Hoare triple {1968#true} call ULTIMATE.init(); {1968#true} is VALID [2022-04-07 12:54:15,970 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-07 12:54:15,971 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:54:15,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [495420401] [2022-04-07 12:54:15,971 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:54:15,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [578005713] [2022-04-07 12:54:15,971 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [578005713] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:54:15,971 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:54:15,971 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-07 12:54:15,971 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1628416266] [2022-04-07 12:54:15,971 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:54:15,971 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) Word has length 48 [2022-04-07 12:54:15,972 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:54:15,972 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-04-07 12:54:16,013 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-07 12:54:16,013 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-07 12:54:16,013 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:54:16,014 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-07 12:54:16,014 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-07 12:54:16,014 INFO L87 Difference]: Start difference. First operand 44 states and 49 transitions. Second operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-04-07 12:54:16,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:16,379 INFO L93 Difference]: Finished difference Result 65 states and 75 transitions. [2022-04-07 12:54:16,379 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-07 12:54:16,380 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) Word has length 48 [2022-04-07 12:54:16,380 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:54:16,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-04-07 12:54:16,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-07 12:54:16,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-04-07 12:54:16,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-07 12:54:16,382 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 58 transitions. [2022-04-07 12:54:16,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:54:16,447 INFO L225 Difference]: With dead ends: 65 [2022-04-07 12:54:16,448 INFO L226 Difference]: Without dead ends: 59 [2022-04-07 12:54:16,448 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=59, Invalid=181, Unknown=0, NotChecked=0, Total=240 [2022-04-07 12:54:16,449 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 5 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 99 SdHoareTripleChecker+Invalid, 129 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 12:54:16,449 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 99 Invalid, 129 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 12:54:16,450 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-07 12:54:16,472 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 51. [2022-04-07 12:54:16,473 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:54:16,473 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-07 12:54:16,473 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-07 12:54:16,473 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-07 12:54:16,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:16,475 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-04-07 12:54:16,475 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-04-07 12:54:16,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:16,475 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:16,475 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 59 states. [2022-04-07 12:54:16,476 INFO L87 Difference]: Start difference. First operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 59 states. [2022-04-07 12:54:16,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:16,477 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-04-07 12:54:16,477 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-04-07 12:54:16,477 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:16,477 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:16,478 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:54:16,478 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:54:16,478 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-07 12:54:16,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 59 transitions. [2022-04-07 12:54:16,479 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 59 transitions. Word has length 48 [2022-04-07 12:54:16,479 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:54:16,479 INFO L478 AbstractCegarLoop]: Abstraction has 51 states and 59 transitions. [2022-04-07 12:54:16,480 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-04-07 12:54:16,480 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 59 transitions. [2022-04-07 12:54:16,480 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-07 12:54:16,480 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:54:16,480 INFO L499 BasicCegarLoop]: 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-07 12:54:16,501 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-07 12:54:16,691 WARN L460 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-07 12:54:16,692 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:54:16,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:54:16,692 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 2 times [2022-04-07 12:54:16,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:54:16,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [995541847] [2022-04-07 12:54:16,692 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:54:16,692 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:54:16,703 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:54:16,703 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [317987965] [2022-04-07 12:54:16,703 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 12:54:16,703 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:54:16,703 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:54:16,704 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-07 12:54:16,711 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-07 12:54:16,766 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 12:54:16,766 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 12:54:16,767 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 12:54:16,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:54:16,778 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:54:17,765 INFO L272 TraceCheckUtils]: 0: Hoare triple {2555#true} call ULTIMATE.init(); {2555#true} is VALID [2022-04-07 12:54:17,765 INFO L290 TraceCheckUtils]: 1: Hoare triple {2555#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); {2555#true} is VALID [2022-04-07 12:54:17,765 INFO L290 TraceCheckUtils]: 2: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-07 12:54:17,765 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2555#true} {2555#true} #69#return; {2555#true} is VALID [2022-04-07 12:54:17,765 INFO L272 TraceCheckUtils]: 4: Hoare triple {2555#true} call #t~ret8 := main(); {2555#true} is VALID [2022-04-07 12:54:17,765 INFO L290 TraceCheckUtils]: 5: Hoare triple {2555#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; {2555#true} is VALID [2022-04-07 12:54:17,765 INFO L272 TraceCheckUtils]: 6: Hoare triple {2555#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {2555#true} is VALID [2022-04-07 12:54:17,765 INFO L290 TraceCheckUtils]: 7: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-07 12:54:17,765 INFO L290 TraceCheckUtils]: 8: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-07 12:54:17,765 INFO L290 TraceCheckUtils]: 9: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-07 12:54:17,765 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2555#true} {2555#true} #61#return; {2555#true} is VALID [2022-04-07 12:54:17,766 INFO L290 TraceCheckUtils]: 11: Hoare triple {2555#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2555#true} is VALID [2022-04-07 12:54:17,766 INFO L272 TraceCheckUtils]: 12: Hoare triple {2555#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {2555#true} is VALID [2022-04-07 12:54:17,766 INFO L290 TraceCheckUtils]: 13: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-07 12:54:17,766 INFO L290 TraceCheckUtils]: 14: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-07 12:54:17,766 INFO L290 TraceCheckUtils]: 15: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-07 12:54:17,766 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2555#true} {2555#true} #63#return; {2555#true} is VALID [2022-04-07 12:54:17,766 INFO L290 TraceCheckUtils]: 17: Hoare triple {2555#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-07 12:54:17,767 INFO L290 TraceCheckUtils]: 18: Hoare triple {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-07 12:54:17,767 INFO L272 TraceCheckUtils]: 19: Hoare triple {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2555#true} is VALID [2022-04-07 12:54:17,767 INFO L290 TraceCheckUtils]: 20: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-07 12:54:17,767 INFO L290 TraceCheckUtils]: 21: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-07 12:54:17,767 INFO L290 TraceCheckUtils]: 22: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-07 12:54:17,767 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2555#true} {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-07 12:54:17,768 INFO L290 TraceCheckUtils]: 24: Hoare triple {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-07 12:54:17,769 INFO L290 TraceCheckUtils]: 25: Hoare triple {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2636#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-07 12:54:17,769 INFO L290 TraceCheckUtils]: 26: Hoare triple {2636#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-07 12:54:17,770 INFO L290 TraceCheckUtils]: 27: Hoare triple {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-07 12:54:17,770 INFO L272 TraceCheckUtils]: 28: Hoare triple {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2555#true} is VALID [2022-04-07 12:54:17,770 INFO L290 TraceCheckUtils]: 29: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-07 12:54:17,770 INFO L290 TraceCheckUtils]: 30: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-07 12:54:17,770 INFO L290 TraceCheckUtils]: 31: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-07 12:54:17,771 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2555#true} {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #65#return; {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-07 12:54:17,771 INFO L290 TraceCheckUtils]: 33: Hoare triple {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-07 12:54:17,772 INFO L290 TraceCheckUtils]: 34: Hoare triple {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2665#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:54:17,773 INFO L290 TraceCheckUtils]: 35: Hoare triple {2665#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:54:17,774 INFO L290 TraceCheckUtils]: 36: Hoare triple {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:54:17,774 INFO L272 TraceCheckUtils]: 37: Hoare triple {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2555#true} is VALID [2022-04-07 12:54:17,774 INFO L290 TraceCheckUtils]: 38: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-07 12:54:17,774 INFO L290 TraceCheckUtils]: 39: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-07 12:54:17,774 INFO L290 TraceCheckUtils]: 40: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-07 12:54:17,775 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2555#true} {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:54:17,775 INFO L290 TraceCheckUtils]: 42: Hoare triple {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !!(~x~0 <= ~X~0); {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:54:17,776 INFO L290 TraceCheckUtils]: 43: Hoare triple {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:54:17,776 INFO L290 TraceCheckUtils]: 44: Hoare triple {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2697#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:54:17,777 INFO L290 TraceCheckUtils]: 45: Hoare triple {2697#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2697#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:54:17,777 INFO L272 TraceCheckUtils]: 46: Hoare triple {2697#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2555#true} is VALID [2022-04-07 12:54:17,777 INFO L290 TraceCheckUtils]: 47: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-07 12:54:17,777 INFO L290 TraceCheckUtils]: 48: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-07 12:54:17,777 INFO L290 TraceCheckUtils]: 49: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-07 12:54:17,778 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2555#true} {2697#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {2697#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-07 12:54:17,779 INFO L290 TraceCheckUtils]: 51: Hoare triple {2697#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !(~x~0 <= ~X~0); {2556#false} is VALID [2022-04-07 12:54:17,779 INFO L290 TraceCheckUtils]: 52: Hoare triple {2556#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2556#false} is VALID [2022-04-07 12:54:17,779 INFO L272 TraceCheckUtils]: 53: Hoare triple {2556#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {2556#false} is VALID [2022-04-07 12:54:17,779 INFO L290 TraceCheckUtils]: 54: Hoare triple {2556#false} ~cond := #in~cond; {2556#false} is VALID [2022-04-07 12:54:17,779 INFO L290 TraceCheckUtils]: 55: Hoare triple {2556#false} assume 0 == ~cond; {2556#false} is VALID [2022-04-07 12:54:17,779 INFO L290 TraceCheckUtils]: 56: Hoare triple {2556#false} assume !false; {2556#false} is VALID [2022-04-07 12:54:17,779 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-07 12:54:17,779 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:54:18,129 INFO L290 TraceCheckUtils]: 56: Hoare triple {2556#false} assume !false; {2556#false} is VALID [2022-04-07 12:54:18,129 INFO L290 TraceCheckUtils]: 55: Hoare triple {2556#false} assume 0 == ~cond; {2556#false} is VALID [2022-04-07 12:54:18,129 INFO L290 TraceCheckUtils]: 54: Hoare triple {2556#false} ~cond := #in~cond; {2556#false} is VALID [2022-04-07 12:54:18,129 INFO L272 TraceCheckUtils]: 53: Hoare triple {2556#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {2556#false} is VALID [2022-04-07 12:54:18,129 INFO L290 TraceCheckUtils]: 52: Hoare triple {2556#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2556#false} is VALID [2022-04-07 12:54:18,129 INFO L290 TraceCheckUtils]: 51: Hoare triple {2749#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {2556#false} is VALID [2022-04-07 12:54:18,130 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2555#true} {2749#(<= main_~x~0 main_~X~0)} #65#return; {2749#(<= main_~x~0 main_~X~0)} is VALID [2022-04-07 12:54:18,130 INFO L290 TraceCheckUtils]: 49: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-07 12:54:18,130 INFO L290 TraceCheckUtils]: 48: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-07 12:54:18,130 INFO L290 TraceCheckUtils]: 47: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-07 12:54:18,130 INFO L272 TraceCheckUtils]: 46: Hoare triple {2749#(<= 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)); {2555#true} is VALID [2022-04-07 12:54:18,130 INFO L290 TraceCheckUtils]: 45: Hoare triple {2749#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2749#(<= main_~x~0 main_~X~0)} is VALID [2022-04-07 12:54:18,131 INFO L290 TraceCheckUtils]: 44: Hoare triple {2771#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2749#(<= main_~x~0 main_~X~0)} is VALID [2022-04-07 12:54:18,131 INFO L290 TraceCheckUtils]: 43: Hoare triple {2771#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2771#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-07 12:54:18,132 INFO L290 TraceCheckUtils]: 42: Hoare triple {2771#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {2771#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-07 12:54:18,132 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2555#true} {2771#(<= (+ main_~x~0 1) main_~X~0)} #65#return; {2771#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-07 12:54:18,132 INFO L290 TraceCheckUtils]: 40: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-07 12:54:18,132 INFO L290 TraceCheckUtils]: 39: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-07 12:54:18,132 INFO L290 TraceCheckUtils]: 38: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-07 12:54:18,132 INFO L272 TraceCheckUtils]: 37: Hoare triple {2771#(<= (+ 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)); {2555#true} is VALID [2022-04-07 12:54:18,133 INFO L290 TraceCheckUtils]: 36: Hoare triple {2771#(<= (+ main_~x~0 1) main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2771#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-07 12:54:18,133 INFO L290 TraceCheckUtils]: 35: Hoare triple {2799#(<= (+ main_~x~0 2) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2771#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-07 12:54:18,133 INFO L290 TraceCheckUtils]: 34: Hoare triple {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2799#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-07 12:54:18,134 INFO L290 TraceCheckUtils]: 33: Hoare triple {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-07 12:54:18,134 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2555#true} {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #65#return; {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-07 12:54:18,134 INFO L290 TraceCheckUtils]: 31: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-07 12:54:18,134 INFO L290 TraceCheckUtils]: 30: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-07 12:54:18,134 INFO L290 TraceCheckUtils]: 29: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-07 12:54:18,135 INFO L272 TraceCheckUtils]: 28: Hoare triple {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2555#true} is VALID [2022-04-07 12:54:18,135 INFO L290 TraceCheckUtils]: 27: Hoare triple {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-07 12:54:18,135 INFO L290 TraceCheckUtils]: 26: Hoare triple {2828#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-07 12:54:18,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2828#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-07 12:54:18,136 INFO L290 TraceCheckUtils]: 24: Hoare triple {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(~x~0 <= ~X~0); {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-07 12:54:18,137 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2555#true} {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #65#return; {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-07 12:54:18,137 INFO L290 TraceCheckUtils]: 22: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-07 12:54:18,137 INFO L290 TraceCheckUtils]: 21: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-07 12:54:18,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-07 12:54:18,137 INFO L272 TraceCheckUtils]: 19: Hoare triple {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2555#true} is VALID [2022-04-07 12:54:18,138 INFO L290 TraceCheckUtils]: 18: Hoare triple {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-07 12:54:18,138 INFO L290 TraceCheckUtils]: 17: Hoare triple {2555#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-07 12:54:18,138 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2555#true} {2555#true} #63#return; {2555#true} is VALID [2022-04-07 12:54:18,138 INFO L290 TraceCheckUtils]: 15: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-07 12:54:18,138 INFO L290 TraceCheckUtils]: 14: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-07 12:54:18,138 INFO L290 TraceCheckUtils]: 13: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-07 12:54:18,138 INFO L272 TraceCheckUtils]: 12: Hoare triple {2555#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {2555#true} is VALID [2022-04-07 12:54:18,138 INFO L290 TraceCheckUtils]: 11: Hoare triple {2555#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2555#true} is VALID [2022-04-07 12:54:18,139 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2555#true} {2555#true} #61#return; {2555#true} is VALID [2022-04-07 12:54:18,139 INFO L290 TraceCheckUtils]: 9: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-07 12:54:18,139 INFO L290 TraceCheckUtils]: 8: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-07 12:54:18,139 INFO L290 TraceCheckUtils]: 7: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-07 12:54:18,139 INFO L272 TraceCheckUtils]: 6: Hoare triple {2555#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {2555#true} is VALID [2022-04-07 12:54:18,139 INFO L290 TraceCheckUtils]: 5: Hoare triple {2555#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; {2555#true} is VALID [2022-04-07 12:54:18,139 INFO L272 TraceCheckUtils]: 4: Hoare triple {2555#true} call #t~ret8 := main(); {2555#true} is VALID [2022-04-07 12:54:18,139 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2555#true} {2555#true} #69#return; {2555#true} is VALID [2022-04-07 12:54:18,139 INFO L290 TraceCheckUtils]: 2: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-07 12:54:18,139 INFO L290 TraceCheckUtils]: 1: Hoare triple {2555#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); {2555#true} is VALID [2022-04-07 12:54:18,139 INFO L272 TraceCheckUtils]: 0: Hoare triple {2555#true} call ULTIMATE.init(); {2555#true} is VALID [2022-04-07 12:54:18,139 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-07 12:54:18,139 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:54:18,139 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [995541847] [2022-04-07 12:54:18,140 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:54:18,140 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [317987965] [2022-04-07 12:54:18,140 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [317987965] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:54:18,140 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:54:18,140 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-07 12:54:18,140 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [111373214] [2022-04-07 12:54:18,140 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:54:18,140 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.142857142857143) internal successors, (44), 14 states have internal predecessors, (44), 10 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 9 states have call predecessors, (11), 9 states have call successors, (11) Word has length 57 [2022-04-07 12:54:18,141 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:54:18,145 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 3.142857142857143) internal successors, (44), 14 states have internal predecessors, (44), 10 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 9 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-07 12:54:18,194 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:54:18,194 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-07 12:54:18,194 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:54:18,195 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-07 12:54:18,195 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-07 12:54:18,195 INFO L87 Difference]: Start difference. First operand 51 states and 59 transitions. Second operand has 14 states, 14 states have (on average 3.142857142857143) internal successors, (44), 14 states have internal predecessors, (44), 10 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 9 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-07 12:54:18,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:18,821 INFO L93 Difference]: Finished difference Result 78 states and 93 transitions. [2022-04-07 12:54:18,821 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-07 12:54:18,823 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.142857142857143) internal successors, (44), 14 states have internal predecessors, (44), 10 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 9 states have call predecessors, (11), 9 states have call successors, (11) Word has length 57 [2022-04-07 12:54:18,823 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:54:18,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.142857142857143) internal successors, (44), 14 states have internal predecessors, (44), 10 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 9 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-07 12:54:18,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 64 transitions. [2022-04-07 12:54:18,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.142857142857143) internal successors, (44), 14 states have internal predecessors, (44), 10 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 9 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-07 12:54:18,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 64 transitions. [2022-04-07 12:54:18,827 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 64 transitions. [2022-04-07 12:54:18,880 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:54:18,881 INFO L225 Difference]: With dead ends: 78 [2022-04-07 12:54:18,882 INFO L226 Difference]: Without dead ends: 72 [2022-04-07 12:54:18,882 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 41 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=64, Invalid=208, Unknown=0, NotChecked=0, Total=272 [2022-04-07 12:54:18,882 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 8 mSDsluCounter, 163 mSDsCounter, 0 mSdLazyCounter, 222 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 195 SdHoareTripleChecker+Invalid, 230 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 222 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 12:54:18,883 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 195 Invalid, 230 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 222 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 12:54:18,883 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-07 12:54:18,910 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 56. [2022-04-07 12:54:18,910 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:54:18,910 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 56 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 12:54:18,910 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 56 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 12:54:18,910 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 56 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 12:54:18,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:18,912 INFO L93 Difference]: Finished difference Result 72 states and 87 transitions. [2022-04-07 12:54:18,912 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 87 transitions. [2022-04-07 12:54:18,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:18,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:18,913 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 72 states. [2022-04-07 12:54:18,913 INFO L87 Difference]: Start difference. First operand has 56 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 72 states. [2022-04-07 12:54:18,915 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:18,915 INFO L93 Difference]: Finished difference Result 72 states and 87 transitions. [2022-04-07 12:54:18,915 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 87 transitions. [2022-04-07 12:54:18,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:18,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:18,915 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:54:18,915 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:54:18,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 12:54:18,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 66 transitions. [2022-04-07 12:54:18,917 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 66 transitions. Word has length 57 [2022-04-07 12:54:18,917 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:54:18,917 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 66 transitions. [2022-04-07 12:54:18,917 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 3.142857142857143) internal successors, (44), 14 states have internal predecessors, (44), 10 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 9 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-07 12:54:18,917 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 66 transitions. [2022-04-07 12:54:18,918 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-07 12:54:18,918 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:54:18,918 INFO L499 BasicCegarLoop]: 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-07 12:54:18,937 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-07 12:54:19,131 WARN L460 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-07 12:54:19,131 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:54:19,132 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:54:19,132 INFO L85 PathProgramCache]: Analyzing trace with hash 2136090540, now seen corresponding path program 3 times [2022-04-07 12:54:19,132 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:54:19,132 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [410557087] [2022-04-07 12:54:19,132 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:54:19,132 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:54:19,142 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:54:19,143 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [301581912] [2022-04-07 12:54:19,143 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-07 12:54:19,143 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:54:19,143 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:54:19,153 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-07 12:54:19,154 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-07 12:54:19,217 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-04-07 12:54:19,217 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 12:54:19,218 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-07 12:54:19,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:54:19,237 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:54:36,802 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:54:46,826 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:54:52,844 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:55:47,188 INFO L272 TraceCheckUtils]: 0: Hoare triple {3248#true} call ULTIMATE.init(); {3248#true} is VALID [2022-04-07 12:55:47,188 INFO L290 TraceCheckUtils]: 1: Hoare triple {3248#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); {3248#true} is VALID [2022-04-07 12:55:47,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-07 12:55:47,195 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3248#true} {3248#true} #69#return; {3248#true} is VALID [2022-04-07 12:55:47,195 INFO L272 TraceCheckUtils]: 4: Hoare triple {3248#true} call #t~ret8 := main(); {3248#true} is VALID [2022-04-07 12:55:47,195 INFO L290 TraceCheckUtils]: 5: Hoare triple {3248#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; {3248#true} is VALID [2022-04-07 12:55:47,195 INFO L272 TraceCheckUtils]: 6: Hoare triple {3248#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {3248#true} is VALID [2022-04-07 12:55:47,196 INFO L290 TraceCheckUtils]: 7: Hoare triple {3248#true} ~cond := #in~cond; {3274#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 12:55:47,196 INFO L290 TraceCheckUtils]: 8: Hoare triple {3274#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3278#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:55:47,196 INFO L290 TraceCheckUtils]: 9: Hoare triple {3278#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3278#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:55:47,197 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3278#(not (= |assume_abort_if_not_#in~cond| 0))} {3248#true} #61#return; {3285#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-07 12:55:47,197 INFO L290 TraceCheckUtils]: 11: Hoare triple {3285#(and (<= 0 main_~X~0) (<= main_~X~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3285#(and (<= 0 main_~X~0) (<= main_~X~0 5))} is VALID [2022-04-07 12:55:47,197 INFO L272 TraceCheckUtils]: 12: Hoare triple {3285#(and (<= 0 main_~X~0) (<= main_~X~0 5))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {3248#true} is VALID [2022-04-07 12:55:47,197 INFO L290 TraceCheckUtils]: 13: Hoare triple {3248#true} ~cond := #in~cond; {3274#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 12:55:47,198 INFO L290 TraceCheckUtils]: 14: Hoare triple {3274#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3278#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:55:47,198 INFO L290 TraceCheckUtils]: 15: Hoare triple {3278#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3278#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:55:47,198 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3278#(not (= |assume_abort_if_not_#in~cond| 0))} {3285#(and (<= 0 main_~X~0) (<= main_~X~0 5))} #63#return; {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,199 INFO L290 TraceCheckUtils]: 17: Hoare triple {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,199 INFO L290 TraceCheckUtils]: 18: Hoare triple {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,199 INFO L272 TraceCheckUtils]: 19: Hoare triple {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3248#true} is VALID [2022-04-07 12:55:47,199 INFO L290 TraceCheckUtils]: 20: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-07 12:55:47,199 INFO L290 TraceCheckUtils]: 21: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-07 12:55:47,199 INFO L290 TraceCheckUtils]: 22: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-07 12:55:47,204 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3248#true} {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #65#return; {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,204 INFO L290 TraceCheckUtils]: 24: Hoare triple {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !!(~x~0 <= ~X~0); {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,205 INFO L290 TraceCheckUtils]: 25: Hoare triple {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,205 INFO L290 TraceCheckUtils]: 26: Hoare triple {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,205 INFO L290 TraceCheckUtils]: 27: Hoare triple {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,206 INFO L272 TraceCheckUtils]: 28: Hoare triple {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3248#true} is VALID [2022-04-07 12:55:47,206 INFO L290 TraceCheckUtils]: 29: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-07 12:55:47,206 INFO L290 TraceCheckUtils]: 30: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-07 12:55:47,206 INFO L290 TraceCheckUtils]: 31: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-07 12:55:47,206 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3248#true} {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #65#return; {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,207 INFO L290 TraceCheckUtils]: 33: Hoare triple {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !!(~x~0 <= ~X~0); {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,207 INFO L290 TraceCheckUtils]: 34: Hoare triple {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,207 INFO L290 TraceCheckUtils]: 35: Hoare triple {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,208 INFO L290 TraceCheckUtils]: 36: Hoare triple {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,208 INFO L272 TraceCheckUtils]: 37: Hoare triple {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3248#true} is VALID [2022-04-07 12:55:47,208 INFO L290 TraceCheckUtils]: 38: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-07 12:55:47,208 INFO L290 TraceCheckUtils]: 39: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-07 12:55:47,208 INFO L290 TraceCheckUtils]: 40: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-07 12:55:47,208 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3248#true} {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #65#return; {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,209 INFO L290 TraceCheckUtils]: 42: Hoare triple {3304#(and (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume !!(~x~0 <= ~X~0); {3383#(and (<= main_~x~0 main_~X~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,209 INFO L290 TraceCheckUtils]: 43: Hoare triple {3383#(and (<= main_~x~0 main_~X~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3387#(and (<= main_~x~0 main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,210 INFO L290 TraceCheckUtils]: 44: Hoare triple {3387#(and (<= main_~x~0 main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3391#(and (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,210 INFO L290 TraceCheckUtils]: 45: Hoare triple {3391#(and (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3395#(and (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* 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)) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,211 INFO L272 TraceCheckUtils]: 46: Hoare triple {3395#(and (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* 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)) (<= main_~Y~0 5))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3248#true} is VALID [2022-04-07 12:55:47,211 INFO L290 TraceCheckUtils]: 47: Hoare triple {3248#true} ~cond := #in~cond; {3402#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:55:47,211 INFO L290 TraceCheckUtils]: 48: Hoare triple {3402#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:55:47,211 INFO L290 TraceCheckUtils]: 49: Hoare triple {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:55:47,213 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} {3395#(and (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (= (* 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)) (<= main_~Y~0 5))} #65#return; {3413#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,213 INFO L290 TraceCheckUtils]: 51: Hoare triple {3413#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} assume !(~x~0 <= ~X~0); {3417#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,236 INFO L290 TraceCheckUtils]: 52: Hoare triple {3417#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 5))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3421#(and (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (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))))) (<= main_~Y~0 5))} is VALID [2022-04-07 12:55:47,251 INFO L272 TraceCheckUtils]: 53: Hoare triple {3421#(and (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (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))))) (<= main_~Y~0 5))} 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)); {3425#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:55:47,251 INFO L290 TraceCheckUtils]: 54: Hoare triple {3425#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3429#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:55:47,251 INFO L290 TraceCheckUtils]: 55: Hoare triple {3429#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3249#false} is VALID [2022-04-07 12:55:47,251 INFO L290 TraceCheckUtils]: 56: Hoare triple {3249#false} assume !false; {3249#false} is VALID [2022-04-07 12:55:47,252 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-07 12:55:47,252 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:55:54,971 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:56:03,139 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:56:49,900 INFO L290 TraceCheckUtils]: 56: Hoare triple {3249#false} assume !false; {3249#false} is VALID [2022-04-07 12:56:49,900 INFO L290 TraceCheckUtils]: 55: Hoare triple {3429#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3249#false} is VALID [2022-04-07 12:56:49,901 INFO L290 TraceCheckUtils]: 54: Hoare triple {3425#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3429#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:56:49,901 INFO L272 TraceCheckUtils]: 53: Hoare triple {3445#(= (+ (* 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)); {3425#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:56:49,902 INFO L290 TraceCheckUtils]: 52: Hoare triple {3449#(= (+ (* 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; {3445#(= (+ (* 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-07 12:56:49,903 INFO L290 TraceCheckUtils]: 51: Hoare triple {3453#(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); {3449#(= (+ (* 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-07 12:56:49,903 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} {3457#(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; {3453#(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-07 12:56:49,904 INFO L290 TraceCheckUtils]: 49: Hoare triple {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:56:49,904 INFO L290 TraceCheckUtils]: 48: Hoare triple {3467#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:56:49,904 INFO L290 TraceCheckUtils]: 47: Hoare triple {3248#true} ~cond := #in~cond; {3467#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 12:56:49,905 INFO L272 TraceCheckUtils]: 46: Hoare triple {3457#(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)); {3248#true} is VALID [2022-04-07 12:56:51,907 WARN L290 TraceCheckUtils]: 45: Hoare triple {3474#(or (<= main_~x~0 main_~X~0) (and (or (= (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) main_~x~0) 2)) (+ (* main_~Y~0 2) (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 2) (* 2 (* main_~Y~0 main_~x~0)))) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 0)) (= main_~X~0 0) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0))) (or (forall ((main_~y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3457#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is UNKNOWN [2022-04-07 12:56:51,919 INFO L290 TraceCheckUtils]: 44: Hoare triple {3478#(forall ((v_main_~x~0_30 Int)) (or (not (<= v_main_~x~0_30 (+ main_~x~0 1))) (and (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_30 (- 2) main_~Y~0)) 2) 0)) (forall ((main_~y~0 Int)) (= (+ (* 2 (* v_main_~x~0_30 main_~y~0)) main_~X~0 main_~v~0) (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)))) (not (= main_~X~0 0)) (not (= 0 (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0)))) (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_30 (- 2) main_~Y~0)) 2) 0)) (= main_~X~0 0) (= (+ main_~X~0 main_~v~0 (* (* v_main_~x~0_30 (div (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) main_~X~0)) 2)) (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* (div (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) main_~X~0) 2) (* main_~Y~0 2))) (not (= (mod (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) main_~X~0) 0)))) (<= v_main_~x~0_30 main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3474#(or (<= main_~x~0 main_~X~0) (and (or (= (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) main_~x~0) 2)) (+ (* main_~Y~0 2) (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 2) (* 2 (* main_~Y~0 main_~x~0)))) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 0)) (= main_~X~0 0) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0))) (or (forall ((main_~y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0)))))} is VALID [2022-04-07 12:56:53,928 WARN L290 TraceCheckUtils]: 43: Hoare triple {3482#(forall ((v_main_~x~0_30 Int)) (or (not (<= v_main_~x~0_30 (+ main_~x~0 1))) (and (or (forall ((aux_div_v_main_~v~0_36_40 Int) (aux_div_aux_mod_v_main_~v~0_36_40_72 Int)) (or (= (+ (* aux_div_aux_mod_v_main_~v~0_36_40_72 2) (* (* v_main_~x~0_30 (div (+ (* v_main_~x~0_30 main_~Y~0) main_~Y~0 aux_div_v_main_~v~0_36_40) main_~X~0)) 2)) (+ (* 2 aux_div_v_main_~v~0_36_40) (* main_~Y~0 2) (* 2 (div (+ (* v_main_~x~0_30 main_~Y~0) main_~Y~0 aux_div_v_main_~v~0_36_40) main_~X~0)))) (not (= (mod (+ (* v_main_~x~0_30 main_~Y~0) main_~Y~0 (div (+ (* aux_div_aux_mod_v_main_~v~0_36_40_72 2) (* v_main_~x~0_30 main_~Y~0 2) (* (- 2) aux_div_v_main_~v~0_36_40)) (- 2))) main_~X~0) 0)) (< (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* aux_div_aux_mod_v_main_~v~0_36_40_72 2)) 0) (<= 2 (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* aux_div_aux_mod_v_main_~v~0_36_40_72 2))) (<= (+ main_~X~0 (* 2 aux_div_v_main_~v~0_36_40) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* aux_div_aux_mod_v_main_~v~0_36_40_72 2))))) (= main_~X~0 0)) (or (not (= main_~X~0 0)) (<= main_~X~0 (* (* v_main_~x~0_30 main_~Y~0) 2)) (forall ((main_~y~0 Int)) (= (+ (* 2 (* v_main_~x~0_30 main_~y~0)) (* main_~Y~0 2)) (+ (* main_~y~0 2) (* main_~Y~0 2)))))) (<= v_main_~x~0_30 main_~X~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3478#(forall ((v_main_~x~0_30 Int)) (or (not (<= v_main_~x~0_30 (+ main_~x~0 1))) (and (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_30 (- 2) main_~Y~0)) 2) 0)) (forall ((main_~y~0 Int)) (= (+ (* 2 (* v_main_~x~0_30 main_~y~0)) main_~X~0 main_~v~0) (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)))) (not (= main_~X~0 0)) (not (= 0 (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0)))) (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_30 (- 2) main_~Y~0)) 2) 0)) (= main_~X~0 0) (= (+ main_~X~0 main_~v~0 (* (* v_main_~x~0_30 (div (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) main_~X~0)) 2)) (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* (div (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) main_~X~0) 2) (* main_~Y~0 2))) (not (= (mod (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) main_~X~0) 0)))) (<= v_main_~x~0_30 main_~X~0)))} is UNKNOWN [2022-04-07 12:56:55,132 INFO L290 TraceCheckUtils]: 42: Hoare triple {3248#true} assume !!(~x~0 <= ~X~0); {3482#(forall ((v_main_~x~0_30 Int)) (or (not (<= v_main_~x~0_30 (+ main_~x~0 1))) (and (or (forall ((aux_div_v_main_~v~0_36_40 Int) (aux_div_aux_mod_v_main_~v~0_36_40_72 Int)) (or (= (+ (* aux_div_aux_mod_v_main_~v~0_36_40_72 2) (* (* v_main_~x~0_30 (div (+ (* v_main_~x~0_30 main_~Y~0) main_~Y~0 aux_div_v_main_~v~0_36_40) main_~X~0)) 2)) (+ (* 2 aux_div_v_main_~v~0_36_40) (* main_~Y~0 2) (* 2 (div (+ (* v_main_~x~0_30 main_~Y~0) main_~Y~0 aux_div_v_main_~v~0_36_40) main_~X~0)))) (not (= (mod (+ (* v_main_~x~0_30 main_~Y~0) main_~Y~0 (div (+ (* aux_div_aux_mod_v_main_~v~0_36_40_72 2) (* v_main_~x~0_30 main_~Y~0 2) (* (- 2) aux_div_v_main_~v~0_36_40)) (- 2))) main_~X~0) 0)) (< (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* aux_div_aux_mod_v_main_~v~0_36_40_72 2)) 0) (<= 2 (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* aux_div_aux_mod_v_main_~v~0_36_40_72 2))) (<= (+ main_~X~0 (* 2 aux_div_v_main_~v~0_36_40) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* aux_div_aux_mod_v_main_~v~0_36_40_72 2))))) (= main_~X~0 0)) (or (not (= main_~X~0 0)) (<= main_~X~0 (* (* v_main_~x~0_30 main_~Y~0) 2)) (forall ((main_~y~0 Int)) (= (+ (* 2 (* v_main_~x~0_30 main_~y~0)) (* main_~Y~0 2)) (+ (* main_~y~0 2) (* main_~Y~0 2)))))) (<= v_main_~x~0_30 main_~X~0)))} is VALID [2022-04-07 12:56:55,132 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3248#true} {3248#true} #65#return; {3248#true} is VALID [2022-04-07 12:56:55,132 INFO L290 TraceCheckUtils]: 40: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-07 12:56:55,132 INFO L290 TraceCheckUtils]: 39: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-07 12:56:55,132 INFO L290 TraceCheckUtils]: 38: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-07 12:56:55,132 INFO L272 TraceCheckUtils]: 37: Hoare triple {3248#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3248#true} is VALID [2022-04-07 12:56:55,132 INFO L290 TraceCheckUtils]: 36: Hoare triple {3248#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3248#true} is VALID [2022-04-07 12:56:55,132 INFO L290 TraceCheckUtils]: 35: Hoare triple {3248#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3248#true} is VALID [2022-04-07 12:56:55,132 INFO L290 TraceCheckUtils]: 34: Hoare triple {3248#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3248#true} is VALID [2022-04-07 12:56:55,132 INFO L290 TraceCheckUtils]: 33: Hoare triple {3248#true} assume !!(~x~0 <= ~X~0); {3248#true} is VALID [2022-04-07 12:56:55,132 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3248#true} {3248#true} #65#return; {3248#true} is VALID [2022-04-07 12:56:55,132 INFO L290 TraceCheckUtils]: 31: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-07 12:56:55,132 INFO L290 TraceCheckUtils]: 30: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-07 12:56:55,132 INFO L290 TraceCheckUtils]: 29: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L272 TraceCheckUtils]: 28: Hoare triple {3248#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L290 TraceCheckUtils]: 27: Hoare triple {3248#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L290 TraceCheckUtils]: 26: Hoare triple {3248#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L290 TraceCheckUtils]: 25: Hoare triple {3248#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; {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L290 TraceCheckUtils]: 24: Hoare triple {3248#true} assume !!(~x~0 <= ~X~0); {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3248#true} {3248#true} #65#return; {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L290 TraceCheckUtils]: 22: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L290 TraceCheckUtils]: 21: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L290 TraceCheckUtils]: 20: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L272 TraceCheckUtils]: 19: Hoare triple {3248#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L290 TraceCheckUtils]: 18: Hoare triple {3248#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L290 TraceCheckUtils]: 17: Hoare triple {3248#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3248#true} {3248#true} #63#return; {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L290 TraceCheckUtils]: 15: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L290 TraceCheckUtils]: 14: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L290 TraceCheckUtils]: 13: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L272 TraceCheckUtils]: 12: Hoare triple {3248#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 5 then 1 else 0)); {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L290 TraceCheckUtils]: 11: Hoare triple {3248#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3248#true} {3248#true} #61#return; {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L290 TraceCheckUtils]: 9: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-07 12:56:55,133 INFO L290 TraceCheckUtils]: 8: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-07 12:56:55,134 INFO L290 TraceCheckUtils]: 7: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-07 12:56:55,134 INFO L272 TraceCheckUtils]: 6: Hoare triple {3248#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 5 then 1 else 0)); {3248#true} is VALID [2022-04-07 12:56:55,134 INFO L290 TraceCheckUtils]: 5: Hoare triple {3248#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; {3248#true} is VALID [2022-04-07 12:56:55,134 INFO L272 TraceCheckUtils]: 4: Hoare triple {3248#true} call #t~ret8 := main(); {3248#true} is VALID [2022-04-07 12:56:55,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3248#true} {3248#true} #69#return; {3248#true} is VALID [2022-04-07 12:56:55,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-07 12:56:55,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {3248#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); {3248#true} is VALID [2022-04-07 12:56:55,134 INFO L272 TraceCheckUtils]: 0: Hoare triple {3248#true} call ULTIMATE.init(); {3248#true} is VALID [2022-04-07 12:56:55,134 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-07 12:56:55,134 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:56:55,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [410557087] [2022-04-07 12:56:55,134 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:56:55,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [301581912] [2022-04-07 12:56:55,134 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [301581912] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:56:55,134 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:56:55,135 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13] total 25 [2022-04-07 12:56:55,135 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [303221517] [2022-04-07 12:56:55,135 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:56:55,135 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 22 states have internal predecessors, (46), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) Word has length 57 [2022-04-07 12:56:55,136 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:56:55,136 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 22 states have internal predecessors, (46), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-07 12:57:00,815 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 64 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-07 12:57:00,816 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-07 12:57:00,816 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:57:00,816 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-07 12:57:00,816 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=98, Invalid=500, Unknown=2, NotChecked=0, Total=600 [2022-04-07 12:57:00,816 INFO L87 Difference]: Start difference. First operand 56 states and 66 transitions. Second operand has 25 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 22 states have internal predecessors, (46), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-07 12:57:16,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:57:16,813 INFO L93 Difference]: Finished difference Result 62 states and 74 transitions. [2022-04-07 12:57:16,813 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-07 12:57:16,813 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 22 states have internal predecessors, (46), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) Word has length 57 [2022-04-07 12:57:16,813 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:57:16,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 22 states have internal predecessors, (46), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-07 12:57:16,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 45 transitions. [2022-04-07 12:57:16,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 22 states have internal predecessors, (46), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-07 12:57:16,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 45 transitions. [2022-04-07 12:57:16,817 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 45 transitions. [2022-04-07 12:57:19,249 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 44 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 12:57:19,249 INFO L225 Difference]: With dead ends: 62 [2022-04-07 12:57:19,249 INFO L226 Difference]: Without dead ends: 0 [2022-04-07 12:57:19,250 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 278 ImplicationChecksByTransitivity, 20.8s TimeCoverageRelationStatistics Valid=242, Invalid=1088, Unknown=2, NotChecked=0, Total=1332 [2022-04-07 12:57:19,250 INFO L913 BasicCegarLoop]: 16 mSDtfsCounter, 33 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 332 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 169 SdHoareTripleChecker+Invalid, 398 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 332 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 50 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-07 12:57:19,250 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 169 Invalid, 398 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 332 Invalid, 0 Unknown, 50 Unchecked, 2.3s Time] [2022-04-07 12:57:19,250 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-07 12:57:19,251 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-07 12:57:19,251 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:57:19,251 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-07 12:57:19,251 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-07 12:57:19,251 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-07 12:57:19,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:57:19,251 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-07 12:57:19,251 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-07 12:57:19,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:57:19,251 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:57:19,251 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-07 12:57:19,251 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-07 12:57:19,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:57:19,251 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-07 12:57:19,251 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-07 12:57:19,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:57:19,251 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:57:19,251 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:57:19,251 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:57:19,251 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-07 12:57:19,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-07 12:57:19,252 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 57 [2022-04-07 12:57:19,252 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:57:19,252 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-07 12:57:19,252 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 22 states have internal predecessors, (46), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-07 12:57:19,252 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-07 12:57:19,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:57:19,254 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-07 12:57:19,270 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-07 12:57:19,454 WARN L460 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-07 12:57:19,456 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-07 12:57:46,014 WARN L232 SmtUtils]: Spent 26.47s on a formula simplification. DAG size of input: 114 DAG size of output: 38 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-07 12:58:01,733 WARN L232 SmtUtils]: Spent 15.70s on a formula simplification. DAG size of input: 134 DAG size of output: 45 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-07 12:58:04,087 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 7) no Hoare annotation was computed. [2022-04-07 12:58:04,087 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 7) no Hoare annotation was computed. [2022-04-07 12:58:04,087 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 7) no Hoare annotation was computed. [2022-04-07 12:58:04,087 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 10 12) the Hoare annotation is: true [2022-04-07 12:58:04,087 INFO L882 garLoopResultBuilder]: For program point L11(line 11) no Hoare annotation was computed. [2022-04-07 12:58:04,087 INFO L882 garLoopResultBuilder]: For program point L11-2(lines 10 12) no Hoare annotation was computed. [2022-04-07 12:58:04,087 INFO L882 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 10 12) no Hoare annotation was computed. [2022-04-07 12:58:04,087 INFO L878 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= 0 main_~X~0) (<= main_~X~0 5)) [2022-04-07 12:58:04,087 INFO L882 garLoopResultBuilder]: For program point L27-1(line 27) no Hoare annotation was computed. [2022-04-07 12:58:04,088 INFO L885 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-07 12:58:04,088 INFO L882 garLoopResultBuilder]: For program point mainEXIT(lines 21 53) no Hoare annotation was computed. [2022-04-07 12:58:04,088 INFO L882 garLoopResultBuilder]: For program point L25-1(line 25) no Hoare annotation was computed. [2022-04-07 12:58:04,088 INFO L878 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse2 (* main_~y~0 2)) (.cse0 (* main_~Y~0 2)) (.cse1 (* 2 (* main_~Y~0 main_~x~0)))) (and (= (+ .cse0 .cse1) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (+ .cse2 .cse0 (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0)) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ .cse2 .cse0 .cse1)))) [2022-04-07 12:58:04,088 INFO L882 garLoopResultBuilder]: For program point L50-1(line 50) no Hoare annotation was computed. [2022-04-07 12:58:04,088 INFO L882 garLoopResultBuilder]: For program point mainFINAL(lines 21 53) no Hoare annotation was computed. [2022-04-07 12:58:04,088 INFO L882 garLoopResultBuilder]: For program point L40(lines 40 45) no Hoare annotation was computed. [2022-04-07 12:58:04,088 INFO L882 garLoopResultBuilder]: For program point L40-2(lines 40 45) no Hoare annotation was computed. [2022-04-07 12:58:04,088 INFO L878 garLoopResultBuilder]: At program point L32-2(lines 32 47) the Hoare annotation is: (let ((.cse0 (<= main_~x~0 main_~X~0))) (and (or .cse0 (forall ((main_~y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))) (not (= main_~X~0 0))) (or .cse0 (forall ((main_~Y~0 Int)) (= (* 2 (* main_~y~0 main_~x~0)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~y~0 2))))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (<= main_~Y~0 5))) [2022-04-07 12:58:04,088 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 21 53) the Hoare annotation is: true [2022-04-07 12:58:04,088 INFO L882 garLoopResultBuilder]: For program point L32-3(lines 32 47) no Hoare annotation was computed. [2022-04-07 12:58:04,088 INFO L878 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse1 (* main_~Y~0 2)) (.cse0 (* 2 main_~xy~0)) (.cse4 (* 2 (* main_~Y~0 main_~x~0))) (.cse2 (* 2 main_~yx~0)) (.cse3 (<= main_~x~0 main_~X~0))) (and (= (+ .cse0 main_~X~0 main_~v~0) (+ .cse1 .cse2)) (or .cse3 (forall ((main_~y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))) (not (= main_~X~0 0))) (= (+ .cse1 .cse4) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 5) (or (= (+ .cse0 (* main_~y~0 2) .cse4) (+ (* 2 (* main_~y~0 main_~x~0)) .cse2)) .cse3) (<= main_~Y~0 5))) [2022-04-07 12:58:04,088 INFO L882 garLoopResultBuilder]: For program point L35-1(lines 32 47) no Hoare annotation was computed. [2022-04-07 12:58:04,088 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-07 12:58:04,088 INFO L878 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-07 12:58:04,088 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-07 12:58:04,088 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-07 12:58:04,088 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-07 12:58:04,088 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-07 12:58:04,089 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-07 12:58:04,089 INFO L882 garLoopResultBuilder]: For program point L15(lines 15 16) no Hoare annotation was computed. [2022-04-07 12:58:04,089 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 13 19) the Hoare annotation is: true [2022-04-07 12:58:04,089 INFO L882 garLoopResultBuilder]: For program point L14(lines 14 17) no Hoare annotation was computed. [2022-04-07 12:58:04,089 INFO L882 garLoopResultBuilder]: For program point L14-2(lines 13 19) no Hoare annotation was computed. [2022-04-07 12:58:04,089 INFO L882 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 13 19) no Hoare annotation was computed. [2022-04-07 12:58:04,089 INFO L882 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 16) no Hoare annotation was computed. [2022-04-07 12:58:04,091 INFO L719 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1, 1, 1] [2022-04-07 12:58:04,091 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-07 12:58:04,093 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-07 12:58:04,093 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: L11-2 has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-07 12:58:04,094 WARN L170 areAnnotationChecker]: L14-2 has no Hoare annotation [2022-04-07 12:58:04,095 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-07 12:58:04,095 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-07 12:58:04,095 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2022-04-07 12:58:04,095 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-07 12:58:04,095 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-07 12:58:04,095 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2022-04-07 12:58:04,095 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-07 12:58:04,095 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-07 12:58:04,095 WARN L170 areAnnotationChecker]: L50-1 has no Hoare annotation [2022-04-07 12:58:04,095 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-07 12:58:04,095 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-07 12:58:04,098 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-07 12:58:04,098 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-07 12:58:04,098 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-07 12:58:04,098 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-07 12:58:04,098 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-07 12:58:04,098 WARN L170 areAnnotationChecker]: L50-1 has no Hoare annotation [2022-04-07 12:58:04,098 WARN L170 areAnnotationChecker]: L40-2 has no Hoare annotation [2022-04-07 12:58:04,098 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-07 12:58:04,098 INFO L163 areAnnotationChecker]: CFG has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-07 12:58:04,103 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-07 12:58:04,104 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-07 12:58:04,107 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-07 12:58:04,107 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-07 12:58:04,107 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.04 12:58:04 BoogieIcfgContainer [2022-04-07 12:58:04,107 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-07 12:58:04,108 INFO L158 Benchmark]: Toolchain (without parser) took 305838.78ms. Allocated memory was 177.2MB in the beginning and 212.9MB in the end (delta: 35.7MB). Free memory was 126.0MB in the beginning and 166.1MB in the end (delta: -40.1MB). Peak memory consumption was 98.2MB. Max. memory is 8.0GB. [2022-04-07 12:58:04,108 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 177.2MB. Free memory was 142.7MB in the beginning and 142.7MB in the end (delta: 74.9kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-07 12:58:04,108 INFO L158 Benchmark]: CACSL2BoogieTranslator took 182.27ms. Allocated memory is still 177.2MB. Free memory was 125.8MB in the beginning and 150.9MB in the end (delta: -25.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-07 12:58:04,108 INFO L158 Benchmark]: Boogie Preprocessor took 22.37ms. Allocated memory is still 177.2MB. Free memory was 150.9MB in the beginning and 149.4MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-07 12:58:04,108 INFO L158 Benchmark]: RCFGBuilder took 303.91ms. Allocated memory is still 177.2MB. Free memory was 149.4MB in the beginning and 137.3MB in the end (delta: 12.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-07 12:58:04,109 INFO L158 Benchmark]: TraceAbstraction took 305326.20ms. Allocated memory was 177.2MB in the beginning and 212.9MB in the end (delta: 35.7MB). Free memory was 136.8MB in the beginning and 166.1MB in the end (delta: -29.3MB). Peak memory consumption was 110.2MB. Max. memory is 8.0GB. [2022-04-07 12:58:04,109 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.09ms. Allocated memory is still 177.2MB. Free memory was 142.7MB in the beginning and 142.7MB in the end (delta: 74.9kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 182.27ms. Allocated memory is still 177.2MB. Free memory was 125.8MB in the beginning and 150.9MB in the end (delta: -25.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 22.37ms. Allocated memory is still 177.2MB. Free memory was 150.9MB in the beginning and 149.4MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 303.91ms. Allocated memory is still 177.2MB. Free memory was 149.4MB in the beginning and 137.3MB in the end (delta: 12.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 305326.20ms. Allocated memory was 177.2MB in the beginning and 212.9MB in the end (delta: 35.7MB). Free memory was 136.8MB in the beginning and 166.1MB in the end (delta: -29.3MB). Peak memory consumption was 110.2MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] * 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: 305.3s, OverallIterations: 8, TraceHistogramMax: 5, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 40.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 44.6s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 5 mSolverCounterUnknown, 151 SdHoareTripleChecker+Valid, 13.4s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 143 mSDsluCounter, 1078 SdHoareTripleChecker+Invalid, 13.4s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 148 IncrementalHoareTripleChecker+Unchecked, 886 mSDsCounter, 96 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1301 IncrementalHoareTripleChecker+Invalid, 1550 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 96 mSolverCounterUnsat, 192 mSDtfsCounter, 1301 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 634 GetRequests, 493 SyntacticMatches, 6 SemanticMatches, 135 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 669 ImplicationChecksByTransitivity, 28.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=56occurred in iteration=7, InterpolantAutomatonStates: 103, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.2s AutomataMinimizationTime, 8 MinimizatonAttempts, 43 StatesRemovedByMinimization, 6 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 11 LocationsWithAnnotation, 29 PreInvPairs, 50 NumberOfFragments, 259 HoareAnnotationTreeSize, 29 FomulaSimplifications, 792 FormulaSimplificationTreeSizeReduction, 0.1s HoareSimplificationTime, 11 FomulaSimplificationsInter, 4663 FormulaSimplificationTreeSizeReductionInter, 44.5s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 209.7s InterpolantComputationTime, 327 NumberOfCodeBlocks, 309 NumberOfCodeBlocksAsserted, 10 NumberOfCheckSat, 594 ConstructedInterpolants, 6 QuantifiedInterpolants, 3384 SizeOfPredicates, 50 NumberOfNonLiveVariables, 854 ConjunctsInSsa, 128 ConjunctsInUnsatCore, 14 InterpolantComputations, 2 PerfectInterpolantSequences, 339/426 InterpolantCoveringCapability, 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 [2022-04-07 12:58:04,113 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-07 12:58:04,113 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-07 12:58:04,114 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-07 12:58:04,114 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] Derived loop invariant: (((((((x <= X || (forall main_~y~0 : int :: 2 * (main_~y~0 * x) + X + v == main_~y~0 * 2 + Y * 2 + 2 * (Y * x))) || !(X == 0)) && (x <= X || (forall main_~Y~0 : int :: 2 * (y * x) == X * y * 2 + y * 2))) && Y * 2 + 2 * (Y * x) == X * y * 2 + X + v) && 0 <= Y) && 0 <= X) && X <= 5) && Y <= 5 RESULT: Ultimate proved your program to be correct! [2022-04-07 12:58:04,262 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...