/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_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-14 15:01:57,797 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-14 15:01:57,799 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-14 15:01:57,840 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-14 15:01:57,840 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-14 15:01:57,841 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-14 15:01:57,842 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-14 15:01:57,859 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-14 15:01:57,863 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-14 15:01:57,868 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-14 15:01:57,869 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-14 15:01:57,871 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-14 15:01:57,871 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-14 15:01:57,872 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-14 15:01:57,873 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-14 15:01:57,875 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-14 15:01:57,875 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-14 15:01:57,876 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-14 15:01:57,881 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-14 15:01:57,885 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-14 15:01:57,886 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-14 15:01:57,887 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-14 15:01:57,888 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-14 15:01:57,905 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-14 15:01:57,907 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-14 15:01:57,910 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-14 15:01:57,910 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-14 15:01:57,911 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-14 15:01:57,911 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-14 15:01:57,912 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-14 15:01:57,913 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-14 15:01:57,913 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-14 15:01:57,914 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-14 15:01:57,914 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-14 15:01:57,915 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-14 15:01:57,915 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-14 15:01:57,915 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-14 15:01:57,916 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-14 15:01:57,916 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-14 15:01:57,916 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-14 15:01:57,916 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-14 15:01:57,918 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-14 15:01:57,918 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:01:57,949 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-14 15:01:57,950 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-14 15:01:57,950 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-14 15:01:57,950 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-14 15:01:57,950 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-14 15:01:57,951 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-14 15:01:57,951 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-14 15:01:57,951 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-14 15:01:57,951 INFO L138 SettingsManager]: * Use SBE=true [2022-04-14 15:01:57,952 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-14 15:01:57,952 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-14 15:01:57,952 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-14 15:01:57,952 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-14 15:01:57,952 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-14 15:01:57,952 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-14 15:01:57,952 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-14 15:01:57,952 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-14 15:01:57,952 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-14 15:01:57,953 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-14 15:01:57,953 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-14 15:01:57,953 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-14 15:01:57,953 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-14 15:01:57,953 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-14 15:01:57,953 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-14 15:01:57,953 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 15:01:57,953 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-14 15:01:57,953 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-14 15:01:57,953 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-14 15:01:57,953 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-14 15:01:57,954 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-14 15:01:57,954 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-14 15:01:57,954 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-14 15:01:57,954 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-14 15:01:57,954 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:01:58,135 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-14 15:01:58,149 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-14 15:01:58,151 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-14 15:01:58,152 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-14 15:01:58,152 INFO L275 PluginConnector]: CDTParser initialized [2022-04-14 15:01:58,153 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound1.c [2022-04-14 15:01:58,190 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b36ec9332/cec8a7bd56dc427889a2ca41748478fd/FLAGf0128fa9e [2022-04-14 15:01:58,562 INFO L306 CDTParser]: Found 1 translation units. [2022-04-14 15:01:58,562 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound1.c [2022-04-14 15:01:58,567 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b36ec9332/cec8a7bd56dc427889a2ca41748478fd/FLAGf0128fa9e [2022-04-14 15:01:59,003 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b36ec9332/cec8a7bd56dc427889a2ca41748478fd [2022-04-14 15:01:59,006 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-14 15:01:59,007 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-14 15:01:59,008 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-14 15:01:59,008 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-14 15:01:59,010 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-14 15:01:59,011 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 03:01:59" (1/1) ... [2022-04-14 15:01:59,012 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@352a03ab and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:59, skipping insertion in model container [2022-04-14 15:01:59,013 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 03:01:59" (1/1) ... [2022-04-14 15:01:59,017 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-14 15:01:59,029 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-14 15:01:59,185 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_valuebound1.c[597,610] [2022-04-14 15:01:59,197 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 15:01:59,202 INFO L203 MainTranslator]: Completed pre-run [2022-04-14 15:01:59,209 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_valuebound1.c[597,610] [2022-04-14 15:01:59,215 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 15:01:59,223 INFO L208 MainTranslator]: Completed translation [2022-04-14 15:01:59,223 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:59 WrapperNode [2022-04-14 15:01:59,223 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-14 15:01:59,224 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-14 15:01:59,224 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-14 15:01:59,224 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-14 15:01:59,230 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:59" (1/1) ... [2022-04-14 15:01:59,230 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:59" (1/1) ... [2022-04-14 15:01:59,234 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:59" (1/1) ... [2022-04-14 15:01:59,234 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:59" (1/1) ... [2022-04-14 15:01:59,237 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:59" (1/1) ... [2022-04-14 15:01:59,240 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:59" (1/1) ... [2022-04-14 15:01:59,240 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:59" (1/1) ... [2022-04-14 15:01:59,241 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-14 15:01:59,242 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-14 15:01:59,242 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-14 15:01:59,242 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-14 15:01:59,242 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:59" (1/1) ... [2022-04-14 15:01:59,247 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 15:01:59,252 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:01:59,260 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:01:59,280 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:01:59,298 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-14 15:01:59,299 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-14 15:01:59,299 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-14 15:01:59,299 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-14 15:01:59,299 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-14 15:01:59,299 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-14 15:01:59,299 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-14 15:01:59,299 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-14 15:01:59,299 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-14 15:01:59,299 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-14 15:01:59,299 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-14 15:01:59,299 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-14 15:01:59,299 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-14 15:01:59,299 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-14 15:01:59,300 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-14 15:01:59,300 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-14 15:01:59,300 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-14 15:01:59,300 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-14 15:01:59,300 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-14 15:01:59,300 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-14 15:01:59,345 INFO L234 CfgBuilder]: Building ICFG [2022-04-14 15:01:59,346 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-14 15:01:59,478 INFO L275 CfgBuilder]: Performing block encoding [2022-04-14 15:01:59,483 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-14 15:01:59,483 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-14 15:01:59,484 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 03:01:59 BoogieIcfgContainer [2022-04-14 15:01:59,484 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-14 15:01:59,485 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-14 15:01:59,485 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-14 15:01:59,487 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-14 15:01:59,487 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.04 03:01:59" (1/3) ... [2022-04-14 15:01:59,487 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5e43ea62 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 03:01:59, skipping insertion in model container [2022-04-14 15:01:59,488 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:59" (2/3) ... [2022-04-14 15:01:59,488 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5e43ea62 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 03:01:59, skipping insertion in model container [2022-04-14 15:01:59,488 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 03:01:59" (3/3) ... [2022-04-14 15:01:59,488 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound1.c [2022-04-14 15:01:59,491 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-14 15:01:59,491 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-14 15:01:59,517 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-14 15:01:59,521 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:01:59,521 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-14 15:01:59,534 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:01:59,537 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-14 15:01:59,537 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:01:59,537 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:01:59,538 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:01:59,541 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:01:59,541 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-14 15:01:59,546 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:01:59,547 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [578837128] [2022-04-14 15:01:59,547 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:01:59,547 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:01:59,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:59,750 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-14 15:01:59,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:59,771 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:01:59,771 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-14 15:01:59,771 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-14 15:01:59,772 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-14 15:01:59,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:59,787 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 15:01:59,788 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 15:01:59,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 15:01:59,789 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-14 15:01:59,789 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-14 15:01:59,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:59,810 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 15:01:59,811 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 15:01:59,811 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 15:01:59,811 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-14 15:01:59,813 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:01:59,813 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:01:59,813 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-14 15:01:59,814 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-14 15:01:59,814 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-14 15:01:59,814 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:01:59,814 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 1 then 1 else 0)); {35#true} is VALID [2022-04-14 15:01:59,814 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 15:01:59,815 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 15:01:59,815 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 15:01:59,815 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-14 15:01:59,816 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:01:59,816 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 1 then 1 else 0)); {35#true} is VALID [2022-04-14 15:01:59,816 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 15:01:59,817 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 15:01:59,817 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 15:01:59,817 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-14 15:01:59,817 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:01:59,817 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:01:59,817 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:01:59,817 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-14 15:01:59,818 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-14 15:01:59,818 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-14 15:01:59,818 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:01:59,818 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:01:59,819 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [578837128] [2022-04-14 15:01:59,819 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [578837128] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 15:01:59,819 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 15:01:59,819 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-14 15:01:59,823 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [788637827] [2022-04-14 15:01:59,824 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 15:01:59,827 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:01:59,828 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:01:59,830 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:01:59,862 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:01:59,862 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-14 15:01:59,863 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:01:59,882 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-14 15:01:59,883 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-14 15:01:59,885 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:02:00,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:02:00,006 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-14 15:02:00,006 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-14 15:02:00,006 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:02:00,006 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:02:00,007 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:02:00,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-14 15:02:00,014 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:02:00,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-14 15:02:00,020 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-14 15:02:00,095 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:02:00,101 INFO L225 Difference]: With dead ends: 57 [2022-04-14 15:02:00,101 INFO L226 Difference]: Without dead ends: 27 [2022-04-14 15:02:00,103 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:02:00,105 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:02:00,106 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:02:00,116 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-14 15:02:00,125 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-14 15:02:00,125 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:02:00,126 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:02:00,126 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:02:00,126 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:02:00,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:02:00,129 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-14 15:02:00,130 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 15:02:00,130 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:02:00,130 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:02:00,130 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:02:00,131 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:02:00,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:02:00,133 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-14 15:02:00,133 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 15:02:00,133 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:02:00,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:02:00,134 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:02:00,134 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:02:00,134 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:02:00,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-14 15:02:00,137 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-14 15:02:00,137 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:02:00,137 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-14 15:02:00,147 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:02:00,147 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 15:02:00,148 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-14 15:02:00,148 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:02:00,148 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:02:00,148 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-14 15:02:00,149 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:02:00,149 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:02:00,149 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-14 15:02:00,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:02:00,149 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [773117128] [2022-04-14 15:02:00,150 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:02:00,150 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:02:00,173 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:02:00,173 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [165006411] [2022-04-14 15:02:00,173 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:02:00,174 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:02:00,174 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:02:00,186 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:02:00,187 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:02:00,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:02:00,226 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 15:02:00,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:02:00,237 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:02:00,367 INFO L272 TraceCheckUtils]: 0: Hoare triple {217#true} call ULTIMATE.init(); {217#true} is VALID [2022-04-14 15:02:00,367 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:02:00,367 INFO L290 TraceCheckUtils]: 2: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-14 15:02:00,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {217#true} {217#true} #69#return; {217#true} is VALID [2022-04-14 15:02:00,367 INFO L272 TraceCheckUtils]: 4: Hoare triple {217#true} call #t~ret8 := main(); {217#true} is VALID [2022-04-14 15:02:00,368 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:02:00,368 INFO L272 TraceCheckUtils]: 6: Hoare triple {217#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 1 then 1 else 0)); {217#true} is VALID [2022-04-14 15:02:00,368 INFO L290 TraceCheckUtils]: 7: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-04-14 15:02:00,368 INFO L290 TraceCheckUtils]: 8: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-04-14 15:02:00,368 INFO L290 TraceCheckUtils]: 9: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-14 15:02:00,368 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {217#true} {217#true} #61#return; {217#true} is VALID [2022-04-14 15:02:00,368 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:02:00,369 INFO L272 TraceCheckUtils]: 12: Hoare triple {217#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 1 then 1 else 0)); {217#true} is VALID [2022-04-14 15:02:00,369 INFO L290 TraceCheckUtils]: 13: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-04-14 15:02:00,369 INFO L290 TraceCheckUtils]: 14: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-04-14 15:02:00,369 INFO L290 TraceCheckUtils]: 15: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-14 15:02:00,369 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {217#true} {217#true} #63#return; {217#true} is VALID [2022-04-14 15:02:00,370 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:02:00,370 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:02:00,371 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:02:00,372 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:02:00,372 INFO L290 TraceCheckUtils]: 21: Hoare triple {285#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {218#false} is VALID [2022-04-14 15:02:00,372 INFO L290 TraceCheckUtils]: 22: Hoare triple {218#false} assume !false; {218#false} is VALID [2022-04-14 15:02:00,373 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:02:00,373 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 15:02:00,373 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:02:00,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [773117128] [2022-04-14 15:02:00,373 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:02:00,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [165006411] [2022-04-14 15:02:00,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [165006411] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 15:02:00,374 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 15:02:00,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-14 15:02:00,374 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2119419480] [2022-04-14 15:02:00,375 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 15:02:00,375 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:02:00,375 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:02:00,376 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:02:00,390 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:02:00,390 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-14 15:02:00,391 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:02:00,391 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-14 15:02:00,391 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-14 15:02:00,392 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:02:00,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:02:00,581 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-14 15:02:00,581 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-14 15:02:00,581 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:02:00,582 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:02:00,582 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:02:00,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-14 15:02:00,584 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:02:00,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-14 15:02:00,585 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-14 15:02:00,617 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:02:00,618 INFO L225 Difference]: With dead ends: 39 [2022-04-14 15:02:00,618 INFO L226 Difference]: Without dead ends: 35 [2022-04-14 15:02:00,619 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:02:00,619 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 10 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-14 15:02:00,620 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.0s Time] [2022-04-14 15:02:00,620 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-14 15:02:00,625 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-14 15:02:00,625 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:02:00,625 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:02:00,626 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:02:00,626 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:02:00,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:02:00,628 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-14 15:02:00,628 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-14 15:02:00,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:02:00,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:02:00,629 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:02:00,629 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:02:00,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:02:00,631 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-14 15:02:00,631 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-14 15:02:00,631 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:02:00,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:02:00,631 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:02:00,631 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:02:00,632 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:02:00,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-14 15:02:00,633 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-14 15:02:00,633 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:02:00,633 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-14 15:02:00,634 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:02:00,634 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-14 15:02:00,634 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-14 15:02:00,634 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:02:00,634 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:02:00,654 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:02:00,851 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:02:00,852 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:02:00,852 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:02:00,852 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-14 15:02:00,852 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:02:00,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [533775336] [2022-04-14 15:02:00,853 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:02:00,853 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:02:00,868 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:02:00,868 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1702827836] [2022-04-14 15:02:00,868 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:02:00,868 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:02:00,869 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:02:00,869 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:02:00,911 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:02:00,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:02:00,944 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-14 15:02:00,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:02:00,955 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:02:08,269 INFO L272 TraceCheckUtils]: 0: Hoare triple {467#true} call ULTIMATE.init(); {467#true} is VALID [2022-04-14 15:02:08,270 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:02:08,270 INFO L290 TraceCheckUtils]: 2: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-14 15:02:08,270 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {467#true} {467#true} #69#return; {467#true} is VALID [2022-04-14 15:02:08,270 INFO L272 TraceCheckUtils]: 4: Hoare triple {467#true} call #t~ret8 := main(); {467#true} is VALID [2022-04-14 15:02:08,271 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:02:08,271 INFO L272 TraceCheckUtils]: 6: Hoare triple {467#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 1 then 1 else 0)); {467#true} is VALID [2022-04-14 15:02:08,271 INFO L290 TraceCheckUtils]: 7: Hoare triple {467#true} ~cond := #in~cond; {493#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 15:02:08,272 INFO L290 TraceCheckUtils]: 8: Hoare triple {493#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {497#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:02:08,272 INFO L290 TraceCheckUtils]: 9: Hoare triple {497#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {497#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:02:08,273 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {497#(not (= |assume_abort_if_not_#in~cond| 0))} {467#true} #61#return; {504#(and (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:02:08,273 INFO L290 TraceCheckUtils]: 11: Hoare triple {504#(and (<= 0 main_~X~0) (<= main_~X~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {504#(and (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:02:08,273 INFO L272 TraceCheckUtils]: 12: Hoare triple {504#(and (<= 0 main_~X~0) (<= main_~X~0 1))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 1 then 1 else 0)); {467#true} is VALID [2022-04-14 15:02:08,274 INFO L290 TraceCheckUtils]: 13: Hoare triple {467#true} ~cond := #in~cond; {493#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 15:02:08,274 INFO L290 TraceCheckUtils]: 14: Hoare triple {493#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {497#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:02:08,275 INFO L290 TraceCheckUtils]: 15: Hoare triple {497#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {497#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:02:08,275 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {497#(not (= |assume_abort_if_not_#in~cond| 0))} {504#(and (<= 0 main_~X~0) (<= main_~X~0 1))} #63#return; {523#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:02:08,276 INFO L290 TraceCheckUtils]: 17: Hoare triple {523#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {527#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} is VALID [2022-04-14 15:02:08,276 INFO L290 TraceCheckUtils]: 18: Hoare triple {527#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {527#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} is VALID [2022-04-14 15:02:08,277 INFO L272 TraceCheckUtils]: 19: Hoare triple {527#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= 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:02:08,277 INFO L290 TraceCheckUtils]: 20: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-14 15:02:08,277 INFO L290 TraceCheckUtils]: 21: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-14 15:02:08,277 INFO L290 TraceCheckUtils]: 22: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-14 15:02:08,278 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {467#true} {527#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} #65#return; {527#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} is VALID [2022-04-14 15:02:08,278 INFO L290 TraceCheckUtils]: 24: Hoare triple {527#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {527#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} is VALID [2022-04-14 15:02:08,279 INFO L290 TraceCheckUtils]: 25: Hoare triple {527#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {552#(and (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= main_~X~0 1) (= main_~y~0 0))} is VALID [2022-04-14 15:02:08,279 INFO L290 TraceCheckUtils]: 26: Hoare triple {552#(and (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= main_~X~0 1) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {552#(and (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= main_~X~0 1) (= main_~y~0 0))} is VALID [2022-04-14 15:02:08,281 INFO L290 TraceCheckUtils]: 27: Hoare triple {552#(and (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= main_~X~0 1) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {559#(and (= main_~xy~0 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= main_~X~0 1) (= main_~yx~0 0))} is VALID [2022-04-14 15:02:08,282 INFO L272 TraceCheckUtils]: 28: Hoare triple {559#(and (= main_~xy~0 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (<= main_~X~0 1) (= main_~yx~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {563#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:02:08,282 INFO L290 TraceCheckUtils]: 29: Hoare triple {563#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {567#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:02:08,282 INFO L290 TraceCheckUtils]: 30: Hoare triple {567#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {468#false} is VALID [2022-04-14 15:02:08,282 INFO L290 TraceCheckUtils]: 31: Hoare triple {468#false} assume !false; {468#false} is VALID [2022-04-14 15:02:08,283 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 15:02:08,283 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:04:17,899 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:04:17,899 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [533775336] [2022-04-14 15:04:17,899 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:04:17,899 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1702827836] [2022-04-14 15:04:17,899 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1702827836] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-14 15:04:17,900 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-14 15:04:17,900 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-14 15:04:17,900 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1738193559] [2022-04-14 15:04:17,900 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-14 15:04:17,900 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-14 15:04:17,901 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:04:17,901 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 15:04:17,924 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:04:17,925 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-14 15:04:17,925 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:04:17,925 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-14 15:04:17,925 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=144, Unknown=0, NotChecked=0, Total=182 [2022-04-14 15:04:17,926 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 15:04:18,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:18,328 INFO L93 Difference]: Finished difference Result 61 states and 70 transitions. [2022-04-14 15:04:18,328 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-14 15:04:18,328 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-14 15:04:18,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:04:18,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 15:04:18,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-14 15:04:18,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 15:04:18,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-14 15:04:18,333 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 67 transitions. [2022-04-14 15:04:18,385 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:04:18,386 INFO L225 Difference]: With dead ends: 61 [2022-04-14 15:04:18,386 INFO L226 Difference]: Without dead ends: 35 [2022-04-14 15:04:18,386 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-14 15:04:18,387 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 26 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 146 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 124 SdHoareTripleChecker+Invalid, 159 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 146 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 15:04:18,387 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 124 Invalid, 159 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 146 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 15:04:18,388 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-14 15:04:18,402 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-14 15:04:18,403 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:04:18,403 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-14 15:04:18,403 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-14 15:04:18,403 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-14 15:04:18,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:18,405 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-14 15:04:18,405 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-14 15:04:18,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:18,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:18,406 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-14 15:04:18,406 INFO L87 Difference]: Start difference. First operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-14 15:04:18,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:18,407 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-14 15:04:18,407 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-14 15:04:18,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:18,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:18,408 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:04:18,408 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:04:18,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-14 15:04:18,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 38 transitions. [2022-04-14 15:04:18,409 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 38 transitions. Word has length 32 [2022-04-14 15:04:18,409 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:04:18,410 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 38 transitions. [2022-04-14 15:04:18,411 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 15:04:18,411 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-14 15:04:18,411 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-14 15:04:18,412 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:04:18,412 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:18,428 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:18,628 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:18,629 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:04:18,629 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:04:18,631 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-14 15:04:18,631 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:04:18,639 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [354368856] [2022-04-14 15:04:18,639 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:18,640 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:04:18,657 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:04:18,657 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1703769790] [2022-04-14 15:04:18,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:18,657 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:04:18,657 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:04:18,661 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:18,703 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:18,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:18,714 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-14 15:04:18,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:18,724 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:04:19,182 INFO L272 TraceCheckUtils]: 0: Hoare triple {812#true} call ULTIMATE.init(); {812#true} is VALID [2022-04-14 15:04:19,183 INFO L290 TraceCheckUtils]: 1: Hoare triple {812#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {812#true} is VALID [2022-04-14 15:04:19,183 INFO L290 TraceCheckUtils]: 2: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-14 15:04:19,183 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {812#true} {812#true} #69#return; {812#true} is VALID [2022-04-14 15:04:19,183 INFO L272 TraceCheckUtils]: 4: Hoare triple {812#true} call #t~ret8 := main(); {812#true} is VALID [2022-04-14 15:04:19,183 INFO L290 TraceCheckUtils]: 5: Hoare triple {812#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {812#true} is VALID [2022-04-14 15:04:19,183 INFO L272 TraceCheckUtils]: 6: Hoare triple {812#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 1 then 1 else 0)); {812#true} is VALID [2022-04-14 15:04:19,184 INFO L290 TraceCheckUtils]: 7: Hoare triple {812#true} ~cond := #in~cond; {838#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 15:04:19,184 INFO L290 TraceCheckUtils]: 8: Hoare triple {838#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {842#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:04:19,184 INFO L290 TraceCheckUtils]: 9: Hoare triple {842#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {842#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:04:19,185 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {842#(not (= |assume_abort_if_not_#in~cond| 0))} {812#true} #61#return; {849#(and (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:04:19,186 INFO L290 TraceCheckUtils]: 11: Hoare triple {849#(and (<= 0 main_~X~0) (<= main_~X~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {849#(and (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:04:19,186 INFO L272 TraceCheckUtils]: 12: Hoare triple {849#(and (<= 0 main_~X~0) (<= main_~X~0 1))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 1 then 1 else 0)); {812#true} is VALID [2022-04-14 15:04:19,188 INFO L290 TraceCheckUtils]: 13: Hoare triple {812#true} ~cond := #in~cond; {838#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 15:04:19,189 INFO L290 TraceCheckUtils]: 14: Hoare triple {838#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {842#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:04:19,190 INFO L290 TraceCheckUtils]: 15: Hoare triple {842#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {842#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:04:19,191 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {842#(not (= |assume_abort_if_not_#in~cond| 0))} {849#(and (<= 0 main_~X~0) (<= main_~X~0 1))} #63#return; {868#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:04:19,191 INFO L290 TraceCheckUtils]: 17: Hoare triple {868#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {872#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} is VALID [2022-04-14 15:04:19,192 INFO L290 TraceCheckUtils]: 18: Hoare triple {872#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {872#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} is VALID [2022-04-14 15:04:19,192 INFO L272 TraceCheckUtils]: 19: Hoare triple {872#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {812#true} is VALID [2022-04-14 15:04:19,192 INFO L290 TraceCheckUtils]: 20: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-14 15:04:19,192 INFO L290 TraceCheckUtils]: 21: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-14 15:04:19,192 INFO L290 TraceCheckUtils]: 22: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-14 15:04:19,193 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {812#true} {872#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} #65#return; {872#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} is VALID [2022-04-14 15:04:19,193 INFO L290 TraceCheckUtils]: 24: Hoare triple {872#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {872#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} is VALID [2022-04-14 15:04:19,194 INFO L290 TraceCheckUtils]: 25: Hoare triple {872#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {897#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (= main_~x~0 0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:04:19,195 INFO L290 TraceCheckUtils]: 26: Hoare triple {897#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (= main_~x~0 0) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (<= 0 main_~X~0) (<= main_~X~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {901#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (= main_~x~0 1) (<= main_~Y~0 1) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:04:19,195 INFO L290 TraceCheckUtils]: 27: Hoare triple {901#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (= main_~y~0 1) (<= main_~X~0 (* main_~Y~0 2)) (= main_~x~0 1) (<= main_~Y~0 1) (<= 0 main_~X~0) (<= main_~X~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {905#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-14 15:04:19,196 INFO L272 TraceCheckUtils]: 28: Hoare triple {905#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 4)) (<= main_~X~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (<= main_~X~0 1) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {909#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:04:19,197 INFO L290 TraceCheckUtils]: 29: Hoare triple {909#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {913#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:04:19,197 INFO L290 TraceCheckUtils]: 30: Hoare triple {913#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {813#false} is VALID [2022-04-14 15:04:19,197 INFO L290 TraceCheckUtils]: 31: Hoare triple {813#false} assume !false; {813#false} is VALID [2022-04-14 15:04:19,197 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:19,197 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:04:19,539 INFO L290 TraceCheckUtils]: 31: Hoare triple {813#false} assume !false; {813#false} is VALID [2022-04-14 15:04:19,539 INFO L290 TraceCheckUtils]: 30: Hoare triple {913#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {813#false} is VALID [2022-04-14 15:04:19,539 INFO L290 TraceCheckUtils]: 29: Hoare triple {909#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {913#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:04:19,540 INFO L272 TraceCheckUtils]: 28: Hoare triple {929#(= (+ (* 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)); {909#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:04:19,541 INFO L290 TraceCheckUtils]: 27: Hoare triple {933#(= (+ (* 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; {929#(= (+ (* 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:19,542 INFO L290 TraceCheckUtils]: 26: Hoare triple {937#(= (+ (* (* 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; {933#(= (+ (* 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:19,544 INFO L290 TraceCheckUtils]: 25: Hoare triple {941#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {937#(= (+ (* (* 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:19,545 INFO L290 TraceCheckUtils]: 24: Hoare triple {945#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {941#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-14 15:04:19,545 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {812#true} {945#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {945#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-14 15:04:19,546 INFO L290 TraceCheckUtils]: 22: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-14 15:04:19,546 INFO L290 TraceCheckUtils]: 21: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-14 15:04:19,546 INFO L290 TraceCheckUtils]: 20: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-14 15:04:19,546 INFO L272 TraceCheckUtils]: 19: Hoare triple {945#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {812#true} is VALID [2022-04-14 15:04:19,546 INFO L290 TraceCheckUtils]: 18: Hoare triple {945#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {945#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-14 15:04:19,547 INFO L290 TraceCheckUtils]: 17: Hoare triple {812#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {945#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-14 15:04:19,547 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {812#true} {812#true} #63#return; {812#true} is VALID [2022-04-14 15:04:19,547 INFO L290 TraceCheckUtils]: 15: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-14 15:04:19,547 INFO L290 TraceCheckUtils]: 14: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-14 15:04:19,547 INFO L290 TraceCheckUtils]: 13: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-14 15:04:19,547 INFO L272 TraceCheckUtils]: 12: Hoare triple {812#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 1 then 1 else 0)); {812#true} is VALID [2022-04-14 15:04:19,548 INFO L290 TraceCheckUtils]: 11: Hoare triple {812#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {812#true} is VALID [2022-04-14 15:04:19,548 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {812#true} {812#true} #61#return; {812#true} is VALID [2022-04-14 15:04:19,548 INFO L290 TraceCheckUtils]: 9: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-14 15:04:19,548 INFO L290 TraceCheckUtils]: 8: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-14 15:04:19,548 INFO L290 TraceCheckUtils]: 7: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-14 15:04:19,548 INFO L272 TraceCheckUtils]: 6: Hoare triple {812#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 1 then 1 else 0)); {812#true} is VALID [2022-04-14 15:04:19,548 INFO L290 TraceCheckUtils]: 5: Hoare triple {812#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {812#true} is VALID [2022-04-14 15:04:19,548 INFO L272 TraceCheckUtils]: 4: Hoare triple {812#true} call #t~ret8 := main(); {812#true} is VALID [2022-04-14 15:04:19,548 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {812#true} {812#true} #69#return; {812#true} is VALID [2022-04-14 15:04:19,548 INFO L290 TraceCheckUtils]: 2: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-14 15:04:19,548 INFO L290 TraceCheckUtils]: 1: Hoare triple {812#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3); {812#true} is VALID [2022-04-14 15:04:19,549 INFO L272 TraceCheckUtils]: 0: Hoare triple {812#true} call ULTIMATE.init(); {812#true} is VALID [2022-04-14 15:04:19,549 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 15:04:19,549 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:04:19,549 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [354368856] [2022-04-14 15:04:19,549 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:04:19,549 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1703769790] [2022-04-14 15:04:19,549 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1703769790] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:04:19,549 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:04:19,549 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 17 [2022-04-14 15:04:19,550 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1082596951] [2022-04-14 15:04:19,550 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:04:19,550 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 32 [2022-04-14 15:04:19,550 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:04:19,551 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 15:04:19,590 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:04:19,590 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-14 15:04:19,590 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:04:19,591 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-14 15:04:19,591 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=221, Unknown=0, NotChecked=0, Total=272 [2022-04-14 15:04:19,591 INFO L87 Difference]: Start difference. First operand 35 states and 38 transitions. Second operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 15:04:20,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:20,538 INFO L93 Difference]: Finished difference Result 59 states and 67 transitions. [2022-04-14 15:04:20,538 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-14 15:04:20,539 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 32 [2022-04-14 15:04:20,539 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:04:20,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 15:04:20,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 64 transitions. [2022-04-14 15:04:20,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 15:04:20,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 64 transitions. [2022-04-14 15:04:20,543 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 64 transitions. [2022-04-14 15:04:20,595 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:04:20,596 INFO L225 Difference]: With dead ends: 59 [2022-04-14 15:04:20,597 INFO L226 Difference]: Without dead ends: 44 [2022-04-14 15:04:20,597 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 46 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=106, Invalid=446, Unknown=0, NotChecked=0, Total=552 [2022-04-14 15:04:20,598 INFO L913 BasicCegarLoop]: 17 mSDtfsCounter, 41 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 225 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 263 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 225 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-14 15:04:20,598 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 116 Invalid, 263 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 225 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-14 15:04:20,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-14 15:04:20,627 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 42. [2022-04-14 15:04:20,627 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:04:20,628 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 42 states, 29 states have (on average 1.103448275862069) internal successors, (32), 29 states have internal predecessors, (32), 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:20,628 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 42 states, 29 states have (on average 1.103448275862069) internal successors, (32), 29 states have internal predecessors, (32), 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:20,628 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 42 states, 29 states have (on average 1.103448275862069) internal successors, (32), 29 states have internal predecessors, (32), 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:20,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:20,630 INFO L93 Difference]: Finished difference Result 44 states and 48 transitions. [2022-04-14 15:04:20,630 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2022-04-14 15:04:20,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:20,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:20,630 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 29 states have (on average 1.103448275862069) internal successors, (32), 29 states have internal predecessors, (32), 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 44 states. [2022-04-14 15:04:20,631 INFO L87 Difference]: Start difference. First operand has 42 states, 29 states have (on average 1.103448275862069) internal successors, (32), 29 states have internal predecessors, (32), 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 44 states. [2022-04-14 15:04:20,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:20,632 INFO L93 Difference]: Finished difference Result 44 states and 48 transitions. [2022-04-14 15:04:20,632 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2022-04-14 15:04:20,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:20,633 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:20,633 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:04:20,633 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:04:20,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 29 states have (on average 1.103448275862069) internal successors, (32), 29 states have internal predecessors, (32), 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:20,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 46 transitions. [2022-04-14 15:04:20,634 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 46 transitions. Word has length 32 [2022-04-14 15:04:20,634 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:04:20,634 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 46 transitions. [2022-04-14 15:04:20,635 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 15 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-14 15:04:20,635 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-14 15:04:20,635 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-14 15:04:20,635 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:04:20,635 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:20,654 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:20,851 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:20,851 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:04:20,852 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:04:20,852 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-14 15:04:20,852 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:04:20,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1717971702] [2022-04-14 15:04:20,852 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:20,852 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:04:20,865 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:04:20,865 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [646732129] [2022-04-14 15:04:20,865 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:20,865 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:04:20,865 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:04:20,866 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:20,887 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:20,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:20,910 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-14 15:04:20,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:20,926 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:04:21,289 INFO L272 TraceCheckUtils]: 0: Hoare triple {1262#true} call ULTIMATE.init(); {1262#true} is VALID [2022-04-14 15:04:21,289 INFO L290 TraceCheckUtils]: 1: Hoare triple {1262#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); {1262#true} is VALID [2022-04-14 15:04:21,290 INFO L290 TraceCheckUtils]: 2: Hoare triple {1262#true} assume true; {1262#true} is VALID [2022-04-14 15:04:21,290 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1262#true} {1262#true} #69#return; {1262#true} is VALID [2022-04-14 15:04:21,290 INFO L272 TraceCheckUtils]: 4: Hoare triple {1262#true} call #t~ret8 := main(); {1262#true} is VALID [2022-04-14 15:04:21,290 INFO L290 TraceCheckUtils]: 5: Hoare triple {1262#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; {1262#true} is VALID [2022-04-14 15:04:21,290 INFO L272 TraceCheckUtils]: 6: Hoare triple {1262#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 1 then 1 else 0)); {1262#true} is VALID [2022-04-14 15:04:21,291 INFO L290 TraceCheckUtils]: 7: Hoare triple {1262#true} ~cond := #in~cond; {1262#true} is VALID [2022-04-14 15:04:21,291 INFO L290 TraceCheckUtils]: 8: Hoare triple {1262#true} assume !(0 == ~cond); {1262#true} is VALID [2022-04-14 15:04:21,291 INFO L290 TraceCheckUtils]: 9: Hoare triple {1262#true} assume true; {1262#true} is VALID [2022-04-14 15:04:21,291 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1262#true} {1262#true} #61#return; {1262#true} is VALID [2022-04-14 15:04:21,291 INFO L290 TraceCheckUtils]: 11: Hoare triple {1262#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1262#true} is VALID [2022-04-14 15:04:21,291 INFO L272 TraceCheckUtils]: 12: Hoare triple {1262#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 1 then 1 else 0)); {1262#true} is VALID [2022-04-14 15:04:21,291 INFO L290 TraceCheckUtils]: 13: Hoare triple {1262#true} ~cond := #in~cond; {1262#true} is VALID [2022-04-14 15:04:21,291 INFO L290 TraceCheckUtils]: 14: Hoare triple {1262#true} assume !(0 == ~cond); {1262#true} is VALID [2022-04-14 15:04:21,291 INFO L290 TraceCheckUtils]: 15: Hoare triple {1262#true} assume true; {1262#true} is VALID [2022-04-14 15:04:21,291 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1262#true} {1262#true} #63#return; {1262#true} is VALID [2022-04-14 15:04:21,292 INFO L290 TraceCheckUtils]: 17: Hoare triple {1262#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1318#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:04:21,292 INFO L290 TraceCheckUtils]: 18: Hoare triple {1318#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1318#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:04:21,292 INFO L272 TraceCheckUtils]: 19: Hoare triple {1318#(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)); {1262#true} is VALID [2022-04-14 15:04:21,292 INFO L290 TraceCheckUtils]: 20: Hoare triple {1262#true} ~cond := #in~cond; {1262#true} is VALID [2022-04-14 15:04:21,293 INFO L290 TraceCheckUtils]: 21: Hoare triple {1262#true} assume !(0 == ~cond); {1262#true} is VALID [2022-04-14 15:04:21,293 INFO L290 TraceCheckUtils]: 22: Hoare triple {1262#true} assume true; {1262#true} is VALID [2022-04-14 15:04:21,293 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1262#true} {1318#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {1318#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:04:21,294 INFO L290 TraceCheckUtils]: 24: Hoare triple {1318#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1340#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:04:21,294 INFO L290 TraceCheckUtils]: 25: Hoare triple {1340#(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; {1344#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-14 15:04:21,295 INFO L290 TraceCheckUtils]: 26: Hoare triple {1344#(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; {1348#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-14 15:04:21,296 INFO L290 TraceCheckUtils]: 27: Hoare triple {1348#(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; {1352#(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:21,296 INFO L272 TraceCheckUtils]: 28: Hoare triple {1352#(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)); {1262#true} is VALID [2022-04-14 15:04:21,296 INFO L290 TraceCheckUtils]: 29: Hoare triple {1262#true} ~cond := #in~cond; {1359#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:04:21,297 INFO L290 TraceCheckUtils]: 30: Hoare triple {1359#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1363#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:04:21,300 INFO L290 TraceCheckUtils]: 31: Hoare triple {1363#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1363#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:04:21,302 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1363#(not (= |__VERIFIER_assert_#in~cond| 0))} {1352#(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; {1370#(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:21,302 INFO L290 TraceCheckUtils]: 33: Hoare triple {1370#(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); {1374#(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:21,304 INFO L290 TraceCheckUtils]: 34: Hoare triple {1374#(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; {1378#(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:21,305 INFO L272 TraceCheckUtils]: 35: Hoare triple {1378#(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)); {1382#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:04:21,305 INFO L290 TraceCheckUtils]: 36: Hoare triple {1382#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1386#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:04:21,305 INFO L290 TraceCheckUtils]: 37: Hoare triple {1386#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1263#false} is VALID [2022-04-14 15:04:21,305 INFO L290 TraceCheckUtils]: 38: Hoare triple {1263#false} assume !false; {1263#false} is VALID [2022-04-14 15:04:21,305 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:21,305 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:04:21,900 INFO L290 TraceCheckUtils]: 38: Hoare triple {1263#false} assume !false; {1263#false} is VALID [2022-04-14 15:04:21,900 INFO L290 TraceCheckUtils]: 37: Hoare triple {1386#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1263#false} is VALID [2022-04-14 15:04:21,901 INFO L290 TraceCheckUtils]: 36: Hoare triple {1382#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1386#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:04:21,902 INFO L272 TraceCheckUtils]: 35: Hoare triple {1402#(= (+ (* 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)); {1382#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:04:21,902 INFO L290 TraceCheckUtils]: 34: Hoare triple {1406#(= (+ (* 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; {1402#(= (+ (* 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:21,903 INFO L290 TraceCheckUtils]: 33: Hoare triple {1410#(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); {1406#(= (+ (* 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:21,904 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1363#(not (= |__VERIFIER_assert_#in~cond| 0))} {1414#(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; {1410#(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:21,904 INFO L290 TraceCheckUtils]: 31: Hoare triple {1363#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1363#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:04:21,905 INFO L290 TraceCheckUtils]: 30: Hoare triple {1424#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1363#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:04:21,905 INFO L290 TraceCheckUtils]: 29: Hoare triple {1262#true} ~cond := #in~cond; {1424#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 15:04:21,905 INFO L272 TraceCheckUtils]: 28: Hoare triple {1414#(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)); {1262#true} is VALID [2022-04-14 15:04:21,906 INFO L290 TraceCheckUtils]: 27: Hoare triple {1431#(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; {1414#(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:21,908 INFO L290 TraceCheckUtils]: 26: Hoare triple {1435#(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; {1431#(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:21,909 INFO L290 TraceCheckUtils]: 25: Hoare triple {1439#(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; {1435#(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:21,911 INFO L290 TraceCheckUtils]: 24: Hoare triple {1262#true} assume !!(~x~0 <= ~X~0); {1439#(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:21,911 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1262#true} {1262#true} #65#return; {1262#true} is VALID [2022-04-14 15:04:21,911 INFO L290 TraceCheckUtils]: 22: Hoare triple {1262#true} assume true; {1262#true} is VALID [2022-04-14 15:04:21,911 INFO L290 TraceCheckUtils]: 21: Hoare triple {1262#true} assume !(0 == ~cond); {1262#true} is VALID [2022-04-14 15:04:21,911 INFO L290 TraceCheckUtils]: 20: Hoare triple {1262#true} ~cond := #in~cond; {1262#true} is VALID [2022-04-14 15:04:21,911 INFO L272 TraceCheckUtils]: 19: Hoare triple {1262#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1262#true} is VALID [2022-04-14 15:04:21,911 INFO L290 TraceCheckUtils]: 18: Hoare triple {1262#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1262#true} is VALID [2022-04-14 15:04:21,911 INFO L290 TraceCheckUtils]: 17: Hoare triple {1262#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1262#true} is VALID [2022-04-14 15:04:21,911 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1262#true} {1262#true} #63#return; {1262#true} is VALID [2022-04-14 15:04:21,911 INFO L290 TraceCheckUtils]: 15: Hoare triple {1262#true} assume true; {1262#true} is VALID [2022-04-14 15:04:21,911 INFO L290 TraceCheckUtils]: 14: Hoare triple {1262#true} assume !(0 == ~cond); {1262#true} is VALID [2022-04-14 15:04:21,911 INFO L290 TraceCheckUtils]: 13: Hoare triple {1262#true} ~cond := #in~cond; {1262#true} is VALID [2022-04-14 15:04:21,912 INFO L272 TraceCheckUtils]: 12: Hoare triple {1262#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 1 then 1 else 0)); {1262#true} is VALID [2022-04-14 15:04:21,912 INFO L290 TraceCheckUtils]: 11: Hoare triple {1262#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1262#true} is VALID [2022-04-14 15:04:21,912 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1262#true} {1262#true} #61#return; {1262#true} is VALID [2022-04-14 15:04:21,912 INFO L290 TraceCheckUtils]: 9: Hoare triple {1262#true} assume true; {1262#true} is VALID [2022-04-14 15:04:21,912 INFO L290 TraceCheckUtils]: 8: Hoare triple {1262#true} assume !(0 == ~cond); {1262#true} is VALID [2022-04-14 15:04:21,912 INFO L290 TraceCheckUtils]: 7: Hoare triple {1262#true} ~cond := #in~cond; {1262#true} is VALID [2022-04-14 15:04:21,912 INFO L272 TraceCheckUtils]: 6: Hoare triple {1262#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 1 then 1 else 0)); {1262#true} is VALID [2022-04-14 15:04:21,912 INFO L290 TraceCheckUtils]: 5: Hoare triple {1262#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; {1262#true} is VALID [2022-04-14 15:04:21,912 INFO L272 TraceCheckUtils]: 4: Hoare triple {1262#true} call #t~ret8 := main(); {1262#true} is VALID [2022-04-14 15:04:21,912 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1262#true} {1262#true} #69#return; {1262#true} is VALID [2022-04-14 15:04:21,912 INFO L290 TraceCheckUtils]: 2: Hoare triple {1262#true} assume true; {1262#true} is VALID [2022-04-14 15:04:21,912 INFO L290 TraceCheckUtils]: 1: Hoare triple {1262#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); {1262#true} is VALID [2022-04-14 15:04:21,912 INFO L272 TraceCheckUtils]: 0: Hoare triple {1262#true} call ULTIMATE.init(); {1262#true} is VALID [2022-04-14 15:04:21,913 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:21,913 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:04:21,913 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1717971702] [2022-04-14 15:04:21,913 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:04:21,913 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [646732129] [2022-04-14 15:04:21,913 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [646732129] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:04:21,913 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:04:21,913 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-14 15:04:21,913 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [546196962] [2022-04-14 15:04:21,913 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:04:21,914 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:21,914 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:04:21,914 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:21,956 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:21,956 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-14 15:04:21,956 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:04:21,957 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-14 15:04:21,957 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-14 15:04:21,957 INFO L87 Difference]: Start difference. First operand 42 states and 46 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:22,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:22,914 INFO L93 Difference]: Finished difference Result 55 states and 60 transitions. [2022-04-14 15:04:22,914 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-14 15:04:22,914 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:22,914 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:04:22,914 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:22,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 58 transitions. [2022-04-14 15:04:22,916 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:22,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 58 transitions. [2022-04-14 15:04:22,917 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 58 transitions. [2022-04-14 15:04:23,002 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:04:23,004 INFO L225 Difference]: With dead ends: 55 [2022-04-14 15:04:23,004 INFO L226 Difference]: Without dead ends: 47 [2022-04-14 15:04:23,005 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 91 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 231 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=194, Invalid=996, Unknown=0, NotChecked=0, Total=1190 [2022-04-14 15:04:23,006 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 40 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 191 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 273 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 191 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 62 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-14 15:04:23,006 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 160 Invalid, 273 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 191 Invalid, 0 Unknown, 62 Unchecked, 0.2s Time] [2022-04-14 15:04:23,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-14 15:04:23,039 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-14 15:04:23,039 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:04:23,039 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 46 states, 32 states have (on average 1.0625) internal successors, (34), 32 states have internal predecessors, (34), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:04:23,039 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 46 states, 32 states have (on average 1.0625) internal successors, (34), 32 states have internal predecessors, (34), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:04:23,039 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 46 states, 32 states have (on average 1.0625) internal successors, (34), 32 states have internal predecessors, (34), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:04:23,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:23,041 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2022-04-14 15:04:23,041 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-14 15:04:23,041 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:23,041 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:23,042 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 32 states have (on average 1.0625) internal successors, (34), 32 states have internal predecessors, (34), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-14 15:04:23,042 INFO L87 Difference]: Start difference. First operand has 46 states, 32 states have (on average 1.0625) internal successors, (34), 32 states have internal predecessors, (34), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-14 15:04:23,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:23,043 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2022-04-14 15:04:23,043 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-14 15:04:23,043 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:23,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:23,044 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:04:23,044 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:04:23,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 32 states have (on average 1.0625) internal successors, (34), 32 states have internal predecessors, (34), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:04:23,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2022-04-14 15:04:23,045 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 39 [2022-04-14 15:04:23,045 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:04:23,045 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2022-04-14 15:04:23,045 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:23,046 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-14 15:04:23,046 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-14 15:04:23,046 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:04:23,046 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:04:23,065 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-14 15:04:23,263 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:04:23,263 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:04:23,263 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:04:23,264 INFO L85 PathProgramCache]: Analyzing trace with hash 330652206, now seen corresponding path program 1 times [2022-04-14 15:04:23,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:04:23,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2002546293] [2022-04-14 15:04:23,264 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:23,264 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:04:23,275 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:04:23,275 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1893804936] [2022-04-14 15:04:23,275 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:23,275 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:04:23,276 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:04:23,278 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:04:23,279 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:04:23,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:23,317 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-14 15:04:23,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:23,329 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:04:23,925 INFO L272 TraceCheckUtils]: 0: Hoare triple {1780#true} call ULTIMATE.init(); {1780#true} is VALID [2022-04-14 15:04:23,926 INFO L290 TraceCheckUtils]: 1: Hoare triple {1780#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); {1780#true} is VALID [2022-04-14 15:04:23,926 INFO L290 TraceCheckUtils]: 2: Hoare triple {1780#true} assume true; {1780#true} is VALID [2022-04-14 15:04:23,926 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1780#true} {1780#true} #69#return; {1780#true} is VALID [2022-04-14 15:04:23,926 INFO L272 TraceCheckUtils]: 4: Hoare triple {1780#true} call #t~ret8 := main(); {1780#true} is VALID [2022-04-14 15:04:23,926 INFO L290 TraceCheckUtils]: 5: Hoare triple {1780#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; {1780#true} is VALID [2022-04-14 15:04:23,926 INFO L272 TraceCheckUtils]: 6: Hoare triple {1780#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 1 then 1 else 0)); {1780#true} is VALID [2022-04-14 15:04:23,926 INFO L290 TraceCheckUtils]: 7: Hoare triple {1780#true} ~cond := #in~cond; {1780#true} is VALID [2022-04-14 15:04:23,927 INFO L290 TraceCheckUtils]: 8: Hoare triple {1780#true} assume !(0 == ~cond); {1780#true} is VALID [2022-04-14 15:04:23,927 INFO L290 TraceCheckUtils]: 9: Hoare triple {1780#true} assume true; {1780#true} is VALID [2022-04-14 15:04:23,927 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1780#true} {1780#true} #61#return; {1780#true} is VALID [2022-04-14 15:04:23,927 INFO L290 TraceCheckUtils]: 11: Hoare triple {1780#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1780#true} is VALID [2022-04-14 15:04:23,927 INFO L272 TraceCheckUtils]: 12: Hoare triple {1780#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 1 then 1 else 0)); {1780#true} is VALID [2022-04-14 15:04:23,927 INFO L290 TraceCheckUtils]: 13: Hoare triple {1780#true} ~cond := #in~cond; {1780#true} is VALID [2022-04-14 15:04:23,927 INFO L290 TraceCheckUtils]: 14: Hoare triple {1780#true} assume !(0 == ~cond); {1780#true} is VALID [2022-04-14 15:04:23,930 INFO L290 TraceCheckUtils]: 15: Hoare triple {1780#true} assume true; {1780#true} is VALID [2022-04-14 15:04:23,931 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1780#true} {1780#true} #63#return; {1780#true} is VALID [2022-04-14 15:04:23,938 INFO L290 TraceCheckUtils]: 17: Hoare triple {1780#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1836#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:04:23,939 INFO L290 TraceCheckUtils]: 18: Hoare triple {1836#(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; {1836#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:04:23,939 INFO L272 TraceCheckUtils]: 19: Hoare triple {1836#(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)); {1780#true} is VALID [2022-04-14 15:04:23,939 INFO L290 TraceCheckUtils]: 20: Hoare triple {1780#true} ~cond := #in~cond; {1780#true} is VALID [2022-04-14 15:04:23,939 INFO L290 TraceCheckUtils]: 21: Hoare triple {1780#true} assume !(0 == ~cond); {1780#true} is VALID [2022-04-14 15:04:23,939 INFO L290 TraceCheckUtils]: 22: Hoare triple {1780#true} assume true; {1780#true} is VALID [2022-04-14 15:04:23,941 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1780#true} {1836#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {1836#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:04:23,944 INFO L290 TraceCheckUtils]: 24: Hoare triple {1836#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {1836#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:04:23,945 INFO L290 TraceCheckUtils]: 25: Hoare triple {1836#(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; {1861#(and (<= main_~x~0 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-14 15:04:23,945 INFO L290 TraceCheckUtils]: 26: Hoare triple {1861#(and (<= main_~x~0 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1865#(and (<= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-14 15:04:23,946 INFO L290 TraceCheckUtils]: 27: Hoare triple {1865#(and (<= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1865#(and (<= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-14 15:04:23,946 INFO L272 TraceCheckUtils]: 28: Hoare triple {1865#(and (<= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1780#true} is VALID [2022-04-14 15:04:23,946 INFO L290 TraceCheckUtils]: 29: Hoare triple {1780#true} ~cond := #in~cond; {1780#true} is VALID [2022-04-14 15:04:23,946 INFO L290 TraceCheckUtils]: 30: Hoare triple {1780#true} assume !(0 == ~cond); {1780#true} is VALID [2022-04-14 15:04:23,946 INFO L290 TraceCheckUtils]: 31: Hoare triple {1780#true} assume true; {1780#true} is VALID [2022-04-14 15:04:23,946 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1780#true} {1865#(and (<= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #65#return; {1865#(and (<= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-14 15:04:23,947 INFO L290 TraceCheckUtils]: 33: Hoare triple {1865#(and (<= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {1865#(and (<= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-14 15:04:23,951 INFO L290 TraceCheckUtils]: 34: Hoare triple {1865#(and (<= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1890#(and (<= (+ (div (+ (- 1) (* main_~X~0 3)) 4) 1) (div (+ main_~v~0 (* 5 main_~X~0)) 6)) (<= main_~x~0 1))} is VALID [2022-04-14 15:04:23,952 INFO L290 TraceCheckUtils]: 35: Hoare triple {1890#(and (<= (+ (div (+ (- 1) (* main_~X~0 3)) 4) 1) (div (+ main_~v~0 (* 5 main_~X~0)) 6)) (<= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1894#(and (<= (+ (div (+ (- 1) (* main_~X~0 3)) 4) 1) (div (+ main_~v~0 (* 5 main_~X~0)) 6)) (<= main_~x~0 2))} is VALID [2022-04-14 15:04:23,953 INFO L290 TraceCheckUtils]: 36: Hoare triple {1894#(and (<= (+ (div (+ (- 1) (* main_~X~0 3)) 4) 1) (div (+ main_~v~0 (* 5 main_~X~0)) 6)) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1894#(and (<= (+ (div (+ (- 1) (* main_~X~0 3)) 4) 1) (div (+ main_~v~0 (* 5 main_~X~0)) 6)) (<= main_~x~0 2))} is VALID [2022-04-14 15:04:23,953 INFO L272 TraceCheckUtils]: 37: Hoare triple {1894#(and (<= (+ (div (+ (- 1) (* main_~X~0 3)) 4) 1) (div (+ main_~v~0 (* 5 main_~X~0)) 6)) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1780#true} is VALID [2022-04-14 15:04:23,953 INFO L290 TraceCheckUtils]: 38: Hoare triple {1780#true} ~cond := #in~cond; {1780#true} is VALID [2022-04-14 15:04:23,953 INFO L290 TraceCheckUtils]: 39: Hoare triple {1780#true} assume !(0 == ~cond); {1780#true} is VALID [2022-04-14 15:04:23,953 INFO L290 TraceCheckUtils]: 40: Hoare triple {1780#true} assume true; {1780#true} is VALID [2022-04-14 15:04:23,954 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1780#true} {1894#(and (<= (+ (div (+ (- 1) (* main_~X~0 3)) 4) 1) (div (+ main_~v~0 (* 5 main_~X~0)) 6)) (<= main_~x~0 2))} #65#return; {1894#(and (<= (+ (div (+ (- 1) (* main_~X~0 3)) 4) 1) (div (+ main_~v~0 (* 5 main_~X~0)) 6)) (<= main_~x~0 2))} is VALID [2022-04-14 15:04:23,955 INFO L290 TraceCheckUtils]: 42: Hoare triple {1894#(and (<= (+ (div (+ (- 1) (* main_~X~0 3)) 4) 1) (div (+ main_~v~0 (* 5 main_~X~0)) 6)) (<= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {1894#(and (<= (+ (div (+ (- 1) (* main_~X~0 3)) 4) 1) (div (+ main_~v~0 (* 5 main_~X~0)) 6)) (<= main_~x~0 2))} is VALID [2022-04-14 15:04:23,955 INFO L290 TraceCheckUtils]: 43: Hoare triple {1894#(and (<= (+ (div (+ (- 1) (* main_~X~0 3)) 4) 1) (div (+ main_~v~0 (* 5 main_~X~0)) 6)) (<= main_~x~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1919#(and (< (div (+ (- 1) (* main_~X~0 3)) 4) (div (+ (- 1) (* 5 main_~X~0)) 6)) (<= main_~x~0 2))} is VALID [2022-04-14 15:04:23,956 INFO L290 TraceCheckUtils]: 44: Hoare triple {1919#(and (< (div (+ (- 1) (* main_~X~0 3)) 4) (div (+ (- 1) (* 5 main_~X~0)) 6)) (<= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1923#(and (< (div (+ (- 1) (* main_~X~0 3)) 4) (div (+ (- 1) (* 5 main_~X~0)) 6)) (<= main_~x~0 3))} is VALID [2022-04-14 15:04:23,956 INFO L290 TraceCheckUtils]: 45: Hoare triple {1923#(and (< (div (+ (- 1) (* main_~X~0 3)) 4) (div (+ (- 1) (* 5 main_~X~0)) 6)) (<= main_~x~0 3))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1923#(and (< (div (+ (- 1) (* main_~X~0 3)) 4) (div (+ (- 1) (* 5 main_~X~0)) 6)) (<= main_~x~0 3))} is VALID [2022-04-14 15:04:23,957 INFO L272 TraceCheckUtils]: 46: Hoare triple {1923#(and (< (div (+ (- 1) (* main_~X~0 3)) 4) (div (+ (- 1) (* 5 main_~X~0)) 6)) (<= main_~x~0 3))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1780#true} is VALID [2022-04-14 15:04:23,957 INFO L290 TraceCheckUtils]: 47: Hoare triple {1780#true} ~cond := #in~cond; {1780#true} is VALID [2022-04-14 15:04:23,957 INFO L290 TraceCheckUtils]: 48: Hoare triple {1780#true} assume !(0 == ~cond); {1780#true} is VALID [2022-04-14 15:04:23,957 INFO L290 TraceCheckUtils]: 49: Hoare triple {1780#true} assume true; {1780#true} is VALID [2022-04-14 15:04:23,957 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1780#true} {1923#(and (< (div (+ (- 1) (* main_~X~0 3)) 4) (div (+ (- 1) (* 5 main_~X~0)) 6)) (<= main_~x~0 3))} #65#return; {1923#(and (< (div (+ (- 1) (* main_~X~0 3)) 4) (div (+ (- 1) (* 5 main_~X~0)) 6)) (<= main_~x~0 3))} is VALID [2022-04-14 15:04:23,958 INFO L290 TraceCheckUtils]: 51: Hoare triple {1923#(and (< (div (+ (- 1) (* main_~X~0 3)) 4) (div (+ (- 1) (* 5 main_~X~0)) 6)) (<= main_~x~0 3))} assume !(~x~0 <= ~X~0); {1781#false} is VALID [2022-04-14 15:04:23,958 INFO L290 TraceCheckUtils]: 52: Hoare triple {1781#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1781#false} is VALID [2022-04-14 15:04:23,958 INFO L272 TraceCheckUtils]: 53: Hoare triple {1781#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)); {1781#false} is VALID [2022-04-14 15:04:23,958 INFO L290 TraceCheckUtils]: 54: Hoare triple {1781#false} ~cond := #in~cond; {1781#false} is VALID [2022-04-14 15:04:23,958 INFO L290 TraceCheckUtils]: 55: Hoare triple {1781#false} assume 0 == ~cond; {1781#false} is VALID [2022-04-14 15:04:23,958 INFO L290 TraceCheckUtils]: 56: Hoare triple {1781#false} assume !false; {1781#false} is VALID [2022-04-14 15:04:23,960 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:04:23,960 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:04:24,407 INFO L290 TraceCheckUtils]: 56: Hoare triple {1781#false} assume !false; {1781#false} is VALID [2022-04-14 15:04:24,409 INFO L290 TraceCheckUtils]: 55: Hoare triple {1781#false} assume 0 == ~cond; {1781#false} is VALID [2022-04-14 15:04:24,409 INFO L290 TraceCheckUtils]: 54: Hoare triple {1781#false} ~cond := #in~cond; {1781#false} is VALID [2022-04-14 15:04:24,409 INFO L272 TraceCheckUtils]: 53: Hoare triple {1781#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)); {1781#false} is VALID [2022-04-14 15:04:24,409 INFO L290 TraceCheckUtils]: 52: Hoare triple {1781#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1781#false} is VALID [2022-04-14 15:04:24,423 INFO L290 TraceCheckUtils]: 51: Hoare triple {1975#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {1781#false} is VALID [2022-04-14 15:04:24,424 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1780#true} {1975#(<= main_~x~0 main_~X~0)} #65#return; {1975#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:04:24,424 INFO L290 TraceCheckUtils]: 49: Hoare triple {1780#true} assume true; {1780#true} is VALID [2022-04-14 15:04:24,424 INFO L290 TraceCheckUtils]: 48: Hoare triple {1780#true} assume !(0 == ~cond); {1780#true} is VALID [2022-04-14 15:04:24,424 INFO L290 TraceCheckUtils]: 47: Hoare triple {1780#true} ~cond := #in~cond; {1780#true} is VALID [2022-04-14 15:04:24,424 INFO L272 TraceCheckUtils]: 46: Hoare triple {1975#(<= 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)); {1780#true} is VALID [2022-04-14 15:04:24,425 INFO L290 TraceCheckUtils]: 45: Hoare triple {1975#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1975#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:04:24,425 INFO L290 TraceCheckUtils]: 44: Hoare triple {1997#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1975#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:04:24,426 INFO L290 TraceCheckUtils]: 43: Hoare triple {2001#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1997#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-14 15:04:24,426 INFO L290 TraceCheckUtils]: 42: Hoare triple {2001#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {2001#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:04:24,427 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1780#true} {2001#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {2001#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:04:24,427 INFO L290 TraceCheckUtils]: 40: Hoare triple {1780#true} assume true; {1780#true} is VALID [2022-04-14 15:04:24,427 INFO L290 TraceCheckUtils]: 39: Hoare triple {1780#true} assume !(0 == ~cond); {1780#true} is VALID [2022-04-14 15:04:24,428 INFO L290 TraceCheckUtils]: 38: Hoare triple {1780#true} ~cond := #in~cond; {1780#true} is VALID [2022-04-14 15:04:24,428 INFO L272 TraceCheckUtils]: 37: Hoare triple {2001#(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)); {1780#true} is VALID [2022-04-14 15:04:24,428 INFO L290 TraceCheckUtils]: 36: Hoare triple {2001#(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; {2001#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:04:24,429 INFO L290 TraceCheckUtils]: 35: Hoare triple {2026#(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; {2001#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:04:24,430 INFO L290 TraceCheckUtils]: 34: Hoare triple {2030#(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; {2026#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} is VALID [2022-04-14 15:04:24,430 INFO L290 TraceCheckUtils]: 33: Hoare triple {2030#(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); {2030#(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:04:24,431 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1780#true} {2030#(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; {2030#(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:04:24,431 INFO L290 TraceCheckUtils]: 31: Hoare triple {1780#true} assume true; {1780#true} is VALID [2022-04-14 15:04:24,431 INFO L290 TraceCheckUtils]: 30: Hoare triple {1780#true} assume !(0 == ~cond); {1780#true} is VALID [2022-04-14 15:04:24,431 INFO L290 TraceCheckUtils]: 29: Hoare triple {1780#true} ~cond := #in~cond; {1780#true} is VALID [2022-04-14 15:04:24,431 INFO L272 TraceCheckUtils]: 28: Hoare triple {2030#(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)); {1780#true} is VALID [2022-04-14 15:04:24,432 INFO L290 TraceCheckUtils]: 27: Hoare triple {2030#(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; {2030#(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:04:24,432 INFO L290 TraceCheckUtils]: 26: Hoare triple {2055#(or (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2030#(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:04:24,433 INFO L290 TraceCheckUtils]: 25: Hoare triple {2059#(or (<= (+ main_~x~0 3) main_~X~0) (<= (* main_~X~0 4) (+ main_~v~0 (* main_~Y~0 4))) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2055#(or (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-14 15:04:24,433 INFO L290 TraceCheckUtils]: 24: Hoare triple {2059#(or (<= (+ main_~x~0 3) main_~X~0) (<= (* main_~X~0 4) (+ main_~v~0 (* main_~Y~0 4))) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)))} assume !!(~x~0 <= ~X~0); {2059#(or (<= (+ main_~x~0 3) main_~X~0) (<= (* main_~X~0 4) (+ main_~v~0 (* main_~Y~0 4))) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)))} is VALID [2022-04-14 15:04:24,434 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1780#true} {2059#(or (<= (+ main_~x~0 3) main_~X~0) (<= (* main_~X~0 4) (+ main_~v~0 (* main_~Y~0 4))) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)))} #65#return; {2059#(or (<= (+ main_~x~0 3) main_~X~0) (<= (* main_~X~0 4) (+ main_~v~0 (* main_~Y~0 4))) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)))} is VALID [2022-04-14 15:04:24,434 INFO L290 TraceCheckUtils]: 22: Hoare triple {1780#true} assume true; {1780#true} is VALID [2022-04-14 15:04:24,434 INFO L290 TraceCheckUtils]: 21: Hoare triple {1780#true} assume !(0 == ~cond); {1780#true} is VALID [2022-04-14 15:04:24,434 INFO L290 TraceCheckUtils]: 20: Hoare triple {1780#true} ~cond := #in~cond; {1780#true} is VALID [2022-04-14 15:04:24,434 INFO L272 TraceCheckUtils]: 19: Hoare triple {2059#(or (<= (+ main_~x~0 3) main_~X~0) (<= (* main_~X~0 4) (+ main_~v~0 (* main_~Y~0 4))) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1780#true} is VALID [2022-04-14 15:04:24,434 INFO L290 TraceCheckUtils]: 18: Hoare triple {2059#(or (<= (+ main_~x~0 3) main_~X~0) (<= (* main_~X~0 4) (+ main_~v~0 (* main_~Y~0 4))) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2059#(or (<= (+ main_~x~0 3) main_~X~0) (<= (* main_~X~0 4) (+ main_~v~0 (* main_~Y~0 4))) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)))} is VALID [2022-04-14 15:04:24,435 INFO L290 TraceCheckUtils]: 17: Hoare triple {1780#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2059#(or (<= (+ main_~x~0 3) main_~X~0) (<= (* main_~X~0 4) (+ main_~v~0 (* main_~Y~0 4))) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)))} is VALID [2022-04-14 15:04:24,435 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1780#true} {1780#true} #63#return; {1780#true} is VALID [2022-04-14 15:04:24,435 INFO L290 TraceCheckUtils]: 15: Hoare triple {1780#true} assume true; {1780#true} is VALID [2022-04-14 15:04:24,435 INFO L290 TraceCheckUtils]: 14: Hoare triple {1780#true} assume !(0 == ~cond); {1780#true} is VALID [2022-04-14 15:04:24,435 INFO L290 TraceCheckUtils]: 13: Hoare triple {1780#true} ~cond := #in~cond; {1780#true} is VALID [2022-04-14 15:04:24,437 INFO L272 TraceCheckUtils]: 12: Hoare triple {1780#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 1 then 1 else 0)); {1780#true} is VALID [2022-04-14 15:04:24,437 INFO L290 TraceCheckUtils]: 11: Hoare triple {1780#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1780#true} is VALID [2022-04-14 15:04:24,437 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1780#true} {1780#true} #61#return; {1780#true} is VALID [2022-04-14 15:04:24,437 INFO L290 TraceCheckUtils]: 9: Hoare triple {1780#true} assume true; {1780#true} is VALID [2022-04-14 15:04:24,437 INFO L290 TraceCheckUtils]: 8: Hoare triple {1780#true} assume !(0 == ~cond); {1780#true} is VALID [2022-04-14 15:04:24,437 INFO L290 TraceCheckUtils]: 7: Hoare triple {1780#true} ~cond := #in~cond; {1780#true} is VALID [2022-04-14 15:04:24,437 INFO L272 TraceCheckUtils]: 6: Hoare triple {1780#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 1 then 1 else 0)); {1780#true} is VALID [2022-04-14 15:04:24,437 INFO L290 TraceCheckUtils]: 5: Hoare triple {1780#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; {1780#true} is VALID [2022-04-14 15:04:24,437 INFO L272 TraceCheckUtils]: 4: Hoare triple {1780#true} call #t~ret8 := main(); {1780#true} is VALID [2022-04-14 15:04:24,437 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1780#true} {1780#true} #69#return; {1780#true} is VALID [2022-04-14 15:04:24,437 INFO L290 TraceCheckUtils]: 2: Hoare triple {1780#true} assume true; {1780#true} is VALID [2022-04-14 15:04:24,438 INFO L290 TraceCheckUtils]: 1: Hoare triple {1780#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); {1780#true} is VALID [2022-04-14 15:04:24,438 INFO L272 TraceCheckUtils]: 0: Hoare triple {1780#true} call ULTIMATE.init(); {1780#true} is VALID [2022-04-14 15:04:24,439 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:04:24,439 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:04:24,439 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2002546293] [2022-04-14 15:04:24,439 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:04:24,439 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1893804936] [2022-04-14 15:04:24,439 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1893804936] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:04:24,439 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:04:24,439 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-14 15:04:24,439 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [885075125] [2022-04-14 15:04:24,440 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:04:24,441 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.75) internal successors, (44), 16 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:04:24,441 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:04:24,441 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.75) internal successors, (44), 16 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:04:24,498 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:04:24,498 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-14 15:04:24,499 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:04:24,500 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-14 15:04:24,500 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2022-04-14 15:04:24,501 INFO L87 Difference]: Start difference. First operand 46 states and 50 transitions. Second operand has 16 states, 16 states have (on average 2.75) internal successors, (44), 16 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:04:25,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:25,260 INFO L93 Difference]: Finished difference Result 76 states and 89 transitions. [2022-04-14 15:04:25,260 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-14 15:04:25,260 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.75) internal successors, (44), 16 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:04:25,260 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:04:25,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.75) internal successors, (44), 16 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:04:25,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 75 transitions. [2022-04-14 15:04:25,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.75) internal successors, (44), 16 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:04:25,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 75 transitions. [2022-04-14 15:04:25,264 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 75 transitions. [2022-04-14 15:04:25,322 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:04:25,323 INFO L225 Difference]: With dead ends: 76 [2022-04-14 15:04:25,323 INFO L226 Difference]: Without dead ends: 70 [2022-04-14 15:04:25,323 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 99 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 93 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=149, Invalid=501, Unknown=0, NotChecked=0, Total=650 [2022-04-14 15:04:25,324 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 14 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 192 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 225 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 192 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-14 15:04:25,324 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 120 Invalid, 225 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 192 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-14 15:04:25,324 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-14 15:04:25,368 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 56. [2022-04-14 15:04:25,369 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:04:25,369 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 56 states, 40 states have (on average 1.1) internal successors, (44), 40 states have internal predecessors, (44), 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:04:25,369 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 56 states, 40 states have (on average 1.1) internal successors, (44), 40 states have internal predecessors, (44), 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:04:25,369 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 56 states, 40 states have (on average 1.1) internal successors, (44), 40 states have internal predecessors, (44), 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:04:25,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:25,371 INFO L93 Difference]: Finished difference Result 70 states and 82 transitions. [2022-04-14 15:04:25,371 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 82 transitions. [2022-04-14 15:04:25,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:25,372 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:25,372 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 40 states have (on average 1.1) internal successors, (44), 40 states have internal predecessors, (44), 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 70 states. [2022-04-14 15:04:25,372 INFO L87 Difference]: Start difference. First operand has 56 states, 40 states have (on average 1.1) internal successors, (44), 40 states have internal predecessors, (44), 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 70 states. [2022-04-14 15:04:25,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:25,374 INFO L93 Difference]: Finished difference Result 70 states and 82 transitions. [2022-04-14 15:04:25,374 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 82 transitions. [2022-04-14 15:04:25,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:25,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:25,374 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:04:25,375 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:04:25,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 40 states have (on average 1.1) internal successors, (44), 40 states have internal predecessors, (44), 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:04:25,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 64 transitions. [2022-04-14 15:04:25,376 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 64 transitions. Word has length 57 [2022-04-14 15:04:25,376 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:04:25,376 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 64 transitions. [2022-04-14 15:04:25,377 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.75) internal successors, (44), 16 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:04:25,377 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 64 transitions. [2022-04-14 15:04:25,378 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-14 15:04:25,378 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:04:25,378 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 6, 6, 6, 5, 5, 3, 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:25,394 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-14 15:04:25,593 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:04:25,594 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:04:25,594 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:04:25,594 INFO L85 PathProgramCache]: Analyzing trace with hash -1832016594, now seen corresponding path program 2 times [2022-04-14 15:04:25,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:04:25,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1730747305] [2022-04-14 15:04:25,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:25,595 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:04:25,607 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:04:25,607 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1614631669] [2022-04-14 15:04:25,607 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 15:04:25,607 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:04:25,607 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:04:25,608 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:04:25,610 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:04:25,655 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 15:04:25,655 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 15:04:25,656 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-14 15:04:25,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:25,692 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:04:26,188 INFO L272 TraceCheckUtils]: 0: Hoare triple {2483#true} call ULTIMATE.init(); {2483#true} is VALID [2022-04-14 15:04:26,188 INFO L290 TraceCheckUtils]: 1: Hoare triple {2483#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); {2483#true} is VALID [2022-04-14 15:04:26,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,188 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2483#true} {2483#true} #69#return; {2483#true} is VALID [2022-04-14 15:04:26,188 INFO L272 TraceCheckUtils]: 4: Hoare triple {2483#true} call #t~ret8 := main(); {2483#true} is VALID [2022-04-14 15:04:26,188 INFO L290 TraceCheckUtils]: 5: Hoare triple {2483#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; {2483#true} is VALID [2022-04-14 15:04:26,189 INFO L272 TraceCheckUtils]: 6: Hoare triple {2483#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 1 then 1 else 0)); {2483#true} is VALID [2022-04-14 15:04:26,189 INFO L290 TraceCheckUtils]: 7: Hoare triple {2483#true} ~cond := #in~cond; {2483#true} is VALID [2022-04-14 15:04:26,189 INFO L290 TraceCheckUtils]: 8: Hoare triple {2483#true} assume !(0 == ~cond); {2483#true} is VALID [2022-04-14 15:04:26,189 INFO L290 TraceCheckUtils]: 9: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,189 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2483#true} {2483#true} #61#return; {2483#true} is VALID [2022-04-14 15:04:26,189 INFO L290 TraceCheckUtils]: 11: Hoare triple {2483#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2483#true} is VALID [2022-04-14 15:04:26,189 INFO L272 TraceCheckUtils]: 12: Hoare triple {2483#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 1 then 1 else 0)); {2483#true} is VALID [2022-04-14 15:04:26,189 INFO L290 TraceCheckUtils]: 13: Hoare triple {2483#true} ~cond := #in~cond; {2483#true} is VALID [2022-04-14 15:04:26,189 INFO L290 TraceCheckUtils]: 14: Hoare triple {2483#true} assume !(0 == ~cond); {2483#true} is VALID [2022-04-14 15:04:26,189 INFO L290 TraceCheckUtils]: 15: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,189 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2483#true} {2483#true} #63#return; {2483#true} is VALID [2022-04-14 15:04:26,190 INFO L290 TraceCheckUtils]: 17: Hoare triple {2483#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2539#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-14 15:04:26,190 INFO L290 TraceCheckUtils]: 18: Hoare triple {2539#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2539#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-14 15:04:26,190 INFO L272 TraceCheckUtils]: 19: Hoare triple {2539#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2483#true} is VALID [2022-04-14 15:04:26,190 INFO L290 TraceCheckUtils]: 20: Hoare triple {2483#true} ~cond := #in~cond; {2483#true} is VALID [2022-04-14 15:04:26,190 INFO L290 TraceCheckUtils]: 21: Hoare triple {2483#true} assume !(0 == ~cond); {2483#true} is VALID [2022-04-14 15:04:26,190 INFO L290 TraceCheckUtils]: 22: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,191 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2483#true} {2539#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} #65#return; {2539#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-14 15:04:26,191 INFO L290 TraceCheckUtils]: 24: Hoare triple {2539#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {2539#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-14 15:04:26,193 INFO L290 TraceCheckUtils]: 25: Hoare triple {2539#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2564#(<= main_~X~0 (* main_~Y~0 2))} is VALID [2022-04-14 15:04:26,193 INFO L290 TraceCheckUtils]: 26: Hoare triple {2564#(<= main_~X~0 (* main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2564#(<= main_~X~0 (* main_~Y~0 2))} is VALID [2022-04-14 15:04:26,193 INFO L290 TraceCheckUtils]: 27: Hoare triple {2564#(<= main_~X~0 (* main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2564#(<= main_~X~0 (* main_~Y~0 2))} is VALID [2022-04-14 15:04:26,193 INFO L272 TraceCheckUtils]: 28: Hoare triple {2564#(<= main_~X~0 (* main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2483#true} is VALID [2022-04-14 15:04:26,193 INFO L290 TraceCheckUtils]: 29: Hoare triple {2483#true} ~cond := #in~cond; {2483#true} is VALID [2022-04-14 15:04:26,194 INFO L290 TraceCheckUtils]: 30: Hoare triple {2483#true} assume !(0 == ~cond); {2483#true} is VALID [2022-04-14 15:04:26,194 INFO L290 TraceCheckUtils]: 31: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,201 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2483#true} {2564#(<= main_~X~0 (* main_~Y~0 2))} #65#return; {2564#(<= main_~X~0 (* main_~Y~0 2))} is VALID [2022-04-14 15:04:26,202 INFO L290 TraceCheckUtils]: 33: Hoare triple {2564#(<= main_~X~0 (* main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {2564#(<= main_~X~0 (* main_~Y~0 2))} is VALID [2022-04-14 15:04:26,203 INFO L290 TraceCheckUtils]: 34: Hoare triple {2564#(<= main_~X~0 (* main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:04:26,203 INFO L290 TraceCheckUtils]: 35: Hoare triple {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:04:26,203 INFO L290 TraceCheckUtils]: 36: Hoare triple {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:04:26,203 INFO L272 TraceCheckUtils]: 37: Hoare triple {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2483#true} is VALID [2022-04-14 15:04:26,204 INFO L290 TraceCheckUtils]: 38: Hoare triple {2483#true} ~cond := #in~cond; {2483#true} is VALID [2022-04-14 15:04:26,204 INFO L290 TraceCheckUtils]: 39: Hoare triple {2483#true} assume !(0 == ~cond); {2483#true} is VALID [2022-04-14 15:04:26,204 INFO L290 TraceCheckUtils]: 40: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,204 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2483#true} {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} #65#return; {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:04:26,205 INFO L290 TraceCheckUtils]: 42: Hoare triple {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !!(~x~0 <= ~X~0); {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:04:26,205 INFO L290 TraceCheckUtils]: 43: Hoare triple {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2620#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:04:26,206 INFO L290 TraceCheckUtils]: 44: Hoare triple {2620#(<= (div main_~v~0 (- 2)) 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2620#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:04:26,206 INFO L290 TraceCheckUtils]: 45: Hoare triple {2620#(<= (div main_~v~0 (- 2)) 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2620#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:04:26,206 INFO L272 TraceCheckUtils]: 46: Hoare triple {2620#(<= (div main_~v~0 (- 2)) 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2483#true} is VALID [2022-04-14 15:04:26,206 INFO L290 TraceCheckUtils]: 47: Hoare triple {2483#true} ~cond := #in~cond; {2483#true} is VALID [2022-04-14 15:04:26,206 INFO L290 TraceCheckUtils]: 48: Hoare triple {2483#true} assume !(0 == ~cond); {2483#true} is VALID [2022-04-14 15:04:26,206 INFO L290 TraceCheckUtils]: 49: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,207 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2483#true} {2620#(<= (div main_~v~0 (- 2)) 0)} #65#return; {2620#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:04:26,207 INFO L290 TraceCheckUtils]: 51: Hoare triple {2620#(<= (div main_~v~0 (- 2)) 0)} assume !!(~x~0 <= ~X~0); {2620#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:04:26,208 INFO L290 TraceCheckUtils]: 52: Hoare triple {2620#(<= (div main_~v~0 (- 2)) 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2484#false} is VALID [2022-04-14 15:04:26,208 INFO L290 TraceCheckUtils]: 53: Hoare triple {2484#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2484#false} is VALID [2022-04-14 15:04:26,208 INFO L290 TraceCheckUtils]: 54: Hoare triple {2484#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2484#false} is VALID [2022-04-14 15:04:26,208 INFO L272 TraceCheckUtils]: 55: Hoare triple {2484#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2484#false} is VALID [2022-04-14 15:04:26,208 INFO L290 TraceCheckUtils]: 56: Hoare triple {2484#false} ~cond := #in~cond; {2484#false} is VALID [2022-04-14 15:04:26,208 INFO L290 TraceCheckUtils]: 57: Hoare triple {2484#false} assume !(0 == ~cond); {2484#false} is VALID [2022-04-14 15:04:26,208 INFO L290 TraceCheckUtils]: 58: Hoare triple {2484#false} assume true; {2484#false} is VALID [2022-04-14 15:04:26,208 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {2484#false} {2484#false} #65#return; {2484#false} is VALID [2022-04-14 15:04:26,208 INFO L290 TraceCheckUtils]: 60: Hoare triple {2484#false} assume !!(~x~0 <= ~X~0); {2484#false} is VALID [2022-04-14 15:04:26,208 INFO L290 TraceCheckUtils]: 61: Hoare triple {2484#false} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2484#false} is VALID [2022-04-14 15:04:26,208 INFO L290 TraceCheckUtils]: 62: Hoare triple {2484#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2484#false} is VALID [2022-04-14 15:04:26,208 INFO L290 TraceCheckUtils]: 63: Hoare triple {2484#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2484#false} is VALID [2022-04-14 15:04:26,209 INFO L272 TraceCheckUtils]: 64: Hoare triple {2484#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2484#false} is VALID [2022-04-14 15:04:26,209 INFO L290 TraceCheckUtils]: 65: Hoare triple {2484#false} ~cond := #in~cond; {2484#false} is VALID [2022-04-14 15:04:26,209 INFO L290 TraceCheckUtils]: 66: Hoare triple {2484#false} assume !(0 == ~cond); {2484#false} is VALID [2022-04-14 15:04:26,209 INFO L290 TraceCheckUtils]: 67: Hoare triple {2484#false} assume true; {2484#false} is VALID [2022-04-14 15:04:26,209 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {2484#false} {2484#false} #65#return; {2484#false} is VALID [2022-04-14 15:04:26,209 INFO L290 TraceCheckUtils]: 69: Hoare triple {2484#false} assume !(~x~0 <= ~X~0); {2484#false} is VALID [2022-04-14 15:04:26,209 INFO L290 TraceCheckUtils]: 70: Hoare triple {2484#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2484#false} is VALID [2022-04-14 15:04:26,209 INFO L272 TraceCheckUtils]: 71: Hoare triple {2484#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)); {2484#false} is VALID [2022-04-14 15:04:26,209 INFO L290 TraceCheckUtils]: 72: Hoare triple {2484#false} ~cond := #in~cond; {2484#false} is VALID [2022-04-14 15:04:26,209 INFO L290 TraceCheckUtils]: 73: Hoare triple {2484#false} assume 0 == ~cond; {2484#false} is VALID [2022-04-14 15:04:26,209 INFO L290 TraceCheckUtils]: 74: Hoare triple {2484#false} assume !false; {2484#false} is VALID [2022-04-14 15:04:26,209 INFO L134 CoverageAnalysis]: Checked inductivity of 141 backedges. 74 proven. 27 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-14 15:04:26,210 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:04:26,582 INFO L290 TraceCheckUtils]: 74: Hoare triple {2484#false} assume !false; {2484#false} is VALID [2022-04-14 15:04:26,582 INFO L290 TraceCheckUtils]: 73: Hoare triple {2484#false} assume 0 == ~cond; {2484#false} is VALID [2022-04-14 15:04:26,583 INFO L290 TraceCheckUtils]: 72: Hoare triple {2484#false} ~cond := #in~cond; {2484#false} is VALID [2022-04-14 15:04:26,583 INFO L272 TraceCheckUtils]: 71: Hoare triple {2484#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)); {2484#false} is VALID [2022-04-14 15:04:26,583 INFO L290 TraceCheckUtils]: 70: Hoare triple {2484#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2484#false} is VALID [2022-04-14 15:04:26,583 INFO L290 TraceCheckUtils]: 69: Hoare triple {2484#false} assume !(~x~0 <= ~X~0); {2484#false} is VALID [2022-04-14 15:04:26,583 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {2483#true} {2484#false} #65#return; {2484#false} is VALID [2022-04-14 15:04:26,583 INFO L290 TraceCheckUtils]: 67: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,583 INFO L290 TraceCheckUtils]: 66: Hoare triple {2483#true} assume !(0 == ~cond); {2483#true} is VALID [2022-04-14 15:04:26,583 INFO L290 TraceCheckUtils]: 65: Hoare triple {2483#true} ~cond := #in~cond; {2483#true} is VALID [2022-04-14 15:04:26,583 INFO L272 TraceCheckUtils]: 64: Hoare triple {2484#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2483#true} is VALID [2022-04-14 15:04:26,583 INFO L290 TraceCheckUtils]: 63: Hoare triple {2484#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2484#false} is VALID [2022-04-14 15:04:26,583 INFO L290 TraceCheckUtils]: 62: Hoare triple {2484#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2484#false} is VALID [2022-04-14 15:04:26,583 INFO L290 TraceCheckUtils]: 61: Hoare triple {2484#false} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2484#false} is VALID [2022-04-14 15:04:26,583 INFO L290 TraceCheckUtils]: 60: Hoare triple {2484#false} assume !!(~x~0 <= ~X~0); {2484#false} is VALID [2022-04-14 15:04:26,584 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {2483#true} {2484#false} #65#return; {2484#false} is VALID [2022-04-14 15:04:26,584 INFO L290 TraceCheckUtils]: 58: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,584 INFO L290 TraceCheckUtils]: 57: Hoare triple {2483#true} assume !(0 == ~cond); {2483#true} is VALID [2022-04-14 15:04:26,584 INFO L290 TraceCheckUtils]: 56: Hoare triple {2483#true} ~cond := #in~cond; {2483#true} is VALID [2022-04-14 15:04:26,584 INFO L272 TraceCheckUtils]: 55: Hoare triple {2484#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2483#true} is VALID [2022-04-14 15:04:26,584 INFO L290 TraceCheckUtils]: 54: Hoare triple {2484#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2484#false} is VALID [2022-04-14 15:04:26,584 INFO L290 TraceCheckUtils]: 53: Hoare triple {2484#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2484#false} is VALID [2022-04-14 15:04:26,586 INFO L290 TraceCheckUtils]: 52: Hoare triple {2620#(<= (div main_~v~0 (- 2)) 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2484#false} is VALID [2022-04-14 15:04:26,586 INFO L290 TraceCheckUtils]: 51: Hoare triple {2620#(<= (div main_~v~0 (- 2)) 0)} assume !!(~x~0 <= ~X~0); {2620#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:04:26,586 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2483#true} {2620#(<= (div main_~v~0 (- 2)) 0)} #65#return; {2620#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:04:26,586 INFO L290 TraceCheckUtils]: 49: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,586 INFO L290 TraceCheckUtils]: 48: Hoare triple {2483#true} assume !(0 == ~cond); {2483#true} is VALID [2022-04-14 15:04:26,586 INFO L290 TraceCheckUtils]: 47: Hoare triple {2483#true} ~cond := #in~cond; {2483#true} is VALID [2022-04-14 15:04:26,586 INFO L272 TraceCheckUtils]: 46: Hoare triple {2620#(<= (div main_~v~0 (- 2)) 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2483#true} is VALID [2022-04-14 15:04:26,587 INFO L290 TraceCheckUtils]: 45: Hoare triple {2620#(<= (div main_~v~0 (- 2)) 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2620#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:04:26,587 INFO L290 TraceCheckUtils]: 44: Hoare triple {2620#(<= (div main_~v~0 (- 2)) 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2620#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:04:26,587 INFO L290 TraceCheckUtils]: 43: Hoare triple {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2620#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-14 15:04:26,587 INFO L290 TraceCheckUtils]: 42: Hoare triple {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !!(~x~0 <= ~X~0); {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:04:26,588 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2483#true} {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} #65#return; {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:04:26,588 INFO L290 TraceCheckUtils]: 40: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,588 INFO L290 TraceCheckUtils]: 39: Hoare triple {2483#true} assume !(0 == ~cond); {2483#true} is VALID [2022-04-14 15:04:26,588 INFO L290 TraceCheckUtils]: 38: Hoare triple {2483#true} ~cond := #in~cond; {2483#true} is VALID [2022-04-14 15:04:26,588 INFO L272 TraceCheckUtils]: 37: Hoare triple {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2483#true} is VALID [2022-04-14 15:04:26,592 INFO L290 TraceCheckUtils]: 36: Hoare triple {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:04:26,592 INFO L290 TraceCheckUtils]: 35: Hoare triple {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:04:26,593 INFO L290 TraceCheckUtils]: 34: Hoare triple {2564#(<= main_~X~0 (* main_~Y~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2592#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-14 15:04:26,601 INFO L290 TraceCheckUtils]: 33: Hoare triple {2564#(<= main_~X~0 (* main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {2564#(<= main_~X~0 (* main_~Y~0 2))} is VALID [2022-04-14 15:04:26,602 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2483#true} {2564#(<= main_~X~0 (* main_~Y~0 2))} #65#return; {2564#(<= main_~X~0 (* main_~Y~0 2))} is VALID [2022-04-14 15:04:26,602 INFO L290 TraceCheckUtils]: 31: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,602 INFO L290 TraceCheckUtils]: 30: Hoare triple {2483#true} assume !(0 == ~cond); {2483#true} is VALID [2022-04-14 15:04:26,602 INFO L290 TraceCheckUtils]: 29: Hoare triple {2483#true} ~cond := #in~cond; {2483#true} is VALID [2022-04-14 15:04:26,602 INFO L272 TraceCheckUtils]: 28: Hoare triple {2564#(<= main_~X~0 (* main_~Y~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2483#true} is VALID [2022-04-14 15:04:26,603 INFO L290 TraceCheckUtils]: 27: Hoare triple {2564#(<= main_~X~0 (* main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2564#(<= main_~X~0 (* main_~Y~0 2))} is VALID [2022-04-14 15:04:26,603 INFO L290 TraceCheckUtils]: 26: Hoare triple {2564#(<= main_~X~0 (* main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2564#(<= main_~X~0 (* main_~Y~0 2))} is VALID [2022-04-14 15:04:26,603 INFO L290 TraceCheckUtils]: 25: Hoare triple {2861#(or (< main_~v~0 0) (<= main_~X~0 (* main_~Y~0 2)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2564#(<= main_~X~0 (* main_~Y~0 2))} is VALID [2022-04-14 15:04:26,604 INFO L290 TraceCheckUtils]: 24: Hoare triple {2861#(or (< main_~v~0 0) (<= main_~X~0 (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {2861#(or (< main_~v~0 0) (<= main_~X~0 (* main_~Y~0 2)))} is VALID [2022-04-14 15:04:26,604 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2483#true} {2861#(or (< main_~v~0 0) (<= main_~X~0 (* main_~Y~0 2)))} #65#return; {2861#(or (< main_~v~0 0) (<= main_~X~0 (* main_~Y~0 2)))} is VALID [2022-04-14 15:04:26,604 INFO L290 TraceCheckUtils]: 22: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,604 INFO L290 TraceCheckUtils]: 21: Hoare triple {2483#true} assume !(0 == ~cond); {2483#true} is VALID [2022-04-14 15:04:26,604 INFO L290 TraceCheckUtils]: 20: Hoare triple {2483#true} ~cond := #in~cond; {2483#true} is VALID [2022-04-14 15:04:26,604 INFO L272 TraceCheckUtils]: 19: Hoare triple {2861#(or (< main_~v~0 0) (<= main_~X~0 (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2483#true} is VALID [2022-04-14 15:04:26,605 INFO L290 TraceCheckUtils]: 18: Hoare triple {2861#(or (< main_~v~0 0) (<= main_~X~0 (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2861#(or (< main_~v~0 0) (<= main_~X~0 (* main_~Y~0 2)))} is VALID [2022-04-14 15:04:26,605 INFO L290 TraceCheckUtils]: 17: Hoare triple {2483#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2861#(or (< main_~v~0 0) (<= main_~X~0 (* main_~Y~0 2)))} is VALID [2022-04-14 15:04:26,605 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2483#true} {2483#true} #63#return; {2483#true} is VALID [2022-04-14 15:04:26,605 INFO L290 TraceCheckUtils]: 15: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,606 INFO L290 TraceCheckUtils]: 14: Hoare triple {2483#true} assume !(0 == ~cond); {2483#true} is VALID [2022-04-14 15:04:26,606 INFO L290 TraceCheckUtils]: 13: Hoare triple {2483#true} ~cond := #in~cond; {2483#true} is VALID [2022-04-14 15:04:26,606 INFO L272 TraceCheckUtils]: 12: Hoare triple {2483#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 1 then 1 else 0)); {2483#true} is VALID [2022-04-14 15:04:26,606 INFO L290 TraceCheckUtils]: 11: Hoare triple {2483#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2483#true} is VALID [2022-04-14 15:04:26,606 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2483#true} {2483#true} #61#return; {2483#true} is VALID [2022-04-14 15:04:26,606 INFO L290 TraceCheckUtils]: 9: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,606 INFO L290 TraceCheckUtils]: 8: Hoare triple {2483#true} assume !(0 == ~cond); {2483#true} is VALID [2022-04-14 15:04:26,606 INFO L290 TraceCheckUtils]: 7: Hoare triple {2483#true} ~cond := #in~cond; {2483#true} is VALID [2022-04-14 15:04:26,606 INFO L272 TraceCheckUtils]: 6: Hoare triple {2483#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 1 then 1 else 0)); {2483#true} is VALID [2022-04-14 15:04:26,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {2483#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; {2483#true} is VALID [2022-04-14 15:04:26,606 INFO L272 TraceCheckUtils]: 4: Hoare triple {2483#true} call #t~ret8 := main(); {2483#true} is VALID [2022-04-14 15:04:26,606 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2483#true} {2483#true} #69#return; {2483#true} is VALID [2022-04-14 15:04:26,606 INFO L290 TraceCheckUtils]: 2: Hoare triple {2483#true} assume true; {2483#true} is VALID [2022-04-14 15:04:26,606 INFO L290 TraceCheckUtils]: 1: Hoare triple {2483#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); {2483#true} is VALID [2022-04-14 15:04:26,606 INFO L272 TraceCheckUtils]: 0: Hoare triple {2483#true} call ULTIMATE.init(); {2483#true} is VALID [2022-04-14 15:04:26,607 INFO L134 CoverageAnalysis]: Checked inductivity of 141 backedges. 50 proven. 23 refuted. 0 times theorem prover too weak. 68 trivial. 0 not checked. [2022-04-14 15:04:26,607 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:04:26,607 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1730747305] [2022-04-14 15:04:26,607 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:04:26,607 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1614631669] [2022-04-14 15:04:26,607 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1614631669] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:04:26,607 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:04:26,607 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-14 15:04:26,607 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [912971793] [2022-04-14 15:04:26,608 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:04:26,609 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 5.857142857142857) internal successors, (41), 7 states have internal predecessors, (41), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) Word has length 75 [2022-04-14 15:04:26,609 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:04:26,609 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 5.857142857142857) internal successors, (41), 7 states have internal predecessors, (41), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-14 15:04:26,639 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:04:26,640 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-14 15:04:26,640 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:04:26,640 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-14 15:04:26,640 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-14 15:04:26,641 INFO L87 Difference]: Start difference. First operand 56 states and 64 transitions. Second operand has 7 states, 7 states have (on average 5.857142857142857) internal successors, (41), 7 states have internal predecessors, (41), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-14 15:04:26,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:26,855 INFO L93 Difference]: Finished difference Result 85 states and 99 transitions. [2022-04-14 15:04:26,855 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 15:04:26,855 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 5.857142857142857) internal successors, (41), 7 states have internal predecessors, (41), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) Word has length 75 [2022-04-14 15:04:26,856 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:04:26,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 5.857142857142857) internal successors, (41), 7 states have internal predecessors, (41), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-14 15:04:26,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 57 transitions. [2022-04-14 15:04:26,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 5.857142857142857) internal successors, (41), 7 states have internal predecessors, (41), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-14 15:04:26,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 57 transitions. [2022-04-14 15:04:26,858 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 57 transitions. [2022-04-14 15:04:26,904 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:04:26,907 INFO L225 Difference]: With dead ends: 85 [2022-04-14 15:04:26,907 INFO L226 Difference]: Without dead ends: 66 [2022-04-14 15:04:26,907 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 142 SyntacticMatches, 2 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-04-14 15:04:26,908 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 9 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 68 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 15:04:26,908 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 81 Invalid, 68 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 15:04:26,909 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-14 15:04:26,957 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 61. [2022-04-14 15:04:26,957 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:04:26,957 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 61 states, 44 states have (on average 1.0909090909090908) internal successors, (48), 44 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:04:26,958 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 61 states, 44 states have (on average 1.0909090909090908) internal successors, (48), 44 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:04:26,958 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 61 states, 44 states have (on average 1.0909090909090908) internal successors, (48), 44 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:04:26,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:26,962 INFO L93 Difference]: Finished difference Result 66 states and 76 transitions. [2022-04-14 15:04:26,962 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 76 transitions. [2022-04-14 15:04:26,962 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:26,963 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:26,963 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 44 states have (on average 1.0909090909090908) internal successors, (48), 44 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 66 states. [2022-04-14 15:04:26,963 INFO L87 Difference]: Start difference. First operand has 61 states, 44 states have (on average 1.0909090909090908) internal successors, (48), 44 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 66 states. [2022-04-14 15:04:26,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:04:26,966 INFO L93 Difference]: Finished difference Result 66 states and 76 transitions. [2022-04-14 15:04:26,966 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 76 transitions. [2022-04-14 15:04:26,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:04:26,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:04:26,967 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:04:26,967 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:04:26,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 44 states have (on average 1.0909090909090908) internal successors, (48), 44 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:04:26,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 70 transitions. [2022-04-14 15:04:26,969 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 70 transitions. Word has length 75 [2022-04-14 15:04:26,969 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:04:26,969 INFO L478 AbstractCegarLoop]: Abstraction has 61 states and 70 transitions. [2022-04-14 15:04:26,969 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 5.857142857142857) internal successors, (41), 7 states have internal predecessors, (41), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-14 15:04:26,969 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 70 transitions. [2022-04-14 15:04:26,970 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-14 15:04:26,970 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:04:26,970 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 6, 6, 6, 5, 5, 3, 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:26,999 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:04:27,200 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:04:27,200 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:04:27,201 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:04:27,201 INFO L85 PathProgramCache]: Analyzing trace with hash 657512368, now seen corresponding path program 3 times [2022-04-14 15:04:27,201 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:04:27,201 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1777607579] [2022-04-14 15:04:27,201 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:04:27,201 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:04:27,212 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:04:27,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1225401093] [2022-04-14 15:04:27,212 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-14 15:04:27,212 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:04:27,212 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:04:27,219 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:04:27,220 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:04:27,277 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-04-14 15:04:27,278 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 15:04:27,279 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-14 15:04:27,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:04:27,309 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:04:42,948 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:04:49,381 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:04:54,079 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:05:27,982 INFO L272 TraceCheckUtils]: 0: Hoare triple {3280#true} call ULTIMATE.init(); {3280#true} is VALID [2022-04-14 15:05:27,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {3280#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); {3280#true} is VALID [2022-04-14 15:05:27,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {3280#true} assume true; {3280#true} is VALID [2022-04-14 15:05:27,982 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3280#true} {3280#true} #69#return; {3280#true} is VALID [2022-04-14 15:05:27,982 INFO L272 TraceCheckUtils]: 4: Hoare triple {3280#true} call #t~ret8 := main(); {3280#true} is VALID [2022-04-14 15:05:27,982 INFO L290 TraceCheckUtils]: 5: Hoare triple {3280#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; {3280#true} is VALID [2022-04-14 15:05:27,983 INFO L272 TraceCheckUtils]: 6: Hoare triple {3280#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 1 then 1 else 0)); {3280#true} is VALID [2022-04-14 15:05:27,983 INFO L290 TraceCheckUtils]: 7: Hoare triple {3280#true} ~cond := #in~cond; {3306#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 15:05:27,983 INFO L290 TraceCheckUtils]: 8: Hoare triple {3306#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3310#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:05:27,983 INFO L290 TraceCheckUtils]: 9: Hoare triple {3310#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3310#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:05:27,985 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3310#(not (= |assume_abort_if_not_#in~cond| 0))} {3280#true} #61#return; {3317#(and (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,986 INFO L290 TraceCheckUtils]: 11: Hoare triple {3317#(and (<= 0 main_~X~0) (<= main_~X~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3317#(and (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,986 INFO L272 TraceCheckUtils]: 12: Hoare triple {3317#(and (<= 0 main_~X~0) (<= main_~X~0 1))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 1 then 1 else 0)); {3280#true} is VALID [2022-04-14 15:05:27,986 INFO L290 TraceCheckUtils]: 13: Hoare triple {3280#true} ~cond := #in~cond; {3306#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 15:05:27,986 INFO L290 TraceCheckUtils]: 14: Hoare triple {3306#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3310#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:05:27,987 INFO L290 TraceCheckUtils]: 15: Hoare triple {3310#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3310#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 15:05:27,987 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3310#(not (= |assume_abort_if_not_#in~cond| 0))} {3317#(and (<= 0 main_~X~0) (<= main_~X~0 1))} #63#return; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,988 INFO L290 TraceCheckUtils]: 17: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,988 INFO L290 TraceCheckUtils]: 18: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,988 INFO L272 TraceCheckUtils]: 19: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 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)); {3280#true} is VALID [2022-04-14 15:05:27,988 INFO L290 TraceCheckUtils]: 20: Hoare triple {3280#true} ~cond := #in~cond; {3280#true} is VALID [2022-04-14 15:05:27,988 INFO L290 TraceCheckUtils]: 21: Hoare triple {3280#true} assume !(0 == ~cond); {3280#true} is VALID [2022-04-14 15:05:27,988 INFO L290 TraceCheckUtils]: 22: Hoare triple {3280#true} assume true; {3280#true} is VALID [2022-04-14 15:05:27,989 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3280#true} {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} #65#return; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,989 INFO L290 TraceCheckUtils]: 24: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} assume !!(~x~0 <= ~X~0); {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,989 INFO L290 TraceCheckUtils]: 25: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,989 INFO L290 TraceCheckUtils]: 26: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,990 INFO L290 TraceCheckUtils]: 27: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,990 INFO L272 TraceCheckUtils]: 28: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 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)); {3280#true} is VALID [2022-04-14 15:05:27,990 INFO L290 TraceCheckUtils]: 29: Hoare triple {3280#true} ~cond := #in~cond; {3280#true} is VALID [2022-04-14 15:05:27,990 INFO L290 TraceCheckUtils]: 30: Hoare triple {3280#true} assume !(0 == ~cond); {3280#true} is VALID [2022-04-14 15:05:27,990 INFO L290 TraceCheckUtils]: 31: Hoare triple {3280#true} assume true; {3280#true} is VALID [2022-04-14 15:05:27,990 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3280#true} {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} #65#return; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,991 INFO L290 TraceCheckUtils]: 33: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} assume !!(~x~0 <= ~X~0); {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,991 INFO L290 TraceCheckUtils]: 34: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,991 INFO L290 TraceCheckUtils]: 35: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,992 INFO L290 TraceCheckUtils]: 36: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,992 INFO L272 TraceCheckUtils]: 37: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 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)); {3280#true} is VALID [2022-04-14 15:05:27,992 INFO L290 TraceCheckUtils]: 38: Hoare triple {3280#true} ~cond := #in~cond; {3280#true} is VALID [2022-04-14 15:05:27,992 INFO L290 TraceCheckUtils]: 39: Hoare triple {3280#true} assume !(0 == ~cond); {3280#true} is VALID [2022-04-14 15:05:27,992 INFO L290 TraceCheckUtils]: 40: Hoare triple {3280#true} assume true; {3280#true} is VALID [2022-04-14 15:05:27,992 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3280#true} {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} #65#return; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,993 INFO L290 TraceCheckUtils]: 42: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} assume !!(~x~0 <= ~X~0); {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,993 INFO L290 TraceCheckUtils]: 43: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,993 INFO L290 TraceCheckUtils]: 44: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,993 INFO L290 TraceCheckUtils]: 45: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,994 INFO L272 TraceCheckUtils]: 46: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 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)); {3280#true} is VALID [2022-04-14 15:05:27,994 INFO L290 TraceCheckUtils]: 47: Hoare triple {3280#true} ~cond := #in~cond; {3280#true} is VALID [2022-04-14 15:05:27,994 INFO L290 TraceCheckUtils]: 48: Hoare triple {3280#true} assume !(0 == ~cond); {3280#true} is VALID [2022-04-14 15:05:27,994 INFO L290 TraceCheckUtils]: 49: Hoare triple {3280#true} assume true; {3280#true} is VALID [2022-04-14 15:05:27,994 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3280#true} {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} #65#return; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,994 INFO L290 TraceCheckUtils]: 51: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} assume !!(~x~0 <= ~X~0); {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,995 INFO L290 TraceCheckUtils]: 52: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,995 INFO L290 TraceCheckUtils]: 53: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,995 INFO L290 TraceCheckUtils]: 54: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,995 INFO L272 TraceCheckUtils]: 55: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 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)); {3280#true} is VALID [2022-04-14 15:05:27,995 INFO L290 TraceCheckUtils]: 56: Hoare triple {3280#true} ~cond := #in~cond; {3280#true} is VALID [2022-04-14 15:05:27,995 INFO L290 TraceCheckUtils]: 57: Hoare triple {3280#true} assume !(0 == ~cond); {3280#true} is VALID [2022-04-14 15:05:27,996 INFO L290 TraceCheckUtils]: 58: Hoare triple {3280#true} assume true; {3280#true} is VALID [2022-04-14 15:05:27,996 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {3280#true} {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} #65#return; {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,996 INFO L290 TraceCheckUtils]: 60: Hoare triple {3336#(and (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} assume !!(~x~0 <= ~X~0); {3469#(and (<= main_~x~0 main_~X~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,997 INFO L290 TraceCheckUtils]: 61: Hoare triple {3469#(and (<= main_~x~0 main_~X~0) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3473#(and (<= main_~x~0 main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:27,998 INFO L290 TraceCheckUtils]: 62: Hoare triple {3473#(and (<= main_~x~0 main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3477#(and (< main_~v~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-14 15:05:27,998 INFO L290 TraceCheckUtils]: 63: Hoare triple {3477#(and (< main_~v~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3481#(and (< main_~v~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~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:05:27,998 INFO L272 TraceCheckUtils]: 64: Hoare triple {3481#(and (< main_~v~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~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)); {3280#true} is VALID [2022-04-14 15:05:27,999 INFO L290 TraceCheckUtils]: 65: Hoare triple {3280#true} ~cond := #in~cond; {3488#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:05:27,999 INFO L290 TraceCheckUtils]: 66: Hoare triple {3488#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3492#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:05:27,999 INFO L290 TraceCheckUtils]: 67: Hoare triple {3492#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3492#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:05:28,000 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {3492#(not (= |__VERIFIER_assert_#in~cond| 0))} {3481#(and (< main_~v~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~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; {3499#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-14 15:05:28,001 INFO L290 TraceCheckUtils]: 69: Hoare triple {3499#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {3503#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-14 15:05:28,025 INFO L290 TraceCheckUtils]: 70: Hoare triple {3503#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1) (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; {3507#(and (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) (<= (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_~v~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~X~0 1))} is VALID [2022-04-14 15:05:28,034 INFO L272 TraceCheckUtils]: 71: Hoare triple {3507#(and (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) (<= (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_~v~0 (* main_~Y~0 2)) (<= main_~Y~0 1) (<= 0 main_~Y~0) (<= 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 + 2 * ~y~0 then 1 else 0)); {3511#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:05:28,034 INFO L290 TraceCheckUtils]: 72: Hoare triple {3511#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3515#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:05:28,034 INFO L290 TraceCheckUtils]: 73: Hoare triple {3515#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3281#false} is VALID [2022-04-14 15:05:28,034 INFO L290 TraceCheckUtils]: 74: Hoare triple {3281#false} assume !false; {3281#false} is VALID [2022-04-14 15:05:28,035 INFO L134 CoverageAnalysis]: Checked inductivity of 141 backedges. 49 proven. 1 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2022-04-14 15:05:28,035 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:05:32,010 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:05:37,493 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:06:26,837 INFO L290 TraceCheckUtils]: 74: Hoare triple {3281#false} assume !false; {3281#false} is VALID [2022-04-14 15:06:26,838 INFO L290 TraceCheckUtils]: 73: Hoare triple {3515#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3281#false} is VALID [2022-04-14 15:06:26,838 INFO L290 TraceCheckUtils]: 72: Hoare triple {3511#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3515#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:06:26,839 INFO L272 TraceCheckUtils]: 71: Hoare triple {3531#(= (+ (* 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)); {3511#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:06:26,840 INFO L290 TraceCheckUtils]: 70: Hoare triple {3535#(= (+ (* 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; {3531#(= (+ (* 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:06:26,840 INFO L290 TraceCheckUtils]: 69: Hoare triple {3539#(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); {3535#(= (+ (* 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:06:26,841 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {3492#(not (= |__VERIFIER_assert_#in~cond| 0))} {3543#(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; {3539#(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:06:26,841 INFO L290 TraceCheckUtils]: 67: Hoare triple {3492#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3492#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:06:26,842 INFO L290 TraceCheckUtils]: 66: Hoare triple {3553#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3492#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:06:26,842 INFO L290 TraceCheckUtils]: 65: Hoare triple {3280#true} ~cond := #in~cond; {3553#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 15:06:26,842 INFO L272 TraceCheckUtils]: 64: Hoare triple {3543#(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)); {3280#true} is VALID [2022-04-14 15:06:28,845 WARN L290 TraceCheckUtils]: 63: Hoare triple {3560#(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; {3543#(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:06:28,857 INFO L290 TraceCheckUtils]: 62: Hoare triple {3564#(forall ((v_main_~x~0_29 Int)) (or (and (or (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_29 main_~Y~0)) 0)) (forall ((main_~y~0 Int)) (= (+ (* 2 (* v_main_~x~0_29 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)) (+ main_~X~0 main_~v~0 (* 2 (* v_main_~x~0_29 main_~y~0))))) (not (= main_~X~0 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_29 (- 2) main_~Y~0)) 2) 0))) (or (= main_~X~0 0) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_29 main_~Y~0)) main_~X~0) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_29 (- 2) main_~Y~0)) 2) 0)) (= (+ (* 2 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_29 main_~Y~0)) main_~X~0)) (* 2 (* v_main_~x~0_29 main_~Y~0)) (* main_~Y~0 2)) (+ main_~X~0 main_~v~0 (* (* v_main_~x~0_29 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_29 main_~Y~0)) main_~X~0)) 2))))) (not (<= v_main_~x~0_29 (+ main_~x~0 1))) (<= v_main_~x~0_29 main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3560#(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:06:31,391 WARN L290 TraceCheckUtils]: 61: Hoare triple {3568#(forall ((v_main_~x~0_29 Int)) (or (not (<= v_main_~x~0_29 (+ main_~x~0 1))) (<= v_main_~x~0_29 main_~X~0) (and (or (not (= main_~X~0 0)) (and (or (<= (div (- main_~X~0) (- 2)) (* v_main_~x~0_29 main_~Y~0)) (forall ((main_~y~0 Int)) (<= (* v_main_~x~0_29 main_~y~0) main_~y~0))) (or (<= (div (- main_~X~0) (- 2)) (* v_main_~x~0_29 main_~Y~0)) (forall ((main_~y~0 Int)) (<= main_~y~0 (* v_main_~x~0_29 main_~y~0)))))) (or (forall ((aux_div_aux_mod_v_main_~v~0_36_40_77 Int)) (or (and (or (forall ((aux_div_v_main_~v~0_36_40 Int)) (or (<= (+ aux_div_v_main_~v~0_36_40 1) aux_div_aux_mod_v_main_~v~0_36_40_77) (<= (+ aux_div_aux_mod_v_main_~v~0_36_40_77 1) aux_div_v_main_~v~0_36_40) (<= (* v_main_~x~0_29 (div (+ main_~Y~0 (* v_main_~x~0_29 main_~Y~0) aux_div_v_main_~v~0_36_40) main_~X~0)) (+ aux_div_aux_mod_v_main_~v~0_36_40_77 main_~Y~0 (* v_main_~x~0_29 main_~Y~0) (div (+ main_~Y~0 (* v_main_~x~0_29 main_~Y~0) aux_div_v_main_~v~0_36_40) main_~X~0))))) (<= (+ aux_div_aux_mod_v_main_~v~0_36_40_77 main_~Y~0 (div (- main_~X~0) (- 2))) 0)) (or (forall ((aux_div_v_main_~v~0_36_40 Int)) (or (<= (+ aux_div_v_main_~v~0_36_40 1) aux_div_aux_mod_v_main_~v~0_36_40_77) (<= (+ aux_div_aux_mod_v_main_~v~0_36_40_77 1) aux_div_v_main_~v~0_36_40) (<= (+ aux_div_aux_mod_v_main_~v~0_36_40_77 main_~Y~0 (* v_main_~x~0_29 main_~Y~0) (div (+ main_~Y~0 (* v_main_~x~0_29 main_~Y~0) aux_div_v_main_~v~0_36_40) main_~X~0)) (* v_main_~x~0_29 (div (+ main_~Y~0 (* v_main_~x~0_29 main_~Y~0) aux_div_v_main_~v~0_36_40) main_~X~0))))) (<= (+ aux_div_aux_mod_v_main_~v~0_36_40_77 main_~Y~0 (div (- main_~X~0) (- 2))) 0))) (not (= (mod (+ aux_div_aux_mod_v_main_~v~0_36_40_77 main_~Y~0 (* v_main_~x~0_29 main_~Y~0)) main_~X~0) 0)))) (= main_~X~0 0)))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3564#(forall ((v_main_~x~0_29 Int)) (or (and (or (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_29 main_~Y~0)) 0)) (forall ((main_~y~0 Int)) (= (+ (* 2 (* v_main_~x~0_29 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)) (+ main_~X~0 main_~v~0 (* 2 (* v_main_~x~0_29 main_~y~0))))) (not (= main_~X~0 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_29 (- 2) main_~Y~0)) 2) 0))) (or (= main_~X~0 0) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_29 main_~Y~0)) main_~X~0) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_29 (- 2) main_~Y~0)) 2) 0)) (= (+ (* 2 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_29 main_~Y~0)) main_~X~0)) (* 2 (* v_main_~x~0_29 main_~Y~0)) (* main_~Y~0 2)) (+ main_~X~0 main_~v~0 (* (* v_main_~x~0_29 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_29 main_~Y~0)) main_~X~0)) 2))))) (not (<= v_main_~x~0_29 (+ main_~x~0 1))) (<= v_main_~x~0_29 main_~X~0)))} is UNKNOWN [2022-04-14 15:06:31,456 INFO L290 TraceCheckUtils]: 60: Hoare triple {3280#true} assume !!(~x~0 <= ~X~0); {3568#(forall ((v_main_~x~0_29 Int)) (or (not (<= v_main_~x~0_29 (+ main_~x~0 1))) (<= v_main_~x~0_29 main_~X~0) (and (or (not (= main_~X~0 0)) (and (or (<= (div (- main_~X~0) (- 2)) (* v_main_~x~0_29 main_~Y~0)) (forall ((main_~y~0 Int)) (<= (* v_main_~x~0_29 main_~y~0) main_~y~0))) (or (<= (div (- main_~X~0) (- 2)) (* v_main_~x~0_29 main_~Y~0)) (forall ((main_~y~0 Int)) (<= main_~y~0 (* v_main_~x~0_29 main_~y~0)))))) (or (forall ((aux_div_aux_mod_v_main_~v~0_36_40_77 Int)) (or (and (or (forall ((aux_div_v_main_~v~0_36_40 Int)) (or (<= (+ aux_div_v_main_~v~0_36_40 1) aux_div_aux_mod_v_main_~v~0_36_40_77) (<= (+ aux_div_aux_mod_v_main_~v~0_36_40_77 1) aux_div_v_main_~v~0_36_40) (<= (* v_main_~x~0_29 (div (+ main_~Y~0 (* v_main_~x~0_29 main_~Y~0) aux_div_v_main_~v~0_36_40) main_~X~0)) (+ aux_div_aux_mod_v_main_~v~0_36_40_77 main_~Y~0 (* v_main_~x~0_29 main_~Y~0) (div (+ main_~Y~0 (* v_main_~x~0_29 main_~Y~0) aux_div_v_main_~v~0_36_40) main_~X~0))))) (<= (+ aux_div_aux_mod_v_main_~v~0_36_40_77 main_~Y~0 (div (- main_~X~0) (- 2))) 0)) (or (forall ((aux_div_v_main_~v~0_36_40 Int)) (or (<= (+ aux_div_v_main_~v~0_36_40 1) aux_div_aux_mod_v_main_~v~0_36_40_77) (<= (+ aux_div_aux_mod_v_main_~v~0_36_40_77 1) aux_div_v_main_~v~0_36_40) (<= (+ aux_div_aux_mod_v_main_~v~0_36_40_77 main_~Y~0 (* v_main_~x~0_29 main_~Y~0) (div (+ main_~Y~0 (* v_main_~x~0_29 main_~Y~0) aux_div_v_main_~v~0_36_40) main_~X~0)) (* v_main_~x~0_29 (div (+ main_~Y~0 (* v_main_~x~0_29 main_~Y~0) aux_div_v_main_~v~0_36_40) main_~X~0))))) (<= (+ aux_div_aux_mod_v_main_~v~0_36_40_77 main_~Y~0 (div (- main_~X~0) (- 2))) 0))) (not (= (mod (+ aux_div_aux_mod_v_main_~v~0_36_40_77 main_~Y~0 (* v_main_~x~0_29 main_~Y~0)) main_~X~0) 0)))) (= main_~X~0 0)))))} is VALID [2022-04-14 15:06:31,456 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {3280#true} {3280#true} #65#return; {3280#true} is VALID [2022-04-14 15:06:31,456 INFO L290 TraceCheckUtils]: 58: Hoare triple {3280#true} assume true; {3280#true} is VALID [2022-04-14 15:06:31,456 INFO L290 TraceCheckUtils]: 57: Hoare triple {3280#true} assume !(0 == ~cond); {3280#true} is VALID [2022-04-14 15:06:31,456 INFO L290 TraceCheckUtils]: 56: Hoare triple {3280#true} ~cond := #in~cond; {3280#true} is VALID [2022-04-14 15:06:31,456 INFO L272 TraceCheckUtils]: 55: Hoare triple {3280#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3280#true} is VALID [2022-04-14 15:06:31,456 INFO L290 TraceCheckUtils]: 54: Hoare triple {3280#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3280#true} is VALID [2022-04-14 15:06:31,456 INFO L290 TraceCheckUtils]: 53: Hoare triple {3280#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3280#true} is VALID [2022-04-14 15:06:31,456 INFO L290 TraceCheckUtils]: 52: Hoare triple {3280#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; {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L290 TraceCheckUtils]: 51: Hoare triple {3280#true} assume !!(~x~0 <= ~X~0); {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3280#true} {3280#true} #65#return; {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L290 TraceCheckUtils]: 49: Hoare triple {3280#true} assume true; {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L290 TraceCheckUtils]: 48: Hoare triple {3280#true} assume !(0 == ~cond); {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L290 TraceCheckUtils]: 47: Hoare triple {3280#true} ~cond := #in~cond; {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L272 TraceCheckUtils]: 46: Hoare triple {3280#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L290 TraceCheckUtils]: 45: Hoare triple {3280#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L290 TraceCheckUtils]: 44: Hoare triple {3280#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L290 TraceCheckUtils]: 43: Hoare triple {3280#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L290 TraceCheckUtils]: 42: Hoare triple {3280#true} assume !!(~x~0 <= ~X~0); {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3280#true} {3280#true} #65#return; {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L290 TraceCheckUtils]: 40: Hoare triple {3280#true} assume true; {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L290 TraceCheckUtils]: 39: Hoare triple {3280#true} assume !(0 == ~cond); {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L290 TraceCheckUtils]: 38: Hoare triple {3280#true} ~cond := #in~cond; {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L272 TraceCheckUtils]: 37: Hoare triple {3280#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3280#true} is VALID [2022-04-14 15:06:31,457 INFO L290 TraceCheckUtils]: 36: Hoare triple {3280#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3280#true} is VALID [2022-04-14 15:06:31,458 INFO L290 TraceCheckUtils]: 35: Hoare triple {3280#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3280#true} is VALID [2022-04-14 15:06:31,458 INFO L290 TraceCheckUtils]: 34: Hoare triple {3280#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; {3280#true} is VALID [2022-04-14 15:06:31,458 INFO L290 TraceCheckUtils]: 33: Hoare triple {3280#true} assume !!(~x~0 <= ~X~0); {3280#true} is VALID [2022-04-14 15:06:31,458 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3280#true} {3280#true} #65#return; {3280#true} is VALID [2022-04-14 15:06:31,458 INFO L290 TraceCheckUtils]: 31: Hoare triple {3280#true} assume true; {3280#true} is VALID [2022-04-14 15:06:31,458 INFO L290 TraceCheckUtils]: 30: Hoare triple {3280#true} assume !(0 == ~cond); {3280#true} is VALID [2022-04-14 15:06:31,458 INFO L290 TraceCheckUtils]: 29: Hoare triple {3280#true} ~cond := #in~cond; {3280#true} is VALID [2022-04-14 15:06:31,458 INFO L272 TraceCheckUtils]: 28: Hoare triple {3280#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3280#true} is VALID [2022-04-14 15:06:31,458 INFO L290 TraceCheckUtils]: 27: Hoare triple {3280#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3280#true} is VALID [2022-04-14 15:06:31,458 INFO L290 TraceCheckUtils]: 26: Hoare triple {3280#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3280#true} is VALID [2022-04-14 15:06:31,458 INFO L290 TraceCheckUtils]: 25: Hoare triple {3280#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; {3280#true} is VALID [2022-04-14 15:06:31,458 INFO L290 TraceCheckUtils]: 24: Hoare triple {3280#true} assume !!(~x~0 <= ~X~0); {3280#true} is VALID [2022-04-14 15:06:31,458 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3280#true} {3280#true} #65#return; {3280#true} is VALID [2022-04-14 15:06:31,458 INFO L290 TraceCheckUtils]: 22: Hoare triple {3280#true} assume true; {3280#true} is VALID [2022-04-14 15:06:31,459 INFO L290 TraceCheckUtils]: 21: Hoare triple {3280#true} assume !(0 == ~cond); {3280#true} is VALID [2022-04-14 15:06:31,460 INFO L290 TraceCheckUtils]: 20: Hoare triple {3280#true} ~cond := #in~cond; {3280#true} is VALID [2022-04-14 15:06:31,460 INFO L272 TraceCheckUtils]: 19: Hoare triple {3280#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3280#true} is VALID [2022-04-14 15:06:31,460 INFO L290 TraceCheckUtils]: 18: Hoare triple {3280#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3280#true} is VALID [2022-04-14 15:06:31,460 INFO L290 TraceCheckUtils]: 17: Hoare triple {3280#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3280#true} is VALID [2022-04-14 15:06:31,464 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3280#true} {3280#true} #63#return; {3280#true} is VALID [2022-04-14 15:06:31,464 INFO L290 TraceCheckUtils]: 15: Hoare triple {3280#true} assume true; {3280#true} is VALID [2022-04-14 15:06:31,464 INFO L290 TraceCheckUtils]: 14: Hoare triple {3280#true} assume !(0 == ~cond); {3280#true} is VALID [2022-04-14 15:06:31,464 INFO L290 TraceCheckUtils]: 13: Hoare triple {3280#true} ~cond := #in~cond; {3280#true} is VALID [2022-04-14 15:06:31,464 INFO L272 TraceCheckUtils]: 12: Hoare triple {3280#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 1 then 1 else 0)); {3280#true} is VALID [2022-04-14 15:06:31,464 INFO L290 TraceCheckUtils]: 11: Hoare triple {3280#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3280#true} is VALID [2022-04-14 15:06:31,464 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3280#true} {3280#true} #61#return; {3280#true} is VALID [2022-04-14 15:06:31,464 INFO L290 TraceCheckUtils]: 9: Hoare triple {3280#true} assume true; {3280#true} is VALID [2022-04-14 15:06:31,464 INFO L290 TraceCheckUtils]: 8: Hoare triple {3280#true} assume !(0 == ~cond); {3280#true} is VALID [2022-04-14 15:06:31,465 INFO L290 TraceCheckUtils]: 7: Hoare triple {3280#true} ~cond := #in~cond; {3280#true} is VALID [2022-04-14 15:06:31,465 INFO L272 TraceCheckUtils]: 6: Hoare triple {3280#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 1 then 1 else 0)); {3280#true} is VALID [2022-04-14 15:06:31,465 INFO L290 TraceCheckUtils]: 5: Hoare triple {3280#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; {3280#true} is VALID [2022-04-14 15:06:31,465 INFO L272 TraceCheckUtils]: 4: Hoare triple {3280#true} call #t~ret8 := main(); {3280#true} is VALID [2022-04-14 15:06:31,465 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3280#true} {3280#true} #69#return; {3280#true} is VALID [2022-04-14 15:06:31,465 INFO L290 TraceCheckUtils]: 2: Hoare triple {3280#true} assume true; {3280#true} is VALID [2022-04-14 15:06:31,465 INFO L290 TraceCheckUtils]: 1: Hoare triple {3280#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); {3280#true} is VALID [2022-04-14 15:06:31,465 INFO L272 TraceCheckUtils]: 0: Hoare triple {3280#true} call ULTIMATE.init(); {3280#true} is VALID [2022-04-14 15:06:31,465 INFO L134 CoverageAnalysis]: Checked inductivity of 141 backedges. 49 proven. 1 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2022-04-14 15:06:31,465 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:06:31,466 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1777607579] [2022-04-14 15:06:31,466 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:06:31,466 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1225401093] [2022-04-14 15:06:31,466 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1225401093] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:06:31,466 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:06:31,466 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13] total 25 [2022-04-14 15:06:31,466 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [495970450] [2022-04-14 15:06:31,466 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:06:31,467 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 75 [2022-04-14 15:06:31,468 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:06:31,468 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:06:37,454 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:06:37,454 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-14 15:06:37,454 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:06:37,455 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-14 15:06:37,455 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=98, Invalid=497, Unknown=5, NotChecked=0, Total=600 [2022-04-14 15:06:37,455 INFO L87 Difference]: Start difference. First operand 61 states and 70 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:06:56,030 WARN L232 SmtUtils]: Spent 9.24s on a formula simplification. DAG size of input: 63 DAG size of output: 55 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-14 15:06:57,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:57,984 INFO L93 Difference]: Finished difference Result 61 states and 70 transitions. [2022-04-14 15:06:57,984 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-14 15:06:57,984 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 75 [2022-04-14 15:06:57,984 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:06:57,984 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:06:57,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 42 transitions. [2022-04-14 15:06:57,985 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:06:57,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 42 transitions. [2022-04-14 15:06:57,986 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 42 transitions. [2022-04-14 15:06:58,313 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:06:58,314 INFO L225 Difference]: With dead ends: 61 [2022-04-14 15:06:58,314 INFO L226 Difference]: Without dead ends: 0 [2022-04-14 15:06:58,314 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 125 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 266 ImplicationChecksByTransitivity, 30.5s TimeCoverageRelationStatistics Valid=225, Invalid=1030, Unknown=5, NotChecked=0, Total=1260 [2022-04-14 15:06:58,315 INFO L913 BasicCegarLoop]: 16 mSDtfsCounter, 26 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 303 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 171 SdHoareTripleChecker+Invalid, 358 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 303 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 41 IncrementalHoareTripleChecker+Unchecked, 3.1s IncrementalHoareTripleChecker+Time [2022-04-14 15:06:58,315 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 171 Invalid, 358 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 303 Invalid, 0 Unknown, 41 Unchecked, 3.1s Time] [2022-04-14 15:06:58,315 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-14 15:06:58,315 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-14 15:06:58,315 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:06:58,315 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:06:58,315 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:06:58,316 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:06:58,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:58,316 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-14 15:06:58,316 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-14 15:06:58,316 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:06:58,316 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:06:58,316 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:06:58,316 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:06:58,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:06:58,317 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-14 15:06:58,317 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-14 15:06:58,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:06:58,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:06:58,317 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:06:58,317 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:06:58,318 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:06:58,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-14 15:06:58,318 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 75 [2022-04-14 15:06:58,318 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:06:58,318 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-14 15:06:58,318 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:06:58,318 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-14 15:06:58,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:06:58,320 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-14 15:06:58,337 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:06:58,531 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:06:58,533 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-14 15:07:06,409 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 7) no Hoare annotation was computed. [2022-04-14 15:07:06,410 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 7) no Hoare annotation was computed. [2022-04-14 15:07:06,410 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 7) no Hoare annotation was computed. [2022-04-14 15:07:06,410 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 10 12) the Hoare annotation is: true [2022-04-14 15:07:06,410 INFO L882 garLoopResultBuilder]: For program point L11(line 11) no Hoare annotation was computed. [2022-04-14 15:07:06,410 INFO L882 garLoopResultBuilder]: For program point L11-2(lines 10 12) no Hoare annotation was computed. [2022-04-14 15:07:06,410 INFO L882 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 10 12) no Hoare annotation was computed. [2022-04-14 15:07:06,410 INFO L878 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= 0 main_~X~0) (<= main_~X~0 1)) [2022-04-14 15:07:06,410 INFO L882 garLoopResultBuilder]: For program point L27-1(line 27) no Hoare annotation was computed. [2022-04-14 15:07:06,410 INFO L885 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-14 15:07:06,410 INFO L882 garLoopResultBuilder]: For program point mainEXIT(lines 21 53) no Hoare annotation was computed. [2022-04-14 15:07:06,410 INFO L882 garLoopResultBuilder]: For program point L25-1(line 25) no Hoare annotation was computed. [2022-04-14 15:07:06,410 INFO L878 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (* main_~Y~0 2))) (or (and (= main_~x~0 0) (= main_~xy~0 0) (= (+ main_~X~0 main_~v~0) .cse0) (= main_~y~0 0) (= main_~yx~0 0)) (let ((.cse2 (* main_~y~0 2)) (.cse1 (* 2 (* main_~Y~0 main_~x~0)))) (and (= (+ .cse0 .cse1) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~Y~0 1) (<= 0 main_~Y~0) (= (+ .cse2 .cse0 (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~X~0 1) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ .cse2 .cse0 .cse1)))))) [2022-04-14 15:07:06,410 INFO L882 garLoopResultBuilder]: For program point L50-1(line 50) no Hoare annotation was computed. [2022-04-14 15:07:06,410 INFO L882 garLoopResultBuilder]: For program point mainFINAL(lines 21 53) no Hoare annotation was computed. [2022-04-14 15:07:06,410 INFO L882 garLoopResultBuilder]: For program point L40(lines 40 45) no Hoare annotation was computed. [2022-04-14 15:07:06,410 INFO L882 garLoopResultBuilder]: For program point L40-2(lines 40 45) no Hoare annotation was computed. [2022-04-14 15:07:06,411 INFO L878 garLoopResultBuilder]: At program point L32-2(lines 32 47) the Hoare annotation is: (let ((.cse1 (* main_~Y~0 2)) (.cse3 (+ main_~X~0 main_~v~0)) (.cse5 (<= main_~X~0 1))) (or (let ((.cse4 (* main_~Y~0 main_~x~0))) (let ((.cse2 (* 2 .cse4))) (and (or (<= main_~x~0 main_~X~0) (and (let ((.cse0 (div (+ (div .cse3 (- 2)) main_~Y~0 .cse4) main_~X~0))) (= (+ main_~X~0 main_~v~0 (* (* .cse0 main_~x~0) 2)) (+ .cse1 (* .cse0 2) .cse2))) (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_~X~0 .cse1) (= (+ .cse1 .cse2) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~Y~0 1) (<= 0 main_~X~0) .cse5 (<= (div main_~v~0 (- 2)) main_~Y~0)))) (and (< main_~v~0 .cse1) (<= 0 main_~Y~0) (= .cse3 (* main_~Y~0 4)) .cse5 (= main_~y~0 0)))) [2022-04-14 15:07:06,411 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 21 53) the Hoare annotation is: true [2022-04-14 15:07:06,411 INFO L882 garLoopResultBuilder]: For program point L32-3(lines 32 47) no Hoare annotation was computed. [2022-04-14 15:07:06,411 INFO L878 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse1 (* main_~Y~0 2)) (.cse5 (<= main_~X~0 1))) (or (let ((.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 .cse1) (= (+ .cse1 .cse4) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~Y~0 1) (<= 0 main_~X~0) .cse5 (<= (div main_~v~0 (- 2)) main_~Y~0) (or (= (+ .cse0 (* main_~y~0 2) .cse4) (+ (* 2 (* main_~y~0 main_~x~0)) .cse2)) .cse3))) (and (= main_~xy~0 0) (< main_~v~0 .cse1) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) .cse5 (= main_~y~0 0) (= main_~yx~0 0)))) [2022-04-14 15:07:06,411 INFO L882 garLoopResultBuilder]: For program point L35-1(lines 32 47) no Hoare annotation was computed. [2022-04-14 15:07:06,411 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-14 15:07:06,411 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:07:06,411 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-14 15:07:06,411 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-14 15:07:06,411 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-14 15:07:06,411 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-14 15:07:06,411 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-14 15:07:06,411 INFO L882 garLoopResultBuilder]: For program point L15(lines 15 16) no Hoare annotation was computed. [2022-04-14 15:07:06,411 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 13 19) the Hoare annotation is: true [2022-04-14 15:07:06,411 INFO L882 garLoopResultBuilder]: For program point L14(lines 14 17) no Hoare annotation was computed. [2022-04-14 15:07:06,412 INFO L882 garLoopResultBuilder]: For program point L14-2(lines 13 19) no Hoare annotation was computed. [2022-04-14 15:07:06,412 INFO L882 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 13 19) no Hoare annotation was computed. [2022-04-14 15:07:06,412 INFO L882 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 16) no Hoare annotation was computed. [2022-04-14 15:07:06,414 INFO L719 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1, 1, 1] [2022-04-14 15:07:06,434 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-14 15:07:06,437 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-14 15:07:06,437 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-14 15:07:06,438 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-14 15:07:06,438 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-14 15:07:06,438 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-14 15:07:06,438 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-14 15:07:06,438 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L11-2 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L14-2 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L50-1 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-14 15:07:06,439 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-14 15:07:06,467 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-14 15:07:06,467 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-14 15:07:06,467 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-14 15:07:06,467 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-14 15:07:06,467 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-14 15:07:06,468 WARN L170 areAnnotationChecker]: L50-1 has no Hoare annotation [2022-04-14 15:07:06,468 WARN L170 areAnnotationChecker]: L40-2 has no Hoare annotation [2022-04-14 15:07:06,468 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-14 15:07:06,468 INFO L163 areAnnotationChecker]: CFG has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-14 15:07:06,471 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-14 15:07:06,472 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-14 15:07:06,476 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-14 15:07:06,476 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-14 15:07:06,477 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.04 03:07:06 BoogieIcfgContainer [2022-04-14 15:07:06,477 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-14 15:07:06,478 INFO L158 Benchmark]: Toolchain (without parser) took 307470.32ms. Allocated memory was 176.2MB in the beginning and 242.2MB in the end (delta: 66.1MB). Free memory was 126.3MB in the beginning and 216.6MB in the end (delta: -90.3MB). Peak memory consumption was 116.7MB. Max. memory is 8.0GB. [2022-04-14 15:07:06,478 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 176.2MB. Free memory was 142.6MB in the beginning and 142.5MB in the end (delta: 71.3kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-14 15:07:06,478 INFO L158 Benchmark]: CACSL2BoogieTranslator took 215.20ms. Allocated memory is still 176.2MB. Free memory was 126.1MB in the beginning and 150.7MB in the end (delta: -24.6MB). Peak memory consumption was 11.9MB. Max. memory is 8.0GB. [2022-04-14 15:07:06,478 INFO L158 Benchmark]: Boogie Preprocessor took 17.34ms. Allocated memory is still 176.2MB. Free memory was 150.7MB in the beginning and 149.5MB in the end (delta: 1.2MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-14 15:07:06,478 INFO L158 Benchmark]: RCFGBuilder took 242.22ms. Allocated memory is still 176.2MB. Free memory was 149.5MB in the beginning and 137.1MB in the end (delta: 12.4MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-14 15:07:06,478 INFO L158 Benchmark]: TraceAbstraction took 306992.29ms. Allocated memory was 176.2MB in the beginning and 242.2MB in the end (delta: 66.1MB). Free memory was 136.5MB in the beginning and 216.6MB in the end (delta: -80.2MB). Peak memory consumption was 126.8MB. Max. memory is 8.0GB. [2022-04-14 15:07:06,479 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.09ms. Allocated memory is still 176.2MB. Free memory was 142.6MB in the beginning and 142.5MB in the end (delta: 71.3kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 215.20ms. Allocated memory is still 176.2MB. Free memory was 126.1MB in the beginning and 150.7MB in the end (delta: -24.6MB). Peak memory consumption was 11.9MB. Max. memory is 8.0GB. * Boogie Preprocessor took 17.34ms. Allocated memory is still 176.2MB. Free memory was 150.7MB in the beginning and 149.5MB in the end (delta: 1.2MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 242.22ms. Allocated memory is still 176.2MB. Free memory was 149.5MB in the beginning and 137.1MB in the end (delta: 12.4MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 306992.29ms. Allocated memory was 176.2MB in the beginning and 242.2MB in the end (delta: 66.1MB). Free memory was 136.5MB in the beginning and 216.6MB in the end (delta: -80.2MB). Peak memory consumption was 126.8MB. 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: 306.9s, OverallIterations: 8, TraceHistogramMax: 7, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 25.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 7.9s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 195 SdHoareTripleChecker+Valid, 4.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 186 mSDsluCounter, 897 SdHoareTripleChecker+Invalid, 4.1s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 103 IncrementalHoareTripleChecker+Unchecked, 703 mSDsCounter, 134 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1186 IncrementalHoareTripleChecker+Invalid, 1423 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 134 mSolverCounterUnsat, 194 mSDtfsCounter, 1186 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 672 GetRequests, 523 SyntacticMatches, 7 SemanticMatches, 142 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 709 ImplicationChecksByTransitivity, 32.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=61occurred in iteration=7, InterpolantAutomatonStates: 104, 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, 23 StatesRemovedByMinimization, 5 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 11 LocationsWithAnnotation, 35 PreInvPairs, 58 NumberOfFragments, 383 HoareAnnotationTreeSize, 35 FomulaSimplifications, 673 FormulaSimplificationTreeSizeReduction, 0.1s HoareSimplificationTime, 11 FomulaSimplificationsInter, 3093 FormulaSimplificationTreeSizeReductionInter, 7.7s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 265.3s InterpolantComputationTime, 356 NumberOfCodeBlocks, 320 NumberOfCodeBlocksAsserted, 10 NumberOfCheckSat, 621 ConstructedInterpolants, 6 QuantifiedInterpolants, 3604 SizeOfPredicates, 39 NumberOfNonLiveVariables, 884 ConjunctsInSsa, 143 ConjunctsInUnsatCore, 13 InterpolantComputations, 2 PerfectInterpolantSequences, 637/746 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:07:06,483 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-14 15:07:06,483 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-14 15:07:06,484 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] [2022-04-14 15:07:06,484 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[main_~y~0,QUANTIFIED] Derived loop invariant: (((((((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) && ((forall main_~y~0 : int :: 2 * (main_~y~0 * x) + X + v == main_~y~0 * 2 + Y * 2 + 2 * (Y * x)) || !(X == 0)))) && X <= Y * 2) && Y * 2 + 2 * (Y * x) == X * y * 2 + X + v) && Y <= 1) && 0 <= X) && X <= 1) && v / -2 <= Y) || ((((v < Y * 2 && 0 <= Y) && X + v == Y * 4) && X <= 1) && y == 0) RESULT: Ultimate proved your program to be correct! [2022-04-14 15:07:06,687 WARN L435 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process [2022-04-14 15:07:06,732 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 137 Received shutdown request...