/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_valuebound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-14 15:04:36,825 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-14 15:04:36,828 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-14 15:04:36,879 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-14 15:04:36,880 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-14 15:04:36,881 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-14 15:04:36,882 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-14 15:04:36,883 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-14 15:04:36,885 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-14 15:04:36,889 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-14 15:04:36,889 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-14 15:04:36,891 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-14 15:04:36,891 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-14 15:04:36,893 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-14 15:04:36,894 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-14 15:04:36,897 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-14 15:04:36,898 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-14 15:04:36,898 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-14 15:04:36,900 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-14 15:04:36,906 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-14 15:04:36,908 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-14 15:04:36,909 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-14 15:04:36,909 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-14 15:04:36,910 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-14 15:04:36,911 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-14 15:04:36,917 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-14 15:04:36,917 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-14 15:04:36,918 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-14 15:04:36,918 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-14 15:04:36,919 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-14 15:04:36,920 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-14 15:04:36,920 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-14 15:04:36,922 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-14 15:04:36,922 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-14 15:04:36,922 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-14 15:04:36,923 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-14 15:04:36,923 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-14 15:04:36,924 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-14 15:04:36,924 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-14 15:04:36,924 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-14 15:04:36,925 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-14 15:04:36,926 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-14 15:04:36,927 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:04:36,956 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-14 15:04:36,956 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-14 15:04:36,956 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-14 15:04:36,956 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-14 15:04:36,957 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-14 15:04:36,957 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-14 15:04:36,958 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-14 15:04:36,958 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-14 15:04:36,958 INFO L138 SettingsManager]: * Use SBE=true [2022-04-14 15:04:36,959 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-14 15:04:36,959 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-14 15:04:36,959 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-14 15:04:36,959 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-14 15:04:36,959 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-14 15:04:36,959 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-14 15:04:36,960 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-14 15:04:36,960 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-14 15:04:36,961 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-14 15:04:36,961 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-14 15:04:36,961 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-14 15:04:36,961 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-14 15:04:36,961 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-14 15:04:36,962 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-14 15:04:36,962 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-14 15:04:36,962 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 15:04:36,962 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-14 15:04:36,962 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-14 15:04:36,962 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-14 15:04:36,963 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-14 15:04:36,963 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-14 15:04:36,963 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-14 15:04:36,963 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-14 15:04:36,963 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-14 15:04:36,964 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:04:37,211 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-14 15:04:37,236 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-14 15:04:37,238 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-14 15:04:37,239 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-14 15:04:37,239 INFO L275 PluginConnector]: CDTParser initialized [2022-04-14 15:04:37,240 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound10.c [2022-04-14 15:04:37,294 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/faba247c1/9cce1c44d4904f33a62524ff0264273a/FLAGc0b015ec9 [2022-04-14 15:04:37,660 INFO L306 CDTParser]: Found 1 translation units. [2022-04-14 15:04:37,660 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound10.c [2022-04-14 15:04:37,665 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/faba247c1/9cce1c44d4904f33a62524ff0264273a/FLAGc0b015ec9 [2022-04-14 15:04:38,097 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/faba247c1/9cce1c44d4904f33a62524ff0264273a [2022-04-14 15:04:38,099 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-14 15:04:38,100 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-14 15:04:38,110 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-14 15:04:38,110 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-14 15:04:38,112 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-14 15:04:38,114 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 03:04:38" (1/1) ... [2022-04-14 15:04:38,114 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@594f2135 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:04:38, skipping insertion in model container [2022-04-14 15:04:38,115 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 03:04:38" (1/1) ... [2022-04-14 15:04:38,121 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-14 15:04:38,135 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-14 15:04:38,276 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_valuebound10.c[597,610] [2022-04-14 15:04:38,293 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 15:04:38,301 INFO L203 MainTranslator]: Completed pre-run [2022-04-14 15:04:38,312 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_valuebound10.c[597,610] [2022-04-14 15:04:38,320 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 15:04:38,331 INFO L208 MainTranslator]: Completed translation [2022-04-14 15:04:38,332 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:04:38 WrapperNode [2022-04-14 15:04:38,332 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-14 15:04:38,333 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-14 15:04:38,333 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-14 15:04:38,333 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-14 15:04:38,342 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:04:38" (1/1) ... [2022-04-14 15:04:38,342 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:04:38" (1/1) ... [2022-04-14 15:04:38,350 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:04:38" (1/1) ... [2022-04-14 15:04:38,350 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:04:38" (1/1) ... [2022-04-14 15:04:38,369 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:04:38" (1/1) ... [2022-04-14 15:04:38,374 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:04:38" (1/1) ... [2022-04-14 15:04:38,379 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:04:38" (1/1) ... [2022-04-14 15:04:38,381 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-14 15:04:38,382 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-14 15:04:38,382 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-14 15:04:38,382 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-14 15:04:38,384 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:04:38" (1/1) ... [2022-04-14 15:04:38,390 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 15:04:38,399 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:04:38,408 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:04:38,409 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:04:38,434 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-14 15:04:38,434 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-14 15:04:38,434 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-14 15:04:38,434 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-14 15:04:38,434 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-14 15:04:38,434 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-14 15:04:38,434 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-14 15:04:38,435 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-14 15:04:38,435 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-14 15:04:38,435 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-14 15:04:38,435 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-14 15:04:38,435 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-14 15:04:38,435 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-14 15:04:38,435 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-14 15:04:38,435 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-14 15:04:38,435 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-14 15:04:38,436 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-14 15:04:38,436 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-14 15:04:38,436 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-14 15:04:38,436 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-14 15:04:38,487 INFO L234 CfgBuilder]: Building ICFG [2022-04-14 15:04:38,488 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-14 15:04:38,686 INFO L275 CfgBuilder]: Performing block encoding [2022-04-14 15:04:38,692 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-14 15:04:38,692 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-14 15:04:38,694 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 03:04:38 BoogieIcfgContainer [2022-04-14 15:04:38,694 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-14 15:04:38,711 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-14 15:04:38,712 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-14 15:04:38,715 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-14 15:04:38,715 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.04 03:04:38" (1/3) ... [2022-04-14 15:04:38,715 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@696cd3c5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 03:04:38, skipping insertion in model container [2022-04-14 15:04:38,716 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:04:38" (2/3) ... [2022-04-14 15:04:38,716 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@696cd3c5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 03:04:38, skipping insertion in model container [2022-04-14 15:04:38,716 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 03:04:38" (3/3) ... [2022-04-14 15:04:38,717 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound10.c [2022-04-14 15:04:38,721 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-14 15:04:38,721 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-14 15:04:38,795 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-14 15:04:38,803 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:04:38,803 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-14 15:04:38,828 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:04:38,832 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-14 15:04:38,832 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:04:38,833 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:04:38,833 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:04:38,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:04:38,841 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-14 15:04:38,851 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:04:38,851 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [361874643] [2022-04-14 15:04:38,851 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:38,853 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:04:38,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:39,033 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-14 15:04:39,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:39,055 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:04:39,056 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-14 15:04:39,056 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-14 15:04:39,057 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-14 15:04:39,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:39,074 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 15:04:39,075 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 15:04:39,075 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 15:04:39,075 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-14 15:04:39,076 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-14 15:04:39,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:39,084 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 15:04:39,087 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 15:04:39,087 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 15:04:39,088 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-14 15:04:39,089 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:04:39,089 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:04:39,090 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-14 15:04:39,090 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-14 15:04:39,090 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-14 15:04:39,090 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:04:39,090 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {35#true} is VALID [2022-04-14 15:04:39,091 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 15:04:39,092 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 15:04:39,092 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 15:04:39,092 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-14 15:04:39,092 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:04:39,092 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {35#true} is VALID [2022-04-14 15:04:39,093 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 15:04:39,094 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 15:04:39,094 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 15:04:39,095 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-14 15:04:39,095 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:04:39,095 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:04:39,095 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:04:39,095 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-14 15:04:39,096 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-14 15:04:39,096 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-14 15:04:39,096 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:04:39,097 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:04:39,097 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [361874643] [2022-04-14 15:04:39,098 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [361874643] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 15:04:39,098 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 15:04:39,098 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-14 15:04:39,099 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [810986260] [2022-04-14 15:04:39,100 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 15:04:39,104 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:04:39,105 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:04:39,110 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:04:39,145 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:04:39,146 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-14 15:04:39,146 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:04:39,164 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-14 15:04:39,164 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-14 15:04:39,168 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:04:39,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:39,309 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-14 15:04:39,309 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-14 15:04:39,310 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:04:39,310 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:04:39,313 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:04:39,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-14 15:04:39,330 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:04:39,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-14 15:04:39,344 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-14 15:04:39,445 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:04:39,470 INFO L225 Difference]: With dead ends: 57 [2022-04-14 15:04:39,471 INFO L226 Difference]: Without dead ends: 27 [2022-04-14 15:04:39,475 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:04:39,480 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:04:39,481 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:04:39,495 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-14 15:04:39,507 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-14 15:04:39,507 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:04:39,508 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:04:39,509 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:04:39,509 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:04:39,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:39,513 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-14 15:04:39,513 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 15:04:39,514 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:39,514 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:39,515 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:04:39,515 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:04:39,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:39,518 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-14 15:04:39,518 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 15:04:39,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:39,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:39,519 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:04:39,519 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:04:39,520 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:04:39,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-14 15:04:39,523 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-14 15:04:39,523 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:04:39,523 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-14 15:04:39,523 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:04:39,524 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 15:04:39,524 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-14 15:04:39,524 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:04:39,524 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:04:39,525 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-14 15:04:39,525 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:04:39,525 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:04:39,526 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-14 15:04:39,526 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:04:39,526 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1935634445] [2022-04-14 15:04:39,526 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:39,526 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:04:39,546 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:04:39,546 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [703611617] [2022-04-14 15:04:39,546 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:39,546 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:04:39,547 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:04:39,548 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:04:39,563 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:04:39,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:39,637 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 15:04:39,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:39,664 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:04:39,888 INFO L272 TraceCheckUtils]: 0: Hoare triple {217#true} call ULTIMATE.init(); {217#true} is VALID [2022-04-14 15:04:39,889 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:04:39,889 INFO L290 TraceCheckUtils]: 2: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-14 15:04:39,889 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {217#true} {217#true} #69#return; {217#true} is VALID [2022-04-14 15:04:39,889 INFO L272 TraceCheckUtils]: 4: Hoare triple {217#true} call #t~ret8 := main(); {217#true} is VALID [2022-04-14 15:04:39,889 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:04:39,890 INFO L272 TraceCheckUtils]: 6: Hoare triple {217#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {217#true} is VALID [2022-04-14 15:04:39,890 INFO L290 TraceCheckUtils]: 7: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-04-14 15:04:39,890 INFO L290 TraceCheckUtils]: 8: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-04-14 15:04:39,890 INFO L290 TraceCheckUtils]: 9: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-14 15:04:39,890 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {217#true} {217#true} #61#return; {217#true} is VALID [2022-04-14 15:04:39,890 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:04:39,891 INFO L272 TraceCheckUtils]: 12: Hoare triple {217#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {217#true} is VALID [2022-04-14 15:04:39,891 INFO L290 TraceCheckUtils]: 13: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-04-14 15:04:39,891 INFO L290 TraceCheckUtils]: 14: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-04-14 15:04:39,891 INFO L290 TraceCheckUtils]: 15: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-14 15:04:39,891 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {217#true} {217#true} #63#return; {217#true} is VALID [2022-04-14 15:04:39,892 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:04:39,893 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:04:39,894 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:04:39,895 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:04:39,895 INFO L290 TraceCheckUtils]: 21: Hoare triple {285#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {218#false} is VALID [2022-04-14 15:04:39,896 INFO L290 TraceCheckUtils]: 22: Hoare triple {218#false} assume !false; {218#false} is VALID [2022-04-14 15:04:39,896 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:04:39,896 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 15:04:39,896 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:04:39,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1935634445] [2022-04-14 15:04:39,897 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:04:39,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [703611617] [2022-04-14 15:04:39,897 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [703611617] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 15:04:39,897 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 15:04:39,897 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-14 15:04:39,898 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [475820003] [2022-04-14 15:04:39,898 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 15:04:39,899 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:04:39,899 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:04:39,900 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:04:39,918 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:04:39,918 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-14 15:04:39,918 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:04:39,919 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-14 15:04:39,919 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-14 15:04:39,919 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:04:40,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:40,125 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-14 15:04:40,125 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-14 15:04:40,126 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:04:40,126 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:04:40,126 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:04:40,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-14 15:04:40,128 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:04:40,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-14 15:04:40,130 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-14 15:04:40,168 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:04:40,169 INFO L225 Difference]: With dead ends: 39 [2022-04-14 15:04:40,169 INFO L226 Difference]: Without dead ends: 35 [2022-04-14 15:04:40,170 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:04:40,171 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:04:40,171 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:04:40,172 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-14 15:04:40,178 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-14 15:04:40,178 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:04:40,178 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:04:40,179 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:04:40,179 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:04:40,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:40,181 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-14 15:04:40,181 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-14 15:04:40,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:40,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:40,182 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:04:40,183 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:04:40,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:40,185 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-14 15:04:40,185 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-14 15:04:40,186 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:40,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:40,186 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:04:40,186 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:04:40,186 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:04:40,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-14 15:04:40,188 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-14 15:04:40,188 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:04:40,188 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-14 15:04:40,189 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:04:40,189 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-14 15:04:40,189 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-14 15:04:40,190 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:04:40,190 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:04:40,218 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:04:40,403 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:04:40,404 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:04:40,404 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:04:40,404 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-14 15:04:40,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:04:40,404 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1727816796] [2022-04-14 15:04:40,404 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:40,405 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:04:40,431 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:04:40,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [577448622] [2022-04-14 15:04:40,432 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:40,432 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:04:40,432 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:04:40,437 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:04:40,463 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:04:40,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:40,512 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-14 15:04:40,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:40,526 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:04:40,794 INFO L272 TraceCheckUtils]: 0: Hoare triple {467#true} call ULTIMATE.init(); {467#true} is VALID [2022-04-14 15:04:40,794 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:04:40,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-14 15:04:40,794 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {467#true} {467#true} #69#return; {467#true} is VALID [2022-04-14 15:04:40,795 INFO L272 TraceCheckUtils]: 4: Hoare triple {467#true} call #t~ret8 := main(); {467#true} is VALID [2022-04-14 15:04:40,795 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:04:40,795 INFO L272 TraceCheckUtils]: 6: Hoare triple {467#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {467#true} is VALID [2022-04-14 15:04:40,795 INFO L290 TraceCheckUtils]: 7: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-14 15:04:40,795 INFO L290 TraceCheckUtils]: 8: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-14 15:04:40,795 INFO L290 TraceCheckUtils]: 9: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-14 15:04:40,795 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {467#true} {467#true} #61#return; {467#true} is VALID [2022-04-14 15:04:40,796 INFO L290 TraceCheckUtils]: 11: Hoare triple {467#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {467#true} is VALID [2022-04-14 15:04:40,796 INFO L272 TraceCheckUtils]: 12: Hoare triple {467#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {467#true} is VALID [2022-04-14 15:04:40,796 INFO L290 TraceCheckUtils]: 13: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-14 15:04:40,796 INFO L290 TraceCheckUtils]: 14: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-14 15:04:40,796 INFO L290 TraceCheckUtils]: 15: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-14 15:04:40,796 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {467#true} {467#true} #63#return; {467#true} is VALID [2022-04-14 15:04:40,797 INFO L290 TraceCheckUtils]: 17: Hoare triple {467#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {523#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-14 15:04:40,798 INFO L290 TraceCheckUtils]: 18: Hoare triple {523#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {523#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-14 15:04:40,799 INFO L272 TraceCheckUtils]: 19: Hoare triple {523#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {467#true} is VALID [2022-04-14 15:04:40,799 INFO L290 TraceCheckUtils]: 20: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-14 15:04:40,799 INFO L290 TraceCheckUtils]: 21: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-14 15:04:40,799 INFO L290 TraceCheckUtils]: 22: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-14 15:04:40,800 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {467#true} {523#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {523#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-14 15:04:40,801 INFO L290 TraceCheckUtils]: 24: Hoare triple {523#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {523#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-14 15:04:40,802 INFO L290 TraceCheckUtils]: 25: Hoare triple {523#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {548#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-14 15:04:40,802 INFO L290 TraceCheckUtils]: 26: Hoare triple {548#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {552#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-14 15:04:40,805 INFO L290 TraceCheckUtils]: 27: Hoare triple {552#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {556#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-14 15:04:40,806 INFO L272 TraceCheckUtils]: 28: Hoare triple {556#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {560#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:04:40,807 INFO L290 TraceCheckUtils]: 29: Hoare triple {560#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {564#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:04:40,807 INFO L290 TraceCheckUtils]: 30: Hoare triple {564#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {468#false} is VALID [2022-04-14 15:04:40,807 INFO L290 TraceCheckUtils]: 31: Hoare triple {468#false} assume !false; {468#false} is VALID [2022-04-14 15:04:40,808 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:04:40,808 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:04:41,034 INFO L290 TraceCheckUtils]: 31: Hoare triple {468#false} assume !false; {468#false} is VALID [2022-04-14 15:04:41,035 INFO L290 TraceCheckUtils]: 30: Hoare triple {564#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {468#false} is VALID [2022-04-14 15:04:41,035 INFO L290 TraceCheckUtils]: 29: Hoare triple {560#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {564#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:04:41,036 INFO L272 TraceCheckUtils]: 28: Hoare triple {580#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {560#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:04:41,038 INFO L290 TraceCheckUtils]: 27: Hoare triple {584#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {580#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-14 15:04:41,041 INFO L290 TraceCheckUtils]: 26: Hoare triple {588#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {584#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-14 15:04:41,041 INFO L290 TraceCheckUtils]: 25: Hoare triple {584#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {588#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-14 15:04:41,042 INFO L290 TraceCheckUtils]: 24: Hoare triple {584#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {584#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-14 15:04:41,043 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {467#true} {584#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {584#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-14 15:04:41,043 INFO L290 TraceCheckUtils]: 22: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-14 15:04:41,043 INFO L290 TraceCheckUtils]: 21: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-14 15:04:41,043 INFO L290 TraceCheckUtils]: 20: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-14 15:04:41,043 INFO L272 TraceCheckUtils]: 19: Hoare triple {584#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {467#true} is VALID [2022-04-14 15:04:41,046 INFO L290 TraceCheckUtils]: 18: Hoare triple {584#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {584#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-14 15:04:41,046 INFO L290 TraceCheckUtils]: 17: Hoare triple {467#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {584#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-14 15:04:41,047 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {467#true} {467#true} #63#return; {467#true} is VALID [2022-04-14 15:04:41,047 INFO L290 TraceCheckUtils]: 15: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-14 15:04:41,047 INFO L290 TraceCheckUtils]: 14: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-14 15:04:41,047 INFO L290 TraceCheckUtils]: 13: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-14 15:04:41,047 INFO L272 TraceCheckUtils]: 12: Hoare triple {467#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {467#true} is VALID [2022-04-14 15:04:41,047 INFO L290 TraceCheckUtils]: 11: Hoare triple {467#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {467#true} is VALID [2022-04-14 15:04:41,047 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {467#true} {467#true} #61#return; {467#true} is VALID [2022-04-14 15:04:41,048 INFO L290 TraceCheckUtils]: 9: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-14 15:04:41,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-14 15:04:41,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-14 15:04:41,048 INFO L272 TraceCheckUtils]: 6: Hoare triple {467#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {467#true} is VALID [2022-04-14 15:04:41,048 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:04:41,048 INFO L272 TraceCheckUtils]: 4: Hoare triple {467#true} call #t~ret8 := main(); {467#true} is VALID [2022-04-14 15:04:41,048 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {467#true} {467#true} #69#return; {467#true} is VALID [2022-04-14 15:04:41,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-14 15:04:41,049 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:04:41,049 INFO L272 TraceCheckUtils]: 0: Hoare triple {467#true} call ULTIMATE.init(); {467#true} is VALID [2022-04-14 15:04:41,049 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-14 15:04:41,049 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:04:41,049 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1727816796] [2022-04-14 15:04:41,050 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:04:41,050 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [577448622] [2022-04-14 15:04:41,050 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [577448622] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:04:41,050 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:04:41,050 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-14 15:04:41,050 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1785048161] [2022-04-14 15:04:41,050 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:04:41,051 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 32 [2022-04-14 15:04:41,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:04:41,052 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-14 15:04:41,133 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:04:41,133 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-14 15:04:41,133 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:04:41,134 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-14 15:04:41,134 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-14 15:04:41,134 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-14 15:04:41,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:41,732 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2022-04-14 15:04:41,732 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-14 15:04:41,732 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 32 [2022-04-14 15:04:41,732 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:04:41,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-14 15:04:41,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 51 transitions. [2022-04-14 15:04:41,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-14 15:04:41,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 51 transitions. [2022-04-14 15:04:41,737 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 51 transitions. [2022-04-14 15:04:41,788 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:04:41,790 INFO L225 Difference]: With dead ends: 48 [2022-04-14 15:04:41,790 INFO L226 Difference]: Without dead ends: 42 [2022-04-14 15:04:41,790 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 52 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-14 15:04:41,791 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 14 mSDsluCounter, 114 mSDsCounter, 0 mSdLazyCounter, 166 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 135 SdHoareTripleChecker+Invalid, 177 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 166 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-14 15:04:41,792 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 135 Invalid, 177 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 166 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-14 15:04:41,792 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-04-14 15:04:41,809 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 41. [2022-04-14 15:04:41,809 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:04:41,810 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:04:41,810 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:04:41,810 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:04:41,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:41,812 INFO L93 Difference]: Finished difference Result 42 states and 47 transitions. [2022-04-14 15:04:41,813 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-14 15:04:41,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:41,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:41,813 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 42 states. [2022-04-14 15:04:41,814 INFO L87 Difference]: Start difference. First operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 42 states. [2022-04-14 15:04:41,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:41,816 INFO L93 Difference]: Finished difference Result 42 states and 47 transitions. [2022-04-14 15:04:41,816 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-14 15:04:41,816 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:41,816 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:41,816 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:04:41,816 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:04:41,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:04:41,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-14 15:04:41,818 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 32 [2022-04-14 15:04:41,818 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:04:41,819 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-14 15:04:41,819 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-14 15:04:41,824 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-14 15:04:41,830 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-14 15:04:41,830 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:04:41,830 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:04:41,848 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:04:42,035 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:04:42,036 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:04:42,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:04:42,036 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-14 15:04:42,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:04:42,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1757075853] [2022-04-14 15:04:42,037 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:42,037 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:04:42,054 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:04:42,055 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [585634698] [2022-04-14 15:04:42,055 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:42,055 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:04:42,055 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:04:42,056 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:04:42,072 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:04:42,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:42,118 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-14 15:04:42,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:42,137 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:04:42,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {885#true} call ULTIMATE.init(); {885#true} is VALID [2022-04-14 15:04:42,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {885#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {885#true} is VALID [2022-04-14 15:04:42,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-14 15:04:42,626 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {885#true} {885#true} #69#return; {885#true} is VALID [2022-04-14 15:04:42,626 INFO L272 TraceCheckUtils]: 4: Hoare triple {885#true} call #t~ret8 := main(); {885#true} is VALID [2022-04-14 15:04:42,626 INFO L290 TraceCheckUtils]: 5: Hoare triple {885#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {885#true} is VALID [2022-04-14 15:04:42,626 INFO L272 TraceCheckUtils]: 6: Hoare triple {885#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {885#true} is VALID [2022-04-14 15:04:42,626 INFO L290 TraceCheckUtils]: 7: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-14 15:04:42,626 INFO L290 TraceCheckUtils]: 8: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-14 15:04:42,626 INFO L290 TraceCheckUtils]: 9: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-14 15:04:42,627 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {885#true} {885#true} #61#return; {885#true} is VALID [2022-04-14 15:04:42,627 INFO L290 TraceCheckUtils]: 11: Hoare triple {885#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {885#true} is VALID [2022-04-14 15:04:42,627 INFO L272 TraceCheckUtils]: 12: Hoare triple {885#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {885#true} is VALID [2022-04-14 15:04:42,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-14 15:04:42,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-14 15:04:42,627 INFO L290 TraceCheckUtils]: 15: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-14 15:04:42,627 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {885#true} {885#true} #63#return; {885#true} is VALID [2022-04-14 15:04:42,628 INFO L290 TraceCheckUtils]: 17: Hoare triple {885#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {941#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:04:42,628 INFO L290 TraceCheckUtils]: 18: Hoare triple {941#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {941#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:04:42,628 INFO L272 TraceCheckUtils]: 19: Hoare triple {941#(and (= main_~x~0 0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {885#true} is VALID [2022-04-14 15:04:42,629 INFO L290 TraceCheckUtils]: 20: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-14 15:04:42,629 INFO L290 TraceCheckUtils]: 21: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-14 15:04:42,629 INFO L290 TraceCheckUtils]: 22: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-14 15:04:42,630 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {885#true} {941#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {941#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:04:42,630 INFO L290 TraceCheckUtils]: 24: Hoare triple {941#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {963#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:04:42,631 INFO L290 TraceCheckUtils]: 25: Hoare triple {963#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {967#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-14 15:04:42,631 INFO L290 TraceCheckUtils]: 26: Hoare triple {967#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {971#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-14 15:04:42,632 INFO L290 TraceCheckUtils]: 27: Hoare triple {971#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {975#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-14 15:04:42,632 INFO L272 TraceCheckUtils]: 28: Hoare triple {975#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {885#true} is VALID [2022-04-14 15:04:42,632 INFO L290 TraceCheckUtils]: 29: Hoare triple {885#true} ~cond := #in~cond; {982#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:04:42,633 INFO L290 TraceCheckUtils]: 30: Hoare triple {982#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {986#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:04:42,633 INFO L290 TraceCheckUtils]: 31: Hoare triple {986#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {986#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:04:42,634 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {986#(not (= |__VERIFIER_assert_#in~cond| 0))} {975#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {993#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-14 15:04:42,635 INFO L290 TraceCheckUtils]: 33: Hoare triple {993#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {997#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-14 15:04:42,636 INFO L290 TraceCheckUtils]: 34: Hoare triple {997#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1001#(and (not (<= 1 main_~X~0)) (= main_~y~0 main_~xy~0) (= main_~y~0 1) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-14 15:04:42,638 INFO L272 TraceCheckUtils]: 35: Hoare triple {1001#(and (not (<= 1 main_~X~0)) (= main_~y~0 main_~xy~0) (= main_~y~0 1) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1005#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:04:42,638 INFO L290 TraceCheckUtils]: 36: Hoare triple {1005#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1009#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:04:42,638 INFO L290 TraceCheckUtils]: 37: Hoare triple {1009#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {886#false} is VALID [2022-04-14 15:04:42,639 INFO L290 TraceCheckUtils]: 38: Hoare triple {886#false} assume !false; {886#false} is VALID [2022-04-14 15:04:42,639 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:04:42,639 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:04:43,389 INFO L290 TraceCheckUtils]: 38: Hoare triple {886#false} assume !false; {886#false} is VALID [2022-04-14 15:04:43,390 INFO L290 TraceCheckUtils]: 37: Hoare triple {1009#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {886#false} is VALID [2022-04-14 15:04:43,390 INFO L290 TraceCheckUtils]: 36: Hoare triple {1005#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1009#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:04:43,391 INFO L272 TraceCheckUtils]: 35: Hoare triple {1025#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1005#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:04:43,392 INFO L290 TraceCheckUtils]: 34: Hoare triple {1029#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1025#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-14 15:04:43,393 INFO L290 TraceCheckUtils]: 33: Hoare triple {1033#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {1029#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-14 15:04:43,394 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {986#(not (= |__VERIFIER_assert_#in~cond| 0))} {1037#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {1033#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-14 15:04:43,394 INFO L290 TraceCheckUtils]: 31: Hoare triple {986#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {986#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:04:43,395 INFO L290 TraceCheckUtils]: 30: Hoare triple {1047#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {986#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:04:43,395 INFO L290 TraceCheckUtils]: 29: Hoare triple {885#true} ~cond := #in~cond; {1047#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 15:04:43,395 INFO L272 TraceCheckUtils]: 28: Hoare triple {1037#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {885#true} is VALID [2022-04-14 15:04:43,396 INFO L290 TraceCheckUtils]: 27: Hoare triple {1054#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1037#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-14 15:04:43,398 INFO L290 TraceCheckUtils]: 26: Hoare triple {1058#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1054#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-14 15:04:43,400 INFO L290 TraceCheckUtils]: 25: Hoare triple {1062#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1058#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} is VALID [2022-04-14 15:04:43,402 INFO L290 TraceCheckUtils]: 24: Hoare triple {885#true} assume !!(~x~0 <= ~X~0); {1062#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:04:43,402 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {885#true} {885#true} #65#return; {885#true} is VALID [2022-04-14 15:04:43,402 INFO L290 TraceCheckUtils]: 22: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-14 15:04:43,403 INFO L290 TraceCheckUtils]: 21: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-14 15:04:43,403 INFO L290 TraceCheckUtils]: 20: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-14 15:04:43,403 INFO L272 TraceCheckUtils]: 19: Hoare triple {885#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {885#true} is VALID [2022-04-14 15:04:43,403 INFO L290 TraceCheckUtils]: 18: Hoare triple {885#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {885#true} is VALID [2022-04-14 15:04:43,403 INFO L290 TraceCheckUtils]: 17: Hoare triple {885#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {885#true} is VALID [2022-04-14 15:04:43,403 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {885#true} {885#true} #63#return; {885#true} is VALID [2022-04-14 15:04:43,403 INFO L290 TraceCheckUtils]: 15: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-14 15:04:43,403 INFO L290 TraceCheckUtils]: 14: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-14 15:04:43,404 INFO L290 TraceCheckUtils]: 13: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-14 15:04:43,404 INFO L272 TraceCheckUtils]: 12: Hoare triple {885#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {885#true} is VALID [2022-04-14 15:04:43,404 INFO L290 TraceCheckUtils]: 11: Hoare triple {885#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {885#true} is VALID [2022-04-14 15:04:43,404 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {885#true} {885#true} #61#return; {885#true} is VALID [2022-04-14 15:04:43,404 INFO L290 TraceCheckUtils]: 9: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-14 15:04:43,404 INFO L290 TraceCheckUtils]: 8: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-14 15:04:43,404 INFO L290 TraceCheckUtils]: 7: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-14 15:04:43,404 INFO L272 TraceCheckUtils]: 6: Hoare triple {885#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {885#true} is VALID [2022-04-14 15:04:43,405 INFO L290 TraceCheckUtils]: 5: Hoare triple {885#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {885#true} is VALID [2022-04-14 15:04:43,405 INFO L272 TraceCheckUtils]: 4: Hoare triple {885#true} call #t~ret8 := main(); {885#true} is VALID [2022-04-14 15:04:43,405 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {885#true} {885#true} #69#return; {885#true} is VALID [2022-04-14 15:04:43,405 INFO L290 TraceCheckUtils]: 2: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-14 15:04:43,405 INFO L290 TraceCheckUtils]: 1: Hoare triple {885#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {885#true} is VALID [2022-04-14 15:04:43,405 INFO L272 TraceCheckUtils]: 0: Hoare triple {885#true} call ULTIMATE.init(); {885#true} is VALID [2022-04-14 15:04:43,405 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:04:43,406 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:04:43,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1757075853] [2022-04-14 15:04:43,406 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:04:43,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [585634698] [2022-04-14 15:04:43,406 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [585634698] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:04:43,406 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:04:43,406 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-14 15:04:43,406 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1403482858] [2022-04-14 15:04:43,407 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:04:43,407 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:04:43,408 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:04:43,408 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:04:43,459 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:04:43,459 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-14 15:04:43,459 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:04:43,460 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-14 15:04:43,460 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-14 15:04:43,460 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 15:04:44,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:44,792 INFO L93 Difference]: Finished difference Result 60 states and 68 transitions. [2022-04-14 15:04:44,792 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-14 15:04:44,793 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:04:44,793 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:04:44,793 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:04:44,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 62 transitions. [2022-04-14 15:04:44,796 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:04:44,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 62 transitions. [2022-04-14 15:04:44,798 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 62 transitions. [2022-04-14 15:04:44,879 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:04:44,881 INFO L225 Difference]: With dead ends: 60 [2022-04-14 15:04:44,881 INFO L226 Difference]: Without dead ends: 52 [2022-04-14 15:04:44,882 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 261 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=220, Invalid=1112, Unknown=0, NotChecked=0, Total=1332 [2022-04-14 15:04:44,882 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 28 mSDsluCounter, 202 mSDsCounter, 0 mSdLazyCounter, 254 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 222 SdHoareTripleChecker+Invalid, 377 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 254 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 98 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-14 15:04:44,883 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 222 Invalid, 377 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 254 Invalid, 0 Unknown, 98 Unchecked, 0.3s Time] [2022-04-14 15:04:44,883 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-14 15:04:44,895 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 41. [2022-04-14 15:04:44,896 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:04:44,896 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:04:44,896 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:04:44,896 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:04:44,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:44,899 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2022-04-14 15:04:44,899 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2022-04-14 15:04:44,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:44,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:44,899 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 52 states. [2022-04-14 15:04:44,900 INFO L87 Difference]: Start difference. First operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 52 states. [2022-04-14 15:04:44,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:44,902 INFO L93 Difference]: Finished difference Result 52 states and 59 transitions. [2022-04-14 15:04:44,902 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2022-04-14 15:04:44,903 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:44,903 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:44,903 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:04:44,903 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:04:44,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:04:44,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-14 15:04:44,906 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 39 [2022-04-14 15:04:44,906 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:04:44,906 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-14 15:04:44,906 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:04:44,906 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-14 15:04:44,907 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-14 15:04:44,907 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:04:44,907 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 15:04:44,930 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:04:45,123 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:04:45,124 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:04:45,124 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:04:45,124 INFO L85 PathProgramCache]: Analyzing trace with hash 1662296326, now seen corresponding path program 1 times [2022-04-14 15:04:45,124 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:04:45,124 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1499464736] [2022-04-14 15:04:45,125 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:45,125 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:04:45,167 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:04:45,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [298988811] [2022-04-14 15:04:45,168 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:45,168 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:04:45,168 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:04:45,173 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:04:45,206 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:04:45,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:45,226 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-14 15:04:45,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:45,240 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:05:03,553 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:05:12,484 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:05:23,702 INFO L272 TraceCheckUtils]: 0: Hoare triple {1417#true} call ULTIMATE.init(); {1417#true} is VALID [2022-04-14 15:05:23,702 INFO L290 TraceCheckUtils]: 1: Hoare triple {1417#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1417#true} is VALID [2022-04-14 15:05:23,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-14 15:05:23,703 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1417#true} {1417#true} #69#return; {1417#true} is VALID [2022-04-14 15:05:23,703 INFO L272 TraceCheckUtils]: 4: Hoare triple {1417#true} call #t~ret8 := main(); {1417#true} is VALID [2022-04-14 15:05:23,703 INFO L290 TraceCheckUtils]: 5: Hoare triple {1417#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1417#true} is VALID [2022-04-14 15:05:23,703 INFO L272 TraceCheckUtils]: 6: Hoare triple {1417#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {1417#true} is VALID [2022-04-14 15:05:23,703 INFO L290 TraceCheckUtils]: 7: Hoare triple {1417#true} ~cond := #in~cond; {1417#true} is VALID [2022-04-14 15:05:23,703 INFO L290 TraceCheckUtils]: 8: Hoare triple {1417#true} assume !(0 == ~cond); {1417#true} is VALID [2022-04-14 15:05:23,703 INFO L290 TraceCheckUtils]: 9: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-14 15:05:23,703 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1417#true} {1417#true} #61#return; {1417#true} is VALID [2022-04-14 15:05:23,703 INFO L290 TraceCheckUtils]: 11: Hoare triple {1417#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1417#true} is VALID [2022-04-14 15:05:23,703 INFO L272 TraceCheckUtils]: 12: Hoare triple {1417#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {1417#true} is VALID [2022-04-14 15:05:23,704 INFO L290 TraceCheckUtils]: 13: Hoare triple {1417#true} ~cond := #in~cond; {1417#true} is VALID [2022-04-14 15:05:23,704 INFO L290 TraceCheckUtils]: 14: Hoare triple {1417#true} assume !(0 == ~cond); {1417#true} is VALID [2022-04-14 15:05:23,704 INFO L290 TraceCheckUtils]: 15: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-14 15:05:23,704 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1417#true} {1417#true} #63#return; {1417#true} is VALID [2022-04-14 15:05:23,704 INFO L290 TraceCheckUtils]: 17: Hoare triple {1417#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:23,705 INFO L290 TraceCheckUtils]: 18: Hoare triple {1473#(= main_~y~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:23,705 INFO L272 TraceCheckUtils]: 19: Hoare triple {1473#(= main_~y~0 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1417#true} is VALID [2022-04-14 15:05:23,705 INFO L290 TraceCheckUtils]: 20: Hoare triple {1417#true} ~cond := #in~cond; {1417#true} is VALID [2022-04-14 15:05:23,705 INFO L290 TraceCheckUtils]: 21: Hoare triple {1417#true} assume !(0 == ~cond); {1417#true} is VALID [2022-04-14 15:05:23,705 INFO L290 TraceCheckUtils]: 22: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-14 15:05:23,706 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1417#true} {1473#(= main_~y~0 0)} #65#return; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:23,706 INFO L290 TraceCheckUtils]: 24: Hoare triple {1473#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:23,706 INFO L290 TraceCheckUtils]: 25: Hoare triple {1473#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:23,707 INFO L290 TraceCheckUtils]: 26: Hoare triple {1473#(= main_~y~0 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:23,707 INFO L290 TraceCheckUtils]: 27: Hoare triple {1473#(= main_~y~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:23,707 INFO L272 TraceCheckUtils]: 28: Hoare triple {1473#(= main_~y~0 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1417#true} is VALID [2022-04-14 15:05:23,708 INFO L290 TraceCheckUtils]: 29: Hoare triple {1417#true} ~cond := #in~cond; {1510#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:05:23,708 INFO L290 TraceCheckUtils]: 30: Hoare triple {1510#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:05:23,708 INFO L290 TraceCheckUtils]: 31: Hoare triple {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:05:23,709 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} {1473#(= main_~y~0 0)} #65#return; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:23,709 INFO L290 TraceCheckUtils]: 33: Hoare triple {1473#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:23,710 INFO L290 TraceCheckUtils]: 34: Hoare triple {1473#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:23,710 INFO L290 TraceCheckUtils]: 35: Hoare triple {1473#(= main_~y~0 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:23,711 INFO L290 TraceCheckUtils]: 36: Hoare triple {1473#(= main_~y~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1533#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-14 15:05:23,711 INFO L272 TraceCheckUtils]: 37: Hoare triple {1533#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1417#true} is VALID [2022-04-14 15:05:23,711 INFO L290 TraceCheckUtils]: 38: Hoare triple {1417#true} ~cond := #in~cond; {1510#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:05:23,712 INFO L290 TraceCheckUtils]: 39: Hoare triple {1510#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:05:23,712 INFO L290 TraceCheckUtils]: 40: Hoare triple {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:05:23,713 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} {1533#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {1549#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-14 15:05:23,714 INFO L290 TraceCheckUtils]: 42: Hoare triple {1549#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !(~x~0 <= ~X~0); {1549#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-14 15:05:25,716 WARN L290 TraceCheckUtils]: 43: Hoare triple {1549#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1556#(and (= main_~y~0 0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)))) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is UNKNOWN [2022-04-14 15:05:25,718 INFO L272 TraceCheckUtils]: 44: Hoare triple {1556#(and (= main_~y~0 0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)))) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1560#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:05:25,719 INFO L290 TraceCheckUtils]: 45: Hoare triple {1560#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1564#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:05:25,720 INFO L290 TraceCheckUtils]: 46: Hoare triple {1564#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1418#false} is VALID [2022-04-14 15:05:25,720 INFO L290 TraceCheckUtils]: 47: Hoare triple {1418#false} assume !false; {1418#false} is VALID [2022-04-14 15:05:25,720 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 14 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-14 15:05:25,720 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:05:41,346 INFO L290 TraceCheckUtils]: 47: Hoare triple {1418#false} assume !false; {1418#false} is VALID [2022-04-14 15:05:41,349 INFO L290 TraceCheckUtils]: 46: Hoare triple {1564#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1418#false} is VALID [2022-04-14 15:05:41,349 INFO L290 TraceCheckUtils]: 45: Hoare triple {1560#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1564#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:05:41,350 INFO L272 TraceCheckUtils]: 44: Hoare triple {1580#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1560#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:05:41,351 INFO L290 TraceCheckUtils]: 43: Hoare triple {1584#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1580#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-14 15:05:41,352 INFO L290 TraceCheckUtils]: 42: Hoare triple {1584#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} assume !(~x~0 <= ~X~0); {1584#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-14 15:05:41,353 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} {1591#(= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} #65#return; {1584#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-14 15:05:41,353 INFO L290 TraceCheckUtils]: 40: Hoare triple {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:05:41,354 INFO L290 TraceCheckUtils]: 39: Hoare triple {1601#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1514#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:05:41,354 INFO L290 TraceCheckUtils]: 38: Hoare triple {1417#true} ~cond := #in~cond; {1601#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 15:05:41,354 INFO L272 TraceCheckUtils]: 37: Hoare triple {1591#(= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1417#true} is VALID [2022-04-14 15:05:41,355 INFO L290 TraceCheckUtils]: 36: Hoare triple {1473#(= main_~y~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1591#(= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-14 15:05:41,355 INFO L290 TraceCheckUtils]: 35: Hoare triple {1473#(= main_~y~0 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:41,356 INFO L290 TraceCheckUtils]: 34: Hoare triple {1473#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:41,356 INFO L290 TraceCheckUtils]: 33: Hoare triple {1473#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:41,357 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1417#true} {1473#(= main_~y~0 0)} #65#return; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:41,357 INFO L290 TraceCheckUtils]: 31: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-14 15:05:41,357 INFO L290 TraceCheckUtils]: 30: Hoare triple {1417#true} assume !(0 == ~cond); {1417#true} is VALID [2022-04-14 15:05:41,357 INFO L290 TraceCheckUtils]: 29: Hoare triple {1417#true} ~cond := #in~cond; {1417#true} is VALID [2022-04-14 15:05:41,357 INFO L272 TraceCheckUtils]: 28: Hoare triple {1473#(= main_~y~0 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1417#true} is VALID [2022-04-14 15:05:41,358 INFO L290 TraceCheckUtils]: 27: Hoare triple {1473#(= main_~y~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:41,358 INFO L290 TraceCheckUtils]: 26: Hoare triple {1473#(= main_~y~0 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:41,358 INFO L290 TraceCheckUtils]: 25: Hoare triple {1473#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:41,359 INFO L290 TraceCheckUtils]: 24: Hoare triple {1473#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:41,359 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1417#true} {1473#(= main_~y~0 0)} #65#return; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:41,360 INFO L290 TraceCheckUtils]: 22: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-14 15:05:41,360 INFO L290 TraceCheckUtils]: 21: Hoare triple {1417#true} assume !(0 == ~cond); {1417#true} is VALID [2022-04-14 15:05:41,360 INFO L290 TraceCheckUtils]: 20: Hoare triple {1417#true} ~cond := #in~cond; {1417#true} is VALID [2022-04-14 15:05:41,360 INFO L272 TraceCheckUtils]: 19: Hoare triple {1473#(= main_~y~0 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1417#true} is VALID [2022-04-14 15:05:41,360 INFO L290 TraceCheckUtils]: 18: Hoare triple {1473#(= main_~y~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:41,361 INFO L290 TraceCheckUtils]: 17: Hoare triple {1417#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1473#(= main_~y~0 0)} is VALID [2022-04-14 15:05:41,361 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1417#true} {1417#true} #63#return; {1417#true} is VALID [2022-04-14 15:05:41,361 INFO L290 TraceCheckUtils]: 15: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-14 15:05:41,361 INFO L290 TraceCheckUtils]: 14: Hoare triple {1417#true} assume !(0 == ~cond); {1417#true} is VALID [2022-04-14 15:05:41,361 INFO L290 TraceCheckUtils]: 13: Hoare triple {1417#true} ~cond := #in~cond; {1417#true} is VALID [2022-04-14 15:05:41,361 INFO L272 TraceCheckUtils]: 12: Hoare triple {1417#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {1417#true} is VALID [2022-04-14 15:05:41,361 INFO L290 TraceCheckUtils]: 11: Hoare triple {1417#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1417#true} is VALID [2022-04-14 15:05:41,361 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1417#true} {1417#true} #61#return; {1417#true} is VALID [2022-04-14 15:05:41,362 INFO L290 TraceCheckUtils]: 9: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-14 15:05:41,362 INFO L290 TraceCheckUtils]: 8: Hoare triple {1417#true} assume !(0 == ~cond); {1417#true} is VALID [2022-04-14 15:05:41,362 INFO L290 TraceCheckUtils]: 7: Hoare triple {1417#true} ~cond := #in~cond; {1417#true} is VALID [2022-04-14 15:05:41,362 INFO L272 TraceCheckUtils]: 6: Hoare triple {1417#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {1417#true} is VALID [2022-04-14 15:05:41,362 INFO L290 TraceCheckUtils]: 5: Hoare triple {1417#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1417#true} is VALID [2022-04-14 15:05:41,362 INFO L272 TraceCheckUtils]: 4: Hoare triple {1417#true} call #t~ret8 := main(); {1417#true} is VALID [2022-04-14 15:05:41,362 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1417#true} {1417#true} #69#return; {1417#true} is VALID [2022-04-14 15:05:41,362 INFO L290 TraceCheckUtils]: 2: Hoare triple {1417#true} assume true; {1417#true} is VALID [2022-04-14 15:05:41,362 INFO L290 TraceCheckUtils]: 1: Hoare triple {1417#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1417#true} is VALID [2022-04-14 15:05:41,362 INFO L272 TraceCheckUtils]: 0: Hoare triple {1417#true} call ULTIMATE.init(); {1417#true} is VALID [2022-04-14 15:05:41,363 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 11 proven. 5 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-14 15:05:41,363 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:05:41,363 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1499464736] [2022-04-14 15:05:41,363 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:05:41,363 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [298988811] [2022-04-14 15:05:41,363 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [298988811] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:05:41,363 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:05:41,363 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 14 [2022-04-14 15:05:41,363 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [604915705] [2022-04-14 15:05:41,364 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:05:41,364 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 10 states have (on average 2.9) internal successors, (29), 13 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) Word has length 48 [2022-04-14 15:05:41,366 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:05:41,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 10 states have (on average 2.9) internal successors, (29), 13 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 15:05:43,413 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 44 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 15:05:43,413 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-14 15:05:43,414 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:05:43,414 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-14 15:05:43,414 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=146, Unknown=1, NotChecked=0, Total=182 [2022-04-14 15:05:43,414 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 14 states, 10 states have (on average 2.9) internal successors, (29), 13 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 15:05:45,737 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 15:05:49,835 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 15:05:51,849 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 15:05:53,857 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 15:05:56,105 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 15:05:58,128 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 15:06:00,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:00,504 INFO L93 Difference]: Finished difference Result 56 states and 63 transitions. [2022-04-14 15:06:00,505 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-14 15:06:00,505 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 10 states have (on average 2.9) internal successors, (29), 13 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) Word has length 48 [2022-04-14 15:06:00,505 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:06:00,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 10 states have (on average 2.9) internal successors, (29), 13 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 15:06:00,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 48 transitions. [2022-04-14 15:06:00,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 10 states have (on average 2.9) internal successors, (29), 13 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 15:06:00,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 48 transitions. [2022-04-14 15:06:00,509 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 48 transitions. [2022-04-14 15:06:02,548 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 47 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 15:06:02,549 INFO L225 Difference]: With dead ends: 56 [2022-04-14 15:06:02,549 INFO L226 Difference]: Without dead ends: 50 [2022-04-14 15:06:02,550 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 81 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 6.5s TimeCoverageRelationStatistics Valid=66, Invalid=237, Unknown=3, NotChecked=0, Total=306 [2022-04-14 15:06:02,550 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 25 mSDsluCounter, 114 mSDsCounter, 0 mSdLazyCounter, 143 mSolverCounterSat, 13 mSolverCounterUnsat, 6 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 12.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 162 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 143 IncrementalHoareTripleChecker+Invalid, 6 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 12.3s IncrementalHoareTripleChecker+Time [2022-04-14 15:06:02,551 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 133 Invalid, 162 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 143 Invalid, 6 Unknown, 0 Unchecked, 12.3s Time] [2022-04-14 15:06:02,551 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-14 15:06:02,569 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 44. [2022-04-14 15:06:02,569 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:06:02,569 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 44 states, 30 states have (on average 1.1) internal successors, (33), 31 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:06:02,569 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 44 states, 30 states have (on average 1.1) internal successors, (33), 31 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:06:02,570 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 44 states, 30 states have (on average 1.1) internal successors, (33), 31 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:06:02,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:02,573 INFO L93 Difference]: Finished difference Result 50 states and 57 transitions. [2022-04-14 15:06:02,573 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2022-04-14 15:06:02,574 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:06:02,574 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:06:02,574 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 30 states have (on average 1.1) internal successors, (33), 31 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-14 15:06:02,574 INFO L87 Difference]: Start difference. First operand has 44 states, 30 states have (on average 1.1) internal successors, (33), 31 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-14 15:06:02,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:02,576 INFO L93 Difference]: Finished difference Result 50 states and 57 transitions. [2022-04-14 15:06:02,577 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2022-04-14 15:06:02,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:06:02,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:06:02,577 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:06:02,577 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:06:02,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 30 states have (on average 1.1) internal successors, (33), 31 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:06:02,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 49 transitions. [2022-04-14 15:06:02,586 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 49 transitions. Word has length 48 [2022-04-14 15:06:02,586 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:06:02,586 INFO L478 AbstractCegarLoop]: Abstraction has 44 states and 49 transitions. [2022-04-14 15:06:02,586 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 10 states have (on average 2.9) internal successors, (29), 13 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 15:06:02,586 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-14 15:06:02,587 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-14 15:06:02,587 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:06:02,587 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:06:02,615 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-14 15:06:02,806 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:06:02,806 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:06:02,806 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:06:02,806 INFO L85 PathProgramCache]: Analyzing trace with hash -143142008, now seen corresponding path program 1 times [2022-04-14 15:06:02,807 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:06:02,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [153966790] [2022-04-14 15:06:02,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:06:02,807 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:06:02,821 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:06:02,821 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [714253427] [2022-04-14 15:06:02,821 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:06:02,821 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:06:02,821 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:06:02,826 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:06:02,843 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:06:02,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:06:02,883 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-14 15:06:02,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:06:02,902 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:06:06,035 INFO L272 TraceCheckUtils]: 0: Hoare triple {1968#true} call ULTIMATE.init(); {1968#true} is VALID [2022-04-14 15:06:06,036 INFO L290 TraceCheckUtils]: 1: Hoare triple {1968#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1968#true} is VALID [2022-04-14 15:06:06,036 INFO L290 TraceCheckUtils]: 2: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-14 15:06:06,036 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1968#true} {1968#true} #69#return; {1968#true} is VALID [2022-04-14 15:06:06,036 INFO L272 TraceCheckUtils]: 4: Hoare triple {1968#true} call #t~ret8 := main(); {1968#true} is VALID [2022-04-14 15:06:06,036 INFO L290 TraceCheckUtils]: 5: Hoare triple {1968#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1968#true} is VALID [2022-04-14 15:06:06,036 INFO L272 TraceCheckUtils]: 6: Hoare triple {1968#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {1968#true} is VALID [2022-04-14 15:06:06,036 INFO L290 TraceCheckUtils]: 7: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-14 15:06:06,036 INFO L290 TraceCheckUtils]: 8: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-14 15:06:06,036 INFO L290 TraceCheckUtils]: 9: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-14 15:06:06,037 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1968#true} {1968#true} #61#return; {1968#true} is VALID [2022-04-14 15:06:06,037 INFO L290 TraceCheckUtils]: 11: Hoare triple {1968#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1968#true} is VALID [2022-04-14 15:06:06,037 INFO L272 TraceCheckUtils]: 12: Hoare triple {1968#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {1968#true} is VALID [2022-04-14 15:06:06,037 INFO L290 TraceCheckUtils]: 13: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-14 15:06:06,037 INFO L290 TraceCheckUtils]: 14: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-14 15:06:06,037 INFO L290 TraceCheckUtils]: 15: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-14 15:06:06,037 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1968#true} {1968#true} #63#return; {1968#true} is VALID [2022-04-14 15:06:06,038 INFO L290 TraceCheckUtils]: 17: Hoare triple {1968#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:06:06,038 INFO L290 TraceCheckUtils]: 18: Hoare triple {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:06:06,038 INFO L272 TraceCheckUtils]: 19: Hoare triple {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1968#true} is VALID [2022-04-14 15:06:06,038 INFO L290 TraceCheckUtils]: 20: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-14 15:06:06,038 INFO L290 TraceCheckUtils]: 21: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-14 15:06:06,039 INFO L290 TraceCheckUtils]: 22: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-14 15:06:06,040 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1968#true} {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:06:06,040 INFO L290 TraceCheckUtils]: 24: Hoare triple {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:06:06,041 INFO L290 TraceCheckUtils]: 25: Hoare triple {2024#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2049#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-14 15:06:06,042 INFO L290 TraceCheckUtils]: 26: Hoare triple {2049#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-14 15:06:06,043 INFO L290 TraceCheckUtils]: 27: Hoare triple {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-14 15:06:06,043 INFO L272 TraceCheckUtils]: 28: Hoare triple {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1968#true} is VALID [2022-04-14 15:06:06,043 INFO L290 TraceCheckUtils]: 29: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-14 15:06:06,043 INFO L290 TraceCheckUtils]: 30: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-14 15:06:06,043 INFO L290 TraceCheckUtils]: 31: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-14 15:06:06,044 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1968#true} {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #65#return; {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-14 15:06:06,044 INFO L290 TraceCheckUtils]: 33: Hoare triple {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume !!(~x~0 <= ~X~0); {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-14 15:06:06,045 INFO L290 TraceCheckUtils]: 34: Hoare triple {2053#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2078#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} is VALID [2022-04-14 15:06:06,045 INFO L290 TraceCheckUtils]: 35: Hoare triple {2078#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2082#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-14 15:06:06,046 INFO L290 TraceCheckUtils]: 36: Hoare triple {2082#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2082#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-14 15:06:06,046 INFO L272 TraceCheckUtils]: 37: Hoare triple {2082#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1968#true} is VALID [2022-04-14 15:06:06,046 INFO L290 TraceCheckUtils]: 38: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-14 15:06:06,046 INFO L290 TraceCheckUtils]: 39: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-14 15:06:06,046 INFO L290 TraceCheckUtils]: 40: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-14 15:06:06,047 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1968#true} {2082#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} #65#return; {2082#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-14 15:06:06,048 INFO L290 TraceCheckUtils]: 42: Hoare triple {2082#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !(~x~0 <= ~X~0); {1969#false} is VALID [2022-04-14 15:06:06,048 INFO L290 TraceCheckUtils]: 43: Hoare triple {1969#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1969#false} is VALID [2022-04-14 15:06:06,048 INFO L272 TraceCheckUtils]: 44: Hoare triple {1969#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1969#false} is VALID [2022-04-14 15:06:06,048 INFO L290 TraceCheckUtils]: 45: Hoare triple {1969#false} ~cond := #in~cond; {1969#false} is VALID [2022-04-14 15:06:06,048 INFO L290 TraceCheckUtils]: 46: Hoare triple {1969#false} assume 0 == ~cond; {1969#false} is VALID [2022-04-14 15:06:06,048 INFO L290 TraceCheckUtils]: 47: Hoare triple {1969#false} assume !false; {1969#false} is VALID [2022-04-14 15:06:06,048 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:06:06,048 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:06:06,418 INFO L290 TraceCheckUtils]: 47: Hoare triple {1969#false} assume !false; {1969#false} is VALID [2022-04-14 15:06:06,418 INFO L290 TraceCheckUtils]: 46: Hoare triple {1969#false} assume 0 == ~cond; {1969#false} is VALID [2022-04-14 15:06:06,418 INFO L290 TraceCheckUtils]: 45: Hoare triple {1969#false} ~cond := #in~cond; {1969#false} is VALID [2022-04-14 15:06:06,418 INFO L272 TraceCheckUtils]: 44: Hoare triple {1969#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1969#false} is VALID [2022-04-14 15:06:06,418 INFO L290 TraceCheckUtils]: 43: Hoare triple {1969#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1969#false} is VALID [2022-04-14 15:06:06,419 INFO L290 TraceCheckUtils]: 42: Hoare triple {2134#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {1969#false} is VALID [2022-04-14 15:06:06,419 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1968#true} {2134#(<= main_~x~0 main_~X~0)} #65#return; {2134#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:06:06,419 INFO L290 TraceCheckUtils]: 40: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-14 15:06:06,419 INFO L290 TraceCheckUtils]: 39: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-14 15:06:06,420 INFO L290 TraceCheckUtils]: 38: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-14 15:06:06,420 INFO L272 TraceCheckUtils]: 37: Hoare triple {2134#(<= main_~x~0 main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1968#true} is VALID [2022-04-14 15:06:06,420 INFO L290 TraceCheckUtils]: 36: Hoare triple {2134#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2134#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:06:06,421 INFO L290 TraceCheckUtils]: 35: Hoare triple {2156#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2134#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:06:06,421 INFO L290 TraceCheckUtils]: 34: Hoare triple {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2156#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-14 15:06:06,422 INFO L290 TraceCheckUtils]: 33: Hoare triple {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:06:06,422 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1968#true} {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:06:06,422 INFO L290 TraceCheckUtils]: 31: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-14 15:06:06,423 INFO L290 TraceCheckUtils]: 30: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-14 15:06:06,423 INFO L290 TraceCheckUtils]: 29: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-14 15:06:06,423 INFO L272 TraceCheckUtils]: 28: Hoare triple {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1968#true} is VALID [2022-04-14 15:06:06,423 INFO L290 TraceCheckUtils]: 27: Hoare triple {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:06:06,424 INFO L290 TraceCheckUtils]: 26: Hoare triple {2185#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2160#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:06:06,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2185#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} is VALID [2022-04-14 15:06:06,425 INFO L290 TraceCheckUtils]: 24: Hoare triple {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-14 15:06:06,427 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1968#true} {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} #65#return; {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-14 15:06:06,427 INFO L290 TraceCheckUtils]: 22: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-14 15:06:06,427 INFO L290 TraceCheckUtils]: 21: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-14 15:06:06,427 INFO L290 TraceCheckUtils]: 20: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-14 15:06:06,430 INFO L272 TraceCheckUtils]: 19: Hoare triple {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1968#true} is VALID [2022-04-14 15:06:06,431 INFO L290 TraceCheckUtils]: 18: Hoare triple {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-14 15:06:06,432 INFO L290 TraceCheckUtils]: 17: Hoare triple {1968#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2189#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-14 15:06:06,433 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1968#true} {1968#true} #63#return; {1968#true} is VALID [2022-04-14 15:06:06,433 INFO L290 TraceCheckUtils]: 15: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-14 15:06:06,433 INFO L290 TraceCheckUtils]: 14: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-14 15:06:06,433 INFO L290 TraceCheckUtils]: 13: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-14 15:06:06,433 INFO L272 TraceCheckUtils]: 12: Hoare triple {1968#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {1968#true} is VALID [2022-04-14 15:06:06,433 INFO L290 TraceCheckUtils]: 11: Hoare triple {1968#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1968#true} is VALID [2022-04-14 15:06:06,433 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1968#true} {1968#true} #61#return; {1968#true} is VALID [2022-04-14 15:06:06,433 INFO L290 TraceCheckUtils]: 9: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-14 15:06:06,433 INFO L290 TraceCheckUtils]: 8: Hoare triple {1968#true} assume !(0 == ~cond); {1968#true} is VALID [2022-04-14 15:06:06,433 INFO L290 TraceCheckUtils]: 7: Hoare triple {1968#true} ~cond := #in~cond; {1968#true} is VALID [2022-04-14 15:06:06,433 INFO L272 TraceCheckUtils]: 6: Hoare triple {1968#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {1968#true} is VALID [2022-04-14 15:06:06,434 INFO L290 TraceCheckUtils]: 5: Hoare triple {1968#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1968#true} is VALID [2022-04-14 15:06:06,434 INFO L272 TraceCheckUtils]: 4: Hoare triple {1968#true} call #t~ret8 := main(); {1968#true} is VALID [2022-04-14 15:06:06,434 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1968#true} {1968#true} #69#return; {1968#true} is VALID [2022-04-14 15:06:06,434 INFO L290 TraceCheckUtils]: 2: Hoare triple {1968#true} assume true; {1968#true} is VALID [2022-04-14 15:06:06,434 INFO L290 TraceCheckUtils]: 1: Hoare triple {1968#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {1968#true} is VALID [2022-04-14 15:06:06,434 INFO L272 TraceCheckUtils]: 0: Hoare triple {1968#true} call ULTIMATE.init(); {1968#true} is VALID [2022-04-14 15:06:06,434 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:06:06,434 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:06:06,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [153966790] [2022-04-14 15:06:06,434 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:06:06,435 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [714253427] [2022-04-14 15:06:06,435 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [714253427] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:06:06,435 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:06:06,435 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-14 15:06:06,435 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [418992488] [2022-04-14 15:06:06,435 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:06:06,436 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:06:06,436 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:06:06,436 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:06:06,485 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:06:06,485 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-14 15:06:06,485 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:06:06,486 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-14 15:06:06,486 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-14 15:06:06,486 INFO L87 Difference]: Start difference. First operand 44 states and 49 transitions. Second operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-04-14 15:06:06,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:06,841 INFO L93 Difference]: Finished difference Result 65 states and 75 transitions. [2022-04-14 15:06:06,841 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-14 15:06:06,842 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:06:06,842 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:06:06,842 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:06:06,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-14 15:06:06,844 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:06:06,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-14 15:06:06,846 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 58 transitions. [2022-04-14 15:06:06,903 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:06:06,904 INFO L225 Difference]: With dead ends: 65 [2022-04-14 15:06:06,904 INFO L226 Difference]: Without dead ends: 59 [2022-04-14 15:06:06,905 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=59, Invalid=181, Unknown=0, NotChecked=0, Total=240 [2022-04-14 15:06:06,905 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 5 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 99 SdHoareTripleChecker+Invalid, 129 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 15:06:06,906 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 99 Invalid, 129 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 15:06:06,906 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-14 15:06:06,931 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 51. [2022-04-14 15:06:06,931 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:06:06,931 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-14 15:06:06,932 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-14 15:06:06,932 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-14 15:06:06,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:06,934 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-04-14 15:06:06,934 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-04-14 15:06:06,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:06:06,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:06:06,935 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 59 states. [2022-04-14 15:06:06,935 INFO L87 Difference]: Start difference. First operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 59 states. [2022-04-14 15:06:06,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:06,938 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-04-14 15:06:06,938 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-04-14 15:06:06,938 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:06:06,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:06:06,939 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:06:06,939 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:06:06,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 36 states have internal predecessors, (41), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-14 15:06:06,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 59 transitions. [2022-04-14 15:06:06,943 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 59 transitions. Word has length 48 [2022-04-14 15:06:06,943 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:06:06,943 INFO L478 AbstractCegarLoop]: Abstraction has 51 states and 59 transitions. [2022-04-14 15:06:06,943 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:06:06,943 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 59 transitions. [2022-04-14 15:06:06,947 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-14 15:06:06,947 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:06:06,947 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:06:06,967 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-14 15:06:07,155 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:06:07,156 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:06:07,156 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:06:07,156 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 2 times [2022-04-14 15:06:07,156 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:06:07,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1224403095] [2022-04-14 15:06:07,156 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:06:07,156 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:06:07,170 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:06:07,170 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1938141433] [2022-04-14 15:06:07,170 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 15:06:07,170 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:06:07,170 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:06:07,171 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:06:07,174 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:06:07,223 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 15:06:07,224 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 15:06:07,224 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-14 15:06:07,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:06:07,237 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:06:08,276 INFO L272 TraceCheckUtils]: 0: Hoare triple {2555#true} call ULTIMATE.init(); {2555#true} is VALID [2022-04-14 15:06:08,276 INFO L290 TraceCheckUtils]: 1: Hoare triple {2555#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2555#true} is VALID [2022-04-14 15:06:08,276 INFO L290 TraceCheckUtils]: 2: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-14 15:06:08,276 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2555#true} {2555#true} #69#return; {2555#true} is VALID [2022-04-14 15:06:08,276 INFO L272 TraceCheckUtils]: 4: Hoare triple {2555#true} call #t~ret8 := main(); {2555#true} is VALID [2022-04-14 15:06:08,276 INFO L290 TraceCheckUtils]: 5: Hoare triple {2555#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2555#true} is VALID [2022-04-14 15:06:08,276 INFO L272 TraceCheckUtils]: 6: Hoare triple {2555#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {2555#true} is VALID [2022-04-14 15:06:08,276 INFO L290 TraceCheckUtils]: 7: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-14 15:06:08,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-14 15:06:08,277 INFO L290 TraceCheckUtils]: 9: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-14 15:06:08,277 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2555#true} {2555#true} #61#return; {2555#true} is VALID [2022-04-14 15:06:08,277 INFO L290 TraceCheckUtils]: 11: Hoare triple {2555#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2555#true} is VALID [2022-04-14 15:06:08,277 INFO L272 TraceCheckUtils]: 12: Hoare triple {2555#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {2555#true} is VALID [2022-04-14 15:06:08,277 INFO L290 TraceCheckUtils]: 13: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-14 15:06:08,277 INFO L290 TraceCheckUtils]: 14: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-14 15:06:08,277 INFO L290 TraceCheckUtils]: 15: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-14 15:06:08,277 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2555#true} {2555#true} #63#return; {2555#true} is VALID [2022-04-14 15:06:08,278 INFO L290 TraceCheckUtils]: 17: Hoare triple {2555#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-14 15:06:08,278 INFO L290 TraceCheckUtils]: 18: Hoare triple {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-14 15:06:08,278 INFO L272 TraceCheckUtils]: 19: Hoare triple {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2555#true} is VALID [2022-04-14 15:06:08,278 INFO L290 TraceCheckUtils]: 20: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-14 15:06:08,278 INFO L290 TraceCheckUtils]: 21: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-14 15:06:08,278 INFO L290 TraceCheckUtils]: 22: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-14 15:06:08,279 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2555#true} {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-14 15:06:08,280 INFO L290 TraceCheckUtils]: 24: Hoare triple {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-14 15:06:08,281 INFO L290 TraceCheckUtils]: 25: Hoare triple {2611#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2636#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-14 15:06:08,282 INFO L290 TraceCheckUtils]: 26: Hoare triple {2636#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-14 15:06:08,282 INFO L290 TraceCheckUtils]: 27: Hoare triple {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-14 15:06:08,282 INFO L272 TraceCheckUtils]: 28: Hoare triple {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2555#true} is VALID [2022-04-14 15:06:08,282 INFO L290 TraceCheckUtils]: 29: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-14 15:06:08,282 INFO L290 TraceCheckUtils]: 30: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-14 15:06:08,282 INFO L290 TraceCheckUtils]: 31: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-14 15:06:08,283 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2555#true} {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #65#return; {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-14 15:06:08,283 INFO L290 TraceCheckUtils]: 33: Hoare triple {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-14 15:06:08,284 INFO L290 TraceCheckUtils]: 34: Hoare triple {2640#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2665#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:06:08,285 INFO L290 TraceCheckUtils]: 35: Hoare triple {2665#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:06:08,285 INFO L290 TraceCheckUtils]: 36: Hoare triple {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:06:08,285 INFO L272 TraceCheckUtils]: 37: Hoare triple {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2555#true} is VALID [2022-04-14 15:06:08,285 INFO L290 TraceCheckUtils]: 38: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-14 15:06:08,285 INFO L290 TraceCheckUtils]: 39: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-14 15:06:08,285 INFO L290 TraceCheckUtils]: 40: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-14 15:06:08,286 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2555#true} {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:06:08,286 INFO L290 TraceCheckUtils]: 42: Hoare triple {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !!(~x~0 <= ~X~0); {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:06:08,286 INFO L290 TraceCheckUtils]: 43: Hoare triple {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:06:08,287 INFO L290 TraceCheckUtils]: 44: Hoare triple {2669#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2697#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:06:08,288 INFO L290 TraceCheckUtils]: 45: Hoare triple {2697#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2697#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:06:08,288 INFO L272 TraceCheckUtils]: 46: Hoare triple {2697#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2555#true} is VALID [2022-04-14 15:06:08,288 INFO L290 TraceCheckUtils]: 47: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-14 15:06:08,288 INFO L290 TraceCheckUtils]: 48: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-14 15:06:08,288 INFO L290 TraceCheckUtils]: 49: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-14 15:06:08,288 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2555#true} {2697#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {2697#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:06:08,289 INFO L290 TraceCheckUtils]: 51: Hoare triple {2697#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !(~x~0 <= ~X~0); {2556#false} is VALID [2022-04-14 15:06:08,289 INFO L290 TraceCheckUtils]: 52: Hoare triple {2556#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2556#false} is VALID [2022-04-14 15:06:08,289 INFO L272 TraceCheckUtils]: 53: Hoare triple {2556#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {2556#false} is VALID [2022-04-14 15:06:08,289 INFO L290 TraceCheckUtils]: 54: Hoare triple {2556#false} ~cond := #in~cond; {2556#false} is VALID [2022-04-14 15:06:08,289 INFO L290 TraceCheckUtils]: 55: Hoare triple {2556#false} assume 0 == ~cond; {2556#false} is VALID [2022-04-14 15:06:08,289 INFO L290 TraceCheckUtils]: 56: Hoare triple {2556#false} assume !false; {2556#false} is VALID [2022-04-14 15:06:08,290 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-14 15:06:08,290 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:06:08,668 INFO L290 TraceCheckUtils]: 56: Hoare triple {2556#false} assume !false; {2556#false} is VALID [2022-04-14 15:06:08,668 INFO L290 TraceCheckUtils]: 55: Hoare triple {2556#false} assume 0 == ~cond; {2556#false} is VALID [2022-04-14 15:06:08,668 INFO L290 TraceCheckUtils]: 54: Hoare triple {2556#false} ~cond := #in~cond; {2556#false} is VALID [2022-04-14 15:06:08,668 INFO L272 TraceCheckUtils]: 53: Hoare triple {2556#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {2556#false} is VALID [2022-04-14 15:06:08,668 INFO L290 TraceCheckUtils]: 52: Hoare triple {2556#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2556#false} is VALID [2022-04-14 15:06:08,668 INFO L290 TraceCheckUtils]: 51: Hoare triple {2749#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {2556#false} is VALID [2022-04-14 15:06:08,669 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2555#true} {2749#(<= main_~x~0 main_~X~0)} #65#return; {2749#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:06:08,669 INFO L290 TraceCheckUtils]: 49: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-14 15:06:08,669 INFO L290 TraceCheckUtils]: 48: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-14 15:06:08,669 INFO L290 TraceCheckUtils]: 47: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-14 15:06:08,669 INFO L272 TraceCheckUtils]: 46: Hoare triple {2749#(<= main_~x~0 main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2555#true} is VALID [2022-04-14 15:06:08,675 INFO L290 TraceCheckUtils]: 45: Hoare triple {2749#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2749#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:06:08,676 INFO L290 TraceCheckUtils]: 44: Hoare triple {2771#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2749#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:06:08,676 INFO L290 TraceCheckUtils]: 43: Hoare triple {2771#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2771#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-14 15:06:08,677 INFO L290 TraceCheckUtils]: 42: Hoare triple {2771#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {2771#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-14 15:06:08,677 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2555#true} {2771#(<= (+ main_~x~0 1) main_~X~0)} #65#return; {2771#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-14 15:06:08,677 INFO L290 TraceCheckUtils]: 40: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-14 15:06:08,677 INFO L290 TraceCheckUtils]: 39: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-14 15:06:08,677 INFO L290 TraceCheckUtils]: 38: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-14 15:06:08,677 INFO L272 TraceCheckUtils]: 37: Hoare triple {2771#(<= (+ main_~x~0 1) main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2555#true} is VALID [2022-04-14 15:06:08,678 INFO L290 TraceCheckUtils]: 36: Hoare triple {2771#(<= (+ main_~x~0 1) main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2771#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-14 15:06:08,678 INFO L290 TraceCheckUtils]: 35: Hoare triple {2799#(<= (+ main_~x~0 2) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2771#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-14 15:06:08,678 INFO L290 TraceCheckUtils]: 34: Hoare triple {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2799#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-14 15:06:08,679 INFO L290 TraceCheckUtils]: 33: Hoare triple {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-14 15:06:08,679 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2555#true} {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #65#return; {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-14 15:06:08,679 INFO L290 TraceCheckUtils]: 31: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-14 15:06:08,679 INFO L290 TraceCheckUtils]: 30: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-14 15:06:08,680 INFO L290 TraceCheckUtils]: 29: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-14 15:06:08,680 INFO L272 TraceCheckUtils]: 28: Hoare triple {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2555#true} is VALID [2022-04-14 15:06:08,680 INFO L290 TraceCheckUtils]: 27: Hoare triple {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-14 15:06:08,680 INFO L290 TraceCheckUtils]: 26: Hoare triple {2828#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2803#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-14 15:06:08,681 INFO L290 TraceCheckUtils]: 25: Hoare triple {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2828#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-14 15:06:08,681 INFO L290 TraceCheckUtils]: 24: Hoare triple {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(~x~0 <= ~X~0); {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-14 15:06:08,682 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2555#true} {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #65#return; {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-14 15:06:08,682 INFO L290 TraceCheckUtils]: 22: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-14 15:06:08,682 INFO L290 TraceCheckUtils]: 21: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-14 15:06:08,682 INFO L290 TraceCheckUtils]: 20: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-14 15:06:08,682 INFO L272 TraceCheckUtils]: 19: Hoare triple {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2555#true} is VALID [2022-04-14 15:06:08,683 INFO L290 TraceCheckUtils]: 18: Hoare triple {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-14 15:06:08,684 INFO L290 TraceCheckUtils]: 17: Hoare triple {2555#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2832#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-14 15:06:08,684 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2555#true} {2555#true} #63#return; {2555#true} is VALID [2022-04-14 15:06:08,684 INFO L290 TraceCheckUtils]: 15: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-14 15:06:08,684 INFO L290 TraceCheckUtils]: 14: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-14 15:06:08,684 INFO L290 TraceCheckUtils]: 13: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-14 15:06:08,684 INFO L272 TraceCheckUtils]: 12: Hoare triple {2555#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {2555#true} is VALID [2022-04-14 15:06:08,684 INFO L290 TraceCheckUtils]: 11: Hoare triple {2555#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2555#true} is VALID [2022-04-14 15:06:08,685 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2555#true} {2555#true} #61#return; {2555#true} is VALID [2022-04-14 15:06:08,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-14 15:06:08,685 INFO L290 TraceCheckUtils]: 8: Hoare triple {2555#true} assume !(0 == ~cond); {2555#true} is VALID [2022-04-14 15:06:08,685 INFO L290 TraceCheckUtils]: 7: Hoare triple {2555#true} ~cond := #in~cond; {2555#true} is VALID [2022-04-14 15:06:08,685 INFO L272 TraceCheckUtils]: 6: Hoare triple {2555#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {2555#true} is VALID [2022-04-14 15:06:08,685 INFO L290 TraceCheckUtils]: 5: Hoare triple {2555#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2555#true} is VALID [2022-04-14 15:06:08,685 INFO L272 TraceCheckUtils]: 4: Hoare triple {2555#true} call #t~ret8 := main(); {2555#true} is VALID [2022-04-14 15:06:08,685 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2555#true} {2555#true} #69#return; {2555#true} is VALID [2022-04-14 15:06:08,685 INFO L290 TraceCheckUtils]: 2: Hoare triple {2555#true} assume true; {2555#true} is VALID [2022-04-14 15:06:08,685 INFO L290 TraceCheckUtils]: 1: Hoare triple {2555#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {2555#true} is VALID [2022-04-14 15:06:08,685 INFO L272 TraceCheckUtils]: 0: Hoare triple {2555#true} call ULTIMATE.init(); {2555#true} is VALID [2022-04-14 15:06:08,686 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-14 15:06:08,686 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:06:08,686 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1224403095] [2022-04-14 15:06:08,686 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:06:08,686 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1938141433] [2022-04-14 15:06:08,686 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1938141433] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:06:08,686 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:06:08,686 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-14 15:06:08,687 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1997080680] [2022-04-14 15:06:08,687 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:06:08,687 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.142857142857143) internal successors, (44), 14 states have internal predecessors, (44), 10 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 9 states have call predecessors, (11), 9 states have call successors, (11) Word has length 57 [2022-04-14 15:06:08,688 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:06:08,688 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 3.142857142857143) internal successors, (44), 14 states have internal predecessors, (44), 10 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 9 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-14 15:06:08,746 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:06:08,747 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-14 15:06:08,747 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:06:08,747 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-14 15:06:08,747 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-14 15:06:08,748 INFO L87 Difference]: Start difference. First operand 51 states and 59 transitions. Second operand has 14 states, 14 states have (on average 3.142857142857143) internal successors, (44), 14 states have internal predecessors, (44), 10 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 9 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-14 15:06:09,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:09,379 INFO L93 Difference]: Finished difference Result 78 states and 93 transitions. [2022-04-14 15:06:09,379 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-14 15:06:09,379 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.142857142857143) internal successors, (44), 14 states have internal predecessors, (44), 10 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 9 states have call predecessors, (11), 9 states have call successors, (11) Word has length 57 [2022-04-14 15:06:09,380 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:06:09,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.142857142857143) internal successors, (44), 14 states have internal predecessors, (44), 10 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 9 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-14 15:06:09,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 64 transitions. [2022-04-14 15:06:09,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.142857142857143) internal successors, (44), 14 states have internal predecessors, (44), 10 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 9 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-14 15:06:09,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 64 transitions. [2022-04-14 15:06:09,383 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 64 transitions. [2022-04-14 15:06:09,442 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:06:09,443 INFO L225 Difference]: With dead ends: 78 [2022-04-14 15:06:09,444 INFO L226 Difference]: Without dead ends: 72 [2022-04-14 15:06:09,444 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 41 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=64, Invalid=208, Unknown=0, NotChecked=0, Total=272 [2022-04-14 15:06:09,445 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 8 mSDsluCounter, 163 mSDsCounter, 0 mSdLazyCounter, 222 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 195 SdHoareTripleChecker+Invalid, 230 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 222 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-14 15:06:09,445 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 195 Invalid, 230 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 222 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-14 15:06:09,445 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-14 15:06:09,482 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 56. [2022-04-14 15:06:09,482 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:06:09,483 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 56 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 15:06:09,484 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 56 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 15:06:09,484 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 56 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 15:06:09,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:09,488 INFO L93 Difference]: Finished difference Result 72 states and 87 transitions. [2022-04-14 15:06:09,488 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 87 transitions. [2022-04-14 15:06:09,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:06:09,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:06:09,489 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 72 states. [2022-04-14 15:06:09,489 INFO L87 Difference]: Start difference. First operand has 56 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 72 states. [2022-04-14 15:06:09,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:09,493 INFO L93 Difference]: Finished difference Result 72 states and 87 transitions. [2022-04-14 15:06:09,493 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 87 transitions. [2022-04-14 15:06:09,493 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:06:09,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:06:09,493 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:06:09,494 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:06:09,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 40 states have (on average 1.15) internal successors, (46), 40 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 15:06:09,495 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 66 transitions. [2022-04-14 15:06:09,496 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 66 transitions. Word has length 57 [2022-04-14 15:06:09,496 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:06:09,496 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 66 transitions. [2022-04-14 15:06:09,497 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 3.142857142857143) internal successors, (44), 14 states have internal predecessors, (44), 10 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 9 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-14 15:06:09,497 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 66 transitions. [2022-04-14 15:06:09,498 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-14 15:06:09,498 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:06:09,498 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:06:09,530 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:06:09,727 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:06:09,728 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:06:09,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:06:09,728 INFO L85 PathProgramCache]: Analyzing trace with hash 2136090540, now seen corresponding path program 3 times [2022-04-14 15:06:09,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:06:09,729 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [527240314] [2022-04-14 15:06:09,729 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:06:09,729 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:06:09,744 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:06:09,745 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1614078954] [2022-04-14 15:06:09,745 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-14 15:06:09,745 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:06:09,745 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:06:09,746 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:06:09,767 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:06:09,905 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-04-14 15:06:09,905 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 15:06:09,906 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-14 15:06:09,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:06:09,937 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:06:32,646 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:06:40,698 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:06:46,368 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:07:42,117 INFO L272 TraceCheckUtils]: 0: Hoare triple {3248#true} call ULTIMATE.init(); {3248#true} is VALID [2022-04-14 15:07:42,117 INFO L290 TraceCheckUtils]: 1: Hoare triple {3248#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {3248#true} is VALID [2022-04-14 15:07:42,117 INFO L290 TraceCheckUtils]: 2: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-14 15:07:42,117 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3248#true} {3248#true} #69#return; {3248#true} is VALID [2022-04-14 15:07:42,117 INFO L272 TraceCheckUtils]: 4: Hoare triple {3248#true} call #t~ret8 := main(); {3248#true} is VALID [2022-04-14 15:07:42,117 INFO L290 TraceCheckUtils]: 5: Hoare triple {3248#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3248#true} is VALID [2022-04-14 15:07:42,117 INFO L272 TraceCheckUtils]: 6: Hoare triple {3248#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {3248#true} is VALID [2022-04-14 15:07:42,118 INFO L290 TraceCheckUtils]: 7: Hoare triple {3248#true} ~cond := #in~cond; {3274#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 15:07:42,118 INFO L290 TraceCheckUtils]: 8: Hoare triple {3274#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3278#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:07:42,118 INFO L290 TraceCheckUtils]: 9: Hoare triple {3278#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3278#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:07:42,119 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3278#(not (= |assume_abort_if_not_#in~cond| 0))} {3248#true} #61#return; {3285#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-14 15:07:42,119 INFO L290 TraceCheckUtils]: 11: Hoare triple {3285#(and (<= main_~X~0 10) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3285#(and (<= main_~X~0 10) (<= 0 main_~X~0))} is VALID [2022-04-14 15:07:42,119 INFO L272 TraceCheckUtils]: 12: Hoare triple {3285#(and (<= main_~X~0 10) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {3248#true} is VALID [2022-04-14 15:07:42,119 INFO L290 TraceCheckUtils]: 13: Hoare triple {3248#true} ~cond := #in~cond; {3274#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 15:07:42,120 INFO L290 TraceCheckUtils]: 14: Hoare triple {3274#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3278#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:07:42,120 INFO L290 TraceCheckUtils]: 15: Hoare triple {3278#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3278#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:07:42,121 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3278#(not (= |assume_abort_if_not_#in~cond| 0))} {3285#(and (<= main_~X~0 10) (<= 0 main_~X~0))} #63#return; {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,121 INFO L290 TraceCheckUtils]: 17: Hoare triple {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,121 INFO L290 TraceCheckUtils]: 18: Hoare triple {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,121 INFO L272 TraceCheckUtils]: 19: Hoare triple {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3248#true} is VALID [2022-04-14 15:07:42,121 INFO L290 TraceCheckUtils]: 20: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-14 15:07:42,122 INFO L290 TraceCheckUtils]: 21: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-14 15:07:42,122 INFO L290 TraceCheckUtils]: 22: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-14 15:07:42,122 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3248#true} {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} #65#return; {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,122 INFO L290 TraceCheckUtils]: 24: Hoare triple {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,123 INFO L290 TraceCheckUtils]: 25: Hoare triple {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,123 INFO L290 TraceCheckUtils]: 26: Hoare triple {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,124 INFO L290 TraceCheckUtils]: 27: Hoare triple {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,124 INFO L272 TraceCheckUtils]: 28: Hoare triple {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3248#true} is VALID [2022-04-14 15:07:42,124 INFO L290 TraceCheckUtils]: 29: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-14 15:07:42,124 INFO L290 TraceCheckUtils]: 30: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-14 15:07:42,124 INFO L290 TraceCheckUtils]: 31: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-14 15:07:42,124 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3248#true} {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} #65#return; {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,125 INFO L290 TraceCheckUtils]: 33: Hoare triple {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,126 INFO L290 TraceCheckUtils]: 34: Hoare triple {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,126 INFO L290 TraceCheckUtils]: 35: Hoare triple {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,126 INFO L290 TraceCheckUtils]: 36: Hoare triple {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,127 INFO L272 TraceCheckUtils]: 37: Hoare triple {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3248#true} is VALID [2022-04-14 15:07:42,127 INFO L290 TraceCheckUtils]: 38: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-14 15:07:42,127 INFO L290 TraceCheckUtils]: 39: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-14 15:07:42,127 INFO L290 TraceCheckUtils]: 40: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-14 15:07:42,128 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3248#true} {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} #65#return; {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,128 INFO L290 TraceCheckUtils]: 42: Hoare triple {3304#(and (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} assume !!(~x~0 <= ~X~0); {3383#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,129 INFO L290 TraceCheckUtils]: 43: Hoare triple {3383#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3387#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} is VALID [2022-04-14 15:07:42,130 INFO L290 TraceCheckUtils]: 44: Hoare triple {3387#(and (<= main_~x~0 main_~X~0) (<= main_~X~0 10) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 10))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3391#(and (<= main_~X~0 10) (< 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 10))} is VALID [2022-04-14 15:07:42,131 INFO L290 TraceCheckUtils]: 45: Hoare triple {3391#(and (<= main_~X~0 10) (< 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 10))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3395#(and (<= main_~X~0 10) (< 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 10))} is VALID [2022-04-14 15:07:42,131 INFO L272 TraceCheckUtils]: 46: Hoare triple {3395#(and (<= main_~X~0 10) (< 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 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3248#true} is VALID [2022-04-14 15:07:42,131 INFO L290 TraceCheckUtils]: 47: Hoare triple {3248#true} ~cond := #in~cond; {3402#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:07:42,131 INFO L290 TraceCheckUtils]: 48: Hoare triple {3402#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:07:42,132 INFO L290 TraceCheckUtils]: 49: Hoare triple {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:07:42,133 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} {3395#(and (<= main_~X~0 10) (< 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 10))} #65#return; {3413#(and (<= main_~X~0 10) (= (+ (* 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 10))} is VALID [2022-04-14 15:07:42,133 INFO L290 TraceCheckUtils]: 51: Hoare triple {3413#(and (<= main_~X~0 10) (= (+ (* 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 10))} assume !(~x~0 <= ~X~0); {3417#(and (<= main_~X~0 10) (= (+ (* 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 10))} is VALID [2022-04-14 15:07:42,163 INFO L290 TraceCheckUtils]: 52: Hoare triple {3417#(and (<= main_~X~0 10) (= (+ (* 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 10))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3421#(and (<= main_~X~0 10) (< 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 10))} is VALID [2022-04-14 15:07:42,177 INFO L272 TraceCheckUtils]: 53: Hoare triple {3421#(and (<= main_~X~0 10) (< 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 10))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {3425#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:07:42,178 INFO L290 TraceCheckUtils]: 54: Hoare triple {3425#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3429#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:07:42,178 INFO L290 TraceCheckUtils]: 55: Hoare triple {3429#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3249#false} is VALID [2022-04-14 15:07:42,178 INFO L290 TraceCheckUtils]: 56: Hoare triple {3249#false} assume !false; {3249#false} is VALID [2022-04-14 15:07:42,178 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:07:42,178 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:07:51,575 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:07:58,941 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:08:46,702 INFO L290 TraceCheckUtils]: 56: Hoare triple {3249#false} assume !false; {3249#false} is VALID [2022-04-14 15:08:46,703 INFO L290 TraceCheckUtils]: 55: Hoare triple {3429#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3249#false} is VALID [2022-04-14 15:08:46,703 INFO L290 TraceCheckUtils]: 54: Hoare triple {3425#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3429#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:08:46,704 INFO L272 TraceCheckUtils]: 53: Hoare triple {3445#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {3425#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:08:46,705 INFO L290 TraceCheckUtils]: 52: Hoare triple {3449#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3445#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-14 15:08:46,705 INFO L290 TraceCheckUtils]: 51: Hoare triple {3453#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {3449#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-14 15:08:46,706 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} {3457#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {3453#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-14 15:08:46,706 INFO L290 TraceCheckUtils]: 49: Hoare triple {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:08:46,707 INFO L290 TraceCheckUtils]: 48: Hoare triple {3467#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:08:46,707 INFO L290 TraceCheckUtils]: 47: Hoare triple {3248#true} ~cond := #in~cond; {3467#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 15:08:46,707 INFO L272 TraceCheckUtils]: 46: Hoare triple {3457#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3248#true} is VALID [2022-04-14 15:08:48,710 WARN L290 TraceCheckUtils]: 45: Hoare triple {3474#(or (<= main_~x~0 main_~X~0) (and (or (= (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) main_~x~0) 2)) (+ (* main_~Y~0 2) (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 2) (* 2 (* main_~Y~0 main_~x~0)))) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 0)) (= main_~X~0 0) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0))) (or (forall ((main_~y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3457#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is UNKNOWN [2022-04-14 15:08:48,718 INFO L290 TraceCheckUtils]: 44: Hoare triple {3478#(forall ((v_main_~x~0_30 Int)) (or (not (<= v_main_~x~0_30 (+ main_~x~0 1))) (and (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_30 (- 2) main_~Y~0)) 2) 0)) (forall ((main_~y~0 Int)) (= (+ (* 2 (* v_main_~x~0_30 main_~y~0)) main_~X~0 main_~v~0) (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)))) (not (= main_~X~0 0)) (not (= 0 (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0)))) (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_30 (- 2) main_~Y~0)) 2) 0)) (= main_~X~0 0) (= (+ main_~X~0 main_~v~0 (* (* v_main_~x~0_30 (div (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) main_~X~0)) 2)) (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* (div (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) main_~X~0) 2) (* main_~Y~0 2))) (not (= (mod (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) main_~X~0) 0)))) (<= v_main_~x~0_30 main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3474#(or (<= main_~x~0 main_~X~0) (and (or (= (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) main_~x~0) 2)) (+ (* main_~Y~0 2) (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 2) (* 2 (* main_~Y~0 main_~x~0)))) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 0)) (= main_~X~0 0) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0))) (or (forall ((main_~y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0)))))} is VALID [2022-04-14 15:08:50,722 WARN L290 TraceCheckUtils]: 43: Hoare triple {3482#(forall ((v_main_~x~0_30 Int)) (or (not (<= v_main_~x~0_30 (+ main_~x~0 1))) (and (or (forall ((aux_div_v_main_~v~0_36_40 Int) (aux_div_aux_mod_v_main_~v~0_36_40_72 Int)) (or (= (+ (* aux_div_aux_mod_v_main_~v~0_36_40_72 2) (* (* v_main_~x~0_30 (div (+ (* v_main_~x~0_30 main_~Y~0) main_~Y~0 aux_div_v_main_~v~0_36_40) main_~X~0)) 2)) (+ (* 2 aux_div_v_main_~v~0_36_40) (* main_~Y~0 2) (* 2 (div (+ (* v_main_~x~0_30 main_~Y~0) main_~Y~0 aux_div_v_main_~v~0_36_40) main_~X~0)))) (not (= (mod (+ (* v_main_~x~0_30 main_~Y~0) main_~Y~0 (div (+ (* aux_div_aux_mod_v_main_~v~0_36_40_72 2) (* v_main_~x~0_30 main_~Y~0 2) (* (- 2) aux_div_v_main_~v~0_36_40)) (- 2))) main_~X~0) 0)) (< (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* aux_div_aux_mod_v_main_~v~0_36_40_72 2)) 0) (<= 2 (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* aux_div_aux_mod_v_main_~v~0_36_40_72 2))) (<= (+ main_~X~0 (* 2 aux_div_v_main_~v~0_36_40) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* aux_div_aux_mod_v_main_~v~0_36_40_72 2))))) (= main_~X~0 0)) (or (not (= main_~X~0 0)) (<= main_~X~0 (* (* v_main_~x~0_30 main_~Y~0) 2)) (forall ((main_~y~0 Int)) (= (+ (* 2 (* v_main_~x~0_30 main_~y~0)) (* main_~Y~0 2)) (+ (* main_~y~0 2) (* main_~Y~0 2)))))) (<= v_main_~x~0_30 main_~X~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3478#(forall ((v_main_~x~0_30 Int)) (or (not (<= v_main_~x~0_30 (+ main_~x~0 1))) (and (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_30 (- 2) main_~Y~0)) 2) 0)) (forall ((main_~y~0 Int)) (= (+ (* 2 (* v_main_~x~0_30 main_~y~0)) main_~X~0 main_~v~0) (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)))) (not (= main_~X~0 0)) (not (= 0 (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0)))) (or (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_30 (- 2) main_~Y~0)) 2) 0)) (= main_~X~0 0) (= (+ main_~X~0 main_~v~0 (* (* v_main_~x~0_30 (div (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) main_~X~0)) 2)) (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* (div (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) main_~X~0) 2) (* main_~Y~0 2))) (not (= (mod (+ (* v_main_~x~0_30 main_~Y~0) (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0) main_~X~0) 0)))) (<= v_main_~x~0_30 main_~X~0)))} is UNKNOWN [2022-04-14 15:08:52,725 WARN L290 TraceCheckUtils]: 42: Hoare triple {3248#true} assume !!(~x~0 <= ~X~0); {3482#(forall ((v_main_~x~0_30 Int)) (or (not (<= v_main_~x~0_30 (+ main_~x~0 1))) (and (or (forall ((aux_div_v_main_~v~0_36_40 Int) (aux_div_aux_mod_v_main_~v~0_36_40_72 Int)) (or (= (+ (* aux_div_aux_mod_v_main_~v~0_36_40_72 2) (* (* v_main_~x~0_30 (div (+ (* v_main_~x~0_30 main_~Y~0) main_~Y~0 aux_div_v_main_~v~0_36_40) main_~X~0)) 2)) (+ (* 2 aux_div_v_main_~v~0_36_40) (* main_~Y~0 2) (* 2 (div (+ (* v_main_~x~0_30 main_~Y~0) main_~Y~0 aux_div_v_main_~v~0_36_40) main_~X~0)))) (not (= (mod (+ (* v_main_~x~0_30 main_~Y~0) main_~Y~0 (div (+ (* aux_div_aux_mod_v_main_~v~0_36_40_72 2) (* v_main_~x~0_30 main_~Y~0 2) (* (- 2) aux_div_v_main_~v~0_36_40)) (- 2))) main_~X~0) 0)) (< (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* aux_div_aux_mod_v_main_~v~0_36_40_72 2)) 0) (<= 2 (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* aux_div_aux_mod_v_main_~v~0_36_40_72 2))) (<= (+ main_~X~0 (* 2 aux_div_v_main_~v~0_36_40) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_30 main_~Y~0) 2) (* aux_div_aux_mod_v_main_~v~0_36_40_72 2))))) (= main_~X~0 0)) (or (not (= main_~X~0 0)) (<= main_~X~0 (* (* v_main_~x~0_30 main_~Y~0) 2)) (forall ((main_~y~0 Int)) (= (+ (* 2 (* v_main_~x~0_30 main_~y~0)) (* main_~Y~0 2)) (+ (* main_~y~0 2) (* main_~Y~0 2)))))) (<= v_main_~x~0_30 main_~X~0)))} is UNKNOWN [2022-04-14 15:08:52,725 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3248#true} {3248#true} #65#return; {3248#true} is VALID [2022-04-14 15:08:52,725 INFO L290 TraceCheckUtils]: 40: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-14 15:08:52,725 INFO L290 TraceCheckUtils]: 39: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-14 15:08:52,725 INFO L290 TraceCheckUtils]: 38: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-14 15:08:52,725 INFO L272 TraceCheckUtils]: 37: Hoare triple {3248#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3248#true} is VALID [2022-04-14 15:08:52,725 INFO L290 TraceCheckUtils]: 36: Hoare triple {3248#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3248#true} is VALID [2022-04-14 15:08:52,725 INFO L290 TraceCheckUtils]: 35: Hoare triple {3248#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3248#true} is VALID [2022-04-14 15:08:52,725 INFO L290 TraceCheckUtils]: 34: Hoare triple {3248#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3248#true} is VALID [2022-04-14 15:08:52,725 INFO L290 TraceCheckUtils]: 33: Hoare triple {3248#true} assume !!(~x~0 <= ~X~0); {3248#true} is VALID [2022-04-14 15:08:52,725 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3248#true} {3248#true} #65#return; {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L290 TraceCheckUtils]: 31: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L290 TraceCheckUtils]: 30: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L290 TraceCheckUtils]: 29: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L272 TraceCheckUtils]: 28: Hoare triple {3248#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L290 TraceCheckUtils]: 27: Hoare triple {3248#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L290 TraceCheckUtils]: 26: Hoare triple {3248#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L290 TraceCheckUtils]: 25: Hoare triple {3248#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L290 TraceCheckUtils]: 24: Hoare triple {3248#true} assume !!(~x~0 <= ~X~0); {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3248#true} {3248#true} #65#return; {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L290 TraceCheckUtils]: 22: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L290 TraceCheckUtils]: 21: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L290 TraceCheckUtils]: 20: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L272 TraceCheckUtils]: 19: Hoare triple {3248#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L290 TraceCheckUtils]: 18: Hoare triple {3248#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L290 TraceCheckUtils]: 17: Hoare triple {3248#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3248#true} {3248#true} #63#return; {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L290 TraceCheckUtils]: 15: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L290 TraceCheckUtils]: 14: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-14 15:08:52,726 INFO L290 TraceCheckUtils]: 13: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-14 15:08:52,727 INFO L272 TraceCheckUtils]: 12: Hoare triple {3248#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 10 then 1 else 0)); {3248#true} is VALID [2022-04-14 15:08:52,727 INFO L290 TraceCheckUtils]: 11: Hoare triple {3248#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3248#true} is VALID [2022-04-14 15:08:52,727 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3248#true} {3248#true} #61#return; {3248#true} is VALID [2022-04-14 15:08:52,727 INFO L290 TraceCheckUtils]: 9: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-14 15:08:52,727 INFO L290 TraceCheckUtils]: 8: Hoare triple {3248#true} assume !(0 == ~cond); {3248#true} is VALID [2022-04-14 15:08:52,727 INFO L290 TraceCheckUtils]: 7: Hoare triple {3248#true} ~cond := #in~cond; {3248#true} is VALID [2022-04-14 15:08:52,727 INFO L272 TraceCheckUtils]: 6: Hoare triple {3248#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 10 then 1 else 0)); {3248#true} is VALID [2022-04-14 15:08:52,727 INFO L290 TraceCheckUtils]: 5: Hoare triple {3248#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3248#true} is VALID [2022-04-14 15:08:52,727 INFO L272 TraceCheckUtils]: 4: Hoare triple {3248#true} call #t~ret8 := main(); {3248#true} is VALID [2022-04-14 15:08:52,727 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3248#true} {3248#true} #69#return; {3248#true} is VALID [2022-04-14 15:08:52,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {3248#true} assume true; {3248#true} is VALID [2022-04-14 15:08:52,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {3248#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {3248#true} is VALID [2022-04-14 15:08:52,727 INFO L272 TraceCheckUtils]: 0: Hoare triple {3248#true} call ULTIMATE.init(); {3248#true} is VALID [2022-04-14 15:08:52,727 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:08:52,727 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:08:52,728 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [527240314] [2022-04-14 15:08:52,728 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:08:52,728 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1614078954] [2022-04-14 15:08:52,728 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1614078954] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:08:52,728 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:08:52,728 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13] total 25 [2022-04-14 15:08:52,728 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1634035773] [2022-04-14 15:08:52,728 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:08:52,728 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 22 states have internal predecessors, (46), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) Word has length 57 [2022-04-14 15:08:52,729 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:08:52,729 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 22 states have internal predecessors, (46), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-14 15:08:58,402 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 64 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-14 15:08:58,402 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-14 15:08:58,402 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:08:58,402 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-14 15:08:58,403 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=98, Invalid=499, Unknown=3, NotChecked=0, Total=600 [2022-04-14 15:08:58,403 INFO L87 Difference]: Start difference. First operand 56 states and 66 transitions. Second operand has 25 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 22 states have internal predecessors, (46), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-14 15:09:15,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:09:15,650 INFO L93 Difference]: Finished difference Result 62 states and 74 transitions. [2022-04-14 15:09:15,650 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-14 15:09:15,650 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 22 states have internal predecessors, (46), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) Word has length 57 [2022-04-14 15:09:15,650 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:09:15,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 22 states have internal predecessors, (46), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-14 15:09:15,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 45 transitions. [2022-04-14 15:09:15,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 22 states have internal predecessors, (46), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-14 15:09:15,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 45 transitions. [2022-04-14 15:09:15,653 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 45 transitions. [2022-04-14 15:09:18,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 44 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 15:09:18,450 INFO L225 Difference]: With dead ends: 62 [2022-04-14 15:09:18,450 INFO L226 Difference]: Without dead ends: 0 [2022-04-14 15:09:18,451 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 278 ImplicationChecksByTransitivity, 25.1s TimeCoverageRelationStatistics Valid=242, Invalid=1086, Unknown=4, NotChecked=0, Total=1332 [2022-04-14 15:09:18,451 INFO L913 BasicCegarLoop]: 16 mSDtfsCounter, 33 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 332 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 169 SdHoareTripleChecker+Invalid, 398 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 332 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 50 IncrementalHoareTripleChecker+Unchecked, 2.5s IncrementalHoareTripleChecker+Time [2022-04-14 15:09:18,452 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 169 Invalid, 398 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 332 Invalid, 0 Unknown, 50 Unchecked, 2.5s Time] [2022-04-14 15:09:18,452 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-14 15:09:18,452 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-14 15:09:18,452 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:09:18,452 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:09:18,452 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:09:18,452 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:09:18,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:09:18,453 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-14 15:09:18,453 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-14 15:09:18,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:09:18,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:09:18,453 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:09:18,453 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:09:18,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:09:18,453 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-14 15:09:18,453 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-14 15:09:18,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:09:18,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:09:18,453 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:09:18,453 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:09:18,454 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:09:18,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-14 15:09:18,454 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 57 [2022-04-14 15:09:18,454 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:09:18,454 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-14 15:09:18,454 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 21 states have (on average 2.1904761904761907) internal successors, (46), 22 states have internal predecessors, (46), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-14 15:09:18,454 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-14 15:09:18,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:09:18,456 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-14 15:09:18,461 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-14 15:09:18,657 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:09:18,659 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-14 15:09:43,695 WARN L232 SmtUtils]: Spent 24.93s on a formula simplification. DAG size of input: 114 DAG size of output: 49 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-14 15:09:58,777 WARN L232 SmtUtils]: Spent 15.06s on a formula simplification. DAG size of input: 134 DAG size of output: 45 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-14 15:09:59,036 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 7) no Hoare annotation was computed. [2022-04-14 15:09:59,036 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 7) no Hoare annotation was computed. [2022-04-14 15:09:59,036 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 7) no Hoare annotation was computed. [2022-04-14 15:09:59,036 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 10 12) the Hoare annotation is: true [2022-04-14 15:09:59,036 INFO L882 garLoopResultBuilder]: For program point L11(line 11) no Hoare annotation was computed. [2022-04-14 15:09:59,036 INFO L882 garLoopResultBuilder]: For program point L11-2(lines 10 12) no Hoare annotation was computed. [2022-04-14 15:09:59,037 INFO L882 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 10 12) no Hoare annotation was computed. [2022-04-14 15:09:59,037 INFO L878 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= main_~X~0 10) (<= 0 main_~X~0)) [2022-04-14 15:09:59,037 INFO L882 garLoopResultBuilder]: For program point L27-1(line 27) no Hoare annotation was computed. [2022-04-14 15:09:59,037 INFO L885 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-14 15:09:59,037 INFO L882 garLoopResultBuilder]: For program point mainEXIT(lines 21 53) no Hoare annotation was computed. [2022-04-14 15:09:59,037 INFO L882 garLoopResultBuilder]: For program point L25-1(line 25) no Hoare annotation was computed. [2022-04-14 15:09:59,037 INFO L878 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse2 (* main_~y~0 2)) (.cse0 (* main_~Y~0 2)) (.cse1 (* 2 (* main_~Y~0 main_~x~0)))) (and (= (+ .cse0 .cse1) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (+ .cse2 .cse0 (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0)) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ .cse2 .cse0 .cse1)))) [2022-04-14 15:09:59,037 INFO L882 garLoopResultBuilder]: For program point L50-1(line 50) no Hoare annotation was computed. [2022-04-14 15:09:59,037 INFO L882 garLoopResultBuilder]: For program point mainFINAL(lines 21 53) no Hoare annotation was computed. [2022-04-14 15:09:59,037 INFO L882 garLoopResultBuilder]: For program point L40(lines 40 45) no Hoare annotation was computed. [2022-04-14 15:09:59,037 INFO L882 garLoopResultBuilder]: For program point L40-2(lines 40 45) no Hoare annotation was computed. [2022-04-14 15:09:59,037 INFO L878 garLoopResultBuilder]: At program point L32-2(lines 32 47) the Hoare annotation is: (let ((.cse4 (* main_~Y~0 main_~x~0))) (let ((.cse0 (* main_~Y~0 2)) (.cse1 (* 2 .cse4))) (and (<= main_~X~0 10) (= (+ .cse0 .cse1) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (or (<= main_~x~0 main_~X~0) (and (let ((.cse3 (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 .cse4))) (or (let ((.cse2 (div .cse3 main_~X~0))) (= (+ main_~X~0 main_~v~0 (* (* .cse2 main_~x~0) 2)) (+ .cse0 (* .cse2 2) .cse1))) (not (= (mod .cse3 main_~X~0) 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))))) (<= main_~Y~0 10)))) [2022-04-14 15:09:59,038 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 21 53) the Hoare annotation is: true [2022-04-14 15:09:59,038 INFO L882 garLoopResultBuilder]: For program point L32-3(lines 32 47) no Hoare annotation was computed. [2022-04-14 15:09:59,038 INFO L878 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse1 (* main_~Y~0 2)) (.cse0 (* 2 main_~xy~0)) (.cse4 (* 2 (* main_~Y~0 main_~x~0))) (.cse2 (* 2 main_~yx~0)) (.cse3 (<= main_~x~0 main_~X~0))) (and (= (+ .cse0 main_~X~0 main_~v~0) (+ .cse1 .cse2)) (or .cse3 (forall ((main_~y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))) (not (= main_~X~0 0))) (<= main_~X~0 10) (= (+ .cse1 .cse4) (+ (* (* 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) .cse4) (+ (* 2 (* main_~y~0 main_~x~0)) .cse2)) .cse3) (<= main_~Y~0 10))) [2022-04-14 15:09:59,038 INFO L882 garLoopResultBuilder]: For program point L35-1(lines 32 47) no Hoare annotation was computed. [2022-04-14 15:09:59,038 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-14 15:09:59,038 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:09:59,038 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-14 15:09:59,038 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-14 15:09:59,038 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-14 15:09:59,038 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-14 15:09:59,038 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-14 15:09:59,038 INFO L882 garLoopResultBuilder]: For program point L15(lines 15 16) no Hoare annotation was computed. [2022-04-14 15:09:59,038 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 13 19) the Hoare annotation is: true [2022-04-14 15:09:59,038 INFO L882 garLoopResultBuilder]: For program point L14(lines 14 17) no Hoare annotation was computed. [2022-04-14 15:09:59,039 INFO L882 garLoopResultBuilder]: For program point L14-2(lines 13 19) no Hoare annotation was computed. [2022-04-14 15:09:59,039 INFO L882 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 13 19) no Hoare annotation was computed. [2022-04-14 15:09:59,039 INFO L882 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 16) no Hoare annotation was computed. [2022-04-14 15:09:59,042 INFO L719 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1, 1, 1] [2022-04-14 15:09:59,042 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-14 15:09:59,045 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-14 15:09:59,046 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-14 15:09:59,046 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-14 15:09:59,046 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-14 15:09:59,046 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-14 15:09:59,046 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-14 15:09:59,047 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-14 15:09:59,047 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-14 15:09:59,047 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-14 15:09:59,047 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-14 15:09:59,047 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-14 15:09:59,055 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-14 15:09:59,055 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-14 15:09:59,055 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-14 15:09:59,055 WARN L170 areAnnotationChecker]: L11-2 has no Hoare annotation [2022-04-14 15:09:59,055 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-14 15:09:59,056 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-14 15:09:59,056 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-14 15:09:59,056 WARN L170 areAnnotationChecker]: L14-2 has no Hoare annotation [2022-04-14 15:09:59,056 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-14 15:09:59,056 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-14 15:09:59,056 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2022-04-14 15:09:59,056 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-14 15:09:59,056 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-14 15:09:59,056 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2022-04-14 15:09:59,056 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-14 15:09:59,056 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-14 15:09:59,056 WARN L170 areAnnotationChecker]: L50-1 has no Hoare annotation [2022-04-14 15:09:59,056 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-14 15:09:59,056 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-14 15:10:01,060 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-14 15:10:01,060 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-14 15:10:01,060 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-14 15:10:01,060 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-14 15:10:01,060 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-14 15:10:01,061 WARN L170 areAnnotationChecker]: L50-1 has no Hoare annotation [2022-04-14 15:10:01,061 WARN L170 areAnnotationChecker]: L40-2 has no Hoare annotation [2022-04-14 15:10:01,061 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-14 15:10:01,061 INFO L163 areAnnotationChecker]: CFG has 8 edges. 7 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-14 15:10:01,065 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-14 15:10:01,065 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-14 15:10:01,068 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-14 15:10:01,069 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-14 15:10:01,072 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.04 03:10:01 BoogieIcfgContainer [2022-04-14 15:10:01,072 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-14 15:10:01,072 INFO L158 Benchmark]: Toolchain (without parser) took 322972.12ms. Allocated memory was 186.6MB in the beginning and 224.4MB in the end (delta: 37.7MB). Free memory was 136.1MB in the beginning and 198.7MB in the end (delta: -62.7MB). Peak memory consumption was 106.1MB. Max. memory is 8.0GB. [2022-04-14 15:10:01,072 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 186.6MB. Free memory was 152.3MB in the beginning and 152.2MB in the end (delta: 69.8kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-14 15:10:01,073 INFO L158 Benchmark]: CACSL2BoogieTranslator took 222.73ms. Allocated memory is still 186.6MB. Free memory was 135.8MB in the beginning and 160.4MB in the end (delta: -24.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-14 15:10:01,073 INFO L158 Benchmark]: Boogie Preprocessor took 48.49ms. Allocated memory is still 186.6MB. Free memory was 160.4MB in the beginning and 159.0MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-14 15:10:01,073 INFO L158 Benchmark]: RCFGBuilder took 311.85ms. Allocated memory is still 186.6MB. Free memory was 158.7MB in the beginning and 146.9MB in the end (delta: 11.8MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-14 15:10:01,073 INFO L158 Benchmark]: TraceAbstraction took 322360.40ms. Allocated memory was 186.6MB in the beginning and 224.4MB in the end (delta: 37.7MB). Free memory was 146.4MB in the beginning and 198.7MB in the end (delta: -52.3MB). Peak memory consumption was 118.1MB. Max. memory is 8.0GB. [2022-04-14 15:10:01,074 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 186.6MB. Free memory was 152.3MB in the beginning and 152.2MB in the end (delta: 69.8kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 222.73ms. Allocated memory is still 186.6MB. Free memory was 135.8MB in the beginning and 160.4MB in the end (delta: -24.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 48.49ms. Allocated memory is still 186.6MB. Free memory was 160.4MB in the beginning and 159.0MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 311.85ms. Allocated memory is still 186.6MB. Free memory was 158.7MB in the beginning and 146.9MB in the end (delta: 11.8MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 322360.40ms. Allocated memory was 186.6MB in the beginning and 224.4MB in the end (delta: 37.7MB). Free memory was 146.4MB in the beginning and 198.7MB in the end (delta: -52.3MB). Peak memory consumption was 118.1MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 16]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 35 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 320.2s, OverallIterations: 8, TraceHistogramMax: 5, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 43.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 40.4s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 6 mSolverCounterUnknown, 151 SdHoareTripleChecker+Valid, 15.8s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 143 mSDsluCounter, 1078 SdHoareTripleChecker+Invalid, 15.8s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 148 IncrementalHoareTripleChecker+Unchecked, 886 mSDsCounter, 96 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1300 IncrementalHoareTripleChecker+Invalid, 1550 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 96 mSolverCounterUnsat, 192 mSDtfsCounter, 1300 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 634 GetRequests, 493 SyntacticMatches, 6 SemanticMatches, 135 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 669 ImplicationChecksByTransitivity, 32.9s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=56occurred in iteration=7, InterpolantAutomatonStates: 103, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.2s AutomataMinimizationTime, 8 MinimizatonAttempts, 43 StatesRemovedByMinimization, 6 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 11 LocationsWithAnnotation, 29 PreInvPairs, 50 NumberOfFragments, 300 HoareAnnotationTreeSize, 29 FomulaSimplifications, 792 FormulaSimplificationTreeSizeReduction, 0.1s HoareSimplificationTime, 11 FomulaSimplificationsInter, 4622 FormulaSimplificationTreeSizeReductionInter, 40.3s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 226.2s InterpolantComputationTime, 327 NumberOfCodeBlocks, 309 NumberOfCodeBlocksAsserted, 10 NumberOfCheckSat, 594 ConstructedInterpolants, 6 QuantifiedInterpolants, 3384 SizeOfPredicates, 50 NumberOfNonLiveVariables, 854 ConjunctsInSsa, 128 ConjunctsInUnsatCore, 14 InterpolantComputations, 2 PerfectInterpolantSequences, 339/426 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 32]: Loop Invariant [2022-04-14 15:10:01,080 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-14 15:10:01,080 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-14 15:10:01,080 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-14 15:10:01,080 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] Derived loop invariant: ((((X <= 10 && Y * 2 + 2 * (Y * x) == X * y * 2 + X + v) && 0 <= Y) && 0 <= X) && (x <= X || ((X + v + ((X + v) / -2 + Y + Y * x) / X * x * 2 == Y * 2 + ((X + v) / -2 + Y + Y * x) / X * 2 + 2 * (Y * x) || !(((X + v) / -2 + Y + Y * x) % X == 0)) && ((forall main_~y~0 : int :: 2 * (main_~y~0 * x) + X + v == main_~y~0 * 2 + Y * 2 + 2 * (Y * x)) || !(X == 0))))) && Y <= 10 RESULT: Ultimate proved your program to be correct! [2022-04-14 15:10:01,203 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...