./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-99.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 551b0097 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-99.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 5b933671a1fface527dbef89f2ee599c80d54d1c8c988a3b741df55fc4b83921 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 13:37:19,097 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 13:37:19,156 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-01-09 13:37:19,159 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 13:37:19,159 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 13:37:19,179 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 13:37:19,180 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 13:37:19,181 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 13:37:19,181 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 13:37:19,181 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 13:37:19,182 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 13:37:19,182 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 13:37:19,182 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 13:37:19,182 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 13:37:19,183 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 13:37:19,183 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 13:37:19,183 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 13:37:19,183 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 13:37:19,183 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 13:37:19,183 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 13:37:19,183 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 13:37:19,183 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 13:37:19,183 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 13:37:19,183 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 13:37:19,184 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 13:37:19,184 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 13:37:19,184 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 13:37:19,184 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 13:37:19,184 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 13:37:19,184 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:37:19,184 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:37:19,184 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:37:19,185 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:37:19,185 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 13:37:19,185 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:37:19,185 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:37:19,185 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:37:19,185 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:37:19,185 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 13:37:19,185 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 13:37:19,185 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 13:37:19,185 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 13:37:19,185 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 13:37:19,185 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 13:37:19,186 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 13:37:19,186 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 13:37:19,186 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 13:37:19,186 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 13:37:19,186 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 -> 5b933671a1fface527dbef89f2ee599c80d54d1c8c988a3b741df55fc4b83921 [2025-01-09 13:37:19,417 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 13:37:19,425 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 13:37:19,428 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 13:37:19,429 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 13:37:19,429 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 13:37:19,430 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-99.i [2025-01-09 13:37:20,592 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/05e8eac6d/870b834908774980988266b69e3686e8/FLAGd00043285 [2025-01-09 13:37:20,809 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 13:37:20,810 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-99.i [2025-01-09 13:37:20,817 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/05e8eac6d/870b834908774980988266b69e3686e8/FLAGd00043285 [2025-01-09 13:37:21,136 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/05e8eac6d/870b834908774980988266b69e3686e8 [2025-01-09 13:37:21,139 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 13:37:21,140 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 13:37:21,142 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 13:37:21,142 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 13:37:21,145 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 13:37:21,146 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:37:21" (1/1) ... [2025-01-09 13:37:21,146 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6af287b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21, skipping insertion in model container [2025-01-09 13:37:21,146 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:37:21" (1/1) ... [2025-01-09 13:37:21,159 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 13:37:21,257 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-99.i[915,928] [2025-01-09 13:37:21,289 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:37:21,298 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 13:37:21,307 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-99.i[915,928] [2025-01-09 13:37:21,322 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:37:21,337 INFO L204 MainTranslator]: Completed translation [2025-01-09 13:37:21,339 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21 WrapperNode [2025-01-09 13:37:21,339 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 13:37:21,340 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 13:37:21,340 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 13:37:21,340 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 13:37:21,344 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21" (1/1) ... [2025-01-09 13:37:21,353 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21" (1/1) ... [2025-01-09 13:37:21,368 INFO L138 Inliner]: procedures = 26, calls = 22, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 83 [2025-01-09 13:37:21,371 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 13:37:21,372 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 13:37:21,372 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 13:37:21,372 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 13:37:21,379 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21" (1/1) ... [2025-01-09 13:37:21,379 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21" (1/1) ... [2025-01-09 13:37:21,380 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21" (1/1) ... [2025-01-09 13:37:21,391 INFO L175 MemorySlicer]: Split 2 memory accesses to 1 slices as follows [2]. 100 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2]. The 0 writes are split as follows [0]. [2025-01-09 13:37:21,393 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21" (1/1) ... [2025-01-09 13:37:21,393 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21" (1/1) ... [2025-01-09 13:37:21,397 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21" (1/1) ... [2025-01-09 13:37:21,397 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21" (1/1) ... [2025-01-09 13:37:21,403 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21" (1/1) ... [2025-01-09 13:37:21,405 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21" (1/1) ... [2025-01-09 13:37:21,405 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21" (1/1) ... [2025-01-09 13:37:21,406 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 13:37:21,411 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 13:37:21,411 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 13:37:21,411 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 13:37:21,412 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21" (1/1) ... [2025-01-09 13:37:21,415 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:37:21,427 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 13:37:21,436 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-01-09 13:37:21,441 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-01-09 13:37:21,452 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 13:37:21,452 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 13:37:21,452 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 13:37:21,452 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-09 13:37:21,452 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 13:37:21,453 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 13:37:21,493 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 13:37:21,494 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 13:37:21,608 INFO L? ?]: Removed 10 outVars from TransFormulas that were not future-live. [2025-01-09 13:37:21,609 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 13:37:21,616 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 13:37:21,616 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 13:37:21,616 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:37:21 BoogieIcfgContainer [2025-01-09 13:37:21,616 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 13:37:21,618 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 13:37:21,618 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 13:37:21,621 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 13:37:21,622 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 01:37:21" (1/3) ... [2025-01-09 13:37:21,622 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@536499a3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:37:21, skipping insertion in model container [2025-01-09 13:37:21,622 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:21" (2/3) ... [2025-01-09 13:37:21,622 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@536499a3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:37:21, skipping insertion in model container [2025-01-09 13:37:21,622 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:37:21" (3/3) ... [2025-01-09 13:37:21,623 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_loopvsstraightlinecode_25-while_file-99.i [2025-01-09 13:37:21,633 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 13:37:21,636 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_loopvsstraightlinecode_25-while_file-99.i that has 2 procedures, 39 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 13:37:21,675 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 13:37:21,683 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;@55004516, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 13:37:21,684 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 13:37:21,687 INFO L276 IsEmpty]: Start isEmpty. Operand has 39 states, 27 states have (on average 1.3333333333333333) internal successors, (36), 28 states have internal predecessors, (36), 9 states have call successors, (9), 1 states have call predecessors, (9), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2025-01-09 13:37:21,692 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2025-01-09 13:37:21,692 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:37:21,692 INFO L218 NwaCegarLoop]: trace histogram [9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 13:37:21,692 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:37:21,695 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:37:21,695 INFO L85 PathProgramCache]: Analyzing trace with hash -689342800, now seen corresponding path program 1 times [2025-01-09 13:37:21,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 13:37:21,702 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [848376921] [2025-01-09 13:37:21,703 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:37:21,703 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 13:37:21,773 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 65 statements into 1 equivalence classes. [2025-01-09 13:37:21,786 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 65 of 65 statements. [2025-01-09 13:37:21,787 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:37:21,787 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:37:21,864 INFO L134 CoverageAnalysis]: Checked inductivity of 144 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 128 trivial. 0 not checked. [2025-01-09 13:37:21,864 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 13:37:21,865 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [848376921] [2025-01-09 13:37:21,865 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [848376921] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 13:37:21,865 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1975285060] [2025-01-09 13:37:21,865 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:37:21,865 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 13:37:21,865 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 13:37:21,869 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-09 13:37:21,871 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-01-09 13:37:21,918 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 65 statements into 1 equivalence classes. [2025-01-09 13:37:21,946 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 65 of 65 statements. [2025-01-09 13:37:21,947 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:37:21,947 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:37:21,949 INFO L256 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 13:37:21,955 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 13:37:21,971 INFO L134 CoverageAnalysis]: Checked inductivity of 144 backedges. 16 proven. 0 refuted. 0 times theorem prover too weak. 128 trivial. 0 not checked. [2025-01-09 13:37:21,971 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 13:37:21,972 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1975285060] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 13:37:21,972 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-01-09 13:37:21,972 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-01-09 13:37:21,973 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [671999060] [2025-01-09 13:37:21,974 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 13:37:21,976 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 13:37:21,976 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 13:37:21,991 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 13:37:21,992 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 13:37:21,993 INFO L87 Difference]: Start difference. First operand has 39 states, 27 states have (on average 1.3333333333333333) internal successors, (36), 28 states have internal predecessors, (36), 9 states have call successors, (9), 1 states have call predecessors, (9), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand has 2 states, 2 states have (on average 12.5) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (9), 1 states have call predecessors, (9), 2 states have call successors, (9) [2025-01-09 13:37:22,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 13:37:22,010 INFO L93 Difference]: Finished difference Result 72 states and 112 transitions. [2025-01-09 13:37:22,011 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 13:37:22,012 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 12.5) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (9), 1 states have call predecessors, (9), 2 states have call successors, (9) Word has length 65 [2025-01-09 13:37:22,012 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 13:37:22,015 INFO L225 Difference]: With dead ends: 72 [2025-01-09 13:37:22,016 INFO L226 Difference]: Without dead ends: 36 [2025-01-09 13:37:22,018 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 66 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 13:37:22,022 INFO L435 NwaCegarLoop]: 49 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, 49 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2025-01-09 13:37:22,022 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 13:37:22,032 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2025-01-09 13:37:22,045 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 36. [2025-01-09 13:37:22,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 25 states have (on average 1.24) internal successors, (31), 25 states have internal predecessors, (31), 9 states have call successors, (9), 1 states have call predecessors, (9), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2025-01-09 13:37:22,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 49 transitions. [2025-01-09 13:37:22,051 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 49 transitions. Word has length 65 [2025-01-09 13:37:22,052 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 13:37:22,052 INFO L471 AbstractCegarLoop]: Abstraction has 36 states and 49 transitions. [2025-01-09 13:37:22,052 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 12.5) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (9), 1 states have call predecessors, (9), 2 states have call successors, (9) [2025-01-09 13:37:22,052 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 49 transitions. [2025-01-09 13:37:22,054 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2025-01-09 13:37:22,054 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:37:22,054 INFO L218 NwaCegarLoop]: trace histogram [9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 13:37:22,062 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2025-01-09 13:37:22,260 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2025-01-09 13:37:22,260 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:37:22,261 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:37:22,261 INFO L85 PathProgramCache]: Analyzing trace with hash 1960389690, now seen corresponding path program 1 times [2025-01-09 13:37:22,261 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 13:37:22,261 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [565832244] [2025-01-09 13:37:22,261 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:37:22,261 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 13:37:22,278 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 65 statements into 1 equivalence classes. [2025-01-09 13:37:22,331 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 65 of 65 statements. [2025-01-09 13:37:22,334 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:37:22,334 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 13:37:22,334 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-09 13:37:22,344 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 65 statements into 1 equivalence classes. [2025-01-09 13:37:22,367 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 65 of 65 statements. [2025-01-09 13:37:22,367 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:37:22,367 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 13:37:22,391 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-09 13:37:22,392 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-01-09 13:37:22,392 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-01-09 13:37:22,394 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-01-09 13:37:22,396 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1] [2025-01-09 13:37:22,430 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-01-09 13:37:22,432 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 09.01 01:37:22 BoogieIcfgContainer [2025-01-09 13:37:22,433 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-01-09 13:37:22,433 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-01-09 13:37:22,433 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-01-09 13:37:22,433 INFO L274 PluginConnector]: Witness Printer initialized [2025-01-09 13:37:22,434 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:37:21" (3/4) ... [2025-01-09 13:37:22,435 INFO L149 WitnessPrinter]: No result that supports witness generation found [2025-01-09 13:37:22,436 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-01-09 13:37:22,436 INFO L158 Benchmark]: Toolchain (without parser) took 1296.12ms. Allocated memory is still 142.6MB. Free memory was 113.2MB in the beginning and 42.3MB in the end (delta: 70.9MB). Peak memory consumption was 67.1MB. Max. memory is 16.1GB. [2025-01-09 13:37:22,436 INFO L158 Benchmark]: CDTParser took 0.16ms. Allocated memory is still 201.3MB. Free memory is still 123.3MB. There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 13:37:22,436 INFO L158 Benchmark]: CACSL2BoogieTranslator took 197.76ms. Allocated memory is still 142.6MB. Free memory was 112.8MB in the beginning and 100.9MB in the end (delta: 11.9MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 13:37:22,436 INFO L158 Benchmark]: Boogie Procedure Inliner took 31.68ms. Allocated memory is still 142.6MB. Free memory was 100.9MB in the beginning and 99.0MB in the end (delta: 1.8MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 13:37:22,437 INFO L158 Benchmark]: Boogie Preprocessor took 35.19ms. Allocated memory is still 142.6MB. Free memory was 99.0MB in the beginning and 97.7MB in the end (delta: 1.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 13:37:22,437 INFO L158 Benchmark]: RCFGBuilder took 205.84ms. Allocated memory is still 142.6MB. Free memory was 97.7MB in the beginning and 84.3MB in the end (delta: 13.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 13:37:22,437 INFO L158 Benchmark]: TraceAbstraction took 814.49ms. Allocated memory is still 142.6MB. Free memory was 83.8MB in the beginning and 42.3MB in the end (delta: 41.5MB). Peak memory consumption was 41.9MB. Max. memory is 16.1GB. [2025-01-09 13:37:22,437 INFO L158 Benchmark]: Witness Printer took 2.43ms. Allocated memory is still 142.6MB. Free memory was 42.3MB in the beginning and 42.3MB in the end (delta: 25.3kB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 13:37:22,439 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.16ms. Allocated memory is still 201.3MB. Free memory is still 123.3MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 197.76ms. Allocated memory is still 142.6MB. Free memory was 112.8MB in the beginning and 100.9MB in the end (delta: 11.9MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 31.68ms. Allocated memory is still 142.6MB. Free memory was 100.9MB in the beginning and 99.0MB in the end (delta: 1.8MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 35.19ms. Allocated memory is still 142.6MB. Free memory was 99.0MB in the beginning and 97.7MB in the end (delta: 1.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * RCFGBuilder took 205.84ms. Allocated memory is still 142.6MB. Free memory was 97.7MB in the beginning and 84.3MB in the end (delta: 13.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * TraceAbstraction took 814.49ms. Allocated memory is still 142.6MB. Free memory was 83.8MB in the beginning and 42.3MB in the end (delta: 41.5MB). Peak memory consumption was 41.9MB. Max. memory is 16.1GB. * Witness Printer took 2.43ms. Allocated memory is still 142.6MB. Free memory was 42.3MB in the beginning and 42.3MB in the end (delta: 25.3kB). 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 someBinaryArithmeticDOUBLEoperation at line 43, overapproximation of someBinaryFLOATComparisonOperation at line 63, overapproximation of someBinaryFLOATComparisonOperation at line 75, overapproximation of someBinaryFLOATComparisonOperation at line 61, overapproximation of someBinaryFLOATComparisonOperation at line 59, overapproximation of someBinaryFLOATComparisonOperation at line 42, overapproximation of someUnaryDOUBLEoperation at line 28, overapproximation of someUnaryDOUBLEoperation at line 43, overapproximation of someBinaryDOUBLEComparisonOperation at line 43, overapproximation of someBinaryDOUBLEComparisonOperation at line 65, overapproximation of someBinaryDOUBLEComparisonOperation at line 75, overapproximation of someBinaryDOUBLEComparisonOperation at line 67, overapproximation of someBinaryDOUBLEComparisonOperation at line 45. Possible FailurePath: [L21] unsigned char isInitial = 0; [L22] float var_1_1 = 255.5; [L23] unsigned char var_1_2 = 16; [L24] float var_1_4 = 1000000000000000.6; [L25] float var_1_5 = 500.5; [L26] float var_1_6 = 99999999999.5; [L27] double var_1_7 = 9.6; [L28] double var_1_8 = -0.2; [L29] double var_1_9 = 25.2; [L30] signed short int var_1_10 = 1; [L31] unsigned char var_1_11 = 0; [L32] signed long int var_1_15 = -64; VAL [isInitial=0, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=16, var_1_4=5000000000000003/5, var_1_5=1001/2, var_1_6=199999999999/2, var_1_7=48/5, var_1_9=126/5] [L79] isInitial = 1 [L80] FCALL initially() [L82] FCALL updateLastVariables() [L83] CALL updateVariables() [L55] var_1_2 = __VERIFIER_nondet_uchar() [L56] CALL assume_abort_if_not(var_1_2 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_4=5000000000000003/5, var_1_5=1001/2, var_1_6=199999999999/2, var_1_7=48/5, var_1_9=126/5] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_4=5000000000000003/5, var_1_5=1001/2, var_1_6=199999999999/2, var_1_7=48/5, var_1_9=126/5] [L56] RET assume_abort_if_not(var_1_2 >= 0) VAL [isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_4=5000000000000003/5, var_1_5=1001/2, var_1_6=199999999999/2, var_1_7=48/5, var_1_9=126/5] [L57] CALL assume_abort_if_not(var_1_2 <= 127) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_4=5000000000000003/5, var_1_5=1001/2, var_1_6=199999999999/2, var_1_7=48/5, var_1_9=126/5] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_4=5000000000000003/5, var_1_5=1001/2, var_1_6=199999999999/2, var_1_7=48/5, var_1_9=126/5] [L57] RET assume_abort_if_not(var_1_2 <= 127) VAL [isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_4=5000000000000003/5, var_1_5=1001/2, var_1_6=199999999999/2, var_1_7=48/5, var_1_9=126/5] [L58] var_1_4 = __VERIFIER_nondet_float() [L59] CALL assume_abort_if_not((var_1_4 >= 0.0F && var_1_4 <= -1.0e-20F) || (var_1_4 <= 9223372.036854765600e+12F && var_1_4 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_5=1001/2, var_1_6=199999999999/2, var_1_7=48/5, var_1_9=126/5] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_5=1001/2, var_1_6=199999999999/2, var_1_7=48/5, var_1_9=126/5] [L59] RET assume_abort_if_not((var_1_4 >= 0.0F && var_1_4 <= -1.0e-20F) || (var_1_4 <= 9223372.036854765600e+12F && var_1_4 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_5=1001/2, var_1_6=199999999999/2, var_1_7=48/5, var_1_9=126/5] [L60] var_1_5 = __VERIFIER_nondet_float() [L61] CALL assume_abort_if_not((var_1_5 >= 0.0F && var_1_5 <= -1.0e-20F) || (var_1_5 <= 9223372.036854765600e+12F && var_1_5 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_6=199999999999/2, var_1_7=48/5, var_1_9=126/5] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_6=199999999999/2, var_1_7=48/5, var_1_9=126/5] [L61] RET assume_abort_if_not((var_1_5 >= 0.0F && var_1_5 <= -1.0e-20F) || (var_1_5 <= 9223372.036854765600e+12F && var_1_5 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_6=199999999999/2, var_1_7=48/5, var_1_9=126/5] [L62] var_1_6 = __VERIFIER_nondet_float() [L63] CALL assume_abort_if_not((var_1_6 >= 0.0F && var_1_6 <= -1.0e-20F) || (var_1_6 <= 9223372.036854765600e+12F && var_1_6 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5, var_1_9=126/5] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5, var_1_9=126/5] [L63] RET assume_abort_if_not((var_1_6 >= 0.0F && var_1_6 <= -1.0e-20F) || (var_1_6 <= 9223372.036854765600e+12F && var_1_6 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5, var_1_9=126/5] [L64] var_1_8 = __VERIFIER_nondet_double() [L65] CALL assume_abort_if_not((var_1_8 >= -461168.6018427382800e+13F && var_1_8 <= -1.0e-20F) || (var_1_8 <= 4611686.018427382800e+12F && var_1_8 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5, var_1_9=126/5] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5, var_1_9=126/5] [L65] RET assume_abort_if_not((var_1_8 >= -461168.6018427382800e+13F && var_1_8 <= -1.0e-20F) || (var_1_8 <= 4611686.018427382800e+12F && var_1_8 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5, var_1_9=126/5] [L66] var_1_9 = __VERIFIER_nondet_double() [L67] CALL assume_abort_if_not((var_1_9 >= -461168.6018427382800e+13F && var_1_9 <= -1.0e-20F) || (var_1_9 <= 4611686.018427382800e+12F && var_1_9 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5] [L67] RET assume_abort_if_not((var_1_9 >= -461168.6018427382800e+13F && var_1_9 <= -1.0e-20F) || (var_1_9 <= 4611686.018427382800e+12F && var_1_9 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1, var_1_11=0, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5] [L68] var_1_11 = __VERIFIER_nondet_uchar() [L69] CALL assume_abort_if_not(var_1_11 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5] [L69] RET assume_abort_if_not(var_1_11 >= 0) VAL [isInitial=1, var_1_10=1, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5] [L70] CALL assume_abort_if_not(var_1_11 <= 1) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=1, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=1, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5] [L70] RET assume_abort_if_not(var_1_11 <= 1) VAL [isInitial=1, var_1_10=1, var_1_11=1, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5] [L83] RET updateVariables() [L84] CALL step() [L36] signed long int stepLocal_0 = (((8) < 0 ) ? -(8) : (8)); VAL [isInitial=1, stepLocal_0=8, var_1_10=1, var_1_11=1, var_1_15=-64, var_1_1=511/2, var_1_2=127, var_1_7=48/5] [L37] COND FALSE !((((((200) < (128)) ? (200) : (128))) - var_1_2) > stepLocal_0) [L40] var_1_1 = var_1_6 VAL [isInitial=1, var_1_10=1, var_1_11=1, var_1_15=-64, var_1_1=1000000000000005, var_1_2=127, var_1_6=1000000000000005, var_1_7=48/5] [L42] COND TRUE var_1_5 >= (var_1_4 + var_1_6) [L43] var_1_7 = ((((var_1_8 + var_1_9) < 0 ) ? -(var_1_8 + var_1_9) : (var_1_8 + var_1_9))) VAL [isInitial=1, var_1_10=1, var_1_11=1, var_1_15=-64, var_1_1=1000000000000005, var_1_2=127, var_1_6=1000000000000005, var_1_7=1000000000000006] [L45] COND FALSE !(((var_1_6 - var_1_4) + var_1_7) >= var_1_5) VAL [isInitial=1, var_1_10=1, var_1_11=1, var_1_15=-64, var_1_1=1000000000000005, var_1_2=127, var_1_6=1000000000000005, var_1_7=1000000000000006] [L50] COND TRUE ((var_1_2 + var_1_15) + var_1_15) >= var_1_15 [L51] var_1_10 = var_1_2 VAL [isInitial=1, var_1_10=127, var_1_11=1, var_1_15=-64, var_1_1=1000000000000005, var_1_2=127, var_1_6=1000000000000005, var_1_7=1000000000000006] [L84] RET step() [L85] CALL, EXPR property() [L75-L76] return (((((((((200) < (128)) ? (200) : (128))) - var_1_2) > ((((8) < 0 ) ? -(8) : (8)))) ? (var_1_1 == ((float) (((((var_1_4) < (var_1_5)) ? (var_1_4) : (var_1_5))) - var_1_6))) : (var_1_1 == ((float) var_1_6))) && ((var_1_5 >= (var_1_4 + var_1_6)) ? (var_1_7 == ((double) ((((var_1_8 + var_1_9) < 0 ) ? -(var_1_8 + var_1_9) : (var_1_8 + var_1_9))))) : 1)) && ((((var_1_2 + var_1_15) + var_1_15) >= var_1_15) ? (var_1_10 == ((signed short int) var_1_2)) : 1)) && ((((var_1_6 - var_1_4) + var_1_7) >= var_1_5) ? (var_1_11 ? (var_1_15 == ((signed long int) 100)) : 1) : 1) ; VAL [\result=0, isInitial=1, var_1_10=127, var_1_11=1, var_1_15=-64, var_1_1=1000000000000005, var_1_2=127, var_1_6=1000000000000005, var_1_7=1000000000000006] [L85] RET, EXPR property() [L85] CALL __VERIFIER_assert(property()) [L19] COND TRUE !(cond) VAL [isInitial=1, var_1_10=127, var_1_11=1, var_1_15=-64, var_1_1=1000000000000005, var_1_2=127, var_1_6=1000000000000005, var_1_7=1000000000000006] [L19] reach_error() VAL [isInitial=1, var_1_10=127, var_1_11=1, var_1_15=-64, var_1_1=1000000000000005, var_1_2=127, var_1_6=1000000000000005, var_1_7=1000000000000006] - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 39 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 0.7s, OverallIterations: 2, TraceHistogramMax: 9, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 0 SdHoareTripleChecker+Valid, 0.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 0 mSDsluCounter, 49 SdHoareTripleChecker+Invalid, 0.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 0 mSDsCounter, 0 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 0 IncrementalHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 0 mSolverCounterUnsat, 49 mSDtfsCounter, 0 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 66 GetRequests, 66 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=39occurred 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.1s SatisfiabilityAnalysisTime, 0.1s InterpolantComputationTime, 195 NumberOfCodeBlocks, 195 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 128 ConstructedInterpolants, 0 QuantifiedInterpolants, 128 SizeOfPredicates, 0 NumberOfNonLiveVariables, 160 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 272/288 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available, ConComCheckerStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces [2025-01-09 13:37:22,451 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-while_file-99.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 5b933671a1fface527dbef89f2ee599c80d54d1c8c988a3b741df55fc4b83921 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 13:37:24,228 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 13:37:24,321 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2025-01-09 13:37:24,325 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 13:37:24,329 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 13:37:24,356 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 13:37:24,357 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 13:37:24,357 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 13:37:24,357 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 13:37:24,358 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 13:37:24,358 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 13:37:24,358 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 13:37:24,359 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 13:37:24,359 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 13:37:24,359 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 13:37:24,359 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 13:37:24,359 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 13:37:24,359 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 13:37:24,359 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 13:37:24,359 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 13:37:24,360 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 13:37:24,360 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 13:37:24,360 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 13:37:24,360 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-01-09 13:37:24,360 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-01-09 13:37:24,360 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-01-09 13:37:24,360 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 13:37:24,361 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 13:37:24,361 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 13:37:24,361 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 13:37:24,361 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 13:37:24,361 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:37:24,361 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:37:24,361 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:37:24,361 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:37:24,361 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 13:37:24,361 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:37:24,362 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:37:24,362 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:37:24,362 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:37:24,362 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 13:37:24,362 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 13:37:24,362 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 13:37:24,362 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 13:37:24,362 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-01-09 13:37:24,363 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-01-09 13:37:24,363 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 13:37:24,363 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 13:37:24,363 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 13:37:24,363 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 13:37:24,363 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 -> 5b933671a1fface527dbef89f2ee599c80d54d1c8c988a3b741df55fc4b83921 [2025-01-09 13:37:24,642 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 13:37:24,650 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 13:37:24,652 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 13:37:24,654 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 13:37:24,654 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 13:37:24,656 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-99.i [2025-01-09 13:37:25,811 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/8ff405a00/4b15aac3d2724c25b41cb08842a53f7d/FLAG1a816894f [2025-01-09 13:37:25,969 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 13:37:25,969 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-99.i [2025-01-09 13:37:25,974 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/8ff405a00/4b15aac3d2724c25b41cb08842a53f7d/FLAG1a816894f [2025-01-09 13:37:25,985 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/8ff405a00/4b15aac3d2724c25b41cb08842a53f7d [2025-01-09 13:37:25,986 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 13:37:25,987 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 13:37:25,988 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 13:37:25,988 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 13:37:25,991 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 13:37:25,991 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:37:25" (1/1) ... [2025-01-09 13:37:25,992 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3be52615 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:25, skipping insertion in model container [2025-01-09 13:37:25,992 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:37:25" (1/1) ... [2025-01-09 13:37:26,001 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 13:37:26,092 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-99.i[915,928] [2025-01-09 13:37:26,122 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:37:26,132 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 13:37:26,140 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-99.i[915,928] [2025-01-09 13:37:26,150 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:37:26,163 INFO L204 MainTranslator]: Completed translation [2025-01-09 13:37:26,163 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:26 WrapperNode [2025-01-09 13:37:26,163 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 13:37:26,165 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 13:37:26,165 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 13:37:26,165 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 13:37:26,169 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:26" (1/1) ... [2025-01-09 13:37:26,182 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:26" (1/1) ... [2025-01-09 13:37:26,203 INFO L138 Inliner]: procedures = 27, calls = 22, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 83 [2025-01-09 13:37:26,205 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 13:37:26,205 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 13:37:26,206 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 13:37:26,206 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 13:37:26,212 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:26" (1/1) ... [2025-01-09 13:37:26,213 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:26" (1/1) ... [2025-01-09 13:37:26,216 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:26" (1/1) ... [2025-01-09 13:37:26,233 INFO L175 MemorySlicer]: Split 2 memory accesses to 1 slices as follows [2]. 100 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2]. The 0 writes are split as follows [0]. [2025-01-09 13:37:26,234 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:26" (1/1) ... [2025-01-09 13:37:26,234 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:26" (1/1) ... [2025-01-09 13:37:26,244 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:26" (1/1) ... [2025-01-09 13:37:26,244 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:26" (1/1) ... [2025-01-09 13:37:26,251 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:26" (1/1) ... [2025-01-09 13:37:26,252 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:26" (1/1) ... [2025-01-09 13:37:26,253 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:26" (1/1) ... [2025-01-09 13:37:26,255 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 13:37:26,258 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 13:37:26,259 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 13:37:26,259 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 13:37:26,260 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:26" (1/1) ... [2025-01-09 13:37:26,267 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:37:26,277 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 13:37:26,288 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-01-09 13:37:26,291 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-01-09 13:37:26,310 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 13:37:26,311 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-01-09 13:37:26,311 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 13:37:26,311 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 13:37:26,311 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 13:37:26,311 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 13:37:26,365 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 13:37:26,367 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 13:37:35,213 INFO L? ?]: Removed 10 outVars from TransFormulas that were not future-live. [2025-01-09 13:37:35,214 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 13:37:35,221 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 13:37:35,221 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 13:37:35,221 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:37:35 BoogieIcfgContainer [2025-01-09 13:37:35,221 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 13:37:35,223 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 13:37:35,224 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 13:37:35,227 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 13:37:35,227 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 01:37:25" (1/3) ... [2025-01-09 13:37:35,227 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@77f31f7c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:37:35, skipping insertion in model container [2025-01-09 13:37:35,227 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:37:26" (2/3) ... [2025-01-09 13:37:35,228 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@77f31f7c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:37:35, skipping insertion in model container [2025-01-09 13:37:35,228 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:37:35" (3/3) ... [2025-01-09 13:37:35,229 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_loopvsstraightlinecode_25-while_file-99.i [2025-01-09 13:37:35,238 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 13:37:35,240 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_loopvsstraightlinecode_25-while_file-99.i that has 2 procedures, 39 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 13:37:35,278 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 13:37:35,290 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;@40931c56, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 13:37:35,291 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 13:37:35,294 INFO L276 IsEmpty]: Start isEmpty. Operand has 39 states, 27 states have (on average 1.3333333333333333) internal successors, (36), 28 states have internal predecessors, (36), 9 states have call successors, (9), 1 states have call predecessors, (9), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2025-01-09 13:37:35,300 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2025-01-09 13:37:35,300 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:37:35,301 INFO L218 NwaCegarLoop]: trace histogram [9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 13:37:35,301 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:37:35,306 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:37:35,307 INFO L85 PathProgramCache]: Analyzing trace with hash -689342800, now seen corresponding path program 1 times [2025-01-09 13:37:35,317 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 13:37:35,318 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [293488909] [2025-01-09 13:37:35,318 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:37:35,318 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-01-09 13:37:35,318 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 13:37:35,324 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2025-01-09 13:37:35,326 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2025-01-09 13:37:35,401 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 65 statements into 1 equivalence classes. [2025-01-09 13:37:35,658 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 65 of 65 statements. [2025-01-09 13:37:35,659 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:37:35,659 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:37:35,671 INFO L256 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 13:37:35,675 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 13:37:35,699 INFO L134 CoverageAnalysis]: Checked inductivity of 144 backedges. 44 proven. 0 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2025-01-09 13:37:35,699 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 13:37:35,699 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-01-09 13:37:35,700 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [293488909] [2025-01-09 13:37:35,700 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [293488909] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 13:37:35,700 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 13:37:35,700 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 13:37:35,701 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1771568020] [2025-01-09 13:37:35,702 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 13:37:35,704 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 13:37:35,705 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-01-09 13:37:35,716 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 13:37:35,717 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 13:37:35,718 INFO L87 Difference]: Start difference. First operand has 39 states, 27 states have (on average 1.3333333333333333) internal successors, (36), 28 states have internal predecessors, (36), 9 states have call successors, (9), 1 states have call predecessors, (9), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand has 2 states, 2 states have (on average 13.5) internal successors, (27), 2 states have internal predecessors, (27), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2025-01-09 13:37:35,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 13:37:35,731 INFO L93 Difference]: Finished difference Result 72 states and 112 transitions. [2025-01-09 13:37:35,731 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 13:37:35,732 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 13.5) internal successors, (27), 2 states have internal predecessors, (27), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 65 [2025-01-09 13:37:35,733 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 13:37:35,736 INFO L225 Difference]: With dead ends: 72 [2025-01-09 13:37:35,737 INFO L226 Difference]: Without dead ends: 36 [2025-01-09 13:37:35,739 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 64 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 13:37:35,740 INFO L435 NwaCegarLoop]: 49 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, 49 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2025-01-09 13:37:35,741 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 13:37:35,750 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2025-01-09 13:37:35,760 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 36. [2025-01-09 13:37:35,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 25 states have (on average 1.24) internal successors, (31), 25 states have internal predecessors, (31), 9 states have call successors, (9), 1 states have call predecessors, (9), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2025-01-09 13:37:35,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 49 transitions. [2025-01-09 13:37:35,767 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 49 transitions. Word has length 65 [2025-01-09 13:37:35,768 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 13:37:35,768 INFO L471 AbstractCegarLoop]: Abstraction has 36 states and 49 transitions. [2025-01-09 13:37:35,768 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 13.5) internal successors, (27), 2 states have internal predecessors, (27), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2025-01-09 13:37:35,768 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 49 transitions. [2025-01-09 13:37:35,772 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2025-01-09 13:37:35,772 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:37:35,772 INFO L218 NwaCegarLoop]: trace histogram [9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 13:37:35,782 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-01-09 13:37:35,973 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-01-09 13:37:35,973 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:37:35,973 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:37:35,974 INFO L85 PathProgramCache]: Analyzing trace with hash 1960389690, now seen corresponding path program 1 times [2025-01-09 13:37:35,975 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 13:37:35,975 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1371370137] [2025-01-09 13:37:35,975 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:37:35,975 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-01-09 13:37:35,975 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 13:37:35,978 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2025-01-09 13:37:35,979 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2025-01-09 13:37:36,017 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 65 statements into 1 equivalence classes. [2025-01-09 13:37:36,263 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 65 of 65 statements. [2025-01-09 13:37:36,263 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:37:36,263 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:37:36,278 INFO L256 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 26 conjuncts are in the unsatisfiable core [2025-01-09 13:37:36,285 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 13:38:00,205 WARN L286 SmtUtils]: Spent 5.58s on a formula simplification that was a NOOP. DAG size: 3 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 13:38:07,766 WARN L286 SmtUtils]: Spent 7.56s on a formula simplification that was a NOOP. DAG size: 11 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 13:38:14,899 WARN L286 SmtUtils]: Spent 7.13s on a formula simplification that was a NOOP. DAG size: 8 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 13:38:20,524 WARN L286 SmtUtils]: Spent 5.62s on a formula simplification that was a NOOP. DAG size: 7 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 13:38:26,547 WARN L286 SmtUtils]: Spent 6.02s on a formula simplification that was a NOOP. DAG size: 7 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 13:38:31,554 WARN L286 SmtUtils]: Spent 5.01s on a formula simplification that was a NOOP. DAG size: 6 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 13:38:41,702 WARN L286 SmtUtils]: Spent 7.02s on a formula simplification that was a NOOP. DAG size: 8 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 13:38:51,481 WARN L286 SmtUtils]: Spent 7.04s on a formula simplification that was a NOOP. DAG size: 7 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 13:39:03,701 WARN L286 SmtUtils]: Spent 7.26s on a formula simplification that was a NOOP. DAG size: 7 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify)