./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-24.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability 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/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-24.i -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-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 ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 481fb6163129bcac31bfa5548f3c66416510365b56cd1a0ddcb41986b1359b6e --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 13:27:17,577 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 13:27:17,632 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-01-09 13:27:17,638 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 13:27:17,638 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 13:27:17,663 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 13:27:17,664 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 13:27:17,664 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 13:27:17,664 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 13:27:17,664 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 13:27:17,665 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 13:27:17,665 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 13:27:17,665 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 13:27:17,665 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 13:27:17,666 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 13:27:17,666 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 13:27:17,666 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 13:27:17,666 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 13:27:17,666 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 13:27:17,666 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 13:27:17,666 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 13:27:17,667 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 13:27:17,667 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 13:27:17,667 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 13:27:17,667 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 13:27:17,667 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 13:27:17,667 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 13:27:17,667 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 13:27:17,667 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 13:27:17,667 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:27:17,667 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:27:17,667 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:27:17,668 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:27:17,668 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 13:27:17,668 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:27:17,668 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:27:17,668 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:27:17,668 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:27:17,668 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 13:27:17,669 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 13:27:17,669 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 13:27:17,669 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 13:27:17,669 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 13:27:17,669 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 13:27:17,669 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 13:27:17,669 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 13:27:17,669 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 13:27:17,669 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 13:27:17,669 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 ! call(reach_error())) ) 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 -> 481fb6163129bcac31bfa5548f3c66416510365b56cd1a0ddcb41986b1359b6e [2025-01-09 13:27:17,893 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 13:27:17,899 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 13:27:17,900 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 13:27:17,901 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 13:27:17,901 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 13:27:17,903 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-24.i [2025-01-09 13:27:19,043 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/639ad3d2f/90cc5f57eebb4ceab3a3bb6152cb7297/FLAGcce4e169a [2025-01-09 13:27:19,263 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 13:27:19,279 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-24.i [2025-01-09 13:27:19,287 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/639ad3d2f/90cc5f57eebb4ceab3a3bb6152cb7297/FLAGcce4e169a [2025-01-09 13:27:19,615 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/639ad3d2f/90cc5f57eebb4ceab3a3bb6152cb7297 [2025-01-09 13:27:19,617 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 13:27:19,618 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 13:27:19,619 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 13:27:19,619 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 13:27:19,624 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 13:27:19,624 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:27:19" (1/1) ... [2025-01-09 13:27:19,625 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1e27fb21 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19, skipping insertion in model container [2025-01-09 13:27:19,625 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:27:19" (1/1) ... [2025-01-09 13:27:19,649 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 13:27:19,790 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-24.i[915,928] [2025-01-09 13:27:19,822 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:27:19,829 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 13:27:19,835 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-24.i[915,928] [2025-01-09 13:27:19,846 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:27:19,855 INFO L204 MainTranslator]: Completed translation [2025-01-09 13:27:19,855 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19 WrapperNode [2025-01-09 13:27:19,856 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 13:27:19,856 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 13:27:19,856 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 13:27:19,856 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 13:27:19,860 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19" (1/1) ... [2025-01-09 13:27:19,865 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19" (1/1) ... [2025-01-09 13:27:19,878 INFO L138 Inliner]: procedures = 26, calls = 28, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 99 [2025-01-09 13:27:19,878 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 13:27:19,878 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 13:27:19,878 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 13:27:19,879 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 13:27:19,884 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19" (1/1) ... [2025-01-09 13:27:19,885 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19" (1/1) ... [2025-01-09 13:27:19,886 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19" (1/1) ... [2025-01-09 13:27:19,894 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]. [2025-01-09 13:27:19,895 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19" (1/1) ... [2025-01-09 13:27:19,895 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19" (1/1) ... [2025-01-09 13:27:19,898 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19" (1/1) ... [2025-01-09 13:27:19,899 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19" (1/1) ... [2025-01-09 13:27:19,901 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19" (1/1) ... [2025-01-09 13:27:19,901 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19" (1/1) ... [2025-01-09 13:27:19,902 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19" (1/1) ... [2025-01-09 13:27:19,903 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 13:27:19,904 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 13:27:19,904 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 13:27:19,904 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 13:27:19,905 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19" (1/1) ... [2025-01-09 13:27:19,908 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:27:19,916 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 13:27:19,925 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-09 13:27:19,927 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-09 13:27:19,941 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 13:27:19,942 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 13:27:19,942 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 13:27:19,942 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-09 13:27:19,942 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 13:27:19,942 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 13:27:19,985 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 13:27:19,990 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 13:27:20,151 INFO L? ?]: Removed 8 outVars from TransFormulas that were not future-live. [2025-01-09 13:27:20,152 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 13:27:20,157 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 13:27:20,158 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 13:27:20,158 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:27:20 BoogieIcfgContainer [2025-01-09 13:27:20,158 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 13:27:20,159 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 13:27:20,159 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 13:27:20,162 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 13:27:20,162 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 01:27:19" (1/3) ... [2025-01-09 13:27:20,164 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7d0b0aa0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:27:20, skipping insertion in model container [2025-01-09 13:27:20,164 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:19" (2/3) ... [2025-01-09 13:27:20,164 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7d0b0aa0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:27:20, skipping insertion in model container [2025-01-09 13:27:20,164 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:27:20" (3/3) ... [2025-01-09 13:27:20,166 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_loopvsstraightlinecode_25-while_file-24.i [2025-01-09 13:27:20,176 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 13:27:20,179 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_loopvsstraightlinecode_25-while_file-24.i that has 2 procedures, 47 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 13:27:20,215 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 13:27:20,225 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;@312a8e21, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 13:27:20,225 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 13:27:20,228 INFO L276 IsEmpty]: Start isEmpty. Operand has 47 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 30 states have internal predecessors, (38), 15 states have call successors, (15), 1 states have call predecessors, (15), 1 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2025-01-09 13:27:20,233 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2025-01-09 13:27:20,233 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:27:20,235 INFO L218 NwaCegarLoop]: trace histogram [15, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 13:27:20,235 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:27:20,239 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:27:20,239 INFO L85 PathProgramCache]: Analyzing trace with hash 1086470725, now seen corresponding path program 1 times [2025-01-09 13:27:20,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 13:27:20,244 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [181602161] [2025-01-09 13:27:20,245 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:27:20,245 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 13:27:20,303 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 96 statements into 1 equivalence classes. [2025-01-09 13:27:20,315 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 96 of 96 statements. [2025-01-09 13:27:20,315 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:27:20,315 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:27:20,421 INFO L134 CoverageAnalysis]: Checked inductivity of 420 backedges. 0 proven. 28 refuted. 0 times theorem prover too weak. 392 trivial. 0 not checked. [2025-01-09 13:27:20,421 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 13:27:20,421 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [181602161] [2025-01-09 13:27:20,422 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [181602161] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 13:27:20,422 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1512350054] [2025-01-09 13:27:20,422 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:27:20,422 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 13:27:20,422 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 13:27:20,424 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-09 13:27:20,426 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-09 13:27:20,485 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 96 statements into 1 equivalence classes. [2025-01-09 13:27:20,529 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 96 of 96 statements. [2025-01-09 13:27:20,529 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:27:20,529 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:27:20,531 INFO L256 TraceCheckSpWp]: Trace formula consists of 220 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 13:27:20,536 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 13:27:20,549 INFO L134 CoverageAnalysis]: Checked inductivity of 420 backedges. 28 proven. 0 refuted. 0 times theorem prover too weak. 392 trivial. 0 not checked. [2025-01-09 13:27:20,549 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 13:27:20,550 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1512350054] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 13:27:20,550 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-01-09 13:27:20,550 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-01-09 13:27:20,551 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1190471775] [2025-01-09 13:27:20,552 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 13:27:20,554 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 13:27:20,554 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 13:27:20,567 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 13:27:20,568 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 13:27:20,570 INFO L87 Difference]: Start difference. First operand has 47 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 30 states have internal predecessors, (38), 15 states have call successors, (15), 1 states have call predecessors, (15), 1 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand has 2 states, 2 states have (on average 13.0) internal successors, (26), 2 states have internal predecessors, (26), 2 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (15), 1 states have call predecessors, (15), 2 states have call successors, (15) [2025-01-09 13:27:20,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 13:27:20,589 INFO L93 Difference]: Finished difference Result 88 states and 146 transitions. [2025-01-09 13:27:20,589 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 13:27:20,591 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 13.0) internal successors, (26), 2 states have internal predecessors, (26), 2 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (15), 1 states have call predecessors, (15), 2 states have call successors, (15) Word has length 96 [2025-01-09 13:27:20,591 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 13:27:20,594 INFO L225 Difference]: With dead ends: 88 [2025-01-09 13:27:20,595 INFO L226 Difference]: Without dead ends: 44 [2025-01-09 13:27:20,597 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 97 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 13:27:20,598 INFO L435 NwaCegarLoop]: 63 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 63 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2025-01-09 13:27:20,599 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 63 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 13:27:20,608 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2025-01-09 13:27:20,620 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 44. [2025-01-09 13:27:20,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 27 states have (on average 1.2222222222222223) internal successors, (33), 27 states have internal predecessors, (33), 15 states have call successors, (15), 1 states have call predecessors, (15), 1 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2025-01-09 13:27:20,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 63 transitions. [2025-01-09 13:27:20,628 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 63 transitions. Word has length 96 [2025-01-09 13:27:20,628 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 13:27:20,628 INFO L471 AbstractCegarLoop]: Abstraction has 44 states and 63 transitions. [2025-01-09 13:27:20,628 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 13.0) internal successors, (26), 2 states have internal predecessors, (26), 2 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (15), 1 states have call predecessors, (15), 2 states have call successors, (15) [2025-01-09 13:27:20,629 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 63 transitions. [2025-01-09 13:27:20,631 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2025-01-09 13:27:20,631 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:27:20,631 INFO L218 NwaCegarLoop]: trace histogram [15, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 13:27:20,638 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-09 13:27:20,832 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2025-01-09 13:27:20,832 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:27:20,833 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:27:20,833 INFO L85 PathProgramCache]: Analyzing trace with hash -1192519869, now seen corresponding path program 1 times [2025-01-09 13:27:20,833 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 13:27:20,833 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1619612958] [2025-01-09 13:27:20,833 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:27:20,834 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 13:27:20,872 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 96 statements into 1 equivalence classes. [2025-01-09 13:27:20,983 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 96 of 96 statements. [2025-01-09 13:27:20,984 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:27:20,984 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 13:27:20,984 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-09 13:27:20,991 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 96 statements into 1 equivalence classes. [2025-01-09 13:27:21,057 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 96 of 96 statements. [2025-01-09 13:27:21,059 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:27:21,059 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 13:27:21,088 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-09 13:27:21,088 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-01-09 13:27:21,089 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-01-09 13:27:21,090 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-01-09 13:27:21,093 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1] [2025-01-09 13:27:21,148 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-01-09 13:27:21,150 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 09.01 01:27:21 BoogieIcfgContainer [2025-01-09 13:27:21,150 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-01-09 13:27:21,151 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-01-09 13:27:21,151 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-01-09 13:27:21,151 INFO L274 PluginConnector]: Witness Printer initialized [2025-01-09 13:27:21,152 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:27:20" (3/4) ... [2025-01-09 13:27:21,156 INFO L149 WitnessPrinter]: No result that supports witness generation found [2025-01-09 13:27:21,157 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-01-09 13:27:21,157 INFO L158 Benchmark]: Toolchain (without parser) took 1539.66ms. Allocated memory is still 142.6MB. Free memory was 113.4MB in the beginning and 88.9MB in the end (delta: 24.6MB). Peak memory consumption was 21.9MB. Max. memory is 16.1GB. [2025-01-09 13:27:21,157 INFO L158 Benchmark]: CDTParser took 0.18ms. Allocated memory is still 201.3MB. Free memory is still 124.5MB. There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 13:27:21,158 INFO L158 Benchmark]: CACSL2BoogieTranslator took 237.20ms. Allocated memory is still 142.6MB. Free memory was 113.0MB in the beginning and 100.6MB in the end (delta: 12.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 13:27:21,158 INFO L158 Benchmark]: Boogie Procedure Inliner took 21.80ms. Allocated memory is still 142.6MB. Free memory was 100.6MB in the beginning and 98.3MB in the end (delta: 2.3MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 13:27:21,158 INFO L158 Benchmark]: Boogie Preprocessor took 25.01ms. Allocated memory is still 142.6MB. Free memory was 98.3MB in the beginning and 94.6MB in the end (delta: 3.8MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 13:27:21,158 INFO L158 Benchmark]: RCFGBuilder took 254.14ms. Allocated memory is still 142.6MB. Free memory was 94.6MB in the beginning and 78.8MB in the end (delta: 15.7MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-01-09 13:27:21,158 INFO L158 Benchmark]: TraceAbstraction took 991.16ms. Allocated memory is still 142.6MB. Free memory was 78.4MB in the beginning and 88.9MB in the end (delta: -10.5MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 13:27:21,158 INFO L158 Benchmark]: Witness Printer took 5.98ms. Allocated memory is still 142.6MB. Free memory was 88.9MB in the beginning and 88.9MB in the end (delta: 27.1kB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 13:27:21,159 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.18ms. Allocated memory is still 201.3MB. Free memory is still 124.5MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 237.20ms. Allocated memory is still 142.6MB. Free memory was 113.0MB in the beginning and 100.6MB in the end (delta: 12.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 21.80ms. Allocated memory is still 142.6MB. Free memory was 100.6MB in the beginning and 98.3MB in the end (delta: 2.3MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Preprocessor took 25.01ms. Allocated memory is still 142.6MB. Free memory was 98.3MB in the beginning and 94.6MB in the end (delta: 3.8MB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 254.14ms. Allocated memory is still 142.6MB. Free memory was 94.6MB in the beginning and 78.8MB in the end (delta: 15.7MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * TraceAbstraction took 991.16ms. Allocated memory is still 142.6MB. Free memory was 78.4MB in the beginning and 88.9MB in the end (delta: -10.5MB). There was no memory consumed. Max. memory is 16.1GB. * Witness Printer took 5.98ms. Allocated memory is still 142.6MB. Free memory was 88.9MB in the beginning and 88.9MB in the end (delta: 27.1kB). There was no memory consumed. 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 - UnprovableResult [Line: 19]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: overapproximation of someBinaryFLOATComparisonOperation at line 72, overapproximation of someBinaryFLOATComparisonOperation at line 88, overapproximation of someBinaryFLOATComparisonOperation at line 83, overapproximation of someBinaryFLOATComparisonOperation at line 37, overapproximation of someBinaryFLOATComparisonOperation at line 64, overapproximation of someBinaryFLOATComparisonOperation at line 46. Possible FailurePath: [L21] unsigned char isInitial = 0; [L22] signed char var_1_1 = 32; [L23] unsigned char var_1_2 = 0; [L24] float var_1_3 = 127.1; [L25] signed char var_1_4 = 16; [L26] signed char var_1_5 = 4; [L27] unsigned char var_1_6 = 8; [L28] float var_1_7 = 1000000.6; [L29] unsigned char var_1_8 = 64; [L30] unsigned char var_1_9 = 64; [L31] unsigned char var_1_10 = 128; [L32] unsigned char var_1_11 = 32; [L33] float var_1_12 = 16.8; VAL [isInitial=0, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_3=1271/10, var_1_4=16, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L92] isInitial = 1 [L93] FCALL initially() [L95] FCALL updateLastVariables() [L96] CALL updateVariables() [L60] var_1_2 = __VERIFIER_nondet_uchar() [L61] CALL assume_abort_if_not(var_1_2 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_3=1271/10, var_1_4=16, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_3=1271/10, var_1_4=16, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L61] RET assume_abort_if_not(var_1_2 >= 0) VAL [isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_3=1271/10, var_1_4=16, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L62] CALL assume_abort_if_not(var_1_2 <= 1) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_3=1271/10, var_1_4=16, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_3=1271/10, var_1_4=16, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L62] RET assume_abort_if_not(var_1_2 <= 1) VAL [isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_3=1271/10, var_1_4=16, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L63] var_1_3 = __VERIFIER_nondet_float() [L64] CALL assume_abort_if_not((var_1_3 >= -922337.2036854776000e+13F && var_1_3 <= -1.0e-20F) || (var_1_3 <= 9223372.036854776000e+12F && var_1_3 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=16, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=16, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L64] RET assume_abort_if_not((var_1_3 >= -922337.2036854776000e+13F && var_1_3 <= -1.0e-20F) || (var_1_3 <= 9223372.036854776000e+12F && var_1_3 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=16, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L65] var_1_4 = __VERIFIER_nondet_char() [L66] CALL assume_abort_if_not(var_1_4 >= -1) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L66] RET assume_abort_if_not(var_1_4 >= -1) VAL [isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L67] CALL assume_abort_if_not(var_1_4 <= 126) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L67] RET assume_abort_if_not(var_1_4 <= 126) VAL [isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=4, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L68] var_1_5 = __VERIFIER_nondet_char() [L69] CALL assume_abort_if_not(var_1_5 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L69] RET assume_abort_if_not(var_1_5 >= 0) VAL [isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L70] CALL assume_abort_if_not(var_1_5 <= 126) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L70] RET assume_abort_if_not(var_1_5 <= 126) VAL [isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_7=5000003/5, var_1_8=64, var_1_9=64] [L71] var_1_7 = __VERIFIER_nondet_float() [L72] CALL assume_abort_if_not((var_1_7 >= -922337.2036854776000e+13F && var_1_7 <= -1.0e-20F) || (var_1_7 <= 9223372.036854776000e+12F && var_1_7 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=64, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=64, var_1_9=64] [L72] RET assume_abort_if_not((var_1_7 >= -922337.2036854776000e+13F && var_1_7 <= -1.0e-20F) || (var_1_7 <= 9223372.036854776000e+12F && var_1_7 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=64, var_1_9=64] [L73] var_1_8 = __VERIFIER_nondet_uchar() [L74] CALL assume_abort_if_not(var_1_8 >= 63) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=64] [L74] RET assume_abort_if_not(var_1_8 >= 63) VAL [isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=64] [L75] CALL assume_abort_if_not(var_1_8 <= 127) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=64] [L75] RET assume_abort_if_not(var_1_8 <= 127) VAL [isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=64] [L76] var_1_9 = __VERIFIER_nondet_uchar() [L77] CALL assume_abort_if_not(var_1_9 >= 64) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L77] RET assume_abort_if_not(var_1_9 >= 64) VAL [isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L78] CALL assume_abort_if_not(var_1_9 <= 127) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L78] RET assume_abort_if_not(var_1_9 <= 127) VAL [isInitial=1, var_1_10=128, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L79] var_1_10 = __VERIFIER_nondet_uchar() [L80] CALL assume_abort_if_not(var_1_10 >= 127) VAL [\old(cond)=1, isInitial=1, var_1_10=201, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=201, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L80] RET assume_abort_if_not(var_1_10 >= 127) VAL [isInitial=1, var_1_10=201, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L81] CALL assume_abort_if_not(var_1_10 <= 254) VAL [\old(cond)=1, isInitial=1, var_1_10=201, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=201, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L81] RET assume_abort_if_not(var_1_10 <= 254) VAL [isInitial=1, var_1_10=201, var_1_11=32, var_1_12=84/5, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L82] var_1_12 = __VERIFIER_nondet_float() [L83] CALL assume_abort_if_not((var_1_12 >= -922337.2036854776000e+13F && var_1_12 <= -1.0e-20F) || (var_1_12 <= 9223372.036854776000e+12F && var_1_12 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=201, var_1_11=32, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=201, var_1_11=32, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L83] RET assume_abort_if_not((var_1_12 >= -922337.2036854776000e+13F && var_1_12 <= -1.0e-20F) || (var_1_12 <= 9223372.036854776000e+12F && var_1_12 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=201, var_1_11=32, var_1_1=32, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L96] RET updateVariables() [L97] CALL step() [L37] COND FALSE !(var_1_2 || (64.75f < var_1_3)) [L44] var_1_1 = var_1_5 VAL [isInitial=1, var_1_10=201, var_1_11=32, var_1_1=52, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=8, var_1_8=127, var_1_9=127] [L46] COND TRUE var_1_3 <= var_1_7 [L47] var_1_6 = ((((((var_1_8 + var_1_9)) > (((((var_1_10) > (200)) ? (var_1_10) : (200))))) ? ((var_1_8 + var_1_9)) : (((((var_1_10) > (200)) ? (var_1_10) : (200)))))) - var_1_5) VAL [isInitial=1, var_1_10=201, var_1_11=32, var_1_1=52, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=202, var_1_8=127, var_1_9=127] [L51] COND FALSE !(((((var_1_6) > (var_1_8)) ? (var_1_6) : (var_1_8))) <= var_1_10) VAL [isInitial=1, var_1_10=201, var_1_11=32, var_1_1=52, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=202, var_1_8=127, var_1_9=127] [L97] RET step() [L98] CALL, EXPR property() [L88-L89] return (((var_1_2 || (64.75f < var_1_3)) ? (var_1_2 ? (var_1_1 == ((signed char) (var_1_4 - var_1_5))) : (var_1_1 == ((signed char) var_1_4))) : (var_1_1 == ((signed char) var_1_5))) && ((var_1_3 <= var_1_7) ? (var_1_6 == ((unsigned char) ((((((var_1_8 + var_1_9)) > (((((var_1_10) > (200)) ? (var_1_10) : (200))))) ? ((var_1_8 + var_1_9)) : (((((var_1_10) > (200)) ? (var_1_10) : (200)))))) - var_1_5))) : (var_1_6 == ((unsigned char) var_1_10)))) && ((((((var_1_6) > (var_1_8)) ? (var_1_6) : (var_1_8))) <= var_1_10) ? ((var_1_3 == (var_1_7 + var_1_12)) ? (var_1_11 == ((unsigned char) (var_1_9 + var_1_5))) : (var_1_11 == ((unsigned char) var_1_9))) : 1) ; VAL [\result=0, isInitial=1, var_1_10=201, var_1_11=32, var_1_1=52, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=202, var_1_8=127, var_1_9=127] [L98] RET, EXPR property() [L98] CALL __VERIFIER_assert(property()) [L19] COND TRUE !(cond) VAL [isInitial=1, var_1_10=201, var_1_11=32, var_1_1=52, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=202, var_1_8=127, var_1_9=127] [L19] reach_error() VAL [isInitial=1, var_1_10=201, var_1_11=32, var_1_1=52, var_1_2=0, var_1_4=-1, var_1_5=52, var_1_6=202, var_1_8=127, var_1_9=127] - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 47 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 0.9s, OverallIterations: 2, TraceHistogramMax: 15, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 0 SdHoareTripleChecker+Valid, 0.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 0 mSDsluCounter, 63 SdHoareTripleChecker+Invalid, 0.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 0 mSDsCounter, 0 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 0 IncrementalHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 0 mSolverCounterUnsat, 63 mSDtfsCounter, 0 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 97 GetRequests, 97 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=47occurred in iteration=0, InterpolantAutomatonStates: 2, 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, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 0.1s InterpolantComputationTime, 288 NumberOfCodeBlocks, 288 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 190 ConstructedInterpolants, 0 QuantifiedInterpolants, 190 SizeOfPredicates, 0 NumberOfNonLiveVariables, 220 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 812/840 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, ConComCheckerStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces [2025-01-09 13:27:21,179 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### 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/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-24.i -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.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 ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 481fb6163129bcac31bfa5548f3c66416510365b56cd1a0ddcb41986b1359b6e --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 13:27:23,147 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 13:27:23,206 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2025-01-09 13:27:23,211 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 13:27:23,214 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 13:27:23,262 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 13:27:23,263 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 13:27:23,263 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 13:27:23,264 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 13:27:23,264 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 13:27:23,264 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 13:27:23,264 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 13:27:23,264 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 13:27:23,264 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 13:27:23,264 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 13:27:23,264 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 13:27:23,265 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 13:27:23,265 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 13:27:23,265 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 13:27:23,265 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 13:27:23,265 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 13:27:23,265 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 13:27:23,265 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 13:27:23,265 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-01-09 13:27:23,265 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-01-09 13:27:23,265 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-01-09 13:27:23,265 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 13:27:23,266 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 13:27:23,266 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 13:27:23,266 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 13:27:23,266 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 13:27:23,266 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:27:23,268 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:27:23,268 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:27:23,268 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:27:23,268 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 13:27:23,268 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:27:23,270 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:27:23,270 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:27:23,270 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:27:23,270 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 13:27:23,271 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 13:27:23,271 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 13:27:23,271 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 13:27:23,271 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-01-09 13:27:23,271 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-01-09 13:27:23,271 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 13:27:23,271 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 13:27:23,271 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 13:27:23,271 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 13:27:23,272 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 ! call(reach_error())) ) 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 -> 481fb6163129bcac31bfa5548f3c66416510365b56cd1a0ddcb41986b1359b6e [2025-01-09 13:27:23,456 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 13:27:23,469 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 13:27:23,471 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 13:27:23,471 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 13:27:23,476 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 13:27:23,477 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-24.i [2025-01-09 13:27:24,787 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/bcf44ece4/e35b89d3864c45c4b80d95c0db870842/FLAG93ac52de2 [2025-01-09 13:27:25,053 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 13:27:25,053 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-24.i [2025-01-09 13:27:25,060 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/bcf44ece4/e35b89d3864c45c4b80d95c0db870842/FLAG93ac52de2 [2025-01-09 13:27:25,349 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/bcf44ece4/e35b89d3864c45c4b80d95c0db870842 [2025-01-09 13:27:25,351 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 13:27:25,353 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 13:27:25,354 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 13:27:25,357 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 13:27:25,360 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 13:27:25,361 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:27:25" (1/1) ... [2025-01-09 13:27:25,361 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4718f4af and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25, skipping insertion in model container [2025-01-09 13:27:25,361 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:27:25" (1/1) ... [2025-01-09 13:27:25,372 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 13:27:25,469 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-24.i[915,928] [2025-01-09 13:27:25,503 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:27:25,517 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 13:27:25,526 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-24.i[915,928] [2025-01-09 13:27:25,544 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:27:25,561 INFO L204 MainTranslator]: Completed translation [2025-01-09 13:27:25,563 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25 WrapperNode [2025-01-09 13:27:25,563 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 13:27:25,564 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 13:27:25,564 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 13:27:25,564 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 13:27:25,568 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25" (1/1) ... [2025-01-09 13:27:25,580 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25" (1/1) ... [2025-01-09 13:27:25,599 INFO L138 Inliner]: procedures = 27, calls = 28, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 97 [2025-01-09 13:27:25,599 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 13:27:25,600 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 13:27:25,600 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 13:27:25,600 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 13:27:25,606 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25" (1/1) ... [2025-01-09 13:27:25,607 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25" (1/1) ... [2025-01-09 13:27:25,609 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25" (1/1) ... [2025-01-09 13:27:25,617 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]. [2025-01-09 13:27:25,618 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25" (1/1) ... [2025-01-09 13:27:25,618 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25" (1/1) ... [2025-01-09 13:27:25,622 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25" (1/1) ... [2025-01-09 13:27:25,623 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25" (1/1) ... [2025-01-09 13:27:25,624 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25" (1/1) ... [2025-01-09 13:27:25,625 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25" (1/1) ... [2025-01-09 13:27:25,626 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25" (1/1) ... [2025-01-09 13:27:25,627 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 13:27:25,628 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 13:27:25,628 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 13:27:25,628 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 13:27:25,628 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25" (1/1) ... [2025-01-09 13:27:25,632 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:27:25,640 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 13:27:25,651 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-09 13:27:25,653 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-09 13:27:25,668 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 13:27:25,668 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-01-09 13:27:25,668 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 13:27:25,668 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 13:27:25,668 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 13:27:25,668 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 13:27:25,711 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 13:27:25,713 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 13:27:26,013 INFO L? ?]: Removed 8 outVars from TransFormulas that were not future-live. [2025-01-09 13:27:26,014 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 13:27:26,020 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 13:27:26,020 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 13:27:26,020 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:27:26 BoogieIcfgContainer [2025-01-09 13:27:26,020 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 13:27:26,022 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 13:27:26,022 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 13:27:26,025 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 13:27:26,025 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 01:27:25" (1/3) ... [2025-01-09 13:27:26,025 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@123157f1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:27:26, skipping insertion in model container [2025-01-09 13:27:26,025 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:27:25" (2/3) ... [2025-01-09 13:27:26,025 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@123157f1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:27:26, skipping insertion in model container [2025-01-09 13:27:26,026 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:27:26" (3/3) ... [2025-01-09 13:27:26,026 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_loopvsstraightlinecode_25-while_file-24.i [2025-01-09 13:27:26,035 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 13:27:26,036 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_loopvsstraightlinecode_25-while_file-24.i that has 2 procedures, 47 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 13:27:26,076 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 13:27:26,085 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;@5eb8ee36, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 13:27:26,085 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 13:27:26,087 INFO L276 IsEmpty]: Start isEmpty. Operand has 47 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 30 states have internal predecessors, (38), 15 states have call successors, (15), 1 states have call predecessors, (15), 1 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2025-01-09 13:27:26,094 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2025-01-09 13:27:26,094 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:27:26,095 INFO L218 NwaCegarLoop]: trace histogram [15, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 13:27:26,095 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:27:26,098 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:27:26,099 INFO L85 PathProgramCache]: Analyzing trace with hash 1086470725, now seen corresponding path program 1 times [2025-01-09 13:27:26,106 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 13:27:26,107 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1723439723] [2025-01-09 13:27:26,107 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:27:26,107 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-01-09 13:27:26,107 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 13:27:26,114 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2025-01-09 13:27:26,115 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2025-01-09 13:27:26,178 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 96 statements into 1 equivalence classes. [2025-01-09 13:27:26,298 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 96 of 96 statements. [2025-01-09 13:27:26,298 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:27:26,298 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:27:26,306 INFO L256 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 13:27:26,311 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 13:27:26,342 INFO L134 CoverageAnalysis]: Checked inductivity of 420 backedges. 80 proven. 0 refuted. 0 times theorem prover too weak. 340 trivial. 0 not checked. [2025-01-09 13:27:26,342 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 13:27:26,343 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-01-09 13:27:26,343 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1723439723] [2025-01-09 13:27:26,343 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1723439723] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 13:27:26,343 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 13:27:26,343 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 13:27:26,344 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1421520106] [2025-01-09 13:27:26,345 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 13:27:26,347 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 13:27:26,347 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-01-09 13:27:26,359 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 13:27:26,359 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 13:27:26,360 INFO L87 Difference]: Start difference. First operand has 47 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 30 states have internal predecessors, (38), 15 states have call successors, (15), 1 states have call predecessors, (15), 1 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand has 2 states, 2 states have (on average 14.0) internal successors, (28), 2 states have internal predecessors, (28), 2 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (15), 2 states have call predecessors, (15), 2 states have call successors, (15) [2025-01-09 13:27:26,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 13:27:26,375 INFO L93 Difference]: Finished difference Result 88 states and 146 transitions. [2025-01-09 13:27:26,375 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 13:27:26,376 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 14.0) internal successors, (28), 2 states have internal predecessors, (28), 2 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (15), 2 states have call predecessors, (15), 2 states have call successors, (15) Word has length 96 [2025-01-09 13:27:26,376 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 13:27:26,379 INFO L225 Difference]: With dead ends: 88 [2025-01-09 13:27:26,379 INFO L226 Difference]: Without dead ends: 44 [2025-01-09 13:27:26,381 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 95 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 13:27:26,383 INFO L435 NwaCegarLoop]: 63 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 63 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2025-01-09 13:27:26,386 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 63 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 13:27:26,394 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2025-01-09 13:27:26,410 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 44. [2025-01-09 13:27:26,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 27 states have (on average 1.2222222222222223) internal successors, (33), 27 states have internal predecessors, (33), 15 states have call successors, (15), 1 states have call predecessors, (15), 1 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2025-01-09 13:27:26,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 63 transitions. [2025-01-09 13:27:26,416 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 63 transitions. Word has length 96 [2025-01-09 13:27:26,416 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 13:27:26,416 INFO L471 AbstractCegarLoop]: Abstraction has 44 states and 63 transitions. [2025-01-09 13:27:26,417 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 14.0) internal successors, (28), 2 states have internal predecessors, (28), 2 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (15), 2 states have call predecessors, (15), 2 states have call successors, (15) [2025-01-09 13:27:26,417 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 63 transitions. [2025-01-09 13:27:26,418 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2025-01-09 13:27:26,419 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:27:26,419 INFO L218 NwaCegarLoop]: trace histogram [15, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 13:27:26,426 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (2)] Ended with exit code 0 [2025-01-09 13:27:26,623 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-01-09 13:27:26,623 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:27:26,624 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:27:26,624 INFO L85 PathProgramCache]: Analyzing trace with hash -1192519869, now seen corresponding path program 1 times [2025-01-09 13:27:26,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 13:27:26,624 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [189725940] [2025-01-09 13:27:26,624 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:27:26,625 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-01-09 13:27:26,625 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 13:27:26,626 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2025-01-09 13:27:26,629 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2025-01-09 13:27:26,664 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 96 statements into 1 equivalence classes. [2025-01-09 13:27:26,773 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 96 of 96 statements. [2025-01-09 13:27:26,774 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:27:26,774 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:27:26,780 INFO L256 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 11 conjuncts are in the unsatisfiable core [2025-01-09 13:27:26,785 INFO L279 TraceCheckSpWp]: Computing forward predicates...