./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-1loop_file-28.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version c00e63dc 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-1loop_file-28.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 e96454a975ce1a938377bc7f74cac4eca41d61506722199ed63b4e6ea50e6c11 --- Real Ultimate output --- This is Ultimate 0.3.0-?-c00e63d-m [2025-02-06 01:09:37,620 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-02-06 01:09:37,681 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-02-06 01:09:37,685 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-02-06 01:09:37,687 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-02-06 01:09:37,707 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-02-06 01:09:37,708 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-02-06 01:09:37,708 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-02-06 01:09:37,709 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-02-06 01:09:37,709 INFO L153 SettingsManager]: * Use memory slicer=true [2025-02-06 01:09:37,709 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-02-06 01:09:37,709 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-02-06 01:09:37,709 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-02-06 01:09:37,709 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-02-06 01:09:37,710 INFO L153 SettingsManager]: * Use SBE=true [2025-02-06 01:09:37,710 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-02-06 01:09:37,710 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-02-06 01:09:37,711 INFO L153 SettingsManager]: * sizeof long=4 [2025-02-06 01:09:37,711 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-02-06 01:09:37,711 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-02-06 01:09:37,711 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-02-06 01:09:37,711 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-02-06 01:09:37,711 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-02-06 01:09:37,711 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-02-06 01:09:37,711 INFO L153 SettingsManager]: * sizeof long double=12 [2025-02-06 01:09:37,711 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-02-06 01:09:37,711 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-02-06 01:09:37,711 INFO L153 SettingsManager]: * Use constant arrays=true [2025-02-06 01:09:37,711 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-02-06 01:09:37,711 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-02-06 01:09:37,712 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-02-06 01:09:37,712 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-02-06 01:09:37,712 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-06 01:09:37,712 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-02-06 01:09:37,712 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-02-06 01:09:37,712 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-02-06 01:09:37,712 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-02-06 01:09:37,713 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-02-06 01:09:37,713 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-02-06 01:09:37,713 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-02-06 01:09:37,713 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-02-06 01:09:37,713 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-02-06 01:09:37,713 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-02-06 01:09:37,713 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 -> e96454a975ce1a938377bc7f74cac4eca41d61506722199ed63b4e6ea50e6c11 [2025-02-06 01:09:37,944 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-02-06 01:09:37,952 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-02-06 01:09:37,954 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-02-06 01:09:37,956 INFO L270 PluginConnector]: Initializing CDTParser... [2025-02-06 01:09:37,956 INFO L274 PluginConnector]: CDTParser initialized [2025-02-06 01:09:37,957 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-1loop_file-28.i [2025-02-06 01:09:39,058 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/416179b30/c4c79c7e8d44428a9d74ffb15f472aaa/FLAG52f54b880 [2025-02-06 01:09:39,311 INFO L384 CDTParser]: Found 1 translation units. [2025-02-06 01:09:39,313 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-1loop_file-28.i [2025-02-06 01:09:39,321 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/416179b30/c4c79c7e8d44428a9d74ffb15f472aaa/FLAG52f54b880 [2025-02-06 01:09:39,627 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/416179b30/c4c79c7e8d44428a9d74ffb15f472aaa [2025-02-06 01:09:39,630 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-02-06 01:09:39,634 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-02-06 01:09:39,636 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-02-06 01:09:39,636 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-02-06 01:09:39,639 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-02-06 01:09:39,640 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.02 01:09:39" (1/1) ... [2025-02-06 01:09:39,640 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1bfa5292 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:39, skipping insertion in model container [2025-02-06 01:09:39,641 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.02 01:09:39" (1/1) ... [2025-02-06 01:09:39,657 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-02-06 01:09:39,740 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-1loop_file-28.i[915,928] [2025-02-06 01:09:39,766 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-06 01:09:39,773 INFO L200 MainTranslator]: Completed pre-run [2025-02-06 01:09:39,780 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-1loop_file-28.i[915,928] [2025-02-06 01:09:39,791 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-06 01:09:39,804 INFO L204 MainTranslator]: Completed translation [2025-02-06 01:09:39,804 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:39 WrapperNode [2025-02-06 01:09:39,804 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-02-06 01:09:39,805 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-02-06 01:09:39,805 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-02-06 01:09:39,805 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-02-06 01:09:39,809 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:39" (1/1) ... [2025-02-06 01:09:39,814 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:39" (1/1) ... [2025-02-06 01:09:39,827 INFO L138 Inliner]: procedures = 26, calls = 29, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 136 [2025-02-06 01:09:39,827 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-02-06 01:09:39,828 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-02-06 01:09:39,828 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-02-06 01:09:39,828 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-02-06 01:09:39,833 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:39" (1/1) ... [2025-02-06 01:09:39,834 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:39" (1/1) ... [2025-02-06 01:09:39,835 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:39" (1/1) ... [2025-02-06 01:09:39,842 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-02-06 01:09:39,842 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:39" (1/1) ... [2025-02-06 01:09:39,842 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:39" (1/1) ... [2025-02-06 01:09:39,845 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:39" (1/1) ... [2025-02-06 01:09:39,846 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:39" (1/1) ... [2025-02-06 01:09:39,846 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:39" (1/1) ... [2025-02-06 01:09:39,847 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:39" (1/1) ... [2025-02-06 01:09:39,848 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-02-06 01:09:39,848 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-02-06 01:09:39,848 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-02-06 01:09:39,849 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-02-06 01:09:39,849 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:39" (1/1) ... [2025-02-06 01:09:39,853 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-06 01:09:39,864 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-06 01:09:39,879 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-02-06 01:09:39,881 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-02-06 01:09:39,897 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-02-06 01:09:39,897 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-02-06 01:09:39,897 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-02-06 01:09:39,897 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-02-06 01:09:39,897 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-02-06 01:09:39,897 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-02-06 01:09:39,950 INFO L257 CfgBuilder]: Building ICFG [2025-02-06 01:09:39,951 INFO L287 CfgBuilder]: Building CFG for each procedure with an implementation [2025-02-06 01:09:40,134 INFO L1309 $ProcedureCfgBuilder]: dead code at ProgramPoint L87: havoc property_#t~bitwise15#1;havoc property_#t~short16#1; [2025-02-06 01:09:40,149 INFO L? ?]: Removed 15 outVars from TransFormulas that were not future-live. [2025-02-06 01:09:40,150 INFO L308 CfgBuilder]: Performing block encoding [2025-02-06 01:09:40,164 INFO L332 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-02-06 01:09:40,166 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-02-06 01:09:40,166 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 06.02 01:09:40 BoogieIcfgContainer [2025-02-06 01:09:40,166 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-02-06 01:09:40,168 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-02-06 01:09:40,168 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-02-06 01:09:40,171 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-02-06 01:09:40,171 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 06.02 01:09:39" (1/3) ... [2025-02-06 01:09:40,172 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@27792c91 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 06.02 01:09:40, skipping insertion in model container [2025-02-06 01:09:40,172 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:39" (2/3) ... [2025-02-06 01:09:40,172 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@27792c91 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 06.02 01:09:40, skipping insertion in model container [2025-02-06 01:09:40,172 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 06.02 01:09:40" (3/3) ... [2025-02-06 01:09:40,173 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_loopvsstraightlinecode_25-1loop_file-28.i [2025-02-06 01:09:40,184 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-02-06 01:09:40,186 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_loopvsstraightlinecode_25-1loop_file-28.i that has 2 procedures, 57 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-02-06 01:09:40,219 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-02-06 01:09:40,226 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;@213f5c18, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-02-06 01:09:40,227 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-02-06 01:09:40,229 INFO L276 IsEmpty]: Start isEmpty. Operand has 57 states, 38 states have (on average 1.3157894736842106) internal successors, (50), 39 states have internal predecessors, (50), 16 states have call successors, (16), 1 states have call predecessors, (16), 1 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2025-02-06 01:09:40,235 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 107 [2025-02-06 01:09:40,235 INFO L210 NwaCegarLoop]: Found error trace [2025-02-06 01:09:40,236 INFO L218 NwaCegarLoop]: trace histogram [16, 16, 16, 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, 1, 1, 1, 1, 1, 1, 1] [2025-02-06 01:09:40,236 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-06 01:09:40,239 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-06 01:09:40,239 INFO L85 PathProgramCache]: Analyzing trace with hash 1046248809, now seen corresponding path program 1 times [2025-02-06 01:09:40,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-06 01:09:40,244 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1353883920] [2025-02-06 01:09:40,244 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-06 01:09:40,245 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-06 01:09:40,301 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 106 statements into 1 equivalence classes. [2025-02-06 01:09:40,313 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 106 of 106 statements. [2025-02-06 01:09:40,314 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-06 01:09:40,314 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-06 01:09:40,423 INFO L134 CoverageAnalysis]: Checked inductivity of 480 backedges. 0 proven. 30 refuted. 0 times theorem prover too weak. 450 trivial. 0 not checked. [2025-02-06 01:09:40,426 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-06 01:09:40,427 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1353883920] [2025-02-06 01:09:40,427 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1353883920] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-06 01:09:40,428 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1592323219] [2025-02-06 01:09:40,428 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-06 01:09:40,428 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-06 01:09:40,428 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-06 01:09:40,431 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-02-06 01:09:40,435 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-02-06 01:09:40,508 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 106 statements into 1 equivalence classes. [2025-02-06 01:09:40,569 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 106 of 106 statements. [2025-02-06 01:09:40,569 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-06 01:09:40,572 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-06 01:09:40,574 INFO L256 TraceCheckSpWp]: Trace formula consists of 249 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-02-06 01:09:40,581 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-06 01:09:40,610 INFO L134 CoverageAnalysis]: Checked inductivity of 480 backedges. 30 proven. 0 refuted. 0 times theorem prover too weak. 450 trivial. 0 not checked. [2025-02-06 01:09:40,610 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-02-06 01:09:40,610 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1592323219] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-06 01:09:40,610 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-02-06 01:09:40,610 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-02-06 01:09:40,612 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [155897738] [2025-02-06 01:09:40,612 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-06 01:09:40,615 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-02-06 01:09:40,618 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-06 01:09:40,640 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-02-06 01:09:40,640 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-02-06 01:09:40,645 INFO L87 Difference]: Start difference. First operand has 57 states, 38 states have (on average 1.3157894736842106) internal successors, (50), 39 states have internal predecessors, (50), 16 states have call successors, (16), 1 states have call predecessors, (16), 1 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand has 2 states, 2 states have (on average 15.5) internal successors, (31), 2 states have internal predecessors, (31), 2 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (16), 1 states have call predecessors, (16), 2 states have call successors, (16) [2025-02-06 01:09:40,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-06 01:09:40,671 INFO L93 Difference]: Finished difference Result 111 states and 177 transitions. [2025-02-06 01:09:40,672 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-02-06 01:09:40,673 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 15.5) internal successors, (31), 2 states have internal predecessors, (31), 2 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (16), 1 states have call predecessors, (16), 2 states have call successors, (16) Word has length 106 [2025-02-06 01:09:40,673 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-06 01:09:40,677 INFO L225 Difference]: With dead ends: 111 [2025-02-06 01:09:40,677 INFO L226 Difference]: Without dead ends: 54 [2025-02-06 01:09:40,679 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 107 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-02-06 01:09:40,681 INFO L435 NwaCegarLoop]: 76 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 2 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 76 SdHoareTripleChecker+Invalid, 2 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 2 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2025-02-06 01:09:40,682 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 76 Invalid, 2 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 2 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-02-06 01:09:40,690 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2025-02-06 01:09:40,706 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2025-02-06 01:09:40,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 36 states have internal predecessors, (43), 16 states have call successors, (16), 1 states have call predecessors, (16), 1 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2025-02-06 01:09:40,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 75 transitions. [2025-02-06 01:09:40,715 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 75 transitions. Word has length 106 [2025-02-06 01:09:40,715 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-06 01:09:40,715 INFO L471 AbstractCegarLoop]: Abstraction has 54 states and 75 transitions. [2025-02-06 01:09:40,715 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 15.5) internal successors, (31), 2 states have internal predecessors, (31), 2 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (16), 1 states have call predecessors, (16), 2 states have call successors, (16) [2025-02-06 01:09:40,715 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 75 transitions. [2025-02-06 01:09:40,717 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 107 [2025-02-06 01:09:40,718 INFO L210 NwaCegarLoop]: Found error trace [2025-02-06 01:09:40,718 INFO L218 NwaCegarLoop]: trace histogram [16, 16, 16, 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, 1, 1, 1, 1, 1, 1, 1] [2025-02-06 01:09:40,725 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2025-02-06 01:09:40,922 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-02-06 01:09:40,922 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-06 01:09:40,923 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-06 01:09:40,923 INFO L85 PathProgramCache]: Analyzing trace with hash 540227113, now seen corresponding path program 1 times [2025-02-06 01:09:40,923 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-06 01:09:40,923 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [274328723] [2025-02-06 01:09:40,923 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-06 01:09:40,923 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-06 01:09:40,942 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 106 statements into 1 equivalence classes. [2025-02-06 01:09:41,068 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 106 of 106 statements. [2025-02-06 01:09:41,069 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-06 01:09:41,069 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-06 01:09:41,069 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-06 01:09:41,081 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 106 statements into 1 equivalence classes. [2025-02-06 01:09:41,141 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 106 of 106 statements. [2025-02-06 01:09:41,141 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-06 01:09:41,141 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-06 01:09:41,173 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-06 01:09:41,173 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-02-06 01:09:41,174 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-02-06 01:09:41,176 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-02-06 01:09:41,178 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1] [2025-02-06 01:09:41,264 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-02-06 01:09:41,266 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 06.02 01:09:41 BoogieIcfgContainer [2025-02-06 01:09:41,267 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-02-06 01:09:41,268 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-02-06 01:09:41,268 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-02-06 01:09:41,268 INFO L274 PluginConnector]: Witness Printer initialized [2025-02-06 01:09:41,268 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 06.02 01:09:40" (3/4) ... [2025-02-06 01:09:41,270 INFO L149 WitnessPrinter]: No result that supports witness generation found [2025-02-06 01:09:41,271 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-02-06 01:09:41,271 INFO L158 Benchmark]: Toolchain (without parser) took 1639.75ms. Allocated memory is still 167.8MB. Free memory was 133.1MB in the beginning and 126.5MB in the end (delta: 6.5MB). Peak memory consumption was 4.8MB. Max. memory is 16.1GB. [2025-02-06 01:09:41,272 INFO L158 Benchmark]: CDTParser took 0.20ms. Allocated memory is still 226.5MB. Free memory is still 141.4MB. There was no memory consumed. Max. memory is 16.1GB. [2025-02-06 01:09:41,272 INFO L158 Benchmark]: CACSL2BoogieTranslator took 169.08ms. Allocated memory is still 167.8MB. Free memory was 132.6MB in the beginning and 120.2MB in the end (delta: 12.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-02-06 01:09:41,272 INFO L158 Benchmark]: Boogie Procedure Inliner took 21.88ms. Allocated memory is still 167.8MB. Free memory was 120.2MB in the beginning and 118.4MB in the end (delta: 1.8MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-02-06 01:09:41,273 INFO L158 Benchmark]: Boogie Preprocessor took 20.27ms. Allocated memory is still 167.8MB. Free memory was 118.4MB in the beginning and 116.9MB in the end (delta: 1.5MB). There was no memory consumed. Max. memory is 16.1GB. [2025-02-06 01:09:41,273 INFO L158 Benchmark]: IcfgBuilder took 317.95ms. Allocated memory is still 167.8MB. Free memory was 116.9MB in the beginning and 100.1MB in the end (delta: 16.8MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-02-06 01:09:41,273 INFO L158 Benchmark]: TraceAbstraction took 1099.45ms. Allocated memory is still 167.8MB. Free memory was 99.6MB in the beginning and 126.6MB in the end (delta: -26.9MB). Peak memory consumption was 63.5MB. Max. memory is 16.1GB. [2025-02-06 01:09:41,275 INFO L158 Benchmark]: Witness Printer took 3.24ms. Allocated memory is still 167.8MB. Free memory was 126.6MB in the beginning and 126.5MB in the end (delta: 50.8kB). There was no memory consumed. Max. memory is 16.1GB. [2025-02-06 01:09:41,276 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.20ms. Allocated memory is still 226.5MB. Free memory is still 141.4MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 169.08ms. Allocated memory is still 167.8MB. Free memory was 132.6MB in the beginning and 120.2MB in the end (delta: 12.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 21.88ms. Allocated memory is still 167.8MB. Free memory was 120.2MB in the beginning and 118.4MB in the end (delta: 1.8MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Preprocessor took 20.27ms. Allocated memory is still 167.8MB. Free memory was 118.4MB in the beginning and 116.9MB in the end (delta: 1.5MB). There was no memory consumed. Max. memory is 16.1GB. * IcfgBuilder took 317.95ms. Allocated memory is still 167.8MB. Free memory was 116.9MB in the beginning and 100.1MB in the end (delta: 16.8MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * TraceAbstraction took 1099.45ms. Allocated memory is still 167.8MB. Free memory was 99.6MB in the beginning and 126.6MB in the end (delta: -26.9MB). Peak memory consumption was 63.5MB. Max. memory is 16.1GB. * Witness Printer took 3.24ms. Allocated memory is still 167.8MB. Free memory was 126.6MB in the beginning and 126.5MB in the end (delta: 50.8kB). 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 60, overapproximation of someBinaryFLOATComparisonOperation at line 58, overapproximation of someBinaryFLOATComparisonOperation at line 41, overapproximation of someBinaryFLOATComparisonOperation at line 73, overapproximation of someBinaryFLOATComparisonOperation at line 87, overapproximation of someBinaryFLOATComparisonOperation at line 71, overapproximation of someBinaryFLOATComparisonOperation at line 43, overapproximation of someBinaryFLOATComparisonOperation at line 50. Possible FailurePath: [L21] unsigned char isInitial = 0; [L22] signed char var_1_1 = 1; [L23] float var_1_2 = 63.75; [L24] float var_1_3 = 255.75; [L25] signed char var_1_5 = 10; [L26] signed char var_1_6 = 4; [L27] signed char var_1_7 = -10; [L28] float var_1_8 = 4.75; [L29] float var_1_9 = 99.5; [L30] float var_1_10 = 255.9; [L31] float var_1_11 = 24.85; [L32] signed long int var_1_12 = -2; [L33] signed long int var_1_13 = 1629954775; [L34] signed long int var_1_14 = 1; [L35] signed long int var_1_15 = 1928642731; VAL [isInitial=0, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_2=255/4, var_1_3=1023/4, var_1_5=10, var_1_6=4, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L91] isInitial = 1 [L92] FCALL initially() [L93] int k_loop; [L94] k_loop = 0 VAL [isInitial=1, k_loop=0, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_2=255/4, var_1_3=1023/4, var_1_5=10, var_1_6=4, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L94] COND TRUE k_loop < 1 [L95] FCALL updateLastVariables() [L96] CALL updateVariables() [L57] var_1_2 = __VERIFIER_nondet_float() [L58] CALL assume_abort_if_not((var_1_2 >= 0.0F && var_1_2 <= -1.0e-20F) || (var_1_2 <= 9223372.036854776000e+12F && var_1_2 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_3=1023/4, var_1_5=10, var_1_6=4, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_3=1023/4, var_1_5=10, var_1_6=4, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L58] RET assume_abort_if_not((var_1_2 >= 0.0F && var_1_2 <= -1.0e-20F) || (var_1_2 <= 9223372.036854776000e+12F && var_1_2 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_3=1023/4, var_1_5=10, var_1_6=4, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L59] var_1_3 = __VERIFIER_nondet_float() [L60] CALL assume_abort_if_not((var_1_3 >= 0.0F && 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=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=10, var_1_6=4, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=10, var_1_6=4, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L60] RET assume_abort_if_not((var_1_3 >= 0.0F && var_1_3 <= -1.0e-20F) || (var_1_3 <= 9223372.036854776000e+12F && var_1_3 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=10, var_1_6=4, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L61] var_1_5 = __VERIFIER_nondet_char() [L62] CALL assume_abort_if_not(var_1_5 >= -1) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=4, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=4, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L62] RET assume_abort_if_not(var_1_5 >= -1) VAL [isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=4, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L63] CALL assume_abort_if_not(var_1_5 <= 126) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=4, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=4, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L63] RET assume_abort_if_not(var_1_5 <= 126) VAL [isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=4, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L64] var_1_6 = __VERIFIER_nondet_char() [L65] CALL assume_abort_if_not(var_1_6 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L65] RET assume_abort_if_not(var_1_6 >= 0) VAL [isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L66] CALL assume_abort_if_not(var_1_6 <= 126) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L66] RET assume_abort_if_not(var_1_6 <= 126) VAL [isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=-10, var_1_8=19/4, var_1_9=199/2] [L67] var_1_7 = __VERIFIER_nondet_char() [L68] CALL assume_abort_if_not(var_1_7 >= -127) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4, var_1_9=199/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4, var_1_9=199/2] [L68] RET assume_abort_if_not(var_1_7 >= -127) VAL [isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4, var_1_9=199/2] [L69] CALL assume_abort_if_not(var_1_7 <= 126) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4, var_1_9=199/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4, var_1_9=199/2] [L69] RET assume_abort_if_not(var_1_7 <= 126) VAL [isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4, var_1_9=199/2] [L70] var_1_9 = __VERIFIER_nondet_float() [L71] CALL assume_abort_if_not((var_1_9 >= -922337.2036854765600e+13F && var_1_9 <= -1.0e-20F) || (var_1_9 <= 9223372.036854765600e+12F && var_1_9 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L71] RET assume_abort_if_not((var_1_9 >= -922337.2036854765600e+13F && var_1_9 <= -1.0e-20F) || (var_1_9 <= 9223372.036854765600e+12F && var_1_9 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=2559/10, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L72] var_1_10 = __VERIFIER_nondet_float() [L73] CALL assume_abort_if_not((var_1_10 >= -922337.2036854765600e+13F && var_1_10 <= -1.0e-20F) || (var_1_10 <= 9223372.036854765600e+12F && var_1_10 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L73] RET assume_abort_if_not((var_1_10 >= -922337.2036854765600e+13F && var_1_10 <= -1.0e-20F) || (var_1_10 <= 9223372.036854765600e+12F && var_1_10 >= 1.0e-20F )) VAL [isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1629954775, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L74] var_1_13 = __VERIFIER_nondet_long() [L75] CALL assume_abort_if_not(var_1_13 >= 1073741822) VAL [\old(cond)=1, isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L75] RET assume_abort_if_not(var_1_13 >= 1073741822) VAL [isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L76] CALL assume_abort_if_not(var_1_13 <= 2147483646) VAL [\old(cond)=1, isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L76] RET assume_abort_if_not(var_1_13 <= 2147483646) VAL [isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L77] var_1_14 = __VERIFIER_nondet_long() [L78] CALL assume_abort_if_not(var_1_14 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L78] RET assume_abort_if_not(var_1_14 >= 0) VAL [isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L79] CALL assume_abort_if_not(var_1_14 <= 1073741823) VAL [\old(cond)=1, isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L79] RET assume_abort_if_not(var_1_14 <= 1073741823) VAL [isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=1928642731, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L80] var_1_15 = __VERIFIER_nondet_long() [L81] CALL assume_abort_if_not(var_1_15 >= 1073741823) VAL [\old(cond)=1, isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=2147483646, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=2147483646, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L81] RET assume_abort_if_not(var_1_15 >= 1073741823) VAL [isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=2147483646, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L82] CALL assume_abort_if_not(var_1_15 <= 2147483646) VAL [\old(cond)=1, isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=2147483646, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=2147483646, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L82] RET assume_abort_if_not(var_1_15 <= 2147483646) VAL [isInitial=1, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=2147483646, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L96] RET updateVariables() [L97] CALL step() [L39] signed long int stepLocal_0 = -4; VAL [isInitial=1, stepLocal_0=-4, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=2147483646, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=19/4] [L40] COND TRUE stepLocal_0 < var_1_6 [L41] var_1_8 = ((((var_1_9) < (var_1_10)) ? (var_1_9) : (var_1_10))) VAL [isInitial=1, var_1_10=2147483651, var_1_11=497/20, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=2147483646, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=2147483651, var_1_9=2147483651] [L43] var_1_11 = ((((var_1_9) > (var_1_10)) ? (var_1_9) : (var_1_10))) [L44] signed long int stepLocal_1 = (((var_1_5) > (var_1_7)) ? (var_1_5) : (var_1_7)); VAL [isInitial=1, stepLocal_1=126, var_1_10=2147483651, var_1_11=2147483651, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=2147483646, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=2147483651, var_1_9=2147483651] [L45] EXPR var_1_6 | 5 VAL [isInitial=1, stepLocal_1=126, var_1_10=2147483651, var_1_11=2147483651, var_1_12=-2, var_1_13=1073741822, var_1_14=1073741822, var_1_15=2147483646, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=2147483651, var_1_9=2147483651] [L45] COND TRUE (var_1_6 | 5) <= stepLocal_1 [L46] var_1_12 = (((((var_1_6) < ((var_1_13 - var_1_14))) ? (var_1_6) : ((var_1_13 - var_1_14)))) - (var_1_15 - ((((var_1_5) < 0 ) ? -(var_1_5) : (var_1_5))))) VAL [isInitial=1, var_1_10=2147483651, var_1_11=2147483651, var_1_12=-2147483520, var_1_13=1073741822, var_1_14=1073741822, var_1_15=2147483646, var_1_1=1, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=2147483651, var_1_9=2147483651] [L50] COND TRUE (var_1_2 - var_1_3) <= (- var_1_11) [L51] var_1_1 = (((((var_1_5 - var_1_6)) < (var_1_7)) ? ((var_1_5 - var_1_6)) : (var_1_7))) VAL [isInitial=1, var_1_10=2147483651, var_1_11=2147483651, var_1_12=-2147483520, var_1_13=1073741822, var_1_14=1073741822, var_1_15=2147483646, var_1_1=125, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=2147483651, var_1_9=2147483651] [L97] RET step() [L98] CALL, EXPR property() [L87] EXPR (((((var_1_2 - var_1_3) <= (- var_1_11)) ? (var_1_1 == ((signed char) (((((var_1_5 - var_1_6)) < (var_1_7)) ? ((var_1_5 - var_1_6)) : (var_1_7))))) : (var_1_1 == ((signed char) var_1_5))) && ((-4 < var_1_6) ? (var_1_8 == ((float) ((((var_1_9) < (var_1_10)) ? (var_1_9) : (var_1_10))))) : 1)) && (var_1_11 == ((float) ((((var_1_9) > (var_1_10)) ? (var_1_9) : (var_1_10)))))) && (((var_1_6 | 5) <= ((((var_1_5) > (var_1_7)) ? (var_1_5) : (var_1_7)))) ? (var_1_12 == ((signed long int) (((((var_1_6) < ((var_1_13 - var_1_14))) ? (var_1_6) : ((var_1_13 - var_1_14)))) - (var_1_15 - ((((var_1_5) < 0 ) ? -(var_1_5) : (var_1_5))))))) : (var_1_12 == ((signed long int) 4))) VAL [isInitial=1, var_1_10=2147483651, var_1_11=2147483651, var_1_12=-2147483520, var_1_13=1073741822, var_1_14=1073741822, var_1_15=2147483646, var_1_1=125, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=2147483651, var_1_9=2147483651] [L87-L88] return (((((var_1_2 - var_1_3) <= (- var_1_11)) ? (var_1_1 == ((signed char) (((((var_1_5 - var_1_6)) < (var_1_7)) ? ((var_1_5 - var_1_6)) : (var_1_7))))) : (var_1_1 == ((signed char) var_1_5))) && ((-4 < var_1_6) ? (var_1_8 == ((float) ((((var_1_9) < (var_1_10)) ? (var_1_9) : (var_1_10))))) : 1)) && (var_1_11 == ((float) ((((var_1_9) > (var_1_10)) ? (var_1_9) : (var_1_10)))))) && (((var_1_6 | 5) <= ((((var_1_5) > (var_1_7)) ? (var_1_5) : (var_1_7)))) ? (var_1_12 == ((signed long int) (((((var_1_6) < ((var_1_13 - var_1_14))) ? (var_1_6) : ((var_1_13 - var_1_14)))) - (var_1_15 - ((((var_1_5) < 0 ) ? -(var_1_5) : (var_1_5))))))) : (var_1_12 == ((signed long int) 4))) ; [L98] RET, EXPR property() [L98] CALL __VERIFIER_assert(property()) [L19] COND TRUE !(cond) VAL [isInitial=1, var_1_10=2147483651, var_1_11=2147483651, var_1_12=-2147483520, var_1_13=1073741822, var_1_14=1073741822, var_1_15=2147483646, var_1_1=125, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=2147483651, var_1_9=2147483651] [L19] reach_error() VAL [isInitial=1, var_1_10=2147483651, var_1_11=2147483651, var_1_12=-2147483520, var_1_13=1073741822, var_1_14=1073741822, var_1_15=2147483646, var_1_1=125, var_1_5=126, var_1_6=0, var_1_7=125, var_1_8=2147483651, var_1_9=2147483651] - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 57 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 1.0s, OverallIterations: 2, TraceHistogramMax: 16, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 0 SdHoareTripleChecker+Valid, 0.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 0 mSDsluCounter, 76 SdHoareTripleChecker+Invalid, 0.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 0 mSDsCounter, 0 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2 IncrementalHoareTripleChecker+Invalid, 2 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 0 mSolverCounterUnsat, 76 mSDtfsCounter, 2 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 107 GetRequests, 107 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=57occurred 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, 318 NumberOfCodeBlocks, 318 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 210 ConstructedInterpolants, 0 QuantifiedInterpolants, 210 SizeOfPredicates, 0 NumberOfNonLiveVariables, 249 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 930/960 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-02-06 01:09:41,295 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Ended with 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-1loop_file-28.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 e96454a975ce1a938377bc7f74cac4eca41d61506722199ed63b4e6ea50e6c11 --- Real Ultimate output --- This is Ultimate 0.3.0-?-c00e63d-m [2025-02-06 01:09:43,324 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-02-06 01:09:43,438 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2025-02-06 01:09:43,459 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-02-06 01:09:43,459 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-02-06 01:09:43,485 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-02-06 01:09:43,486 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-02-06 01:09:43,486 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-02-06 01:09:43,487 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-02-06 01:09:43,487 INFO L153 SettingsManager]: * Use memory slicer=true [2025-02-06 01:09:43,488 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-02-06 01:09:43,488 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-02-06 01:09:43,488 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-02-06 01:09:43,488 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-02-06 01:09:43,488 INFO L153 SettingsManager]: * Use SBE=true [2025-02-06 01:09:43,488 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-02-06 01:09:43,489 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-02-06 01:09:43,489 INFO L153 SettingsManager]: * sizeof long=4 [2025-02-06 01:09:43,489 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-02-06 01:09:43,489 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-02-06 01:09:43,489 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-02-06 01:09:43,489 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-02-06 01:09:43,489 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-02-06 01:09:43,490 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-02-06 01:09:43,490 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-02-06 01:09:43,490 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-02-06 01:09:43,490 INFO L153 SettingsManager]: * sizeof long double=12 [2025-02-06 01:09:43,490 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-02-06 01:09:43,490 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-02-06 01:09:43,490 INFO L153 SettingsManager]: * Use constant arrays=true [2025-02-06 01:09:43,490 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-02-06 01:09:43,491 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-02-06 01:09:43,491 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-02-06 01:09:43,491 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-02-06 01:09:43,491 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-06 01:09:43,491 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-02-06 01:09:43,492 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-02-06 01:09:43,492 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-02-06 01:09:43,492 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-02-06 01:09:43,492 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-02-06 01:09:43,492 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-02-06 01:09:43,492 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-02-06 01:09:43,492 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-02-06 01:09:43,492 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-02-06 01:09:43,492 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-02-06 01:09:43,492 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 -> e96454a975ce1a938377bc7f74cac4eca41d61506722199ed63b4e6ea50e6c11 [2025-02-06 01:09:43,754 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-02-06 01:09:43,763 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-02-06 01:09:43,764 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-02-06 01:09:43,766 INFO L270 PluginConnector]: Initializing CDTParser... [2025-02-06 01:09:43,766 INFO L274 PluginConnector]: CDTParser initialized [2025-02-06 01:09:43,767 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-1loop_file-28.i [2025-02-06 01:09:44,977 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/37dbcd2d5/c803d42a2e1d4829b121f2e9d1aec8fa/FLAG24c555deb [2025-02-06 01:09:45,223 INFO L384 CDTParser]: Found 1 translation units. [2025-02-06 01:09:45,224 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-1loop_file-28.i [2025-02-06 01:09:45,232 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/37dbcd2d5/c803d42a2e1d4829b121f2e9d1aec8fa/FLAG24c555deb [2025-02-06 01:09:45,540 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/37dbcd2d5/c803d42a2e1d4829b121f2e9d1aec8fa [2025-02-06 01:09:45,542 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-02-06 01:09:45,544 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-02-06 01:09:45,545 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-02-06 01:09:45,545 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-02-06 01:09:45,548 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-02-06 01:09:45,548 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.02 01:09:45" (1/1) ... [2025-02-06 01:09:45,549 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2201fb3b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:45, skipping insertion in model container [2025-02-06 01:09:45,549 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.02 01:09:45" (1/1) ... [2025-02-06 01:09:45,560 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-02-06 01:09:45,655 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-1loop_file-28.i[915,928] [2025-02-06 01:09:45,682 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-06 01:09:45,696 INFO L200 MainTranslator]: Completed pre-run [2025-02-06 01:09:45,707 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-1loop_file-28.i[915,928] [2025-02-06 01:09:45,738 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-06 01:09:45,752 INFO L204 MainTranslator]: Completed translation [2025-02-06 01:09:45,752 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:45 WrapperNode [2025-02-06 01:09:45,753 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-02-06 01:09:45,753 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-02-06 01:09:45,753 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-02-06 01:09:45,753 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-02-06 01:09:45,758 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:45" (1/1) ... [2025-02-06 01:09:45,764 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:45" (1/1) ... [2025-02-06 01:09:45,781 INFO L138 Inliner]: procedures = 27, calls = 29, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 107 [2025-02-06 01:09:45,786 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-02-06 01:09:45,786 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-02-06 01:09:45,786 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-02-06 01:09:45,786 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-02-06 01:09:45,796 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:45" (1/1) ... [2025-02-06 01:09:45,796 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:45" (1/1) ... [2025-02-06 01:09:45,802 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:45" (1/1) ... [2025-02-06 01:09:45,809 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-02-06 01:09:45,810 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:45" (1/1) ... [2025-02-06 01:09:45,810 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:45" (1/1) ... [2025-02-06 01:09:45,818 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:45" (1/1) ... [2025-02-06 01:09:45,823 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:45" (1/1) ... [2025-02-06 01:09:45,825 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:45" (1/1) ... [2025-02-06 01:09:45,825 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:45" (1/1) ... [2025-02-06 01:09:45,831 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-02-06 01:09:45,832 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-02-06 01:09:45,832 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-02-06 01:09:45,832 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-02-06 01:09:45,833 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:45" (1/1) ... [2025-02-06 01:09:45,844 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-06 01:09:45,853 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-06 01:09:45,868 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-02-06 01:09:45,878 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-02-06 01:09:45,897 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-02-06 01:09:45,898 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-02-06 01:09:45,898 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-02-06 01:09:45,898 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-02-06 01:09:45,898 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-02-06 01:09:45,898 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-02-06 01:09:45,960 INFO L257 CfgBuilder]: Building ICFG [2025-02-06 01:09:45,962 INFO L287 CfgBuilder]: Building CFG for each procedure with an implementation [2025-02-06 01:09:46,301 INFO L? ?]: Removed 13 outVars from TransFormulas that were not future-live. [2025-02-06 01:09:46,301 INFO L308 CfgBuilder]: Performing block encoding [2025-02-06 01:09:46,308 INFO L332 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-02-06 01:09:46,308 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-02-06 01:09:46,308 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 06.02 01:09:46 BoogieIcfgContainer [2025-02-06 01:09:46,309 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-02-06 01:09:46,311 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-02-06 01:09:46,311 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-02-06 01:09:46,314 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-02-06 01:09:46,314 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 06.02 01:09:45" (1/3) ... [2025-02-06 01:09:46,315 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4d59fdc0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 06.02 01:09:46, skipping insertion in model container [2025-02-06 01:09:46,315 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:09:45" (2/3) ... [2025-02-06 01:09:46,315 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4d59fdc0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 06.02 01:09:46, skipping insertion in model container [2025-02-06 01:09:46,315 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 06.02 01:09:46" (3/3) ... [2025-02-06 01:09:46,316 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_loopvsstraightlinecode_25-1loop_file-28.i [2025-02-06 01:09:46,326 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-02-06 01:09:46,328 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_loopvsstraightlinecode_25-1loop_file-28.i that has 2 procedures, 48 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-02-06 01:09:46,364 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-02-06 01:09:46,373 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;@28f474e8, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-02-06 01:09:46,373 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-02-06 01:09:46,376 INFO L276 IsEmpty]: Start isEmpty. Operand has 48 states, 29 states have (on average 1.2413793103448276) internal successors, (36), 30 states have internal predecessors, (36), 16 states have call successors, (16), 1 states have call predecessors, (16), 1 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2025-02-06 01:09:46,385 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 104 [2025-02-06 01:09:46,385 INFO L210 NwaCegarLoop]: Found error trace [2025-02-06 01:09:46,385 INFO L218 NwaCegarLoop]: trace histogram [16, 16, 16, 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, 1, 1, 1, 1] [2025-02-06 01:09:46,386 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-06 01:09:46,390 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-06 01:09:46,390 INFO L85 PathProgramCache]: Analyzing trace with hash -2016894219, now seen corresponding path program 1 times [2025-02-06 01:09:46,399 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-02-06 01:09:46,399 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [882949309] [2025-02-06 01:09:46,399 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-06 01:09:46,399 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-02-06 01:09:46,400 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-02-06 01:09:46,405 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-02-06 01:09:46,406 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-02-06 01:09:46,464 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 103 statements into 1 equivalence classes. [2025-02-06 01:09:46,587 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 103 of 103 statements. [2025-02-06 01:09:46,587 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-06 01:09:46,587 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-06 01:09:46,596 INFO L256 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-02-06 01:09:46,605 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-06 01:09:46,649 INFO L134 CoverageAnalysis]: Checked inductivity of 480 backedges. 230 proven. 0 refuted. 0 times theorem prover too weak. 250 trivial. 0 not checked. [2025-02-06 01:09:46,649 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-02-06 01:09:46,650 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-02-06 01:09:46,650 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [882949309] [2025-02-06 01:09:46,650 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [882949309] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-06 01:09:46,650 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-06 01:09:46,650 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-02-06 01:09:46,651 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [368429242] [2025-02-06 01:09:46,652 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-06 01:09:46,656 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-02-06 01:09:46,656 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-02-06 01:09:46,673 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-02-06 01:09:46,674 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-02-06 01:09:46,676 INFO L87 Difference]: Start difference. First operand has 48 states, 29 states have (on average 1.2413793103448276) internal successors, (36), 30 states have internal predecessors, (36), 16 states have call successors, (16), 1 states have call predecessors, (16), 1 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand has 2 states, 2 states have (on average 15.0) internal successors, (30), 2 states have internal predecessors, (30), 2 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (16), 2 states have call predecessors, (16), 2 states have call successors, (16) [2025-02-06 01:09:46,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-06 01:09:46,692 INFO L93 Difference]: Finished difference Result 93 states and 149 transitions. [2025-02-06 01:09:46,693 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-02-06 01:09:46,694 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 15.0) internal successors, (30), 2 states have internal predecessors, (30), 2 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (16), 2 states have call predecessors, (16), 2 states have call successors, (16) Word has length 103 [2025-02-06 01:09:46,694 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-06 01:09:46,698 INFO L225 Difference]: With dead ends: 93 [2025-02-06 01:09:46,699 INFO L226 Difference]: Without dead ends: 45 [2025-02-06 01:09:46,701 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 102 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-02-06 01:09:46,703 INFO L435 NwaCegarLoop]: 66 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, 66 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-02-06 01:09:46,704 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 66 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-02-06 01:09:46,714 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2025-02-06 01:09:46,725 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 45. [2025-02-06 01:09:46,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 27 states have internal predecessors, (31), 16 states have call successors, (16), 1 states have call predecessors, (16), 1 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2025-02-06 01:09:46,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 63 transitions. [2025-02-06 01:09:46,729 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 63 transitions. Word has length 103 [2025-02-06 01:09:46,729 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-06 01:09:46,729 INFO L471 AbstractCegarLoop]: Abstraction has 45 states and 63 transitions. [2025-02-06 01:09:46,730 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 15.0) internal successors, (30), 2 states have internal predecessors, (30), 2 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (16), 2 states have call predecessors, (16), 2 states have call successors, (16) [2025-02-06 01:09:46,730 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 63 transitions. [2025-02-06 01:09:46,731 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 104 [2025-02-06 01:09:46,731 INFO L210 NwaCegarLoop]: Found error trace [2025-02-06 01:09:46,731 INFO L218 NwaCegarLoop]: trace histogram [16, 16, 16, 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, 1, 1, 1, 1] [2025-02-06 01:09:46,742 INFO L540 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)] Forceful destruction successful, exit code 0 [2025-02-06 01:09:46,936 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-02-06 01:09:46,936 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-06 01:09:46,941 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-06 01:09:46,941 INFO L85 PathProgramCache]: Analyzing trace with hash -2074435019, now seen corresponding path program 1 times [2025-02-06 01:09:46,941 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-02-06 01:09:46,941 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1133776687] [2025-02-06 01:09:46,941 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-06 01:09:46,942 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-02-06 01:09:46,942 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-02-06 01:09:46,944 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-02-06 01:09:46,948 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-02-06 01:09:47,001 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 103 statements into 1 equivalence classes. [2025-02-06 01:09:47,127 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 103 of 103 statements. [2025-02-06 01:09:47,128 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-06 01:09:47,128 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-06 01:09:47,138 INFO L256 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 22 conjuncts are in the unsatisfiable core [2025-02-06 01:09:47,148 INFO L279 TraceCheckSpWp]: Computing forward predicates...