./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound20.c --full-output --witness-type violation_witness --validate ./svcomp-yaml-violation-generation.2024-08-01_14-26-22.files/Default/bresenham-ll_unwindbound20.yml/witness.yml --preprocessor.replace.while.statements.and.if-then-else.statements false --icfgbuilder.size.of.a.code.block SequenceOfStatements --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 26998269 Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound20.c ./svcomp-yaml-violation-generation.2024-08-01_14-26-22.files/Default/bresenham-ll_unwindbound20.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --traceabstraction.compute.hoare.annotation.of.negated.interpolant.automaton,.abstraction.and.cfg false --preprocessor.replace.while.statements.and.if-then-else.statements false --icfgbuilder.size.of.a.code.block SequenceOfStatements --- Real Ultimate output --- This is Ultimate 0.2.4-wip.fs.yaml-violation-witnesses-2699826-m [2024-08-14 14:31:00,471 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-08-14 14:31:00,542 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-08-14 14:31:00,548 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-08-14 14:31:00,549 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-08-14 14:31:00,582 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-08-14 14:31:00,582 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-08-14 14:31:00,583 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-08-14 14:31:00,584 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-08-14 14:31:00,585 INFO L153 SettingsManager]: * Use memory slicer=true [2024-08-14 14:31:00,585 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-08-14 14:31:00,585 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-08-14 14:31:00,586 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-08-14 14:31:00,586 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-08-14 14:31:00,587 INFO L153 SettingsManager]: * Use SBE=true [2024-08-14 14:31:00,587 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-08-14 14:31:00,587 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-08-14 14:31:00,588 INFO L153 SettingsManager]: * sizeof long=4 [2024-08-14 14:31:00,591 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-08-14 14:31:00,591 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-08-14 14:31:00,594 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-08-14 14:31:00,594 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-08-14 14:31:00,594 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-08-14 14:31:00,595 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-08-14 14:31:00,595 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-08-14 14:31:00,595 INFO L153 SettingsManager]: * sizeof long double=12 [2024-08-14 14:31:00,595 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-08-14 14:31:00,596 INFO L153 SettingsManager]: * Use constant arrays=true [2024-08-14 14:31:00,596 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-08-14 14:31:00,596 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-08-14 14:31:00,596 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-08-14 14:31:00,597 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-08-14 14:31:00,597 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-08-14 14:31:00,599 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-08-14 14:31:00,599 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-08-14 14:31:00,599 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-08-14 14:31:00,600 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-08-14 14:31:00,600 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-08-14 14:31:00,600 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-08-14 14:31:00,600 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-08-14 14:31:00,600 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-08-14 14:31:00,601 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-08-14 14:31:00,601 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-08-14 14:31:00,601 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC 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.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.boogie.preprocessor: Replace while statements and if-then-else statements -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder: Size of a code block -> SequenceOfStatements [2024-08-14 14:31:00,856 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-08-14 14:31:00,882 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-08-14 14:31:00,884 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-08-14 14:31:00,886 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-08-14 14:31:00,886 INFO L274 PluginConnector]: Witness Parser initialized [2024-08-14 14:31:00,888 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/./svcomp-yaml-violation-generation.2024-08-01_14-26-22.files/Default/bresenham-ll_unwindbound20.yml/witness.yml [2024-08-14 14:31:01,069 INFO L270 PluginConnector]: Initializing CDTParser... [2024-08-14 14:31:01,069 INFO L274 PluginConnector]: CDTParser initialized [2024-08-14 14:31:01,070 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound20.c [2024-08-14 14:31:02,422 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-08-14 14:31:02,616 INFO L384 CDTParser]: Found 1 translation units. [2024-08-14 14:31:02,620 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound20.c [2024-08-14 14:31:02,629 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/796d9f149/b80f95747a7c47bab28c37125df844de/FLAGbe02d8fc6 [2024-08-14 14:31:02,648 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/796d9f149/b80f95747a7c47bab28c37125df844de [2024-08-14 14:31:02,649 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-08-14 14:31:02,650 INFO L133 ToolchainWalker]: Walking toolchain with 4 elements. [2024-08-14 14:31:02,654 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-08-14 14:31:02,654 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-08-14 14:31:02,659 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-08-14 14:31:02,660 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser VIOLATION_WITNESS 14.08 02:31:01" (1/2) ... [2024-08-14 14:31:02,661 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5f152bf1 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 14.08 02:31:02, skipping insertion in model container [2024-08-14 14:31:02,661 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser VIOLATION_WITNESS 14.08 02:31:01" (1/2) ... [2024-08-14 14:31:02,663 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@4296da16 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 14.08 02:31:02, skipping insertion in model container [2024-08-14 14:31:02,663 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.08 02:31:02" (2/2) ... [2024-08-14 14:31:02,664 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5f152bf1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 02:31:02, skipping insertion in model container [2024-08-14 14:31:02,664 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.08 02:31:02" (2/2) ... [2024-08-14 14:31:02,686 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-08-14 14:31:02,853 WARN L247 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_unwindbound20.c[597,610] [2024-08-14 14:31:02,879 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-14 14:31:02,888 INFO L200 MainTranslator]: Completed pre-run [2024-08-14 14:31:02,900 WARN L247 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_unwindbound20.c[597,610] [2024-08-14 14:31:02,914 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-14 14:31:02,932 INFO L204 MainTranslator]: Completed translation [2024-08-14 14:31:02,932 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 02:31:02 WrapperNode [2024-08-14 14:31:02,933 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-08-14 14:31:02,934 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-08-14 14:31:02,934 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-08-14 14:31:02,934 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-08-14 14:31:02,946 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 02:31:02" (1/1) ... [2024-08-14 14:31:02,946 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 02:31:02" (1/1) ... [2024-08-14 14:31:02,952 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 02:31:02" (1/1) ... [2024-08-14 14:31:02,973 INFO L175 MemorySlicer]: Split 2 memory accesses to 1 slices as follows [2]. 100 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2]. The 0 writes are split as follows [0]. [2024-08-14 14:31:02,975 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 02:31:02" (1/1) ... [2024-08-14 14:31:02,975 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 02:31:02" (1/1) ... [2024-08-14 14:31:02,979 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 02:31:02" (1/1) ... [2024-08-14 14:31:02,980 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 02:31:02" (1/1) ... [2024-08-14 14:31:02,981 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 02:31:02" (1/1) ... [2024-08-14 14:31:02,982 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-08-14 14:31:02,983 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2024-08-14 14:31:02,983 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2024-08-14 14:31:02,984 INFO L274 PluginConnector]: IcfgBuilder initialized [2024-08-14 14:31:02,984 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 02:31:02" (1/1) ... [2024-08-14 14:31:02,991 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-08-14 14:31:03,002 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-08-14 14:31:03,016 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-08-14 14:31:03,022 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2024-08-14 14:31:03,061 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2024-08-14 14:31:03,062 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-08-14 14:31:03,062 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2024-08-14 14:31:03,062 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2024-08-14 14:31:03,063 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2024-08-14 14:31:03,063 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2024-08-14 14:31:03,063 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2024-08-14 14:31:03,063 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2024-08-14 14:31:03,063 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2024-08-14 14:31:03,063 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-08-14 14:31:03,065 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2024-08-14 14:31:03,065 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2024-08-14 14:31:03,065 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2024-08-14 14:31:03,065 INFO L130 BoogieDeclarations]: Found specification of procedure main [2024-08-14 14:31:03,065 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2024-08-14 14:31:03,065 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-08-14 14:31:03,066 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-08-14 14:31:03,066 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-08-14 14:31:03,066 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-08-14 14:31:03,066 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-08-14 14:31:03,137 INFO L273 CfgBuilder]: Building ICFG [2024-08-14 14:31:03,139 INFO L304 CfgBuilder]: Building CFG for each procedure with an implementation [2024-08-14 14:31:03,288 INFO L? ?]: Removed 5 outVars from TransFormulas that were not future-live. [2024-08-14 14:31:03,288 INFO L327 CfgBuilder]: Performing block encoding [2024-08-14 14:31:03,315 INFO L349 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-08-14 14:31:03,316 INFO L354 CfgBuilder]: Removed 0 assume(true) statements. [2024-08-14 14:31:03,316 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 14.08 02:31:03 BoogieIcfgContainer [2024-08-14 14:31:03,316 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2024-08-14 14:31:03,318 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-08-14 14:31:03,318 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-08-14 14:31:03,325 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-08-14 14:31:03,326 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser VIOLATION_WITNESS 14.08 02:31:01" (1/4) ... [2024-08-14 14:31:03,326 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7986f5bc and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction VIOLATION_WITNESS 14.08 02:31:03, skipping insertion in model container [2024-08-14 14:31:03,327 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.08 02:31:02" (2/4) ... [2024-08-14 14:31:03,327 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7986f5bc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.08 02:31:03, skipping insertion in model container [2024-08-14 14:31:03,327 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.08 02:31:02" (3/4) ... [2024-08-14 14:31:03,327 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7986f5bc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.08 02:31:03, skipping insertion in model container [2024-08-14 14:31:03,327 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 14.08 02:31:03" (4/4) ... [2024-08-14 14:31:03,328 INFO L119 eAbstractionObserver]: Analyzing ICFG bresenham-ll_unwindbound20.c [2024-08-14 14:31:03,328 WARN L130 eAbstractionObserver]: Found a witness in the YAML format. I will only consider traces that are accepted by the witness [2024-08-14 14:31:03,351 INFO L221 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-08-14 14:31:03,354 INFO L180 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-08-14 14:31:03,398 INFO L92 WitnessUtils]: Constructing product of automaton with 27 states and violation witness of the following lengths: [124] [2024-08-14 14:31:03,401 INFO L82 GeneralOperation]: Start removeDeadEnds. Operand has 27 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2024-08-14 14:31:03,586 INFO L88 GeneralOperation]: Finished removeDeadEnds. Reduced from 1946 states to 724 states. [2024-08-14 14:31:03,607 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-08-14 14:31:03,616 INFO L357 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=false, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@534f7a41, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-08-14 14:31:03,616 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2024-08-14 14:31:03,618 INFO L276 IsEmpty]: Start isEmpty. Operand 724 states. [2024-08-14 14:31:03,651 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 253 [2024-08-14 14:31:03,652 INFO L187 NwaCegarLoop]: Found error trace [2024-08-14 14:31:03,653 INFO L195 NwaCegarLoop]: trace histogram [21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-08-14 14:31:03,655 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2024-08-14 14:31:03,661 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-14 14:31:03,662 INFO L85 PathProgramCache]: Analyzing trace with hash 1300350268, now seen corresponding path program 1 times [2024-08-14 14:31:03,670 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-08-14 14:31:03,671 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1468460180] [2024-08-14 14:31:03,671 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-14 14:31:03,672 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-08-14 14:31:03,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,163 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2024-08-14 14:31:04,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,178 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2024-08-14 14:31:04,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,184 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2024-08-14 14:31:04,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,193 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 34 [2024-08-14 14:31:04,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,198 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2024-08-14 14:31:04,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,203 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 58 [2024-08-14 14:31:04,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,211 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 70 [2024-08-14 14:31:04,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,217 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2024-08-14 14:31:04,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,224 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 94 [2024-08-14 14:31:04,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,232 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 106 [2024-08-14 14:31:04,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,238 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 118 [2024-08-14 14:31:04,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,243 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 130 [2024-08-14 14:31:04,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,264 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 142 [2024-08-14 14:31:04,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,268 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 154 [2024-08-14 14:31:04,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,271 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 166 [2024-08-14 14:31:04,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,274 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 178 [2024-08-14 14:31:04,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,277 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 190 [2024-08-14 14:31:04,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,280 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 202 [2024-08-14 14:31:04,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,283 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 214 [2024-08-14 14:31:04,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,287 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 226 [2024-08-14 14:31:04,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,294 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 238 [2024-08-14 14:31:04,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-14 14:31:04,305 INFO L134 CoverageAnalysis]: Checked inductivity of 2340 backedges. 40 proven. 0 refuted. 0 times theorem prover too weak. 2300 trivial. 0 not checked. [2024-08-14 14:31:04,306 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-08-14 14:31:04,306 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1468460180] [2024-08-14 14:31:04,307 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1468460180] provided 1 perfect and 0 imperfect interpolant sequences [2024-08-14 14:31:04,307 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-08-14 14:31:04,308 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-08-14 14:31:04,309 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1583866174] [2024-08-14 14:31:04,310 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-08-14 14:31:04,313 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-08-14 14:31:04,313 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-08-14 14:31:04,347 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-08-14 14:31:04,347 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-08-14 14:31:04,349 INFO L87 Difference]: Start difference. First operand 724 states. Second operand has 3 states, 3 states have (on average 6.333333333333333) internal successors, (19), 2 states have internal predecessors, (19), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2024-08-14 14:31:04,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-08-14 14:31:04,415 INFO L93 Difference]: Finished difference Result 524 states and 545 transitions. [2024-08-14 14:31:04,418 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-08-14 14:31:04,419 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 6.333333333333333) internal successors, (19), 2 states have internal predecessors, (19), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 252 [2024-08-14 14:31:04,421 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2024-08-14 14:31:04,425 INFO L225 Difference]: With dead ends: 524 [2024-08-14 14:31:04,428 INFO L226 Difference]: Without dead ends: 483 [2024-08-14 14:31:04,430 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-08-14 14:31:04,434 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 7 mSDsluCounter, 11 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 12 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2024-08-14 14:31:04,435 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 29 Invalid, 12 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2024-08-14 14:31:04,452 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 483 states. [2024-08-14 14:31:04,487 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 483 to 264. [2024-08-14 14:31:04,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 264 states, 217 states have (on average 1.1013824884792627) internal successors, (239), 217 states have internal predecessors, (239), 24 states have call successors, (24), 24 states have call predecessors, (24), 22 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2024-08-14 14:31:04,495 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 264 states to 264 states and 285 transitions. [2024-08-14 14:31:04,496 INFO L78 Accepts]: Start accepts. Automaton has 264 states and 285 transitions. Word has length 252 [2024-08-14 14:31:04,497 INFO L84 Accepts]: Finished accepts. word is rejected. [2024-08-14 14:31:04,499 INFO L495 AbstractCegarLoop]: Abstraction has 264 states and 285 transitions. [2024-08-14 14:31:04,500 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 6.333333333333333) internal successors, (19), 2 states have internal predecessors, (19), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2024-08-14 14:31:04,500 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 285 transitions. [2024-08-14 14:31:04,504 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 255 [2024-08-14 14:31:04,504 INFO L187 NwaCegarLoop]: Found error trace [2024-08-14 14:31:04,504 INFO L195 NwaCegarLoop]: trace histogram [21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 20, 19, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-08-14 14:31:04,505 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-08-14 14:31:04,505 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2024-08-14 14:31:04,506 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-14 14:31:04,506 INFO L85 PathProgramCache]: Analyzing trace with hash 2129646526, now seen corresponding path program 1 times [2024-08-14 14:31:04,507 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-08-14 14:31:04,507 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1346524513] [2024-08-14 14:31:04,507 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-14 14:31:04,508 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-08-14 14:31:04,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unknown [2024-08-14 14:31:04,744 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2122904256] [2024-08-14 14:31:04,744 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-14 14:31:04,744 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-08-14 14:31:04,744 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-08-14 14:31:04,747 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) [2024-08-14 14:31:04,749 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-08-14 14:31:04,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-08-14 14:31:04,955 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-08-14 14:31:05,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-08-14 14:31:05,140 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-08-14 14:31:05,141 INFO L360 BasicCegarLoop]: Counterexample is feasible [2024-08-14 14:31:05,145 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2024-08-14 14:31:05,165 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2024-08-14 14:31:05,347 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-08-14 14:31:05,350 INFO L445 BasicCegarLoop]: Path program histogram: [1, 1] [2024-08-14 14:31:05,353 INFO L196 ceAbstractionStarter]: Computing trace abstraction results [2024-08-14 14:31:05,458 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.08 02:31:05 BoogieIcfgContainer [2024-08-14 14:31:05,459 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2024-08-14 14:31:05,460 INFO L158 Benchmark]: Toolchain (without parser) took 2809.81ms. Allocated memory is still 161.5MB. Free memory was 83.3MB in the beginning and 49.5MB in the end (delta: 33.7MB). Peak memory consumption was 35.0MB. Max. memory is 16.1GB. [2024-08-14 14:31:05,460 INFO L158 Benchmark]: Witness Parser took 0.56ms. Allocated memory is still 161.5MB. Free memory is still 120.3MB. There was no memory consumed. Max. memory is 16.1GB. [2024-08-14 14:31:05,461 INFO L158 Benchmark]: CDTParser took 0.19ms. Allocated memory is still 161.5MB. Free memory is still 128.8MB. There was no memory consumed. Max. memory is 16.1GB. [2024-08-14 14:31:05,461 INFO L158 Benchmark]: CACSL2BoogieTranslator took 279.10ms. Allocated memory is still 161.5MB. Free memory was 83.0MB in the beginning and 71.3MB in the end (delta: 11.7MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2024-08-14 14:31:05,461 INFO L158 Benchmark]: Boogie Preprocessor took 48.95ms. Allocated memory is still 161.5MB. Free memory was 71.3MB in the beginning and 69.5MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2024-08-14 14:31:05,461 INFO L158 Benchmark]: IcfgBuilder took 332.76ms. Allocated memory is still 161.5MB. Free memory was 69.3MB in the beginning and 132.0MB in the end (delta: -62.7MB). Peak memory consumption was 20.0MB. Max. memory is 16.1GB. [2024-08-14 14:31:05,462 INFO L158 Benchmark]: TraceAbstraction took 2141.85ms. Allocated memory is still 161.5MB. Free memory was 131.2MB in the beginning and 49.5MB in the end (delta: 81.6MB). Peak memory consumption was 82.2MB. Max. memory is 16.1GB. [2024-08-14 14:31:05,463 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Witness Parser took 0.56ms. Allocated memory is still 161.5MB. Free memory is still 120.3MB. There was no memory consumed. Max. memory is 16.1GB. * CDTParser took 0.19ms. Allocated memory is still 161.5MB. Free memory is still 128.8MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 279.10ms. Allocated memory is still 161.5MB. Free memory was 83.0MB in the beginning and 71.3MB in the end (delta: 11.7MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. * Boogie Preprocessor took 48.95ms. Allocated memory is still 161.5MB. Free memory was 71.3MB in the beginning and 69.5MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * IcfgBuilder took 332.76ms. Allocated memory is still 161.5MB. Free memory was 69.3MB in the beginning and 132.0MB in the end (delta: -62.7MB). Peak memory consumption was 20.0MB. Max. memory is 16.1GB. * TraceAbstraction took 2141.85ms. Allocated memory is still 161.5MB. Free memory was 131.2MB in the beginning and 49.5MB in the end (delta: 81.6MB). Peak memory consumption was 82.2MB. Max. memory is 16.1GB. * 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 - CounterExampleResult [Line: 16]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L21] int counter = 0; VAL [\old(counter)=40, counter=0] [L23] int X, Y; [L24] long long x, y, v, xy, yx; [L25] X = __VERIFIER_nondet_int() [L26] Y = __VERIFIER_nondet_int() [L27] v = ((long long) 2 * Y) - X [L28] y = 0 [L29] x = 0 VAL [X=39, Y=1, \old(counter)=0, counter=0, v=-37, x=0, y=0] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=1, v=-37, x=0, y=0] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=1, v=-37, x=0, xy=0, y=0, yx=0] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=1] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=1] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=1, v=-37, x=0, xy=0, y=0, yx=0] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=1, v=-37, x=0, xy=0, y=0, yx=0] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=1, v=-35, x=0, xy=0, y=0, yx=0] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=1, v=-35, x=1, xy=0, y=0, yx=0] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=2, v=-35, x=1, xy=0, y=0, yx=0] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=2, v=-35, x=1, xy=0, y=0, yx=1] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=2] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=2] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=2, v=-35, x=1, xy=0, y=0, yx=1] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=2, v=-35, x=1, xy=0, y=0, yx=1] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=2, v=-33, x=1, xy=0, y=0, yx=1] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=2, v=-33, x=2, xy=0, y=0, yx=1] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=3, v=-33, x=2, xy=0, y=0, yx=1] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=3, v=-33, x=2, xy=0, y=0, yx=2] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=3] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=3] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=3, v=-33, x=2, xy=0, y=0, yx=2] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=3, v=-33, x=2, xy=0, y=0, yx=2] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=3, v=-31, x=2, xy=0, y=0, yx=2] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=3, v=-31, x=3, xy=0, y=0, yx=2] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=4, v=-31, x=3, xy=0, y=0, yx=2] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=4, v=-31, x=3, xy=0, y=0, yx=3] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=4] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=4] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=4, v=-31, x=3, xy=0, y=0, yx=3] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=4, v=-31, x=3, xy=0, y=0, yx=3] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=4, v=-29, x=3, xy=0, y=0, yx=3] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=4, v=-29, x=4, xy=0, y=0, yx=3] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=5, v=-29, x=4, xy=0, y=0, yx=3] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=5, v=-29, x=4, xy=0, y=0, yx=4] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=5] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=5] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=5, v=-29, x=4, xy=0, y=0, yx=4] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=5, v=-29, x=4, xy=0, y=0, yx=4] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=5, v=-27, x=4, xy=0, y=0, yx=4] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=5, v=-27, x=5, xy=0, y=0, yx=4] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=6, v=-27, x=5, xy=0, y=0, yx=4] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=6, v=-27, x=5, xy=0, y=0, yx=5] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=6] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=6] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=6, v=-27, x=5, xy=0, y=0, yx=5] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=6, v=-27, x=5, xy=0, y=0, yx=5] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=6, v=-25, x=5, xy=0, y=0, yx=5] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=6, v=-25, x=6, xy=0, y=0, yx=5] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=7, v=-25, x=6, xy=0, y=0, yx=5] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=7, v=-25, x=6, xy=0, y=0, yx=6] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=7] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=7] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=7, v=-25, x=6, xy=0, y=0, yx=6] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=7, v=-25, x=6, xy=0, y=0, yx=6] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=7, v=-23, x=6, xy=0, y=0, yx=6] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=7, v=-23, x=7, xy=0, y=0, yx=6] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=8, v=-23, x=7, xy=0, y=0, yx=6] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=8, v=-23, x=7, xy=0, y=0, yx=7] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=8] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=8] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=8, v=-23, x=7, xy=0, y=0, yx=7] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=8, v=-23, x=7, xy=0, y=0, yx=7] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=8, v=-21, x=7, xy=0, y=0, yx=7] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=8, v=-21, x=8, xy=0, y=0, yx=7] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=9, v=-21, x=8, xy=0, y=0, yx=7] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=9, v=-21, x=8, xy=0, y=0, yx=8] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=9] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=9] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=9, v=-21, x=8, xy=0, y=0, yx=8] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=9, v=-21, x=8, xy=0, y=0, yx=8] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=9, v=-19, x=8, xy=0, y=0, yx=8] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=9, v=-19, x=9, xy=0, y=0, yx=8] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=10, v=-19, x=9, xy=0, y=0, yx=8] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=10, v=-19, x=9, xy=0, y=0, yx=9] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=10] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=10] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=10, v=-19, x=9, xy=0, y=0, yx=9] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=10, v=-19, x=9, xy=0, y=0, yx=9] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=10, v=-17, x=9, xy=0, y=0, yx=9] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=10, v=-17, x=10, xy=0, y=0, yx=9] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=11, v=-17, x=10, xy=0, y=0, yx=9] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=11, v=-17, x=10, xy=0, y=0, yx=10] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=11] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=11] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=11, v=-17, x=10, xy=0, y=0, yx=10] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=11, v=-17, x=10, xy=0, y=0, yx=10] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=11, v=-15, x=10, xy=0, y=0, yx=10] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=11, v=-15, x=11, xy=0, y=0, yx=10] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=12, v=-15, x=11, xy=0, y=0, yx=10] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=12, v=-15, x=11, xy=0, y=0, yx=11] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=12] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=12] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=12, v=-15, x=11, xy=0, y=0, yx=11] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=12, v=-15, x=11, xy=0, y=0, yx=11] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=12, v=-13, x=11, xy=0, y=0, yx=11] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=12, v=-13, x=12, xy=0, y=0, yx=11] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=13, v=-13, x=12, xy=0, y=0, yx=11] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=13, v=-13, x=12, xy=0, y=0, yx=12] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=13] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=13] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=13, v=-13, x=12, xy=0, y=0, yx=12] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=13, v=-13, x=12, xy=0, y=0, yx=12] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=13, v=-11, x=12, xy=0, y=0, yx=12] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=13, v=-11, x=13, xy=0, y=0, yx=12] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=14, v=-11, x=13, xy=0, y=0, yx=12] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=14, v=-11, x=13, xy=0, y=0, yx=13] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=14] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=14] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=14, v=-11, x=13, xy=0, y=0, yx=13] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=14, v=-11, x=13, xy=0, y=0, yx=13] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=14, v=-9, x=13, xy=0, y=0, yx=13] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=14, v=-9, x=14, xy=0, y=0, yx=13] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=15, v=-9, x=14, xy=0, y=0, yx=13] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=15, v=-9, x=14, xy=0, y=0, yx=14] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=15] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=15] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=15, v=-9, x=14, xy=0, y=0, yx=14] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=15, v=-9, x=14, xy=0, y=0, yx=14] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=15, v=-7, x=14, xy=0, y=0, yx=14] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=15, v=-7, x=15, xy=0, y=0, yx=14] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=16, v=-7, x=15, xy=0, y=0, yx=14] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=16, v=-7, x=15, xy=0, y=0, yx=15] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=16] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=16] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=16, v=-7, x=15, xy=0, y=0, yx=15] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=16, v=-7, x=15, xy=0, y=0, yx=15] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=16, v=-5, x=15, xy=0, y=0, yx=15] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=16, v=-5, x=16, xy=0, y=0, yx=15] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=17, v=-5, x=16, xy=0, y=0, yx=15] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=17, v=-5, x=16, xy=0, y=0, yx=16] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=17] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=17] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=17, v=-5, x=16, xy=0, y=0, yx=16] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=17, v=-5, x=16, xy=0, y=0, yx=16] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=17, v=-3, x=16, xy=0, y=0, yx=16] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=17, v=-3, x=17, xy=0, y=0, yx=16] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=18, v=-3, x=17, xy=0, y=0, yx=16] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=18, v=-3, x=17, xy=0, y=0, yx=17] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=18] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=18] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=18, v=-3, x=17, xy=0, y=0, yx=17] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=18, v=-3, x=17, xy=0, y=0, yx=17] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=18, v=-1, x=17, xy=0, y=0, yx=17] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=18, v=-1, x=18, xy=0, y=0, yx=17] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=19, v=-1, x=18, xy=0, y=0, yx=17] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=19, v=-1, x=18, xy=0, y=0, yx=18] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=19] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=19] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=19, v=-1, x=18, xy=0, y=0, yx=18] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=19, v=-1, x=18, xy=0, y=0, yx=18] [L39] COND TRUE v < 0 [L40] v = v + (long long) 2 * Y VAL [X=39, Y=1, \old(counter)=0, counter=19, v=1, x=18, xy=0, y=0, yx=18] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=19, v=1, x=19, xy=0, y=0, yx=18] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=20, v=1, x=19, xy=0, y=0, yx=18] [L31] COND TRUE counter++<20 [L32] yx = (long long) Y*x [L33] xy = (long long) X*y VAL [X=39, Y=1, \old(counter)=0, counter=20, v=1, x=19, xy=0, y=0, yx=19] [L34] CALL __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [\old(cond)=1, \old(counter)=0, counter=20] [L14] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, counter=20] [L34] RET __VERIFIER_assert( 2*yx - 2*xy - X + (long long) 2*Y - v == 0) VAL [X=39, Y=1, \old(counter)=0, counter=20, v=1, x=19, xy=0, y=0, yx=19] [L35] COND FALSE !(!(x <= X)) VAL [X=39, Y=1, \old(counter)=0, counter=20, v=1, x=19, xy=0, y=0, yx=19] [L39] COND FALSE !(v < 0) [L42] v = v + 2 * ((long long) Y - X) [L43] y++ VAL [X=39, Y=1, \old(counter)=0, counter=20, v=-75, x=19, xy=0, y=1, yx=19] [L45] x++ VAL [X=39, Y=1, \old(counter)=0, counter=20, v=-75, x=20, xy=0, y=1, yx=19] [L31] EXPR counter++ VAL [X=39, Y=1, \old(counter)=0, counter=21, v=-75, x=20, xy=0, y=1, yx=19] [L31] COND FALSE !(counter++<20) [L47] xy = (long long) x*y [L48] yx = (long long) Y*x VAL [X=39, Y=1, \old(counter)=0, counter=21, v=-75, xy=20, y=1, yx=20] [L49] CALL __VERIFIER_assert(2*yx - 2*xy - X + (long long) 2*Y - v + 2*y == 0) VAL [\old(cond)=0, \old(counter)=0, counter=21] [L14] COND TRUE !(cond) VAL [\old(cond)=0, \old(counter)=0, counter=21] [L16] reach_error() VAL [\old(cond)=0, \old(counter)=0, counter=21] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 34 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 2.0s, OverallIterations: 2, TraceHistogramMax: 21, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.2s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 7 SdHoareTripleChecker+Valid, 0.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 7 mSDsluCounter, 29 SdHoareTripleChecker+Invalid, 0.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 11 mSDsCounter, 3 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 9 IncrementalHoareTripleChecker+Invalid, 12 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 3 mSolverCounterUnsat, 18 mSDtfsCounter, 9 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 44 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=724occurred in iteration=0, InterpolantAutomatonStates: 3, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 219 StatesRemovedByMinimization, 1 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 0.3s InterpolantComputationTime, 760 NumberOfCodeBlocks, 760 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 251 ConstructedInterpolants, 0 QuantifiedInterpolants, 253 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 2340/2340 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 RESULT: Ultimate proved your program to be incorrect! [2024-08-14 14:31:05,504 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE