/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_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-14 15:06:27,714 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-14 15:06:27,715 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-14 15:06:27,744 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-14 15:06:27,745 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-14 15:06:27,745 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-14 15:06:27,746 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-14 15:06:27,748 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-14 15:06:27,749 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-14 15:06:27,750 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-14 15:06:27,750 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-14 15:06:27,751 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-14 15:06:27,751 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-14 15:06:27,752 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-14 15:06:27,753 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-14 15:06:27,753 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-14 15:06:27,754 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-14 15:06:27,754 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-14 15:06:27,756 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-14 15:06:27,757 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-14 15:06:27,758 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-14 15:06:27,768 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-14 15:06:27,770 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-14 15:06:27,770 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-14 15:06:27,771 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-14 15:06:27,773 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-14 15:06:27,773 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-14 15:06:27,773 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-14 15:06:27,774 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-14 15:06:27,774 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-14 15:06:27,774 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-14 15:06:27,775 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-14 15:06:27,775 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-14 15:06:27,775 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-14 15:06:27,776 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-14 15:06:27,776 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-14 15:06:27,777 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-14 15:06:27,777 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-14 15:06:27,777 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-14 15:06:27,777 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-14 15:06:27,778 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-14 15:06:27,787 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-14 15:06:27,788 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-14 15:06:27,809 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-14 15:06:27,810 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-14 15:06:27,810 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-14 15:06:27,810 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-14 15:06:27,810 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-14 15:06:27,810 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-14 15:06:27,811 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-14 15:06:27,811 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-14 15:06:27,813 INFO L138 SettingsManager]: * Use SBE=true [2022-04-14 15:06:27,814 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-14 15:06:27,814 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-14 15:06:27,814 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-14 15:06:27,814 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-14 15:06:27,814 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-14 15:06:27,814 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-14 15:06:27,814 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-14 15:06:27,814 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-14 15:06:27,815 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-14 15:06:27,815 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-14 15:06:27,815 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-14 15:06:27,815 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-14 15:06:27,815 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-14 15:06:27,815 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-14 15:06:27,815 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-14 15:06:27,815 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 15:06:27,815 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-14 15:06:27,816 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-14 15:06:27,816 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-14 15:06:27,816 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-14 15:06:27,816 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-14 15:06:27,816 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-14 15:06:27,816 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-14 15:06:27,816 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-14 15:06:27,816 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-14 15:06:27,983 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-14 15:06:27,996 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-14 15:06:27,997 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-14 15:06:27,998 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-14 15:06:28,015 INFO L275 PluginConnector]: CDTParser initialized [2022-04-14 15:06:28,017 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c [2022-04-14 15:06:28,064 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/91d391e83/f9331cd157784493a117ac47f07a0d10/FLAGa3bebb67c [2022-04-14 15:06:28,436 INFO L306 CDTParser]: Found 1 translation units. [2022-04-14 15:06:28,436 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c [2022-04-14 15:06:28,448 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/91d391e83/f9331cd157784493a117ac47f07a0d10/FLAGa3bebb67c [2022-04-14 15:06:28,456 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/91d391e83/f9331cd157784493a117ac47f07a0d10 [2022-04-14 15:06:28,458 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-14 15:06:28,459 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-14 15:06:28,460 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-14 15:06:28,460 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-14 15:06:28,462 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-14 15:06:28,463 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 03:06:28" (1/1) ... [2022-04-14 15:06:28,463 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6b65583f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:06:28, skipping insertion in model container [2022-04-14 15:06:28,463 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 03:06:28" (1/1) ... [2022-04-14 15:06:28,470 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-14 15:06:28,478 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-14 15:06:28,618 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c[597,610] [2022-04-14 15:06:28,641 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 15:06:28,646 INFO L203 MainTranslator]: Completed pre-run [2022-04-14 15:06:28,653 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c[597,610] [2022-04-14 15:06:28,657 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 15:06:28,665 INFO L208 MainTranslator]: Completed translation [2022-04-14 15:06:28,665 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:06:28 WrapperNode [2022-04-14 15:06:28,666 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-14 15:06:28,666 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-14 15:06:28,666 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-14 15:06:28,666 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-14 15:06:28,673 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:06:28" (1/1) ... [2022-04-14 15:06:28,673 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:06:28" (1/1) ... [2022-04-14 15:06:28,677 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:06:28" (1/1) ... [2022-04-14 15:06:28,677 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:06:28" (1/1) ... [2022-04-14 15:06:28,681 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:06:28" (1/1) ... [2022-04-14 15:06:28,683 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:06:28" (1/1) ... [2022-04-14 15:06:28,684 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:06:28" (1/1) ... [2022-04-14 15:06:28,685 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-14 15:06:28,685 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-14 15:06:28,685 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-14 15:06:28,686 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-14 15:06:28,686 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:06:28" (1/1) ... [2022-04-14 15:06:28,693 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 15:06:28,699 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:06:28,707 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-14 15:06:28,709 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-14 15:06:28,735 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-14 15:06:28,735 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-14 15:06:28,735 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-14 15:06:28,735 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-14 15:06:28,735 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-14 15:06:28,736 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-14 15:06:28,736 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-14 15:06:28,736 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-14 15:06:28,736 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-14 15:06:28,736 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-14 15:06:28,736 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-14 15:06:28,736 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-14 15:06:28,736 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-14 15:06:28,736 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-14 15:06:28,736 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-14 15:06:28,736 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-14 15:06:28,736 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-14 15:06:28,737 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-14 15:06:28,737 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-14 15:06:28,737 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-14 15:06:28,776 INFO L234 CfgBuilder]: Building ICFG [2022-04-14 15:06:28,777 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-14 15:06:28,932 INFO L275 CfgBuilder]: Performing block encoding [2022-04-14 15:06:28,937 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-14 15:06:28,937 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-14 15:06:28,938 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 03:06:28 BoogieIcfgContainer [2022-04-14 15:06:28,938 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-14 15:06:28,939 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-14 15:06:28,939 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-14 15:06:28,957 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-14 15:06:28,957 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.04 03:06:28" (1/3) ... [2022-04-14 15:06:28,958 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@56f470c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 03:06:28, skipping insertion in model container [2022-04-14 15:06:28,958 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:06:28" (2/3) ... [2022-04-14 15:06:28,958 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@56f470c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 03:06:28, skipping insertion in model container [2022-04-14 15:06:28,958 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 03:06:28" (3/3) ... [2022-04-14 15:06:28,959 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound2.c [2022-04-14 15:06:28,962 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-14 15:06:28,962 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-14 15:06:29,008 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-14 15:06:29,015 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-14 15:06:29,015 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-14 15:06:29,043 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-14 15:06:29,046 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-14 15:06:29,046 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:06:29,047 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-14 15:06:29,047 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:06:29,050 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:06:29,051 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-14 15:06:29,057 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:06:29,057 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2143265737] [2022-04-14 15:06:29,057 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:06:29,058 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:06:29,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:06:29,196 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-14 15:06:29,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:06:29,225 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-14 15:06:29,225 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-14 15:06:29,225 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-14 15:06:29,226 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-14 15:06:29,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:06:29,241 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 15:06:29,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 15:06:29,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 15:06:29,242 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-14 15:06:29,242 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-14 15:06:29,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:06:29,261 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 15:06:29,262 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 15:06:29,262 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 15:06:29,262 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-14 15:06:29,263 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-14 15:06:29,263 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-14 15:06:29,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-14 15:06:29,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-14 15:06:29,264 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-14 15:06:29,264 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-14 15:06:29,264 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-14 15:06:29,265 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 15:06:29,265 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 15:06:29,265 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 15:06:29,266 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-14 15:06:29,266 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-14 15:06:29,266 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-14 15:06:29,267 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 15:06:29,267 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 15:06:29,268 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 15:06:29,268 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-14 15:06:29,268 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-14 15:06:29,269 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-14 15:06:29,269 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-14 15:06:29,269 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-14 15:06:29,269 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-14 15:06:29,269 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-14 15:06:29,270 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-14 15:06:29,270 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:06:29,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2143265737] [2022-04-14 15:06:29,271 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2143265737] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 15:06:29,271 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 15:06:29,271 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-14 15:06:29,274 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1645999870] [2022-04-14 15:06:29,274 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 15:06:29,279 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-14 15:06:29,280 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:06:29,283 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-14 15:06:29,315 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-14 15:06:29,315 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-14 15:06:29,316 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:06:29,333 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-14 15:06:29,333 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-14 15:06:29,336 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-14 15:06:29,463 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:29,463 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-14 15:06:29,463 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-14 15:06:29,464 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-14 15:06:29,464 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:06:29,465 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-14 15:06:29,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-14 15:06:29,475 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-14 15:06:29,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-14 15:06:29,480 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-14 15:06:29,565 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-14 15:06:29,571 INFO L225 Difference]: With dead ends: 57 [2022-04-14 15:06:29,571 INFO L226 Difference]: Without dead ends: 27 [2022-04-14 15:06:29,573 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-14 15:06:29,575 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-14 15:06:29,576 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-14 15:06:29,585 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-14 15:06:29,594 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-14 15:06:29,594 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:06:29,595 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-14 15:06:29,595 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-14 15:06:29,595 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-14 15:06:29,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:29,598 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-14 15:06:29,598 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 15:06:29,598 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:06:29,598 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:06:29,599 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-14 15:06:29,599 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-14 15:06:29,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:29,601 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-14 15:06:29,601 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 15:06:29,601 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:06:29,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:06:29,602 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:06:29,602 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:06:29,602 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-14 15:06:29,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-14 15:06:29,604 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-14 15:06:29,604 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:06:29,604 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-14 15:06:29,605 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-14 15:06:29,605 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 15:06:29,605 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-14 15:06:29,605 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:06:29,605 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-14 15:06:29,606 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-14 15:06:29,606 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:06:29,606 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:06:29,606 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-14 15:06:29,606 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:06:29,606 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [681176616] [2022-04-14 15:06:29,607 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:06:29,607 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:06:29,637 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:06:29,638 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [208572530] [2022-04-14 15:06:29,638 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:06:29,638 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:06:29,638 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:06:29,648 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-14 15:06:29,662 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-14 15:06:29,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:06:29,708 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 15:06:29,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:06:29,719 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:06:29,870 INFO L272 TraceCheckUtils]: 0: Hoare triple {217#true} call ULTIMATE.init(); {217#true} is VALID [2022-04-14 15:06:29,870 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-14 15:06:29,870 INFO L290 TraceCheckUtils]: 2: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-14 15:06:29,870 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {217#true} {217#true} #69#return; {217#true} is VALID [2022-04-14 15:06:29,870 INFO L272 TraceCheckUtils]: 4: Hoare triple {217#true} call #t~ret8 := main(); {217#true} is VALID [2022-04-14 15:06:29,871 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-14 15:06:29,871 INFO L272 TraceCheckUtils]: 6: Hoare triple {217#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {217#true} is VALID [2022-04-14 15:06:29,871 INFO L290 TraceCheckUtils]: 7: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-04-14 15:06:29,871 INFO L290 TraceCheckUtils]: 8: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-04-14 15:06:29,871 INFO L290 TraceCheckUtils]: 9: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-14 15:06:29,871 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {217#true} {217#true} #61#return; {217#true} is VALID [2022-04-14 15:06:29,871 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-14 15:06:29,871 INFO L272 TraceCheckUtils]: 12: Hoare triple {217#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {217#true} is VALID [2022-04-14 15:06:29,872 INFO L290 TraceCheckUtils]: 13: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-04-14 15:06:29,872 INFO L290 TraceCheckUtils]: 14: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-04-14 15:06:29,872 INFO L290 TraceCheckUtils]: 15: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-14 15:06:29,872 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {217#true} {217#true} #63#return; {217#true} is VALID [2022-04-14 15:06:29,872 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-14 15:06:29,873 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-14 15:06:29,874 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-14 15:06:29,875 INFO L290 TraceCheckUtils]: 20: Hoare triple {281#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {285#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:06:29,875 INFO L290 TraceCheckUtils]: 21: Hoare triple {285#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {218#false} is VALID [2022-04-14 15:06:29,875 INFO L290 TraceCheckUtils]: 22: Hoare triple {218#false} assume !false; {218#false} is VALID [2022-04-14 15:06:29,875 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-14 15:06:29,876 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 15:06:29,876 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:06:29,876 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [681176616] [2022-04-14 15:06:29,876 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:06:29,876 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [208572530] [2022-04-14 15:06:29,876 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [208572530] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 15:06:29,876 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 15:06:29,876 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-14 15:06:29,877 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [381785968] [2022-04-14 15:06:29,877 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 15:06:29,878 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-14 15:06:29,878 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:06:29,878 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-14 15:06:29,894 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-14 15:06:29,894 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-14 15:06:29,894 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:06:29,894 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-14 15:06:29,895 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-14 15:06:29,895 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-14 15:06:30,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:30,070 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-14 15:06:30,070 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-14 15:06:30,070 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-14 15:06:30,070 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:06:30,070 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-14 15:06:30,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-14 15:06:30,072 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-14 15:06:30,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-14 15:06:30,074 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-14 15:06:30,107 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-14 15:06:30,108 INFO L225 Difference]: With dead ends: 39 [2022-04-14 15:06:30,108 INFO L226 Difference]: Without dead ends: 35 [2022-04-14 15:06:30,108 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-14 15:06:30,109 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-14 15:06:30,110 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-14 15:06:30,110 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-14 15:06:30,114 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-14 15:06:30,114 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:06:30,115 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-14 15:06:30,115 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-14 15:06:30,115 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-14 15:06:30,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:30,117 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-14 15:06:30,117 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-14 15:06:30,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:06:30,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:06:30,118 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-14 15:06:30,118 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-14 15:06:30,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:30,120 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-14 15:06:30,120 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-14 15:06:30,120 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:06:30,120 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:06:30,120 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:06:30,120 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:06:30,121 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-14 15:06:30,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-14 15:06:30,122 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-14 15:06:30,122 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:06:30,122 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-14 15:06:30,122 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-14 15:06:30,122 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-14 15:06:30,123 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-14 15:06:30,123 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:06:30,123 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-14 15:06:30,140 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-14 15:06:30,339 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-14 15:06:30,340 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:06:30,340 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:06:30,340 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-14 15:06:30,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:06:30,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [450918312] [2022-04-14 15:06:30,341 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:06:30,341 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:06:30,356 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:06:30,356 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [957285042] [2022-04-14 15:06:30,356 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:06:30,356 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:06:30,356 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:06:30,362 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-14 15:06:30,364 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-14 15:06:30,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:06:30,411 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-14 15:06:30,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:06:30,428 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:06:39,963 INFO L272 TraceCheckUtils]: 0: Hoare triple {467#true} call ULTIMATE.init(); {467#true} is VALID [2022-04-14 15:06:39,963 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-14 15:06:39,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-14 15:06:39,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {467#true} {467#true} #69#return; {467#true} is VALID [2022-04-14 15:06:39,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {467#true} call #t~ret8 := main(); {467#true} is VALID [2022-04-14 15:06:39,964 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-14 15:06:39,964 INFO L272 TraceCheckUtils]: 6: Hoare triple {467#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {467#true} is VALID [2022-04-14 15:06:39,965 INFO L290 TraceCheckUtils]: 7: Hoare triple {467#true} ~cond := #in~cond; {493#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 15:06:39,965 INFO L290 TraceCheckUtils]: 8: Hoare triple {493#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {497#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:06:39,965 INFO L290 TraceCheckUtils]: 9: Hoare triple {497#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {497#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:06:39,966 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {497#(not (= |assume_abort_if_not_#in~cond| 0))} {467#true} #61#return; {504#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-14 15:06:39,967 INFO L290 TraceCheckUtils]: 11: Hoare triple {504#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {504#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-14 15:06:39,967 INFO L272 TraceCheckUtils]: 12: Hoare triple {504#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {467#true} is VALID [2022-04-14 15:06:39,967 INFO L290 TraceCheckUtils]: 13: Hoare triple {467#true} ~cond := #in~cond; {493#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 15:06:39,968 INFO L290 TraceCheckUtils]: 14: Hoare triple {493#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {497#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:06:39,968 INFO L290 TraceCheckUtils]: 15: Hoare triple {497#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {497#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:06:39,972 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {497#(not (= |assume_abort_if_not_#in~cond| 0))} {504#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {523#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:06:39,973 INFO L290 TraceCheckUtils]: 17: Hoare triple {523#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:06:39,974 INFO L290 TraceCheckUtils]: 18: Hoare triple {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:06:39,974 INFO L272 TraceCheckUtils]: 19: Hoare triple {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {467#true} is VALID [2022-04-14 15:06:39,975 INFO L290 TraceCheckUtils]: 20: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-14 15:06:39,975 INFO L290 TraceCheckUtils]: 21: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-14 15:06:39,975 INFO L290 TraceCheckUtils]: 22: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-14 15:06:39,976 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {467#true} {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} #65#return; {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:06:39,977 INFO L290 TraceCheckUtils]: 24: Hoare triple {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:06:39,978 INFO L290 TraceCheckUtils]: 25: Hoare triple {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {552#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} is VALID [2022-04-14 15:06:39,979 INFO L290 TraceCheckUtils]: 26: Hoare triple {552#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {552#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} is VALID [2022-04-14 15:06:39,980 INFO L290 TraceCheckUtils]: 27: Hoare triple {552#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {559#(and (<= main_~X~0 2) (= main_~xy~0 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~yx~0 0))} is VALID [2022-04-14 15:06:39,981 INFO L272 TraceCheckUtils]: 28: Hoare triple {559#(and (<= main_~X~0 2) (= main_~xy~0 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~yx~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {563#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:06:39,981 INFO L290 TraceCheckUtils]: 29: Hoare triple {563#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {567#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:06:39,983 INFO L290 TraceCheckUtils]: 30: Hoare triple {567#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {468#false} is VALID [2022-04-14 15:06:39,984 INFO L290 TraceCheckUtils]: 31: Hoare triple {468#false} assume !false; {468#false} is VALID [2022-04-14 15:06:39,985 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 15:06:39,985 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:08:31,249 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:08:31,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [450918312] [2022-04-14 15:08:31,249 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:08:31,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [957285042] [2022-04-14 15:08:31,249 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [957285042] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-14 15:08:31,249 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-14 15:08:31,249 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-14 15:08:31,250 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1583944420] [2022-04-14 15:08:31,250 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-14 15:08:31,250 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-14 15:08:31,250 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:08:31,250 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 15:08:31,273 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:08:31,273 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-14 15:08:31,273 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:08:31,273 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-14 15:08:31,274 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=144, Unknown=0, NotChecked=0, Total=182 [2022-04-14 15:08:31,274 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 15:08:31,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:08:31,632 INFO L93 Difference]: Finished difference Result 61 states and 70 transitions. [2022-04-14 15:08:31,632 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-14 15:08:31,632 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-14 15:08:31,633 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:08:31,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 15:08:31,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-14 15:08:31,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 15:08:31,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-14 15:08:31,637 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 67 transitions. [2022-04-14 15:08:31,697 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:08:31,698 INFO L225 Difference]: With dead ends: 61 [2022-04-14 15:08:31,698 INFO L226 Difference]: Without dead ends: 35 [2022-04-14 15:08:31,698 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-14 15:08:31,699 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 26 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 146 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 124 SdHoareTripleChecker+Invalid, 159 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 146 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 15:08:31,699 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 124 Invalid, 159 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 146 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 15:08:31,700 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-14 15:08:31,712 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-14 15:08:31,712 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:08:31,712 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-14 15:08:31,712 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-14 15:08:31,712 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-14 15:08:31,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:08:31,714 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-14 15:08:31,714 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-14 15:08:31,714 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:08:31,714 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:08:31,715 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-14 15:08:31,715 INFO L87 Difference]: Start difference. First operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-14 15:08:31,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:08:31,716 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-14 15:08:31,716 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-14 15:08:31,717 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:08:31,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:08:31,717 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:08:31,717 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:08:31,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-14 15:08:31,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 38 transitions. [2022-04-14 15:08:31,718 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 38 transitions. Word has length 32 [2022-04-14 15:08:31,718 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:08:31,718 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 38 transitions. [2022-04-14 15:08:31,719 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 15:08:31,719 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-14 15:08:31,719 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-14 15:08:31,719 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:08:31,719 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-14 15:08:31,738 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-14 15:08:31,920 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-14 15:08:31,920 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:08:31,921 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:08:31,923 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-14 15:08:31,923 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:08:31,925 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [545831290] [2022-04-14 15:08:31,925 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:08:31,926 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:08:31,937 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:08:31,937 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1172340533] [2022-04-14 15:08:31,937 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:08:31,937 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:08:31,937 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:08:31,947 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-14 15:08:31,947 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-14 15:08:31,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:08:31,989 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-14 15:08:31,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:08:32,000 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:08:32,209 INFO L272 TraceCheckUtils]: 0: Hoare triple {812#true} call ULTIMATE.init(); {812#true} is VALID [2022-04-14 15:08:32,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {812#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); {812#true} is VALID [2022-04-14 15:08:32,209 INFO L290 TraceCheckUtils]: 2: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-14 15:08:32,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {812#true} {812#true} #69#return; {812#true} is VALID [2022-04-14 15:08:32,210 INFO L272 TraceCheckUtils]: 4: Hoare triple {812#true} call #t~ret8 := main(); {812#true} is VALID [2022-04-14 15:08:32,210 INFO L290 TraceCheckUtils]: 5: Hoare triple {812#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; {812#true} is VALID [2022-04-14 15:08:32,210 INFO L272 TraceCheckUtils]: 6: Hoare triple {812#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {812#true} is VALID [2022-04-14 15:08:32,210 INFO L290 TraceCheckUtils]: 7: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-14 15:08:32,210 INFO L290 TraceCheckUtils]: 8: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-14 15:08:32,210 INFO L290 TraceCheckUtils]: 9: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-14 15:08:32,210 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {812#true} {812#true} #61#return; {812#true} is VALID [2022-04-14 15:08:32,210 INFO L290 TraceCheckUtils]: 11: Hoare triple {812#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {812#true} is VALID [2022-04-14 15:08:32,211 INFO L272 TraceCheckUtils]: 12: Hoare triple {812#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {812#true} is VALID [2022-04-14 15:08:32,211 INFO L290 TraceCheckUtils]: 13: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-14 15:08:32,211 INFO L290 TraceCheckUtils]: 14: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-14 15:08:32,211 INFO L290 TraceCheckUtils]: 15: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-14 15:08:32,211 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {812#true} {812#true} #63#return; {812#true} is VALID [2022-04-14 15:08:32,212 INFO L290 TraceCheckUtils]: 17: Hoare triple {812#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {868#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-14 15:08:32,212 INFO L290 TraceCheckUtils]: 18: Hoare triple {868#(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; {868#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-14 15:08:32,212 INFO L272 TraceCheckUtils]: 19: Hoare triple {868#(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)); {812#true} is VALID [2022-04-14 15:08:32,212 INFO L290 TraceCheckUtils]: 20: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-14 15:08:32,212 INFO L290 TraceCheckUtils]: 21: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-14 15:08:32,212 INFO L290 TraceCheckUtils]: 22: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-14 15:08:32,213 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {812#true} {868#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {868#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-14 15:08:32,214 INFO L290 TraceCheckUtils]: 24: Hoare triple {868#(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); {890#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-14 15:08:32,214 INFO L290 TraceCheckUtils]: 25: Hoare triple {890#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {894#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-14 15:08:32,215 INFO L290 TraceCheckUtils]: 26: Hoare triple {894#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {898#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-14 15:08:32,216 INFO L290 TraceCheckUtils]: 27: Hoare triple {898#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {902#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-14 15:08:32,216 INFO L272 TraceCheckUtils]: 28: Hoare triple {902#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {906#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:08:32,217 INFO L290 TraceCheckUtils]: 29: Hoare triple {906#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {910#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:08:32,217 INFO L290 TraceCheckUtils]: 30: Hoare triple {910#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {813#false} is VALID [2022-04-14 15:08:32,217 INFO L290 TraceCheckUtils]: 31: Hoare triple {813#false} assume !false; {813#false} is VALID [2022-04-14 15:08:32,217 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-14 15:08:32,218 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:08:32,416 INFO L290 TraceCheckUtils]: 31: Hoare triple {813#false} assume !false; {813#false} is VALID [2022-04-14 15:08:32,417 INFO L290 TraceCheckUtils]: 30: Hoare triple {910#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {813#false} is VALID [2022-04-14 15:08:32,417 INFO L290 TraceCheckUtils]: 29: Hoare triple {906#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {910#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:08:32,418 INFO L272 TraceCheckUtils]: 28: Hoare triple {926#(= (+ (* 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)); {906#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:08:32,419 INFO L290 TraceCheckUtils]: 27: Hoare triple {930#(= (+ (* 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; {926#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-14 15:08:32,420 INFO L290 TraceCheckUtils]: 26: Hoare triple {934#(= (+ (* (* 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; {930#(= (+ (* 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-14 15:08:32,421 INFO L290 TraceCheckUtils]: 25: Hoare triple {930#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {934#(= (+ (* (* 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-14 15:08:32,422 INFO L290 TraceCheckUtils]: 24: Hoare triple {941#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {930#(= (+ (* 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-14 15:08:32,423 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {812#true} {941#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} #65#return; {941#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-14 15:08:32,423 INFO L290 TraceCheckUtils]: 22: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-14 15:08:32,423 INFO L290 TraceCheckUtils]: 21: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-14 15:08:32,423 INFO L290 TraceCheckUtils]: 20: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-14 15:08:32,423 INFO L272 TraceCheckUtils]: 19: Hoare triple {941#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {812#true} is VALID [2022-04-14 15:08:32,424 INFO L290 TraceCheckUtils]: 18: Hoare triple {941#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {941#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-14 15:08:32,424 INFO L290 TraceCheckUtils]: 17: Hoare triple {812#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {941#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-14 15:08:32,424 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {812#true} {812#true} #63#return; {812#true} is VALID [2022-04-14 15:08:32,424 INFO L290 TraceCheckUtils]: 15: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-14 15:08:32,424 INFO L290 TraceCheckUtils]: 14: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-14 15:08:32,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-14 15:08:32,425 INFO L272 TraceCheckUtils]: 12: Hoare triple {812#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {812#true} is VALID [2022-04-14 15:08:32,425 INFO L290 TraceCheckUtils]: 11: Hoare triple {812#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {812#true} is VALID [2022-04-14 15:08:32,425 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {812#true} {812#true} #61#return; {812#true} is VALID [2022-04-14 15:08:32,425 INFO L290 TraceCheckUtils]: 9: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-14 15:08:32,425 INFO L290 TraceCheckUtils]: 8: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-14 15:08:32,425 INFO L290 TraceCheckUtils]: 7: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-14 15:08:32,425 INFO L272 TraceCheckUtils]: 6: Hoare triple {812#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {812#true} is VALID [2022-04-14 15:08:32,425 INFO L290 TraceCheckUtils]: 5: Hoare triple {812#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; {812#true} is VALID [2022-04-14 15:08:32,425 INFO L272 TraceCheckUtils]: 4: Hoare triple {812#true} call #t~ret8 := main(); {812#true} is VALID [2022-04-14 15:08:32,425 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {812#true} {812#true} #69#return; {812#true} is VALID [2022-04-14 15:08:32,425 INFO L290 TraceCheckUtils]: 2: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-14 15:08:32,426 INFO L290 TraceCheckUtils]: 1: Hoare triple {812#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); {812#true} is VALID [2022-04-14 15:08:32,426 INFO L272 TraceCheckUtils]: 0: Hoare triple {812#true} call ULTIMATE.init(); {812#true} is VALID [2022-04-14 15:08:32,426 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 15:08:32,426 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:08:32,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [545831290] [2022-04-14 15:08:32,426 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:08:32,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1172340533] [2022-04-14 15:08:32,426 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1172340533] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:08:32,426 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:08:32,427 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-14 15:08:32,427 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1718775166] [2022-04-14 15:08:32,427 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:08:32,427 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 12 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-14 15:08:32,428 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:08:32,428 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 12 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-14 15:08:32,467 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-14 15:08:32,467 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-14 15:08:32,467 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:08:32,468 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-14 15:08:32,468 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-14 15:08:32,468 INFO L87 Difference]: Start difference. First operand 35 states and 38 transitions. Second operand has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 12 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-14 15:08:33,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:08:33,063 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-14 15:08:33,063 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-14 15:08:33,063 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 12 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-14 15:08:33,066 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:08:33,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 12 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-14 15:08:33,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-14 15:08:33,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 12 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-14 15:08:33,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-14 15:08:33,080 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 50 transitions. [2022-04-14 15:08:33,117 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:08:33,119 INFO L225 Difference]: With dead ends: 48 [2022-04-14 15:08:33,119 INFO L226 Difference]: Without dead ends: 44 [2022-04-14 15:08:33,119 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 68 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=66, Invalid=240, Unknown=0, NotChecked=0, Total=306 [2022-04-14 15:08:33,120 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 22 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 143 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 143 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-14 15:08:33,120 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 109 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 143 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-14 15:08:33,121 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-14 15:08:33,148 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-14 15:08:33,148 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:08:33,148 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 25 states have (on average 1.08) internal successors, (27), 25 states have internal predecessors, (27), 7 states have call successors, (7), 6 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-14 15:08:33,149 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 25 states have (on average 1.08) internal successors, (27), 25 states have internal predecessors, (27), 7 states have call successors, (7), 6 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-14 15:08:33,149 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 25 states have (on average 1.08) internal successors, (27), 25 states have internal predecessors, (27), 7 states have call successors, (7), 6 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-14 15:08:33,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:08:33,150 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-14 15:08:33,150 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-14 15:08:33,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:08:33,151 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:08:33,151 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 25 states have (on average 1.08) internal successors, (27), 25 states have internal predecessors, (27), 7 states have call successors, (7), 6 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 44 states. [2022-04-14 15:08:33,151 INFO L87 Difference]: Start difference. First operand has 37 states, 25 states have (on average 1.08) internal successors, (27), 25 states have internal predecessors, (27), 7 states have call successors, (7), 6 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 44 states. [2022-04-14 15:08:33,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:08:33,153 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-14 15:08:33,153 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-14 15:08:33,153 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:08:33,153 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:08:33,153 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:08:33,153 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:08:33,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 25 states have (on average 1.08) internal successors, (27), 25 states have internal predecessors, (27), 7 states have call successors, (7), 6 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-14 15:08:33,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 39 transitions. [2022-04-14 15:08:33,154 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 39 transitions. Word has length 32 [2022-04-14 15:08:33,154 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:08:33,155 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 39 transitions. [2022-04-14 15:08:33,155 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 12 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-14 15:08:33,155 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 39 transitions. [2022-04-14 15:08:33,155 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-14 15:08:33,156 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:08:33,156 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-14 15:08:33,189 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-14 15:08:33,372 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-14 15:08:33,372 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:08:33,373 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:08:33,373 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-14 15:08:33,373 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:08:33,373 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1851081051] [2022-04-14 15:08:33,373 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:08:33,373 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:08:33,390 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:08:33,390 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1811354600] [2022-04-14 15:08:33,390 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:08:33,390 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:08:33,390 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:08:33,392 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-14 15:08:33,393 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-14 15:08:33,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:08:33,428 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-14 15:08:33,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:08:33,438 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:08:33,763 INFO L272 TraceCheckUtils]: 0: Hoare triple {1232#true} call ULTIMATE.init(); {1232#true} is VALID [2022-04-14 15:08:33,763 INFO L290 TraceCheckUtils]: 1: Hoare triple {1232#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); {1232#true} is VALID [2022-04-14 15:08:33,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-14 15:08:33,764 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1232#true} {1232#true} #69#return; {1232#true} is VALID [2022-04-14 15:08:33,764 INFO L272 TraceCheckUtils]: 4: Hoare triple {1232#true} call #t~ret8 := main(); {1232#true} is VALID [2022-04-14 15:08:33,764 INFO L290 TraceCheckUtils]: 5: Hoare triple {1232#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; {1232#true} is VALID [2022-04-14 15:08:33,764 INFO L272 TraceCheckUtils]: 6: Hoare triple {1232#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1232#true} is VALID [2022-04-14 15:08:33,764 INFO L290 TraceCheckUtils]: 7: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-14 15:08:33,764 INFO L290 TraceCheckUtils]: 8: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-14 15:08:33,764 INFO L290 TraceCheckUtils]: 9: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-14 15:08:33,764 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1232#true} {1232#true} #61#return; {1232#true} is VALID [2022-04-14 15:08:33,764 INFO L290 TraceCheckUtils]: 11: Hoare triple {1232#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1232#true} is VALID [2022-04-14 15:08:33,764 INFO L272 TraceCheckUtils]: 12: Hoare triple {1232#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1232#true} is VALID [2022-04-14 15:08:33,764 INFO L290 TraceCheckUtils]: 13: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-14 15:08:33,765 INFO L290 TraceCheckUtils]: 14: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-14 15:08:33,765 INFO L290 TraceCheckUtils]: 15: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-14 15:08:33,765 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1232#true} {1232#true} #63#return; {1232#true} is VALID [2022-04-14 15:08:33,765 INFO L290 TraceCheckUtils]: 17: Hoare triple {1232#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1288#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:08:33,765 INFO L290 TraceCheckUtils]: 18: Hoare triple {1288#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1288#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:08:33,766 INFO L272 TraceCheckUtils]: 19: Hoare triple {1288#(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)); {1232#true} is VALID [2022-04-14 15:08:33,766 INFO L290 TraceCheckUtils]: 20: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-14 15:08:33,766 INFO L290 TraceCheckUtils]: 21: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-14 15:08:33,766 INFO L290 TraceCheckUtils]: 22: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-14 15:08:33,767 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1232#true} {1288#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {1288#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:08:33,767 INFO L290 TraceCheckUtils]: 24: Hoare triple {1288#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1310#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:08:33,768 INFO L290 TraceCheckUtils]: 25: Hoare triple {1310#(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; {1314#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-14 15:08:33,769 INFO L290 TraceCheckUtils]: 26: Hoare triple {1314#(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; {1318#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-14 15:08:33,769 INFO L290 TraceCheckUtils]: 27: Hoare triple {1318#(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; {1322#(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-14 15:08:33,769 INFO L272 TraceCheckUtils]: 28: Hoare triple {1322#(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)); {1232#true} is VALID [2022-04-14 15:08:33,770 INFO L290 TraceCheckUtils]: 29: Hoare triple {1232#true} ~cond := #in~cond; {1329#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:08:33,770 INFO L290 TraceCheckUtils]: 30: Hoare triple {1329#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:08:33,772 INFO L290 TraceCheckUtils]: 31: Hoare triple {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:08:33,773 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} {1322#(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; {1340#(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-14 15:08:33,773 INFO L290 TraceCheckUtils]: 33: Hoare triple {1340#(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); {1344#(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-14 15:08:33,775 INFO L290 TraceCheckUtils]: 34: Hoare triple {1344#(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; {1348#(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-14 15:08:33,776 INFO L272 TraceCheckUtils]: 35: Hoare triple {1348#(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)); {1352#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:08:33,776 INFO L290 TraceCheckUtils]: 36: Hoare triple {1352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:08:33,776 INFO L290 TraceCheckUtils]: 37: Hoare triple {1356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1233#false} is VALID [2022-04-14 15:08:33,777 INFO L290 TraceCheckUtils]: 38: Hoare triple {1233#false} assume !false; {1233#false} is VALID [2022-04-14 15:08:33,777 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-14 15:08:33,777 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:08:34,409 INFO L290 TraceCheckUtils]: 38: Hoare triple {1233#false} assume !false; {1233#false} is VALID [2022-04-14 15:08:34,410 INFO L290 TraceCheckUtils]: 37: Hoare triple {1356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1233#false} is VALID [2022-04-14 15:08:34,410 INFO L290 TraceCheckUtils]: 36: Hoare triple {1352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:08:34,411 INFO L272 TraceCheckUtils]: 35: Hoare triple {1372#(= (+ (* 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)); {1352#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:08:34,412 INFO L290 TraceCheckUtils]: 34: Hoare triple {1376#(= (+ (* 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; {1372#(= (+ (* 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-14 15:08:34,412 INFO L290 TraceCheckUtils]: 33: Hoare triple {1380#(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); {1376#(= (+ (* 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-14 15:08:34,413 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} {1384#(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; {1380#(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-14 15:08:34,414 INFO L290 TraceCheckUtils]: 31: Hoare triple {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:08:34,414 INFO L290 TraceCheckUtils]: 30: Hoare triple {1394#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:08:34,414 INFO L290 TraceCheckUtils]: 29: Hoare triple {1232#true} ~cond := #in~cond; {1394#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 15:08:34,414 INFO L272 TraceCheckUtils]: 28: Hoare triple {1384#(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)); {1232#true} is VALID [2022-04-14 15:08:34,415 INFO L290 TraceCheckUtils]: 27: Hoare triple {1401#(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; {1384#(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-14 15:08:34,417 INFO L290 TraceCheckUtils]: 26: Hoare triple {1405#(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; {1401#(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-14 15:08:34,418 INFO L290 TraceCheckUtils]: 25: Hoare triple {1409#(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; {1405#(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-14 15:08:34,420 INFO L290 TraceCheckUtils]: 24: Hoare triple {1232#true} assume !!(~x~0 <= ~X~0); {1409#(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-14 15:08:34,420 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1232#true} {1232#true} #65#return; {1232#true} is VALID [2022-04-14 15:08:34,420 INFO L290 TraceCheckUtils]: 22: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-14 15:08:34,420 INFO L290 TraceCheckUtils]: 21: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-14 15:08:34,420 INFO L290 TraceCheckUtils]: 20: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-14 15:08:34,420 INFO L272 TraceCheckUtils]: 19: Hoare triple {1232#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1232#true} is VALID [2022-04-14 15:08:34,420 INFO L290 TraceCheckUtils]: 18: Hoare triple {1232#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1232#true} is VALID [2022-04-14 15:08:34,420 INFO L290 TraceCheckUtils]: 17: Hoare triple {1232#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1232#true} is VALID [2022-04-14 15:08:34,420 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1232#true} {1232#true} #63#return; {1232#true} is VALID [2022-04-14 15:08:34,420 INFO L290 TraceCheckUtils]: 15: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-14 15:08:34,420 INFO L290 TraceCheckUtils]: 14: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-14 15:08:34,420 INFO L290 TraceCheckUtils]: 13: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-14 15:08:34,421 INFO L272 TraceCheckUtils]: 12: Hoare triple {1232#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1232#true} is VALID [2022-04-14 15:08:34,421 INFO L290 TraceCheckUtils]: 11: Hoare triple {1232#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1232#true} is VALID [2022-04-14 15:08:34,421 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1232#true} {1232#true} #61#return; {1232#true} is VALID [2022-04-14 15:08:34,421 INFO L290 TraceCheckUtils]: 9: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-14 15:08:34,421 INFO L290 TraceCheckUtils]: 8: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-14 15:08:34,421 INFO L290 TraceCheckUtils]: 7: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-14 15:08:34,421 INFO L272 TraceCheckUtils]: 6: Hoare triple {1232#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1232#true} is VALID [2022-04-14 15:08:34,421 INFO L290 TraceCheckUtils]: 5: Hoare triple {1232#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; {1232#true} is VALID [2022-04-14 15:08:34,421 INFO L272 TraceCheckUtils]: 4: Hoare triple {1232#true} call #t~ret8 := main(); {1232#true} is VALID [2022-04-14 15:08:34,421 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1232#true} {1232#true} #69#return; {1232#true} is VALID [2022-04-14 15:08:34,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-14 15:08:34,421 INFO L290 TraceCheckUtils]: 1: Hoare triple {1232#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); {1232#true} is VALID [2022-04-14 15:08:34,422 INFO L272 TraceCheckUtils]: 0: Hoare triple {1232#true} call ULTIMATE.init(); {1232#true} is VALID [2022-04-14 15:08:34,422 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-14 15:08:34,422 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:08:34,422 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1851081051] [2022-04-14 15:08:34,422 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:08:34,422 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1811354600] [2022-04-14 15:08:34,422 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1811354600] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:08:34,422 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:08:34,422 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-14 15:08:34,422 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [702628808] [2022-04-14 15:08:34,423 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:08:34,423 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-14 15:08:34,423 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:08:34,424 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-14 15:08:34,466 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-14 15:08:34,466 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-14 15:08:34,466 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:08:34,467 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-14 15:08:34,467 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-14 15:08:34,467 INFO L87 Difference]: Start difference. First operand 37 states and 39 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-14 15:08:35,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:08:35,391 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-04-14 15:08:35,391 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-14 15:08:35,391 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-14 15:08:35,391 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:08:35,391 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-14 15:08:35,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 60 transitions. [2022-04-14 15:08:35,393 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-14 15:08:35,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 60 transitions. [2022-04-14 15:08:35,394 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 60 transitions. [2022-04-14 15:08:35,472 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:08:35,473 INFO L225 Difference]: With dead ends: 56 [2022-04-14 15:08:35,473 INFO L226 Difference]: Without dead ends: 48 [2022-04-14 15:08:35,474 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 250 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=206, Invalid=1054, Unknown=0, NotChecked=0, Total=1260 [2022-04-14 15:08:35,474 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 27 mSDsluCounter, 170 mSDsCounter, 0 mSdLazyCounter, 215 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 301 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 215 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 63 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-14 15:08:35,474 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 190 Invalid, 301 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 215 Invalid, 0 Unknown, 63 Unchecked, 0.2s Time] [2022-04-14 15:08:35,475 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-14 15:08:35,494 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-14 15:08:35,494 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:08:35,494 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 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-14 15:08:35,494 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 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-14 15:08:35,495 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 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-14 15:08:35,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:08:35,496 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-14 15:08:35,496 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-14 15:08:35,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:08:35,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:08:35,497 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 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 48 states. [2022-04-14 15:08:35,497 INFO L87 Difference]: Start difference. First operand has 41 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 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 48 states. [2022-04-14 15:08:35,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:08:35,498 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-14 15:08:35,498 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-14 15:08:35,498 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:08:35,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:08:35,498 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:08:35,498 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:08:35,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 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-14 15:08:35,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 44 transitions. [2022-04-14 15:08:35,500 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 44 transitions. Word has length 39 [2022-04-14 15:08:35,500 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:08:35,500 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 44 transitions. [2022-04-14 15:08:35,500 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-14 15:08:35,500 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2022-04-14 15:08:35,501 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-14 15:08:35,501 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:08:35,501 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-14 15:08:35,519 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-14 15:08:35,701 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-14 15:08:35,701 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:08:35,702 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:08:35,702 INFO L85 PathProgramCache]: Analyzing trace with hash -143142008, now seen corresponding path program 1 times [2022-04-14 15:08:35,702 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:08:35,702 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1654397690] [2022-04-14 15:08:35,702 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:08:35,702 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:08:35,722 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:08:35,722 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [786100047] [2022-04-14 15:08:35,723 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:08:35,723 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:08:35,723 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:08:35,743 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-14 15:08:35,756 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-14 15:08:35,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:08:35,792 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-14 15:08:35,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:08:35,802 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:08:37,584 INFO L272 TraceCheckUtils]: 0: Hoare triple {1748#true} call ULTIMATE.init(); {1748#true} is VALID [2022-04-14 15:08:37,584 INFO L290 TraceCheckUtils]: 1: Hoare triple {1748#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); {1748#true} is VALID [2022-04-14 15:08:37,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-14 15:08:37,584 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1748#true} {1748#true} #69#return; {1748#true} is VALID [2022-04-14 15:08:37,584 INFO L272 TraceCheckUtils]: 4: Hoare triple {1748#true} call #t~ret8 := main(); {1748#true} is VALID [2022-04-14 15:08:37,585 INFO L290 TraceCheckUtils]: 5: Hoare triple {1748#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; {1748#true} is VALID [2022-04-14 15:08:37,585 INFO L272 TraceCheckUtils]: 6: Hoare triple {1748#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1748#true} is VALID [2022-04-14 15:08:37,585 INFO L290 TraceCheckUtils]: 7: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-14 15:08:37,585 INFO L290 TraceCheckUtils]: 8: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-14 15:08:37,585 INFO L290 TraceCheckUtils]: 9: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-14 15:08:37,585 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1748#true} {1748#true} #61#return; {1748#true} is VALID [2022-04-14 15:08:37,585 INFO L290 TraceCheckUtils]: 11: Hoare triple {1748#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1748#true} is VALID [2022-04-14 15:08:37,585 INFO L272 TraceCheckUtils]: 12: Hoare triple {1748#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1748#true} is VALID [2022-04-14 15:08:37,585 INFO L290 TraceCheckUtils]: 13: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-14 15:08:37,585 INFO L290 TraceCheckUtils]: 14: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-14 15:08:37,585 INFO L290 TraceCheckUtils]: 15: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-14 15:08:37,585 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1748#true} {1748#true} #63#return; {1748#true} is VALID [2022-04-14 15:08:37,586 INFO L290 TraceCheckUtils]: 17: Hoare triple {1748#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1804#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:08:37,586 INFO L290 TraceCheckUtils]: 18: Hoare triple {1804#(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; {1804#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:08:37,586 INFO L272 TraceCheckUtils]: 19: Hoare triple {1804#(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)); {1748#true} is VALID [2022-04-14 15:08:37,586 INFO L290 TraceCheckUtils]: 20: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-14 15:08:37,587 INFO L290 TraceCheckUtils]: 21: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-14 15:08:37,587 INFO L290 TraceCheckUtils]: 22: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-14 15:08:37,587 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1748#true} {1804#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {1804#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:08:37,588 INFO L290 TraceCheckUtils]: 24: Hoare triple {1804#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {1804#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:08:37,588 INFO L290 TraceCheckUtils]: 25: Hoare triple {1804#(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; {1829#(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-14 15:08:37,589 INFO L290 TraceCheckUtils]: 26: Hoare triple {1829#(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; {1833#(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-14 15:08:37,590 INFO L290 TraceCheckUtils]: 27: Hoare triple {1833#(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; {1833#(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-14 15:08:37,590 INFO L272 TraceCheckUtils]: 28: Hoare triple {1833#(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)); {1748#true} is VALID [2022-04-14 15:08:37,590 INFO L290 TraceCheckUtils]: 29: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-14 15:08:37,590 INFO L290 TraceCheckUtils]: 30: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-14 15:08:37,590 INFO L290 TraceCheckUtils]: 31: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-14 15:08:37,591 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1748#true} {1833#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #65#return; {1833#(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-14 15:08:37,591 INFO L290 TraceCheckUtils]: 33: Hoare triple {1833#(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); {1833#(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-14 15:08:37,592 INFO L290 TraceCheckUtils]: 34: Hoare triple {1833#(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; {1858#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} is VALID [2022-04-14 15:08:37,592 INFO L290 TraceCheckUtils]: 35: Hoare triple {1858#(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; {1862#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-14 15:08:37,593 INFO L290 TraceCheckUtils]: 36: Hoare triple {1862#(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; {1862#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-14 15:08:37,593 INFO L272 TraceCheckUtils]: 37: Hoare triple {1862#(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)); {1748#true} is VALID [2022-04-14 15:08:37,593 INFO L290 TraceCheckUtils]: 38: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-14 15:08:37,593 INFO L290 TraceCheckUtils]: 39: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-14 15:08:37,593 INFO L290 TraceCheckUtils]: 40: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-14 15:08:37,593 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1748#true} {1862#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} #65#return; {1862#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-14 15:08:37,594 INFO L290 TraceCheckUtils]: 42: Hoare triple {1862#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !(~x~0 <= ~X~0); {1749#false} is VALID [2022-04-14 15:08:37,594 INFO L290 TraceCheckUtils]: 43: Hoare triple {1749#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1749#false} is VALID [2022-04-14 15:08:37,594 INFO L272 TraceCheckUtils]: 44: Hoare triple {1749#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)); {1749#false} is VALID [2022-04-14 15:08:37,594 INFO L290 TraceCheckUtils]: 45: Hoare triple {1749#false} ~cond := #in~cond; {1749#false} is VALID [2022-04-14 15:08:37,594 INFO L290 TraceCheckUtils]: 46: Hoare triple {1749#false} assume 0 == ~cond; {1749#false} is VALID [2022-04-14 15:08:37,594 INFO L290 TraceCheckUtils]: 47: Hoare triple {1749#false} assume !false; {1749#false} is VALID [2022-04-14 15:08:37,595 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-14 15:08:37,595 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:08:37,875 INFO L290 TraceCheckUtils]: 47: Hoare triple {1749#false} assume !false; {1749#false} is VALID [2022-04-14 15:08:37,876 INFO L290 TraceCheckUtils]: 46: Hoare triple {1749#false} assume 0 == ~cond; {1749#false} is VALID [2022-04-14 15:08:37,876 INFO L290 TraceCheckUtils]: 45: Hoare triple {1749#false} ~cond := #in~cond; {1749#false} is VALID [2022-04-14 15:08:37,876 INFO L272 TraceCheckUtils]: 44: Hoare triple {1749#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)); {1749#false} is VALID [2022-04-14 15:08:37,876 INFO L290 TraceCheckUtils]: 43: Hoare triple {1749#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1749#false} is VALID [2022-04-14 15:08:37,876 INFO L290 TraceCheckUtils]: 42: Hoare triple {1914#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {1749#false} is VALID [2022-04-14 15:08:37,877 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1748#true} {1914#(<= main_~x~0 main_~X~0)} #65#return; {1914#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:08:37,877 INFO L290 TraceCheckUtils]: 40: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-14 15:08:37,877 INFO L290 TraceCheckUtils]: 39: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-14 15:08:37,877 INFO L290 TraceCheckUtils]: 38: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-14 15:08:37,877 INFO L272 TraceCheckUtils]: 37: Hoare triple {1914#(<= 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)); {1748#true} is VALID [2022-04-14 15:08:37,877 INFO L290 TraceCheckUtils]: 36: Hoare triple {1914#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1914#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:08:37,878 INFO L290 TraceCheckUtils]: 35: Hoare triple {1936#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1914#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:08:37,878 INFO L290 TraceCheckUtils]: 34: Hoare triple {1940#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1936#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-14 15:08:37,879 INFO L290 TraceCheckUtils]: 33: Hoare triple {1940#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {1940#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:08:37,879 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1748#true} {1940#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {1940#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:08:37,879 INFO L290 TraceCheckUtils]: 31: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-14 15:08:37,879 INFO L290 TraceCheckUtils]: 30: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-14 15:08:37,880 INFO L290 TraceCheckUtils]: 29: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-14 15:08:37,880 INFO L272 TraceCheckUtils]: 28: Hoare triple {1940#(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)); {1748#true} is VALID [2022-04-14 15:08:37,880 INFO L290 TraceCheckUtils]: 27: Hoare triple {1940#(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; {1940#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:08:37,881 INFO L290 TraceCheckUtils]: 26: Hoare triple {1965#(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; {1940#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:08:37,881 INFO L290 TraceCheckUtils]: 25: Hoare triple {1969#(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; {1965#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} is VALID [2022-04-14 15:08:37,882 INFO L290 TraceCheckUtils]: 24: Hoare triple {1969#(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); {1969#(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-14 15:08:37,882 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1748#true} {1969#(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; {1969#(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-14 15:08:37,882 INFO L290 TraceCheckUtils]: 22: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-14 15:08:37,882 INFO L290 TraceCheckUtils]: 21: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-14 15:08:37,882 INFO L290 TraceCheckUtils]: 20: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-14 15:08:37,883 INFO L272 TraceCheckUtils]: 19: Hoare triple {1969#(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)); {1748#true} is VALID [2022-04-14 15:08:37,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {1969#(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; {1969#(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-14 15:08:37,883 INFO L290 TraceCheckUtils]: 17: Hoare triple {1748#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1969#(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-14 15:08:37,884 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1748#true} {1748#true} #63#return; {1748#true} is VALID [2022-04-14 15:08:37,884 INFO L290 TraceCheckUtils]: 15: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-14 15:08:37,884 INFO L290 TraceCheckUtils]: 14: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-14 15:08:37,884 INFO L290 TraceCheckUtils]: 13: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-14 15:08:37,884 INFO L272 TraceCheckUtils]: 12: Hoare triple {1748#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1748#true} is VALID [2022-04-14 15:08:37,884 INFO L290 TraceCheckUtils]: 11: Hoare triple {1748#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1748#true} is VALID [2022-04-14 15:08:37,884 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1748#true} {1748#true} #61#return; {1748#true} is VALID [2022-04-14 15:08:37,884 INFO L290 TraceCheckUtils]: 9: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-14 15:08:37,884 INFO L290 TraceCheckUtils]: 8: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-14 15:08:37,884 INFO L290 TraceCheckUtils]: 7: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-14 15:08:37,884 INFO L272 TraceCheckUtils]: 6: Hoare triple {1748#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1748#true} is VALID [2022-04-14 15:08:37,884 INFO L290 TraceCheckUtils]: 5: Hoare triple {1748#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; {1748#true} is VALID [2022-04-14 15:08:37,885 INFO L272 TraceCheckUtils]: 4: Hoare triple {1748#true} call #t~ret8 := main(); {1748#true} is VALID [2022-04-14 15:08:37,885 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1748#true} {1748#true} #69#return; {1748#true} is VALID [2022-04-14 15:08:37,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-14 15:08:37,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {1748#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); {1748#true} is VALID [2022-04-14 15:08:37,885 INFO L272 TraceCheckUtils]: 0: Hoare triple {1748#true} call ULTIMATE.init(); {1748#true} is VALID [2022-04-14 15:08:37,885 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-14 15:08:37,885 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:08:37,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1654397690] [2022-04-14 15:08:37,885 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:08:37,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [786100047] [2022-04-14 15:08:37,885 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [786100047] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:08:37,886 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:08:37,886 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-14 15:08:37,886 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [898484004] [2022-04-14 15:08:37,886 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:08:37,886 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-14 15:08:37,886 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:08:37,887 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-14 15:08:37,925 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-14 15:08:37,925 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-14 15:08:37,925 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:08:37,926 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-14 15:08:37,926 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-14 15:08:37,926 INFO L87 Difference]: Start difference. First operand 41 states and 44 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-14 15:08:38,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:08:38,313 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-14 15:08:38,313 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-14 15:08:38,314 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-14 15:08:38,314 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:08:38,314 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-14 15:08:38,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-14 15:08:38,315 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-14 15:08:38,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-14 15:08:38,317 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 56 transitions. [2022-04-14 15:08:38,356 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-14 15:08:38,357 INFO L225 Difference]: With dead ends: 59 [2022-04-14 15:08:38,357 INFO L226 Difference]: Without dead ends: 53 [2022-04-14 15:08:38,357 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=53, Invalid=157, Unknown=0, NotChecked=0, Total=210 [2022-04-14 15:08:38,358 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 8 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 131 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 142 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 131 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 15:08:38,358 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 121 Invalid, 142 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 131 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 15:08:38,359 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-14 15:08:38,387 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 46. [2022-04-14 15:08:38,387 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:08:38,387 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 46 states, 32 states have (on average 1.09375) internal successors, (35), 32 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:08:38,387 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 46 states, 32 states have (on average 1.09375) internal successors, (35), 32 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:08:38,387 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 46 states, 32 states have (on average 1.09375) internal successors, (35), 32 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:08:38,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:08:38,389 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-14 15:08:38,389 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2022-04-14 15:08:38,389 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:08:38,389 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:08:38,390 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 32 states have (on average 1.09375) internal successors, (35), 32 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 53 states. [2022-04-14 15:08:38,390 INFO L87 Difference]: Start difference. First operand has 46 states, 32 states have (on average 1.09375) internal successors, (35), 32 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 53 states. [2022-04-14 15:08:38,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:08:38,391 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-14 15:08:38,391 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2022-04-14 15:08:38,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:08:38,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:08:38,391 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:08:38,392 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:08:38,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 32 states have (on average 1.09375) internal successors, (35), 32 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:08:38,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 51 transitions. [2022-04-14 15:08:38,393 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 51 transitions. Word has length 48 [2022-04-14 15:08:38,393 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:08:38,393 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 51 transitions. [2022-04-14 15:08:38,393 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-14 15:08:38,393 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-14 15:08:38,396 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-14 15:08:38,396 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:08:38,396 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-14 15:08:38,431 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-14 15:08:38,632 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-14 15:08:38,632 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:08:38,632 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:08:38,632 INFO L85 PathProgramCache]: Analyzing trace with hash 2136090540, now seen corresponding path program 2 times [2022-04-14 15:08:38,633 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:08:38,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2040495524] [2022-04-14 15:08:38,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:08:38,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:08:38,653 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:08:38,653 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1398362733] [2022-04-14 15:08:38,653 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 15:08:38,653 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:08:38,653 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:08:38,658 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-14 15:08:38,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-14 15:08:38,751 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 15:08:38,751 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 15:08:38,752 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-14 15:08:38,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:08:38,766 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:08:39,173 INFO L272 TraceCheckUtils]: 0: Hoare triple {2306#true} call ULTIMATE.init(); {2306#true} is VALID [2022-04-14 15:08:39,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {2306#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); {2306#true} is VALID [2022-04-14 15:08:39,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-14 15:08:39,174 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2306#true} {2306#true} #69#return; {2306#true} is VALID [2022-04-14 15:08:39,174 INFO L272 TraceCheckUtils]: 4: Hoare triple {2306#true} call #t~ret8 := main(); {2306#true} is VALID [2022-04-14 15:08:39,174 INFO L290 TraceCheckUtils]: 5: Hoare triple {2306#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; {2306#true} is VALID [2022-04-14 15:08:39,174 INFO L272 TraceCheckUtils]: 6: Hoare triple {2306#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2306#true} is VALID [2022-04-14 15:08:39,174 INFO L290 TraceCheckUtils]: 7: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-14 15:08:39,174 INFO L290 TraceCheckUtils]: 8: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-14 15:08:39,174 INFO L290 TraceCheckUtils]: 9: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-14 15:08:39,174 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2306#true} {2306#true} #61#return; {2306#true} is VALID [2022-04-14 15:08:39,174 INFO L290 TraceCheckUtils]: 11: Hoare triple {2306#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2306#true} is VALID [2022-04-14 15:08:39,175 INFO L272 TraceCheckUtils]: 12: Hoare triple {2306#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2306#true} is VALID [2022-04-14 15:08:39,175 INFO L290 TraceCheckUtils]: 13: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-14 15:08:39,175 INFO L290 TraceCheckUtils]: 14: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-14 15:08:39,175 INFO L290 TraceCheckUtils]: 15: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-14 15:08:39,175 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2306#true} {2306#true} #63#return; {2306#true} is VALID [2022-04-14 15:08:39,175 INFO L290 TraceCheckUtils]: 17: Hoare triple {2306#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-14 15:08:39,176 INFO L290 TraceCheckUtils]: 18: Hoare triple {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-14 15:08:39,176 INFO L272 TraceCheckUtils]: 19: Hoare triple {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2306#true} is VALID [2022-04-14 15:08:39,176 INFO L290 TraceCheckUtils]: 20: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-14 15:08:39,176 INFO L290 TraceCheckUtils]: 21: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-14 15:08:39,176 INFO L290 TraceCheckUtils]: 22: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-14 15:08:39,176 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2306#true} {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} #65#return; {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-14 15:08:39,177 INFO L290 TraceCheckUtils]: 24: Hoare triple {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-14 15:08:39,177 INFO L290 TraceCheckUtils]: 25: Hoare triple {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:08:39,178 INFO L290 TraceCheckUtils]: 26: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:08:39,178 INFO L290 TraceCheckUtils]: 27: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:08:39,178 INFO L272 TraceCheckUtils]: 28: Hoare triple {2387#(<= (div 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)); {2306#true} is VALID [2022-04-14 15:08:39,178 INFO L290 TraceCheckUtils]: 29: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-14 15:08:39,178 INFO L290 TraceCheckUtils]: 30: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-14 15:08:39,178 INFO L290 TraceCheckUtils]: 31: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-14 15:08:39,179 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2306#true} {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} #65#return; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:08:39,179 INFO L290 TraceCheckUtils]: 33: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !!(~x~0 <= ~X~0); {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:08:39,180 INFO L290 TraceCheckUtils]: 34: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:08:39,180 INFO L290 TraceCheckUtils]: 35: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:08:39,180 INFO L290 TraceCheckUtils]: 36: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:08:39,180 INFO L272 TraceCheckUtils]: 37: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2306#true} is VALID [2022-04-14 15:08:39,180 INFO L290 TraceCheckUtils]: 38: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-14 15:08:39,180 INFO L290 TraceCheckUtils]: 39: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-14 15:08:39,180 INFO L290 TraceCheckUtils]: 40: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-14 15:08:39,181 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2306#true} {2415#(<= (div main_~v~0 (- 2)) 0)} #65#return; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:08:39,181 INFO L290 TraceCheckUtils]: 42: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} assume !!(~x~0 <= ~X~0); {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:08:39,182 INFO L290 TraceCheckUtils]: 43: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2307#false} is VALID [2022-04-14 15:08:39,182 INFO L290 TraceCheckUtils]: 44: Hoare triple {2307#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2307#false} is VALID [2022-04-14 15:08:39,183 INFO L290 TraceCheckUtils]: 45: Hoare triple {2307#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2307#false} is VALID [2022-04-14 15:08:39,183 INFO L272 TraceCheckUtils]: 46: Hoare triple {2307#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2307#false} is VALID [2022-04-14 15:08:39,183 INFO L290 TraceCheckUtils]: 47: Hoare triple {2307#false} ~cond := #in~cond; {2307#false} is VALID [2022-04-14 15:08:39,183 INFO L290 TraceCheckUtils]: 48: Hoare triple {2307#false} assume !(0 == ~cond); {2307#false} is VALID [2022-04-14 15:08:39,183 INFO L290 TraceCheckUtils]: 49: Hoare triple {2307#false} assume true; {2307#false} is VALID [2022-04-14 15:08:39,183 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2307#false} {2307#false} #65#return; {2307#false} is VALID [2022-04-14 15:08:39,183 INFO L290 TraceCheckUtils]: 51: Hoare triple {2307#false} assume !(~x~0 <= ~X~0); {2307#false} is VALID [2022-04-14 15:08:39,183 INFO L290 TraceCheckUtils]: 52: Hoare triple {2307#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2307#false} is VALID [2022-04-14 15:08:39,183 INFO L272 TraceCheckUtils]: 53: Hoare triple {2307#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)); {2307#false} is VALID [2022-04-14 15:08:39,183 INFO L290 TraceCheckUtils]: 54: Hoare triple {2307#false} ~cond := #in~cond; {2307#false} is VALID [2022-04-14 15:08:39,183 INFO L290 TraceCheckUtils]: 55: Hoare triple {2307#false} assume 0 == ~cond; {2307#false} is VALID [2022-04-14 15:08:39,183 INFO L290 TraceCheckUtils]: 56: Hoare triple {2307#false} assume !false; {2307#false} is VALID [2022-04-14 15:08:39,184 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 29 proven. 13 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-14 15:08:39,184 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:08:39,643 INFO L290 TraceCheckUtils]: 56: Hoare triple {2307#false} assume !false; {2307#false} is VALID [2022-04-14 15:08:39,643 INFO L290 TraceCheckUtils]: 55: Hoare triple {2307#false} assume 0 == ~cond; {2307#false} is VALID [2022-04-14 15:08:39,643 INFO L290 TraceCheckUtils]: 54: Hoare triple {2307#false} ~cond := #in~cond; {2307#false} is VALID [2022-04-14 15:08:39,643 INFO L272 TraceCheckUtils]: 53: Hoare triple {2307#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)); {2307#false} is VALID [2022-04-14 15:08:39,643 INFO L290 TraceCheckUtils]: 52: Hoare triple {2307#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2307#false} is VALID [2022-04-14 15:08:39,643 INFO L290 TraceCheckUtils]: 51: Hoare triple {2307#false} assume !(~x~0 <= ~X~0); {2307#false} is VALID [2022-04-14 15:08:39,644 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2306#true} {2307#false} #65#return; {2307#false} is VALID [2022-04-14 15:08:39,644 INFO L290 TraceCheckUtils]: 49: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-14 15:08:39,644 INFO L290 TraceCheckUtils]: 48: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-14 15:08:39,644 INFO L290 TraceCheckUtils]: 47: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-14 15:08:39,644 INFO L272 TraceCheckUtils]: 46: Hoare triple {2307#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2306#true} is VALID [2022-04-14 15:08:39,644 INFO L290 TraceCheckUtils]: 45: Hoare triple {2307#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2307#false} is VALID [2022-04-14 15:08:39,644 INFO L290 TraceCheckUtils]: 44: Hoare triple {2307#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2307#false} is VALID [2022-04-14 15:08:39,645 INFO L290 TraceCheckUtils]: 43: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2307#false} is VALID [2022-04-14 15:08:39,645 INFO L290 TraceCheckUtils]: 42: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} assume !!(~x~0 <= ~X~0); {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:08:39,645 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2306#true} {2415#(<= (div main_~v~0 (- 2)) 0)} #65#return; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:08:39,646 INFO L290 TraceCheckUtils]: 40: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-14 15:08:39,646 INFO L290 TraceCheckUtils]: 39: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-14 15:08:39,646 INFO L290 TraceCheckUtils]: 38: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-14 15:08:39,646 INFO L272 TraceCheckUtils]: 37: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2306#true} is VALID [2022-04-14 15:08:39,646 INFO L290 TraceCheckUtils]: 36: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:08:39,646 INFO L290 TraceCheckUtils]: 35: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:08:39,647 INFO L290 TraceCheckUtils]: 34: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:08:39,647 INFO L290 TraceCheckUtils]: 33: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !!(~x~0 <= ~X~0); {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:08:39,648 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2306#true} {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} #65#return; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:08:39,648 INFO L290 TraceCheckUtils]: 31: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-14 15:08:39,648 INFO L290 TraceCheckUtils]: 30: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-14 15:08:39,648 INFO L290 TraceCheckUtils]: 29: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-14 15:08:39,648 INFO L272 TraceCheckUtils]: 28: Hoare triple {2387#(<= (div 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)); {2306#true} is VALID [2022-04-14 15:08:39,648 INFO L290 TraceCheckUtils]: 27: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:08:39,648 INFO L290 TraceCheckUtils]: 26: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:08:39,649 INFO L290 TraceCheckUtils]: 25: Hoare triple {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~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; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:08:39,650 INFO L290 TraceCheckUtils]: 24: Hoare triple {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} assume !!(~x~0 <= ~X~0); {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-14 15:08:39,650 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2306#true} {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} #65#return; {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-14 15:08:39,650 INFO L290 TraceCheckUtils]: 22: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-14 15:08:39,650 INFO L290 TraceCheckUtils]: 21: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-14 15:08:39,650 INFO L290 TraceCheckUtils]: 20: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-14 15:08:39,650 INFO L272 TraceCheckUtils]: 19: Hoare triple {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~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)); {2306#true} is VALID [2022-04-14 15:08:39,651 INFO L290 TraceCheckUtils]: 18: Hoare triple {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-14 15:08:39,651 INFO L290 TraceCheckUtils]: 17: Hoare triple {2306#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-14 15:08:39,651 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2306#true} {2306#true} #63#return; {2306#true} is VALID [2022-04-14 15:08:39,652 INFO L290 TraceCheckUtils]: 15: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-14 15:08:39,652 INFO L290 TraceCheckUtils]: 14: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-14 15:08:39,652 INFO L290 TraceCheckUtils]: 13: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-14 15:08:39,652 INFO L272 TraceCheckUtils]: 12: Hoare triple {2306#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2306#true} is VALID [2022-04-14 15:08:39,652 INFO L290 TraceCheckUtils]: 11: Hoare triple {2306#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2306#true} is VALID [2022-04-14 15:08:39,652 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2306#true} {2306#true} #61#return; {2306#true} is VALID [2022-04-14 15:08:39,652 INFO L290 TraceCheckUtils]: 9: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-14 15:08:39,652 INFO L290 TraceCheckUtils]: 8: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-14 15:08:39,652 INFO L290 TraceCheckUtils]: 7: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-14 15:08:39,652 INFO L272 TraceCheckUtils]: 6: Hoare triple {2306#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2306#true} is VALID [2022-04-14 15:08:39,652 INFO L290 TraceCheckUtils]: 5: Hoare triple {2306#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; {2306#true} is VALID [2022-04-14 15:08:39,652 INFO L272 TraceCheckUtils]: 4: Hoare triple {2306#true} call #t~ret8 := main(); {2306#true} is VALID [2022-04-14 15:08:39,652 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2306#true} {2306#true} #69#return; {2306#true} is VALID [2022-04-14 15:08:39,652 INFO L290 TraceCheckUtils]: 2: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-14 15:08:39,653 INFO L290 TraceCheckUtils]: 1: Hoare triple {2306#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); {2306#true} is VALID [2022-04-14 15:08:39,653 INFO L272 TraceCheckUtils]: 0: Hoare triple {2306#true} call ULTIMATE.init(); {2306#true} is VALID [2022-04-14 15:08:39,653 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 19 proven. 13 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-14 15:08:39,653 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:08:39,653 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2040495524] [2022-04-14 15:08:39,653 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:08:39,653 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1398362733] [2022-04-14 15:08:39,653 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1398362733] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:08:39,653 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:08:39,653 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2022-04-14 15:08:39,653 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1409190086] [2022-04-14 15:08:39,653 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:08:39,654 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 5.833333333333333) internal successors, (35), 6 states have internal predecessors, (35), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) Word has length 57 [2022-04-14 15:08:39,654 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:08:39,654 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 5.833333333333333) internal successors, (35), 6 states have internal predecessors, (35), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-14 15:08:39,689 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:08:39,689 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-14 15:08:39,689 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:08:39,689 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-14 15:08:39,690 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-04-14 15:08:39,690 INFO L87 Difference]: Start difference. First operand 46 states and 51 transitions. Second operand has 6 states, 6 states have (on average 5.833333333333333) internal successors, (35), 6 states have internal predecessors, (35), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-14 15:08:39,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:08:39,954 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-14 15:08:39,954 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-14 15:08:39,954 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 5.833333333333333) internal successors, (35), 6 states have internal predecessors, (35), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) Word has length 57 [2022-04-14 15:08:39,954 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:08:39,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 5.833333333333333) internal successors, (35), 6 states have internal predecessors, (35), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-14 15:08:39,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-14 15:08:39,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 5.833333333333333) internal successors, (35), 6 states have internal predecessors, (35), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-14 15:08:39,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-14 15:08:39,957 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2022-04-14 15:08:40,005 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-14 15:08:40,006 INFO L225 Difference]: With dead ends: 81 [2022-04-14 15:08:40,006 INFO L226 Difference]: Without dead ends: 62 [2022-04-14 15:08:40,007 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 107 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2022-04-14 15:08:40,007 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 5 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 81 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 84 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 81 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 15:08:40,007 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 109 Invalid, 84 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 81 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 15:08:40,008 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-04-14 15:08:40,064 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 60. [2022-04-14 15:08:40,065 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:08:40,065 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 60 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 43 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:08:40,065 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 60 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 43 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:08:40,065 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 60 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 43 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:08:40,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:08:40,068 INFO L93 Difference]: Finished difference Result 62 states and 72 transitions. [2022-04-14 15:08:40,068 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 72 transitions. [2022-04-14 15:08:40,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:08:40,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:08:40,069 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 43 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 62 states. [2022-04-14 15:08:40,070 INFO L87 Difference]: Start difference. First operand has 60 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 43 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 62 states. [2022-04-14 15:08:40,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:08:40,072 INFO L93 Difference]: Finished difference Result 62 states and 72 transitions. [2022-04-14 15:08:40,072 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 72 transitions. [2022-04-14 15:08:40,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:08:40,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:08:40,072 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:08:40,072 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:08:40,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 43 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:08:40,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 70 transitions. [2022-04-14 15:08:40,074 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 70 transitions. Word has length 57 [2022-04-14 15:08:40,074 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:08:40,074 INFO L478 AbstractCegarLoop]: Abstraction has 60 states and 70 transitions. [2022-04-14 15:08:40,074 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 5.833333333333333) internal successors, (35), 6 states have internal predecessors, (35), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-14 15:08:40,074 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 70 transitions. [2022-04-14 15:08:40,075 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-14 15:08:40,075 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:08:40,076 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-14 15:08:40,092 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-14 15:08:40,279 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-14 15:08:40,279 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:08:40,280 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:08:40,280 INFO L85 PathProgramCache]: Analyzing trace with hash 330652206, now seen corresponding path program 3 times [2022-04-14 15:08:40,280 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:08:40,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1707383722] [2022-04-14 15:08:40,280 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:08:40,280 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:08:40,293 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:08:40,293 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2030591210] [2022-04-14 15:08:40,293 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-14 15:08:40,293 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:08:40,293 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:08:40,294 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-14 15:08:40,327 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-14 15:08:40,382 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-04-14 15:08:40,382 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 15:08:40,383 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-14 15:08:40,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:08:40,398 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:08:56,610 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:09:03,032 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:09:09,050 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:09:41,289 INFO L272 TraceCheckUtils]: 0: Hoare triple {2980#true} call ULTIMATE.init(); {2980#true} is VALID [2022-04-14 15:09:41,289 INFO L290 TraceCheckUtils]: 1: Hoare triple {2980#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); {2980#true} is VALID [2022-04-14 15:09:41,289 INFO L290 TraceCheckUtils]: 2: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-14 15:09:41,289 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2980#true} {2980#true} #69#return; {2980#true} is VALID [2022-04-14 15:09:41,289 INFO L272 TraceCheckUtils]: 4: Hoare triple {2980#true} call #t~ret8 := main(); {2980#true} is VALID [2022-04-14 15:09:41,289 INFO L290 TraceCheckUtils]: 5: Hoare triple {2980#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; {2980#true} is VALID [2022-04-14 15:09:41,289 INFO L272 TraceCheckUtils]: 6: Hoare triple {2980#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2980#true} is VALID [2022-04-14 15:09:41,290 INFO L290 TraceCheckUtils]: 7: Hoare triple {2980#true} ~cond := #in~cond; {3006#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 15:09:41,290 INFO L290 TraceCheckUtils]: 8: Hoare triple {3006#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3010#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:09:41,290 INFO L290 TraceCheckUtils]: 9: Hoare triple {3010#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3010#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:09:41,291 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3010#(not (= |assume_abort_if_not_#in~cond| 0))} {2980#true} #61#return; {3017#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-14 15:09:41,291 INFO L290 TraceCheckUtils]: 11: Hoare triple {3017#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3017#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-14 15:09:41,291 INFO L272 TraceCheckUtils]: 12: Hoare triple {3017#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2980#true} is VALID [2022-04-14 15:09:41,292 INFO L290 TraceCheckUtils]: 13: Hoare triple {2980#true} ~cond := #in~cond; {3006#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 15:09:41,292 INFO L290 TraceCheckUtils]: 14: Hoare triple {3006#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3010#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:09:41,292 INFO L290 TraceCheckUtils]: 15: Hoare triple {3010#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3010#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:09:41,293 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3010#(not (= |assume_abort_if_not_#in~cond| 0))} {3017#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,293 INFO L290 TraceCheckUtils]: 17: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,294 INFO L290 TraceCheckUtils]: 18: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,294 INFO L272 TraceCheckUtils]: 19: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2980#true} is VALID [2022-04-14 15:09:41,294 INFO L290 TraceCheckUtils]: 20: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-14 15:09:41,294 INFO L290 TraceCheckUtils]: 21: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-14 15:09:41,294 INFO L290 TraceCheckUtils]: 22: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-14 15:09:41,294 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2980#true} {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #65#return; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,295 INFO L290 TraceCheckUtils]: 24: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,295 INFO L290 TraceCheckUtils]: 25: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,296 INFO L290 TraceCheckUtils]: 26: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,296 INFO L290 TraceCheckUtils]: 27: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,296 INFO L272 TraceCheckUtils]: 28: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2980#true} is VALID [2022-04-14 15:09:41,296 INFO L290 TraceCheckUtils]: 29: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-14 15:09:41,296 INFO L290 TraceCheckUtils]: 30: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-14 15:09:41,296 INFO L290 TraceCheckUtils]: 31: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-14 15:09:41,297 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2980#true} {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #65#return; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,297 INFO L290 TraceCheckUtils]: 33: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,298 INFO L290 TraceCheckUtils]: 34: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,298 INFO L290 TraceCheckUtils]: 35: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,298 INFO L290 TraceCheckUtils]: 36: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,298 INFO L272 TraceCheckUtils]: 37: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2980#true} is VALID [2022-04-14 15:09:41,299 INFO L290 TraceCheckUtils]: 38: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-14 15:09:41,299 INFO L290 TraceCheckUtils]: 39: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-14 15:09:41,299 INFO L290 TraceCheckUtils]: 40: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-14 15:09:41,299 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2980#true} {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #65#return; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,300 INFO L290 TraceCheckUtils]: 42: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {3115#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,300 INFO L290 TraceCheckUtils]: 43: Hoare triple {3115#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3119#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,301 INFO L290 TraceCheckUtils]: 44: Hoare triple {3119#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3123#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,301 INFO L290 TraceCheckUtils]: 45: Hoare triple {3123#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3127#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,301 INFO L272 TraceCheckUtils]: 46: Hoare triple {3127#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2980#true} is VALID [2022-04-14 15:09:41,302 INFO L290 TraceCheckUtils]: 47: Hoare triple {2980#true} ~cond := #in~cond; {3134#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:09:41,302 INFO L290 TraceCheckUtils]: 48: Hoare triple {3134#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:09:41,302 INFO L290 TraceCheckUtils]: 49: Hoare triple {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:09:41,303 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} {3127#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 2))} #65#return; {3145#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,304 INFO L290 TraceCheckUtils]: 51: Hoare triple {3145#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 2))} assume !(~x~0 <= ~X~0); {3149#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,319 INFO L290 TraceCheckUtils]: 52: Hoare triple {3149#(and (<= main_~X~0 2) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 2))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3153#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))) (<= main_~Y~0 2))} is VALID [2022-04-14 15:09:41,329 INFO L272 TraceCheckUtils]: 53: Hoare triple {3153#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))) (<= main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {3157#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:09:41,330 INFO L290 TraceCheckUtils]: 54: Hoare triple {3157#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3161#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:09:41,330 INFO L290 TraceCheckUtils]: 55: Hoare triple {3161#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2981#false} is VALID [2022-04-14 15:09:41,330 INFO L290 TraceCheckUtils]: 56: Hoare triple {2981#false} assume !false; {2981#false} is VALID [2022-04-14 15:09:41,330 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-14 15:09:41,330 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:09:49,965 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:09:56,408 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:10:37,294 INFO L290 TraceCheckUtils]: 56: Hoare triple {2981#false} assume !false; {2981#false} is VALID [2022-04-14 15:10:37,295 INFO L290 TraceCheckUtils]: 55: Hoare triple {3161#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2981#false} is VALID [2022-04-14 15:10:37,295 INFO L290 TraceCheckUtils]: 54: Hoare triple {3157#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3161#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:10:37,296 INFO L272 TraceCheckUtils]: 53: Hoare triple {3177#(= (+ (* 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)); {3157#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:10:37,297 INFO L290 TraceCheckUtils]: 52: Hoare triple {3181#(= (+ (* 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; {3177#(= (+ (* 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-14 15:10:37,301 INFO L290 TraceCheckUtils]: 51: Hoare triple {3185#(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); {3181#(= (+ (* 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-14 15:10:37,302 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} {3189#(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; {3185#(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-14 15:10:37,302 INFO L290 TraceCheckUtils]: 49: Hoare triple {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:10:37,303 INFO L290 TraceCheckUtils]: 48: Hoare triple {3199#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:10:37,303 INFO L290 TraceCheckUtils]: 47: Hoare triple {2980#true} ~cond := #in~cond; {3199#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 15:10:37,303 INFO L272 TraceCheckUtils]: 46: Hoare triple {3189#(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)); {2980#true} is VALID [2022-04-14 15:10:39,307 WARN L290 TraceCheckUtils]: 45: Hoare triple {3206#(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; {3189#(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-14 15:10:39,319 INFO L290 TraceCheckUtils]: 44: Hoare triple {3210#(forall ((v_main_~x~0_25 Int)) (or (and (or (= (+ (* 2 (* v_main_~x~0_25 main_~Y~0)) (* main_~Y~0 2) (* 2 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))) (+ main_~X~0 main_~v~0 (* 2 (* v_main_~x~0_25 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))))) (= main_~X~0 0) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_25 (- 2) main_~Y~0)) 2) 0))) (or (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_25 (- 2) main_~Y~0)) 2) 0)) (forall ((main_~y~0 Int)) (= (+ (* 2 (* v_main_~x~0_25 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_25 main_~y~0) 2) main_~X~0 main_~v~0))))) (<= v_main_~x~0_25 main_~X~0) (not (<= v_main_~x~0_25 (+ main_~x~0 1)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3206#(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-14 15:10:58,524 WARN L290 TraceCheckUtils]: 43: Hoare triple {3214#(forall ((v_main_~x~0_25 Int)) (or (and (or (forall ((aux_div_aux_mod_v_main_~v~0_32_40_77 Int)) (or (not (= (mod (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0) 0)) (and (or (forall ((aux_div_v_main_~v~0_32_40 Int)) (or (<= (+ aux_div_v_main_~v~0_32_40 1) aux_div_aux_mod_v_main_~v~0_32_40_77) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 1) aux_div_v_main_~v~0_32_40) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (* v_main_~x~0_25 main_~Y~0) (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0)) (* v_main_~x~0_25 (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))))) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (div (- main_~X~0) (- 2))) 0)) (or (forall ((aux_div_v_main_~v~0_32_40 Int)) (or (<= (+ aux_div_v_main_~v~0_32_40 1) aux_div_aux_mod_v_main_~v~0_32_40_77) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 1) aux_div_v_main_~v~0_32_40) (<= (* v_main_~x~0_25 (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0)) (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (* v_main_~x~0_25 main_~Y~0) (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))))) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (div (- main_~X~0) (- 2))) 0))))) (= main_~X~0 0)) (or (not (= main_~X~0 0)) (and (or (<= (div (- main_~X~0) (- 2)) (* v_main_~x~0_25 main_~Y~0)) (forall ((main_~y~0 Int)) (<= main_~y~0 (* v_main_~x~0_25 main_~y~0)))) (or (<= (div (- main_~X~0) (- 2)) (* v_main_~x~0_25 main_~Y~0)) (forall ((main_~y~0 Int)) (<= (* v_main_~x~0_25 main_~y~0) main_~y~0)))))) (<= v_main_~x~0_25 main_~X~0) (not (<= v_main_~x~0_25 (+ main_~x~0 1)))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3210#(forall ((v_main_~x~0_25 Int)) (or (and (or (= (+ (* 2 (* v_main_~x~0_25 main_~Y~0)) (* main_~Y~0 2) (* 2 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))) (+ main_~X~0 main_~v~0 (* 2 (* v_main_~x~0_25 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))))) (= main_~X~0 0) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_25 (- 2) main_~Y~0)) 2) 0))) (or (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_25 (- 2) main_~Y~0)) 2) 0)) (forall ((main_~y~0 Int)) (= (+ (* 2 (* v_main_~x~0_25 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_25 main_~y~0) 2) main_~X~0 main_~v~0))))) (<= v_main_~x~0_25 main_~X~0) (not (<= v_main_~x~0_25 (+ main_~x~0 1)))))} is UNKNOWN [2022-04-14 15:10:58,603 INFO L290 TraceCheckUtils]: 42: Hoare triple {2980#true} assume !!(~x~0 <= ~X~0); {3214#(forall ((v_main_~x~0_25 Int)) (or (and (or (forall ((aux_div_aux_mod_v_main_~v~0_32_40_77 Int)) (or (not (= (mod (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0) 0)) (and (or (forall ((aux_div_v_main_~v~0_32_40 Int)) (or (<= (+ aux_div_v_main_~v~0_32_40 1) aux_div_aux_mod_v_main_~v~0_32_40_77) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 1) aux_div_v_main_~v~0_32_40) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (* v_main_~x~0_25 main_~Y~0) (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0)) (* v_main_~x~0_25 (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))))) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (div (- main_~X~0) (- 2))) 0)) (or (forall ((aux_div_v_main_~v~0_32_40 Int)) (or (<= (+ aux_div_v_main_~v~0_32_40 1) aux_div_aux_mod_v_main_~v~0_32_40_77) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 1) aux_div_v_main_~v~0_32_40) (<= (* v_main_~x~0_25 (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0)) (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (* v_main_~x~0_25 main_~Y~0) (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))))) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (div (- main_~X~0) (- 2))) 0))))) (= main_~X~0 0)) (or (not (= main_~X~0 0)) (and (or (<= (div (- main_~X~0) (- 2)) (* v_main_~x~0_25 main_~Y~0)) (forall ((main_~y~0 Int)) (<= main_~y~0 (* v_main_~x~0_25 main_~y~0)))) (or (<= (div (- main_~X~0) (- 2)) (* v_main_~x~0_25 main_~Y~0)) (forall ((main_~y~0 Int)) (<= (* v_main_~x~0_25 main_~y~0) main_~y~0)))))) (<= v_main_~x~0_25 main_~X~0) (not (<= v_main_~x~0_25 (+ main_~x~0 1)))))} is VALID [2022-04-14 15:10:58,603 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2980#true} {2980#true} #65#return; {2980#true} is VALID [2022-04-14 15:10:58,603 INFO L290 TraceCheckUtils]: 40: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-14 15:10:58,603 INFO L290 TraceCheckUtils]: 39: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-14 15:10:58,603 INFO L290 TraceCheckUtils]: 38: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-14 15:10:58,603 INFO L272 TraceCheckUtils]: 37: Hoare triple {2980#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2980#true} is VALID [2022-04-14 15:10:58,603 INFO L290 TraceCheckUtils]: 36: Hoare triple {2980#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2980#true} is VALID [2022-04-14 15:10:58,603 INFO L290 TraceCheckUtils]: 35: Hoare triple {2980#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2980#true} is VALID [2022-04-14 15:10:58,603 INFO L290 TraceCheckUtils]: 34: Hoare triple {2980#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; {2980#true} is VALID [2022-04-14 15:10:58,603 INFO L290 TraceCheckUtils]: 33: Hoare triple {2980#true} assume !!(~x~0 <= ~X~0); {2980#true} is VALID [2022-04-14 15:10:58,603 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2980#true} {2980#true} #65#return; {2980#true} is VALID [2022-04-14 15:10:58,603 INFO L290 TraceCheckUtils]: 31: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-14 15:10:58,604 INFO L290 TraceCheckUtils]: 30: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-14 15:10:58,604 INFO L290 TraceCheckUtils]: 29: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-14 15:10:58,604 INFO L272 TraceCheckUtils]: 28: Hoare triple {2980#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2980#true} is VALID [2022-04-14 15:10:58,604 INFO L290 TraceCheckUtils]: 27: Hoare triple {2980#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2980#true} is VALID [2022-04-14 15:10:58,604 INFO L290 TraceCheckUtils]: 26: Hoare triple {2980#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2980#true} is VALID [2022-04-14 15:10:58,604 INFO L290 TraceCheckUtils]: 25: Hoare triple {2980#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; {2980#true} is VALID [2022-04-14 15:10:58,604 INFO L290 TraceCheckUtils]: 24: Hoare triple {2980#true} assume !!(~x~0 <= ~X~0); {2980#true} is VALID [2022-04-14 15:10:58,604 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2980#true} {2980#true} #65#return; {2980#true} is VALID [2022-04-14 15:10:58,604 INFO L290 TraceCheckUtils]: 22: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-14 15:10:58,604 INFO L290 TraceCheckUtils]: 21: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-14 15:10:58,604 INFO L290 TraceCheckUtils]: 20: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-14 15:10:58,604 INFO L272 TraceCheckUtils]: 19: Hoare triple {2980#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2980#true} is VALID [2022-04-14 15:10:58,604 INFO L290 TraceCheckUtils]: 18: Hoare triple {2980#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2980#true} is VALID [2022-04-14 15:10:58,604 INFO L290 TraceCheckUtils]: 17: Hoare triple {2980#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2980#true} is VALID [2022-04-14 15:10:58,604 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2980#true} {2980#true} #63#return; {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L290 TraceCheckUtils]: 15: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L290 TraceCheckUtils]: 14: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L290 TraceCheckUtils]: 13: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L272 TraceCheckUtils]: 12: Hoare triple {2980#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L290 TraceCheckUtils]: 11: Hoare triple {2980#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2980#true} {2980#true} #61#return; {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L290 TraceCheckUtils]: 9: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L290 TraceCheckUtils]: 8: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L290 TraceCheckUtils]: 7: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L272 TraceCheckUtils]: 6: Hoare triple {2980#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L290 TraceCheckUtils]: 5: Hoare triple {2980#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; {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L272 TraceCheckUtils]: 4: Hoare triple {2980#true} call #t~ret8 := main(); {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2980#true} {2980#true} #69#return; {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {2980#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); {2980#true} is VALID [2022-04-14 15:10:58,605 INFO L272 TraceCheckUtils]: 0: Hoare triple {2980#true} call ULTIMATE.init(); {2980#true} is VALID [2022-04-14 15:10:58,606 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-14 15:10:58,606 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:10:58,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1707383722] [2022-04-14 15:10:58,606 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:10:58,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2030591210] [2022-04-14 15:10:58,606 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2030591210] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:10:58,606 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:10:58,606 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13] total 25 [2022-04-14 15:10:58,606 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [350314894] [2022-04-14 15:10:58,606 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:10:58,607 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 22 states have internal predecessors, (44), 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-14 15:10:58,607 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:10:58,607 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 22 states have internal predecessors, (44), 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-14 15:11:03,541 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 62 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-14 15:11:03,541 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-14 15:11:03,541 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:11:03,541 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-14 15:11:03,542 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=98, Invalid=500, Unknown=2, NotChecked=0, Total=600 [2022-04-14 15:11:03,542 INFO L87 Difference]: Start difference. First operand 60 states and 70 transitions. Second operand has 25 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 22 states have internal predecessors, (44), 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-14 15:11:09,476 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.63s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 15:11:14,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:11:14,841 INFO L93 Difference]: Finished difference Result 62 states and 73 transitions. [2022-04-14 15:11:14,841 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-14 15:11:14,841 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 22 states have internal predecessors, (44), 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-14 15:11:14,841 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:11:14,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 22 states have internal predecessors, (44), 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-14 15:11:14,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 44 transitions. [2022-04-14 15:11:14,843 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 22 states have internal predecessors, (44), 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-14 15:11:14,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 44 transitions. [2022-04-14 15:11:14,843 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 44 transitions. [2022-04-14 15:11:14,915 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-14 15:11:14,916 INFO L225 Difference]: With dead ends: 62 [2022-04-14 15:11:14,916 INFO L226 Difference]: Without dead ends: 0 [2022-04-14 15:11:14,916 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 262 ImplicationChecksByTransitivity, 18.6s TimeCoverageRelationStatistics Valid=219, Invalid=1039, Unknown=2, NotChecked=0, Total=1260 [2022-04-14 15:11:14,917 INFO L913 BasicCegarLoop]: 16 mSDtfsCounter, 26 mSDsluCounter, 124 mSDsCounter, 0 mSdLazyCounter, 267 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 361 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 267 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 73 IncrementalHoareTripleChecker+Unchecked, 3.5s IncrementalHoareTripleChecker+Time [2022-04-14 15:11:14,917 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 140 Invalid, 361 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 267 Invalid, 0 Unknown, 73 Unchecked, 3.5s Time] [2022-04-14 15:11:14,917 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-14 15:11:14,917 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-14 15:11:14,917 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:11:14,917 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-14 15:11:14,918 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-14 15:11:14,918 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-14 15:11:14,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:11:14,918 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-14 15:11:14,918 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-14 15:11:14,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:11:14,918 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:11:14,918 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-14 15:11:14,918 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-14 15:11:14,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:11:14,918 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-14 15:11:14,918 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-14 15:11:14,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:11:14,918 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:11:14,918 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:11:14,918 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:11:14,919 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-14 15:11:14,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-14 15:11:14,919 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 57 [2022-04-14 15:11:14,919 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:11:14,919 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-14 15:11:14,919 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 22 states have internal predecessors, (44), 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-14 15:11:14,919 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-14 15:11:14,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:11:14,921 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-14 15:11:14,928 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-14 15:11:15,125 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-14 15:11:15,127 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-14 15:11:17,164 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 7) no Hoare annotation was computed. [2022-04-14 15:11:17,164 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 7) no Hoare annotation was computed. [2022-04-14 15:11:17,164 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 7) no Hoare annotation was computed. [2022-04-14 15:11:17,164 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 10 12) the Hoare annotation is: true [2022-04-14 15:11:17,164 INFO L882 garLoopResultBuilder]: For program point L11(line 11) no Hoare annotation was computed. [2022-04-14 15:11:17,164 INFO L882 garLoopResultBuilder]: For program point L11-2(lines 10 12) no Hoare annotation was computed. [2022-04-14 15:11:17,164 INFO L882 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 10 12) no Hoare annotation was computed. [2022-04-14 15:11:17,164 INFO L878 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~X~0)) [2022-04-14 15:11:17,165 INFO L882 garLoopResultBuilder]: For program point L27-1(line 27) no Hoare annotation was computed. [2022-04-14 15:11:17,165 INFO L885 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-14 15:11:17,165 INFO L882 garLoopResultBuilder]: For program point mainEXIT(lines 21 53) no Hoare annotation was computed. [2022-04-14 15:11:17,165 INFO L882 garLoopResultBuilder]: For program point L25-1(line 25) no Hoare annotation was computed. [2022-04-14 15:11:17,165 INFO L878 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (* main_~Y~0 2))) (or (and (= main_~x~0 0) (= main_~xy~0 0) (= (+ main_~X~0 main_~v~0) .cse0) (= main_~y~0 0) (= main_~yx~0 0)) (let ((.cse2 (* main_~y~0 2)) (.cse1 (* 2 (* main_~Y~0 main_~x~0)))) (and (<= main_~X~0 2) (= (+ .cse0 .cse1) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (= (+ .cse2 .cse0 (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ .cse2 .cse0 .cse1)) (<= main_~Y~0 2))))) [2022-04-14 15:11:17,165 INFO L882 garLoopResultBuilder]: For program point L50-1(line 50) no Hoare annotation was computed. [2022-04-14 15:11:17,165 INFO L882 garLoopResultBuilder]: For program point mainFINAL(lines 21 53) no Hoare annotation was computed. [2022-04-14 15:11:17,165 INFO L882 garLoopResultBuilder]: For program point L40(lines 40 45) no Hoare annotation was computed. [2022-04-14 15:11:17,165 INFO L882 garLoopResultBuilder]: For program point L40-2(lines 40 45) no Hoare annotation was computed. [2022-04-14 15:11:17,165 INFO L878 garLoopResultBuilder]: At program point L32-2(lines 32 47) the Hoare annotation is: (and (<= main_~X~0 2) (or (<= main_~x~0 main_~X~0) (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_~Y~0 2)) [2022-04-14 15:11:17,165 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 21 53) the Hoare annotation is: true [2022-04-14 15:11:17,165 INFO L882 garLoopResultBuilder]: For program point L32-3(lines 32 47) no Hoare annotation was computed. [2022-04-14 15:11:17,165 INFO L878 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse1 (* main_~Y~0 2)) (.cse0 (* 2 main_~xy~0)) (.cse3 (* 2 (* main_~Y~0 main_~x~0))) (.cse2 (* 2 main_~yx~0))) (and (<= main_~X~0 2) (= (+ .cse0 main_~X~0 main_~v~0) (+ .cse1 .cse2)) (= (+ .cse1 .cse3) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (or (= (+ .cse0 (* main_~y~0 2) .cse3) (+ (* 2 (* main_~y~0 main_~x~0)) .cse2)) (<= main_~x~0 main_~X~0)) (<= main_~Y~0 2))) [2022-04-14 15:11:17,165 INFO L882 garLoopResultBuilder]: For program point L35-1(lines 32 47) no Hoare annotation was computed. [2022-04-14 15:11:17,165 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-14 15:11:17,166 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-14 15:11:17,166 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-14 15:11:17,166 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-14 15:11:17,166 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-14 15:11:17,166 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-14 15:11:17,166 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-14 15:11:17,166 INFO L882 garLoopResultBuilder]: For program point L15(lines 15 16) no Hoare annotation was computed. [2022-04-14 15:11:17,166 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 13 19) the Hoare annotation is: true [2022-04-14 15:11:17,166 INFO L882 garLoopResultBuilder]: For program point L14(lines 14 17) no Hoare annotation was computed. [2022-04-14 15:11:17,166 INFO L882 garLoopResultBuilder]: For program point L14-2(lines 13 19) no Hoare annotation was computed. [2022-04-14 15:11:17,166 INFO L882 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 13 19) no Hoare annotation was computed. [2022-04-14 15:11:17,166 INFO L882 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 16) no Hoare annotation was computed. [2022-04-14 15:11:17,168 INFO L719 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1, 1, 1] [2022-04-14 15:11:17,169 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-14 15:11:17,171 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-14 15:11:17,171 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: L11-2 has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: L14-2 has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-14 15:11:17,172 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-14 15:11:17,173 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2022-04-14 15:11:17,173 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-14 15:11:17,173 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-14 15:11:17,173 WARN L170 areAnnotationChecker]: L50-1 has no Hoare annotation [2022-04-14 15:11:17,173 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-14 15:11:17,173 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-14 15:11:17,175 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-14 15:11:17,175 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-14 15:11:17,175 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-14 15:11:17,176 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-14 15:11:17,176 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-14 15:11:17,176 WARN L170 areAnnotationChecker]: L50-1 has no Hoare annotation [2022-04-14 15:11:17,176 WARN L170 areAnnotationChecker]: L40-2 has no Hoare annotation [2022-04-14 15:11:17,176 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-14 15:11:17,176 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-14 15:11:17,182 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.04 03:11:17 BoogieIcfgContainer [2022-04-14 15:11:17,182 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-14 15:11:17,183 INFO L158 Benchmark]: Toolchain (without parser) took 288723.76ms. Allocated memory was 186.6MB in the beginning and 239.1MB in the end (delta: 52.4MB). Free memory was 157.8MB in the beginning and 75.5MB in the end (delta: 82.3MB). Peak memory consumption was 134.5MB. Max. memory is 8.0GB. [2022-04-14 15:11:17,183 INFO L158 Benchmark]: CDTParser took 0.10ms. Allocated memory is still 186.6MB. Free memory is still 143.6MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-14 15:11:17,183 INFO L158 Benchmark]: CACSL2BoogieTranslator took 205.98ms. Allocated memory was 186.6MB in the beginning and 239.1MB in the end (delta: 52.4MB). Free memory was 157.6MB in the beginning and 209.0MB in the end (delta: -51.4MB). Peak memory consumption was 7.8MB. Max. memory is 8.0GB. [2022-04-14 15:11:17,183 INFO L158 Benchmark]: Boogie Preprocessor took 18.62ms. Allocated memory is still 239.1MB. Free memory was 209.0MB in the beginning and 208.0MB in the end (delta: 1.0MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-14 15:11:17,183 INFO L158 Benchmark]: RCFGBuilder took 252.97ms. Allocated memory is still 239.1MB. Free memory was 207.4MB in the beginning and 195.4MB in the end (delta: 12.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-14 15:11:17,183 INFO L158 Benchmark]: TraceAbstraction took 288242.67ms. Allocated memory is still 239.1MB. Free memory was 194.8MB in the beginning and 75.5MB in the end (delta: 119.3MB). Peak memory consumption was 119.8MB. Max. memory is 8.0GB. [2022-04-14 15:11:17,184 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.10ms. Allocated memory is still 186.6MB. Free memory is still 143.6MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 205.98ms. Allocated memory was 186.6MB in the beginning and 239.1MB in the end (delta: 52.4MB). Free memory was 157.6MB in the beginning and 209.0MB in the end (delta: -51.4MB). Peak memory consumption was 7.8MB. Max. memory is 8.0GB. * Boogie Preprocessor took 18.62ms. Allocated memory is still 239.1MB. Free memory was 209.0MB in the beginning and 208.0MB in the end (delta: 1.0MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 252.97ms. Allocated memory is still 239.1MB. Free memory was 207.4MB in the beginning and 195.4MB in the end (delta: 12.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 288242.67ms. Allocated memory is still 239.1MB. Free memory was 194.8MB in the beginning and 75.5MB in the end (delta: 119.3MB). Peak memory consumption was 119.8MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 16]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 35 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 288.2s, OverallIterations: 8, TraceHistogramMax: 5, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 14.7s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 2.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 154 SdHoareTripleChecker+Valid, 4.3s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 144 mSDsluCounter, 918 SdHoareTripleChecker+Invalid, 4.3s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 136 IncrementalHoareTripleChecker+Unchecked, 720 mSDsCounter, 96 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1050 IncrementalHoareTripleChecker+Invalid, 1282 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 96 mSolverCounterUnsat, 198 mSDtfsCounter, 1050 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 575 GetRequests, 443 SyntacticMatches, 7 SemanticMatches, 125 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 611 ImplicationChecksByTransitivity, 19.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=60occurred in iteration=7, InterpolantAutomatonStates: 95, 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, 24 StatesRemovedByMinimization, 5 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 11 LocationsWithAnnotation, 33 PreInvPairs, 56 NumberOfFragments, 232 HoareAnnotationTreeSize, 33 FomulaSimplifications, 132 FormulaSimplificationTreeSizeReduction, 0.1s HoareSimplificationTime, 11 FomulaSimplificationsInter, 3198 FormulaSimplificationTreeSizeReductionInter, 1.9s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 263.8s InterpolantComputationTime, 311 NumberOfCodeBlocks, 293 NumberOfCodeBlocksAsserted, 10 NumberOfCheckSat, 531 ConstructedInterpolants, 6 QuantifiedInterpolants, 3048 SizeOfPredicates, 38 NumberOfNonLiveVariables, 823 ConjunctsInSsa, 128 ConjunctsInUnsatCore, 13 InterpolantComputations, 2 PerfectInterpolantSequences, 309/368 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 Derived loop invariant: ((((X <= 2 && (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) && Y <= 2 RESULT: Ultimate proved your program to be correct! [2022-04-14 15:11:17,405 WARN L435 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process [2022-04-14 15:11:17,475 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 137 Received shutdown request...