./Ultimate.py --spec ../sv-benchmarks/c/properties/no-overflow.prp --file ../sv-benchmarks/c/weaver/chl-name-comparator-subst.wvr.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for overflows Using default analysis Version 551b0097 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/weaver/chl-name-comparator-subst.wvr.c -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Overflow-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! overflow) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 3855d6da0b439f4c6a497e897f140f408df8c7fd65e3042f0fafae1979048a3d --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-10 06:49:49,018 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-10 06:49:49,081 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Overflow-32bit-Automizer_Default.epf [2025-01-10 06:49:49,084 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-10 06:49:49,085 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-10 06:49:49,101 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-10 06:49:49,101 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-10 06:49:49,102 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-10 06:49:49,102 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-10 06:49:49,102 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-10 06:49:49,103 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-10 06:49:49,103 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-10 06:49:49,103 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-10 06:49:49,104 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-10 06:49:49,104 INFO L153 SettingsManager]: * Use SBE=true [2025-01-10 06:49:49,104 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-10 06:49:49,104 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-10 06:49:49,104 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-10 06:49:49,104 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-10 06:49:49,104 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-10 06:49:49,105 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-10 06:49:49,105 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-10 06:49:49,105 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-10 06:49:49,105 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-10 06:49:49,105 INFO L153 SettingsManager]: * Check absence of signed integer overflows=ASSERTandASSUME [2025-01-10 06:49:49,105 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2025-01-10 06:49:49,105 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-10 06:49:49,105 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-10 06:49:49,105 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-10 06:49:49,105 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-10 06:49:49,105 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-10 06:49:49,105 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-10 06:49:49,106 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-10 06:49:49,106 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-10 06:49:49,106 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-10 06:49:49,106 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-10 06:49:49,106 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-10 06:49:49,106 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-10 06:49:49,106 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-10 06:49:49,106 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-10 06:49:49,106 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-10 06:49:49,107 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-10 06:49:49,107 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-10 06:49:49,107 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-10 06:49:49,107 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-10 06:49:49,107 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-10 06:49:49,107 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-10 06:49:49,107 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-10 06:49:49,107 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-10 06:49:49,107 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-10 06:49:49,107 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! overflow) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 3855d6da0b439f4c6a497e897f140f408df8c7fd65e3042f0fafae1979048a3d [2025-01-10 06:49:49,330 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-10 06:49:49,336 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-10 06:49:49,338 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-10 06:49:49,339 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-10 06:49:49,339 INFO L274 PluginConnector]: CDTParser initialized [2025-01-10 06:49:49,340 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/chl-name-comparator-subst.wvr.c [2025-01-10 06:49:50,684 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/ca5ee6f30/76593d867c344d8ebaf646e57e52056f/FLAG4dc4450cb [2025-01-10 06:49:50,915 INFO L384 CDTParser]: Found 1 translation units. [2025-01-10 06:49:50,915 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/weaver/chl-name-comparator-subst.wvr.c [2025-01-10 06:49:50,922 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/ca5ee6f30/76593d867c344d8ebaf646e57e52056f/FLAG4dc4450cb [2025-01-10 06:49:50,932 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/ca5ee6f30/76593d867c344d8ebaf646e57e52056f [2025-01-10 06:49:50,934 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-10 06:49:50,935 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-10 06:49:50,936 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-10 06:49:50,936 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-10 06:49:50,939 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-10 06:49:50,940 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.01 06:49:50" (1/1) ... [2025-01-10 06:49:50,940 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4e35d77 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:50, skipping insertion in model container [2025-01-10 06:49:50,940 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.01 06:49:50" (1/1) ... [2025-01-10 06:49:50,951 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-10 06:49:51,099 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-10 06:49:51,107 INFO L200 MainTranslator]: Completed pre-run [2025-01-10 06:49:51,140 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-10 06:49:51,156 INFO L204 MainTranslator]: Completed translation [2025-01-10 06:49:51,157 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:51 WrapperNode [2025-01-10 06:49:51,158 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-10 06:49:51,158 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-10 06:49:51,159 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-10 06:49:51,159 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-10 06:49:51,164 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:51" (1/1) ... [2025-01-10 06:49:51,178 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:51" (1/1) ... [2025-01-10 06:49:51,204 INFO L138 Inliner]: procedures = 25, calls = 30, calls flagged for inlining = 18, calls inlined = 22, statements flattened = 350 [2025-01-10 06:49:51,209 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-10 06:49:51,209 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-10 06:49:51,209 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-10 06:49:51,209 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-10 06:49:51,217 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:51" (1/1) ... [2025-01-10 06:49:51,217 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:51" (1/1) ... [2025-01-10 06:49:51,221 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:51" (1/1) ... [2025-01-10 06:49:51,246 INFO L175 MemorySlicer]: Split 6 memory accesses to 2 slices as follows [4, 2]. 67 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [0, 2]. The 1 writes are split as follows [1, 0]. [2025-01-10 06:49:51,247 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:51" (1/1) ... [2025-01-10 06:49:51,248 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:51" (1/1) ... [2025-01-10 06:49:51,260 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:51" (1/1) ... [2025-01-10 06:49:51,261 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:51" (1/1) ... [2025-01-10 06:49:51,268 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:51" (1/1) ... [2025-01-10 06:49:51,270 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:51" (1/1) ... [2025-01-10 06:49:51,271 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:51" (1/1) ... [2025-01-10 06:49:51,282 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-10 06:49:51,282 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-10 06:49:51,282 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-10 06:49:51,282 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-10 06:49:51,283 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:51" (1/1) ... [2025-01-10 06:49:51,292 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-10 06:49:51,303 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 06:49:51,318 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-01-10 06:49:51,320 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-01-10 06:49:51,337 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-10 06:49:51,337 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2025-01-10 06:49:51,338 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2025-01-10 06:49:51,338 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2025-01-10 06:49:51,338 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2025-01-10 06:49:51,338 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2025-01-10 06:49:51,338 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2025-01-10 06:49:51,338 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-10 06:49:51,338 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-01-10 06:49:51,338 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-01-10 06:49:51,338 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-01-10 06:49:51,338 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2025-01-10 06:49:51,338 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-10 06:49:51,338 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-10 06:49:51,338 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-01-10 06:49:51,338 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-01-10 06:49:51,339 WARN L203 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2025-01-10 06:49:51,416 INFO L234 CfgBuilder]: Building ICFG [2025-01-10 06:49:51,417 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-10 06:49:51,856 INFO L279 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-01-10 06:49:51,856 INFO L283 CfgBuilder]: Performing block encoding [2025-01-10 06:49:52,154 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-10 06:49:52,155 INFO L312 CfgBuilder]: Removed 3 assume(true) statements. [2025-01-10 06:49:52,155 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.01 06:49:52 BoogieIcfgContainer [2025-01-10 06:49:52,155 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-10 06:49:52,156 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-10 06:49:52,157 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-10 06:49:52,160 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-10 06:49:52,160 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 10.01 06:49:50" (1/3) ... [2025-01-10 06:49:52,160 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2696b142 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.01 06:49:52, skipping insertion in model container [2025-01-10 06:49:52,160 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 06:49:51" (2/3) ... [2025-01-10 06:49:52,161 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2696b142 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.01 06:49:52, skipping insertion in model container [2025-01-10 06:49:52,161 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.01 06:49:52" (3/3) ... [2025-01-10 06:49:52,162 INFO L128 eAbstractionObserver]: Analyzing ICFG chl-name-comparator-subst.wvr.c [2025-01-10 06:49:52,173 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-10 06:49:52,174 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG chl-name-comparator-subst.wvr.c that has 4 procedures, 98 locations, 1 initial locations, 4 loop locations, and 26 error locations. [2025-01-10 06:49:52,174 INFO L491 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2025-01-10 06:49:52,232 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2025-01-10 06:49:52,254 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 107 places, 113 transitions, 247 flow [2025-01-10 06:49:52,290 INFO L124 PetriNetUnfolderBase]: 16/110 cut-off events. [2025-01-10 06:49:52,292 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-01-10 06:49:52,296 INFO L83 FinitePrefix]: Finished finitePrefix Result has 123 conditions, 110 events. 16/110 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 12. Compared 448 event pairs, 0 based on Foata normal form. 0/68 useless extension candidates. Maximal degree in co-relation 102. Up to 2 conditions per place. [2025-01-10 06:49:52,297 INFO L82 GeneralOperation]: Start removeDead. Operand has 107 places, 113 transitions, 247 flow [2025-01-10 06:49:52,300 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 102 places, 108 transitions, 231 flow [2025-01-10 06:49:52,305 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-10 06:49:52,313 INFO L333 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, 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;@3766925d, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-10 06:49:52,313 INFO L334 AbstractCegarLoop]: Starting to check reachability of 53 error locations. [2025-01-10 06:49:52,316 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2025-01-10 06:49:52,316 INFO L124 PetriNetUnfolderBase]: 0/3 cut-off events. [2025-01-10 06:49:52,316 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-01-10 06:49:52,316 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-10 06:49:52,316 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1] [2025-01-10 06:49:52,317 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONINTEGER_OVERFLOW === [thread1Err0ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err1ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 50 more)] === [2025-01-10 06:49:52,320 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 06:49:52,320 INFO L85 PathProgramCache]: Analyzing trace with hash 1004789, now seen corresponding path program 1 times [2025-01-10 06:49:52,325 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 06:49:52,326 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [435972850] [2025-01-10 06:49:52,326 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 06:49:52,326 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 06:49:52,397 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 06:49:52,411 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 06:49:52,411 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 06:49:52,412 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 06:49:52,490 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 06:49:52,490 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 06:49:52,491 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [435972850] [2025-01-10 06:49:52,491 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [435972850] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 06:49:52,491 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 06:49:52,491 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-10 06:49:52,492 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2123925960] [2025-01-10 06:49:52,493 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 06:49:52,497 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-01-10 06:49:52,499 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 06:49:52,511 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 06:49:52,512 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 06:49:52,519 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 52 out of 113 [2025-01-10 06:49:52,521 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 102 places, 108 transitions, 231 flow. Second operand has 4 states, 4 states have (on average 52.75) internal successors, (211), 4 states have internal predecessors, (211), 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) [2025-01-10 06:49:52,522 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-10 06:49:52,522 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 52 of 113 [2025-01-10 06:49:52,522 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-10 06:49:54,592 INFO L124 PetriNetUnfolderBase]: 12541/23552 cut-off events. [2025-01-10 06:49:54,592 INFO L125 PetriNetUnfolderBase]: For 529/529 co-relation queries the response was YES. [2025-01-10 06:49:54,660 INFO L83 FinitePrefix]: Finished finitePrefix Result has 40534 conditions, 23552 events. 12541/23552 cut-off events. For 529/529 co-relation queries the response was YES. Maximal size of possible extension queue 1128. Compared 210536 event pairs, 8652 based on Foata normal form. 1/18437 useless extension candidates. Maximal degree in co-relation 39200. Up to 16534 conditions per place. [2025-01-10 06:49:54,791 INFO L140 encePairwiseOnDemand]: 105/113 looper letters, 51 selfloop transitions, 4 changer transitions 0/104 dead transitions. [2025-01-10 06:49:54,791 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 104 places, 104 transitions, 333 flow [2025-01-10 06:49:54,792 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 06:49:54,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-01-10 06:49:54,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 267 transitions. [2025-01-10 06:49:54,803 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5907079646017699 [2025-01-10 06:49:54,804 INFO L175 Difference]: Start difference. First operand has 102 places, 108 transitions, 231 flow. Second operand 4 states and 267 transitions. [2025-01-10 06:49:54,804 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 104 places, 104 transitions, 333 flow [2025-01-10 06:49:54,815 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 99 places, 104 transitions, 324 flow, removed 0 selfloop flow, removed 5 redundant places. [2025-01-10 06:49:54,817 INFO L231 Difference]: Finished difference. Result has 99 places, 104 transitions, 222 flow [2025-01-10 06:49:54,819 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=113, PETRI_DIFFERENCE_MINUEND_FLOW=214, PETRI_DIFFERENCE_MINUEND_PLACES=96, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=104, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=100, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=222, PETRI_PLACES=99, PETRI_TRANSITIONS=104} [2025-01-10 06:49:54,821 INFO L279 CegarLoopForPetriNet]: 102 programPoint places, -3 predicate places. [2025-01-10 06:49:54,823 INFO L471 AbstractCegarLoop]: Abstraction has has 99 places, 104 transitions, 222 flow [2025-01-10 06:49:54,824 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 52.75) internal successors, (211), 4 states have internal predecessors, (211), 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) [2025-01-10 06:49:54,824 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-10 06:49:54,824 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1] [2025-01-10 06:49:54,824 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-01-10 06:49:54,824 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONINTEGER_OVERFLOW === [thread1Err0ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err1ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 50 more)] === [2025-01-10 06:49:54,825 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 06:49:54,825 INFO L85 PathProgramCache]: Analyzing trace with hash 31149521, now seen corresponding path program 1 times [2025-01-10 06:49:54,825 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 06:49:54,825 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1434914663] [2025-01-10 06:49:54,825 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 06:49:54,825 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 06:49:54,837 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 06:49:54,854 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 06:49:54,855 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 06:49:54,855 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 06:49:54,929 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 06:49:54,929 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 06:49:54,929 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1434914663] [2025-01-10 06:49:54,929 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1434914663] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 06:49:54,929 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 06:49:54,930 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-10 06:49:54,930 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [600530240] [2025-01-10 06:49:54,930 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 06:49:54,931 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-01-10 06:49:54,931 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 06:49:54,931 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 06:49:54,931 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 06:49:54,938 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 52 out of 113 [2025-01-10 06:49:54,938 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 99 places, 104 transitions, 222 flow. Second operand has 4 states, 4 states have (on average 52.75) internal successors, (211), 4 states have internal predecessors, (211), 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) [2025-01-10 06:49:54,938 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-10 06:49:54,938 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 52 of 113 [2025-01-10 06:49:54,938 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-10 06:49:56,292 INFO L124 PetriNetUnfolderBase]: 12542/23556 cut-off events. [2025-01-10 06:49:56,292 INFO L125 PetriNetUnfolderBase]: For 123/123 co-relation queries the response was YES. [2025-01-10 06:49:56,348 INFO L83 FinitePrefix]: Finished finitePrefix Result has 40384 conditions, 23556 events. 12542/23556 cut-off events. For 123/123 co-relation queries the response was YES. Maximal size of possible extension queue 1128. Compared 210511 event pairs, 8652 based on Foata normal form. 1/18441 useless extension candidates. Maximal degree in co-relation 40356. Up to 16539 conditions per place. [2025-01-10 06:49:56,418 INFO L140 encePairwiseOnDemand]: 108/113 looper letters, 54 selfloop transitions, 4 changer transitions 0/107 dead transitions. [2025-01-10 06:49:56,418 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 102 places, 107 transitions, 350 flow [2025-01-10 06:49:56,419 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 06:49:56,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-01-10 06:49:56,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 267 transitions. [2025-01-10 06:49:56,422 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5907079646017699 [2025-01-10 06:49:56,423 INFO L175 Difference]: Start difference. First operand has 99 places, 104 transitions, 222 flow. Second operand 4 states and 267 transitions. [2025-01-10 06:49:56,423 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 102 places, 107 transitions, 350 flow [2025-01-10 06:49:56,424 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 99 places, 107 transitions, 336 flow, removed 0 selfloop flow, removed 3 redundant places. [2025-01-10 06:49:56,428 INFO L231 Difference]: Finished difference. Result has 101 places, 107 transitions, 241 flow [2025-01-10 06:49:56,428 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=113, PETRI_DIFFERENCE_MINUEND_FLOW=214, PETRI_DIFFERENCE_MINUEND_PLACES=96, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=104, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=100, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=241, PETRI_PLACES=101, PETRI_TRANSITIONS=107} [2025-01-10 06:49:56,430 INFO L279 CegarLoopForPetriNet]: 102 programPoint places, -1 predicate places. [2025-01-10 06:49:56,430 INFO L471 AbstractCegarLoop]: Abstraction has has 101 places, 107 transitions, 241 flow [2025-01-10 06:49:56,430 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 52.75) internal successors, (211), 4 states have internal predecessors, (211), 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) [2025-01-10 06:49:56,430 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-10 06:49:56,430 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 1, 1, 1] [2025-01-10 06:49:56,431 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-01-10 06:49:56,431 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONINTEGER_OVERFLOW === [thread1Err0ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err1ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 50 more)] === [2025-01-10 06:49:56,431 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 06:49:56,432 INFO L85 PathProgramCache]: Analyzing trace with hash 263474995, now seen corresponding path program 1 times [2025-01-10 06:49:56,432 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 06:49:56,432 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1506550268] [2025-01-10 06:49:56,432 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 06:49:56,432 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 06:49:56,442 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-01-10 06:49:56,456 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-01-10 06:49:56,457 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 06:49:56,457 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 06:49:56,563 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 06:49:56,564 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 06:49:56,564 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1506550268] [2025-01-10 06:49:56,564 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1506550268] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 06:49:56,564 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [456271921] [2025-01-10 06:49:56,564 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 06:49:56,564 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 06:49:56,564 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 06:49:56,566 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 06:49:56,568 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-01-10 06:49:56,622 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-01-10 06:49:56,638 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-01-10 06:49:56,638 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 06:49:56,638 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 06:49:56,640 INFO L256 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-01-10 06:49:56,643 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 06:49:56,677 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 06:49:56,678 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 06:49:56,723 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 06:49:56,724 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [456271921] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 06:49:56,725 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 06:49:56,725 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 8 [2025-01-10 06:49:56,725 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [746666078] [2025-01-10 06:49:56,725 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 06:49:56,725 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2025-01-10 06:49:56,725 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 06:49:56,726 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2025-01-10 06:49:56,726 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2025-01-10 06:49:56,745 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 52 out of 113 [2025-01-10 06:49:56,746 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 101 places, 107 transitions, 241 flow. Second operand has 10 states, 10 states have (on average 53.0) internal successors, (530), 10 states have internal predecessors, (530), 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) [2025-01-10 06:49:56,746 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-10 06:49:56,746 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 52 of 113 [2025-01-10 06:49:56,746 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-10 06:49:58,077 INFO L124 PetriNetUnfolderBase]: 12545/23568 cut-off events. [2025-01-10 06:49:58,078 INFO L125 PetriNetUnfolderBase]: For 126/126 co-relation queries the response was YES. [2025-01-10 06:49:58,125 INFO L83 FinitePrefix]: Finished finitePrefix Result has 40420 conditions, 23568 events. 12545/23568 cut-off events. For 126/126 co-relation queries the response was YES. Maximal size of possible extension queue 1118. Compared 210501 event pairs, 8652 based on Foata normal form. 0/18449 useless extension candidates. Maximal degree in co-relation 40363. Up to 16542 conditions per place. [2025-01-10 06:49:58,225 INFO L140 encePairwiseOnDemand]: 108/113 looper letters, 54 selfloop transitions, 13 changer transitions 0/116 dead transitions. [2025-01-10 06:49:58,225 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 110 places, 116 transitions, 411 flow [2025-01-10 06:49:58,226 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-01-10 06:49:58,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2025-01-10 06:49:58,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 590 transitions. [2025-01-10 06:49:58,227 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5221238938053098 [2025-01-10 06:49:58,227 INFO L175 Difference]: Start difference. First operand has 101 places, 107 transitions, 241 flow. Second operand 10 states and 590 transitions. [2025-01-10 06:49:58,228 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 110 places, 116 transitions, 411 flow [2025-01-10 06:49:58,229 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 109 places, 116 transitions, 408 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-01-10 06:49:58,230 INFO L231 Difference]: Finished difference. Result has 112 places, 116 transitions, 318 flow [2025-01-10 06:49:58,231 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=113, PETRI_DIFFERENCE_MINUEND_FLOW=238, PETRI_DIFFERENCE_MINUEND_PLACES=100, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=107, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=100, PETRI_DIFFERENCE_SUBTRAHEND_STATES=10, PETRI_FLOW=318, PETRI_PLACES=112, PETRI_TRANSITIONS=116} [2025-01-10 06:49:58,231 INFO L279 CegarLoopForPetriNet]: 102 programPoint places, 10 predicate places. [2025-01-10 06:49:58,231 INFO L471 AbstractCegarLoop]: Abstraction has has 112 places, 116 transitions, 318 flow [2025-01-10 06:49:58,232 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 53.0) internal successors, (530), 10 states have internal predecessors, (530), 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) [2025-01-10 06:49:58,232 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-10 06:49:58,232 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2025-01-10 06:49:58,242 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2025-01-10 06:49:58,437 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 06:49:58,438 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting thread1Err0ASSERT_VIOLATIONINTEGER_OVERFLOW === [thread1Err0ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err1ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 50 more)] === [2025-01-10 06:49:58,439 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 06:49:58,439 INFO L85 PathProgramCache]: Analyzing trace with hash 404861107, now seen corresponding path program 1 times [2025-01-10 06:49:58,439 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 06:49:58,439 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [173384333] [2025-01-10 06:49:58,439 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 06:49:58,440 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 06:49:58,448 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-01-10 06:49:58,457 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-01-10 06:49:58,458 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 06:49:58,458 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 06:49:58,531 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 06:49:58,531 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 06:49:58,531 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [173384333] [2025-01-10 06:49:58,531 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [173384333] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 06:49:58,531 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 06:49:58,532 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-01-10 06:49:58,532 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1161736904] [2025-01-10 06:49:58,532 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 06:49:58,532 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-01-10 06:49:58,532 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 06:49:58,532 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 06:49:58,532 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 06:49:58,537 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 52 out of 113 [2025-01-10 06:49:58,538 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 112 places, 116 transitions, 318 flow. Second operand has 4 states, 4 states have (on average 53.75) internal successors, (215), 4 states have internal predecessors, (215), 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) [2025-01-10 06:49:58,538 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-10 06:49:58,538 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 52 of 113 [2025-01-10 06:49:58,538 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-10 06:50:01,125 INFO L124 PetriNetUnfolderBase]: 27152/48898 cut-off events. [2025-01-10 06:50:01,125 INFO L125 PetriNetUnfolderBase]: For 127/127 co-relation queries the response was YES. [2025-01-10 06:50:01,221 INFO L83 FinitePrefix]: Finished finitePrefix Result has 85451 conditions, 48898 events. 27152/48898 cut-off events. For 127/127 co-relation queries the response was YES. Maximal size of possible extension queue 2199. Compared 463163 event pairs, 11234 based on Foata normal form. 366/39885 useless extension candidates. Maximal degree in co-relation 85415. Up to 20438 conditions per place. [2025-01-10 06:50:01,360 INFO L140 encePairwiseOnDemand]: 108/113 looper letters, 146 selfloop transitions, 3 changer transitions 0/197 dead transitions. [2025-01-10 06:50:01,361 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 115 places, 197 transitions, 786 flow [2025-01-10 06:50:01,365 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 06:50:01,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-01-10 06:50:01,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 347 transitions. [2025-01-10 06:50:01,366 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.7676991150442478 [2025-01-10 06:50:01,367 INFO L175 Difference]: Start difference. First operand has 112 places, 116 transitions, 318 flow. Second operand 4 states and 347 transitions. [2025-01-10 06:50:01,367 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 115 places, 197 transitions, 786 flow [2025-01-10 06:50:01,370 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 112 places, 197 transitions, 756 flow, removed 11 selfloop flow, removed 3 redundant places. [2025-01-10 06:50:01,372 INFO L231 Difference]: Finished difference. Result has 114 places, 118 transitions, 310 flow [2025-01-10 06:50:01,374 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=113, PETRI_DIFFERENCE_MINUEND_FLOW=288, PETRI_DIFFERENCE_MINUEND_PLACES=109, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=116, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=113, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=310, PETRI_PLACES=114, PETRI_TRANSITIONS=118} [2025-01-10 06:50:01,375 INFO L279 CegarLoopForPetriNet]: 102 programPoint places, 12 predicate places. [2025-01-10 06:50:01,375 INFO L471 AbstractCegarLoop]: Abstraction has has 114 places, 118 transitions, 310 flow [2025-01-10 06:50:01,375 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 53.75) internal successors, (215), 4 states have internal predecessors, (215), 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) [2025-01-10 06:50:01,375 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-10 06:50:01,375 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 06:50:01,375 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2025-01-10 06:50:01,376 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting thread2Err0ASSERT_VIOLATIONINTEGER_OVERFLOW === [thread1Err0ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err1ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 50 more)] === [2025-01-10 06:50:01,376 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 06:50:01,376 INFO L85 PathProgramCache]: Analyzing trace with hash 1092919910, now seen corresponding path program 1 times [2025-01-10 06:50:01,377 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 06:50:01,377 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [808119491] [2025-01-10 06:50:01,377 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 06:50:01,377 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 06:50:01,385 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 9 statements into 1 equivalence classes. [2025-01-10 06:50:01,396 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 9 of 9 statements. [2025-01-10 06:50:01,396 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 06:50:01,396 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 06:50:01,441 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 06:50:01,441 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 06:50:01,441 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [808119491] [2025-01-10 06:50:01,441 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [808119491] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 06:50:01,441 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 06:50:01,441 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-01-10 06:50:01,441 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1586049512] [2025-01-10 06:50:01,442 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 06:50:01,442 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-01-10 06:50:01,442 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 06:50:01,442 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 06:50:01,442 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 06:50:01,446 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 52 out of 113 [2025-01-10 06:50:01,447 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 114 places, 118 transitions, 310 flow. Second operand has 4 states, 4 states have (on average 54.25) internal successors, (217), 4 states have internal predecessors, (217), 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) [2025-01-10 06:50:01,447 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-10 06:50:01,447 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 52 of 113 [2025-01-10 06:50:01,447 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-10 06:50:05,592 INFO L124 PetriNetUnfolderBase]: 50887/91350 cut-off events. [2025-01-10 06:50:05,593 INFO L125 PetriNetUnfolderBase]: For 6159/7281 co-relation queries the response was YES. [2025-01-10 06:50:05,849 INFO L83 FinitePrefix]: Finished finitePrefix Result has 164041 conditions, 91350 events. 50887/91350 cut-off events. For 6159/7281 co-relation queries the response was YES. Maximal size of possible extension queue 3707. Compared 935596 event pairs, 20728 based on Foata normal form. 726/74951 useless extension candidates. Maximal degree in co-relation 164007. Up to 36713 conditions per place. [2025-01-10 06:50:06,303 INFO L140 encePairwiseOnDemand]: 108/113 looper letters, 149 selfloop transitions, 3 changer transitions 0/200 dead transitions. [2025-01-10 06:50:06,304 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 117 places, 200 transitions, 813 flow [2025-01-10 06:50:06,304 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 06:50:06,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-01-10 06:50:06,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 344 transitions. [2025-01-10 06:50:06,305 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.7610619469026548 [2025-01-10 06:50:06,306 INFO L175 Difference]: Start difference. First operand has 114 places, 118 transitions, 310 flow. Second operand 4 states and 344 transitions. [2025-01-10 06:50:06,306 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 117 places, 200 transitions, 813 flow [2025-01-10 06:50:06,310 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 116 places, 200 transitions, 807 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-01-10 06:50:06,312 INFO L231 Difference]: Finished difference. Result has 118 places, 120 transitions, 330 flow [2025-01-10 06:50:06,312 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=113, PETRI_DIFFERENCE_MINUEND_FLOW=308, PETRI_DIFFERENCE_MINUEND_PLACES=113, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=118, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=115, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=330, PETRI_PLACES=118, PETRI_TRANSITIONS=120} [2025-01-10 06:50:06,313 INFO L279 CegarLoopForPetriNet]: 102 programPoint places, 16 predicate places. [2025-01-10 06:50:06,313 INFO L471 AbstractCegarLoop]: Abstraction has has 118 places, 120 transitions, 330 flow [2025-01-10 06:50:06,313 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 54.25) internal successors, (217), 4 states have internal predecessors, (217), 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) [2025-01-10 06:50:06,313 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-10 06:50:06,313 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 06:50:06,314 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2025-01-10 06:50:06,314 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting thread1Err2ASSERT_VIOLATIONINTEGER_OVERFLOW === [thread1Err0ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err1ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 50 more)] === [2025-01-10 06:50:06,314 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 06:50:06,314 INFO L85 PathProgramCache]: Analyzing trace with hash 949062660, now seen corresponding path program 1 times [2025-01-10 06:50:06,314 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 06:50:06,314 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1324480621] [2025-01-10 06:50:06,314 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 06:50:06,314 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 06:50:06,322 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 10 statements into 1 equivalence classes. [2025-01-10 06:50:06,331 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 10 of 10 statements. [2025-01-10 06:50:06,332 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 06:50:06,332 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 06:50:06,399 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 06:50:06,400 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 06:50:06,400 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1324480621] [2025-01-10 06:50:06,400 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1324480621] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 06:50:06,400 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 06:50:06,400 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 06:50:06,401 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [875753629] [2025-01-10 06:50:06,401 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 06:50:06,401 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-01-10 06:50:06,401 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 06:50:06,401 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 06:50:06,402 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 06:50:06,402 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 54 out of 113 [2025-01-10 06:50:06,402 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 118 places, 120 transitions, 330 flow. Second operand has 4 states, 4 states have (on average 56.0) internal successors, (224), 4 states have internal predecessors, (224), 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) [2025-01-10 06:50:06,403 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-10 06:50:06,403 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 54 of 113 [2025-01-10 06:50:06,403 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-10 06:50:10,240 INFO L124 PetriNetUnfolderBase]: 43303/74131 cut-off events. [2025-01-10 06:50:10,241 INFO L125 PetriNetUnfolderBase]: For 8683/10027 co-relation queries the response was YES. [2025-01-10 06:50:10,416 INFO L83 FinitePrefix]: Finished finitePrefix Result has 141745 conditions, 74131 events. 43303/74131 cut-off events. For 8683/10027 co-relation queries the response was YES. Maximal size of possible extension queue 2685. Compared 690921 event pairs, 17142 based on Foata normal form. 0/63670 useless extension candidates. Maximal degree in co-relation 141709. Up to 32381 conditions per place. [2025-01-10 06:50:10,652 INFO L140 encePairwiseOnDemand]: 108/113 looper letters, 181 selfloop transitions, 4 changer transitions 0/235 dead transitions. [2025-01-10 06:50:10,652 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 122 places, 235 transitions, 985 flow [2025-01-10 06:50:10,653 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-10 06:50:10,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-01-10 06:50:10,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 436 transitions. [2025-01-10 06:50:10,655 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.7716814159292036 [2025-01-10 06:50:10,655 INFO L175 Difference]: Start difference. First operand has 118 places, 120 transitions, 330 flow. Second operand 5 states and 436 transitions. [2025-01-10 06:50:10,655 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 122 places, 235 transitions, 985 flow [2025-01-10 06:50:10,692 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 121 places, 235 transitions, 977 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-01-10 06:50:10,694 INFO L231 Difference]: Finished difference. Result has 124 places, 122 transitions, 353 flow [2025-01-10 06:50:10,694 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=113, PETRI_DIFFERENCE_MINUEND_FLOW=328, PETRI_DIFFERENCE_MINUEND_PLACES=117, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=120, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=116, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=353, PETRI_PLACES=124, PETRI_TRANSITIONS=122} [2025-01-10 06:50:10,694 INFO L279 CegarLoopForPetriNet]: 102 programPoint places, 22 predicate places. [2025-01-10 06:50:10,694 INFO L471 AbstractCegarLoop]: Abstraction has has 124 places, 122 transitions, 353 flow [2025-01-10 06:50:10,695 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 56.0) internal successors, (224), 4 states have internal predecessors, (224), 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) [2025-01-10 06:50:10,695 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-10 06:50:10,695 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 06:50:10,695 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2025-01-10 06:50:10,695 INFO L396 AbstractCegarLoop]: === Iteration 7 === Targeting thread3Err0ASSERT_VIOLATIONINTEGER_OVERFLOW === [thread1Err0ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err1ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 50 more)] === [2025-01-10 06:50:10,695 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 06:50:10,695 INFO L85 PathProgramCache]: Analyzing trace with hash -1310130584, now seen corresponding path program 1 times [2025-01-10 06:50:10,695 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 06:50:10,696 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1735159849] [2025-01-10 06:50:10,696 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 06:50:10,696 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 06:50:10,703 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-01-10 06:50:10,710 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-01-10 06:50:10,714 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 06:50:10,714 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 06:50:10,770 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 06:50:10,770 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 06:50:10,770 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1735159849] [2025-01-10 06:50:10,770 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1735159849] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 06:50:10,771 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 06:50:10,771 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-01-10 06:50:10,771 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1569014631] [2025-01-10 06:50:10,771 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 06:50:10,771 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-01-10 06:50:10,772 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 06:50:10,772 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 06:50:10,772 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 06:50:10,776 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 52 out of 113 [2025-01-10 06:50:10,777 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 124 places, 122 transitions, 353 flow. Second operand has 4 states, 4 states have (on average 54.75) internal successors, (219), 4 states have internal predecessors, (219), 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) [2025-01-10 06:50:10,777 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-10 06:50:10,777 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 52 of 113 [2025-01-10 06:50:10,777 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-10 06:50:19,364 INFO L124 PetriNetUnfolderBase]: 83904/148897 cut-off events. [2025-01-10 06:50:19,365 INFO L125 PetriNetUnfolderBase]: For 37455/41410 co-relation queries the response was YES. [2025-01-10 06:50:19,883 INFO L83 FinitePrefix]: Finished finitePrefix Result has 288711 conditions, 148897 events. 83904/148897 cut-off events. For 37455/41410 co-relation queries the response was YES. Maximal size of possible extension queue 5149. Compared 1562047 event pairs, 37649 based on Foata normal form. 1181/127644 useless extension candidates. Maximal degree in co-relation 288673. Up to 63622 conditions per place. [2025-01-10 06:50:20,448 INFO L140 encePairwiseOnDemand]: 108/113 looper letters, 158 selfloop transitions, 3 changer transitions 0/209 dead transitions. [2025-01-10 06:50:20,449 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 127 places, 209 transitions, 943 flow [2025-01-10 06:50:20,449 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 06:50:20,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-01-10 06:50:20,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 341 transitions. [2025-01-10 06:50:20,451 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.754424778761062 [2025-01-10 06:50:20,451 INFO L175 Difference]: Start difference. First operand has 124 places, 122 transitions, 353 flow. Second operand 4 states and 341 transitions. [2025-01-10 06:50:20,451 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 127 places, 209 transitions, 943 flow [2025-01-10 06:50:20,488 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 127 places, 209 transitions, 943 flow, removed 0 selfloop flow, removed 0 redundant places. [2025-01-10 06:50:20,489 INFO L231 Difference]: Finished difference. Result has 129 places, 124 transitions, 375 flow [2025-01-10 06:50:20,490 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=113, PETRI_DIFFERENCE_MINUEND_FLOW=353, PETRI_DIFFERENCE_MINUEND_PLACES=124, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=122, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=119, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=375, PETRI_PLACES=129, PETRI_TRANSITIONS=124} [2025-01-10 06:50:20,490 INFO L279 CegarLoopForPetriNet]: 102 programPoint places, 27 predicate places. [2025-01-10 06:50:20,490 INFO L471 AbstractCegarLoop]: Abstraction has has 129 places, 124 transitions, 375 flow [2025-01-10 06:50:20,491 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 54.75) internal successors, (219), 4 states have internal predecessors, (219), 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) [2025-01-10 06:50:20,491 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-10 06:50:20,491 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 06:50:20,491 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2025-01-10 06:50:20,491 INFO L396 AbstractCegarLoop]: === Iteration 8 === Targeting thread1Err0ASSERT_VIOLATIONINTEGER_OVERFLOW === [thread1Err0ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err1ASSERT_VIOLATIONINTEGER_OVERFLOW, thread1Err2ASSERT_VIOLATIONINTEGER_OVERFLOW (and 50 more)] === [2025-01-10 06:50:20,491 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 06:50:20,492 INFO L85 PathProgramCache]: Analyzing trace with hash -609458677, now seen corresponding path program 1 times [2025-01-10 06:50:20,492 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 06:50:20,492 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1301291696] [2025-01-10 06:50:20,492 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 06:50:20,492 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 06:50:20,501 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-01-10 06:50:20,506 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-01-10 06:50:20,506 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 06:50:20,506 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 06:50:20,553 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2025-01-10 06:50:20,554 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 06:50:20,554 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1301291696] [2025-01-10 06:50:20,554 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1301291696] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 06:50:20,554 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 06:50:20,554 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-10 06:50:20,554 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [257572645] [2025-01-10 06:50:20,554 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 06:50:20,555 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-10 06:50:20,555 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 06:50:20,555 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-10 06:50:20,555 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-10 06:50:20,556 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 54 out of 113 [2025-01-10 06:50:20,556 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 129 places, 124 transitions, 375 flow. Second operand has 3 states, 3 states have (on average 56.333333333333336) internal successors, (169), 3 states have internal predecessors, (169), 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) [2025-01-10 06:50:20,556 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-10 06:50:20,556 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 54 of 113 [2025-01-10 06:50:20,556 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand