./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_50-while_file-20.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 8fc3dc66 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_50-while_file-20.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/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 6b73840d19e187c8c8ac40e482077fa0b5cb06b59f94c68bcca614ae11ecdd98 --- Real Ultimate output --- This is Ultimate 0.3.0-?-8fc3dc6-m [2025-03-17 03:59:18,980 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-03-17 03:59:19,028 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-03-17 03:59:19,036 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-03-17 03:59:19,037 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-03-17 03:59:19,059 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-03-17 03:59:19,060 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-03-17 03:59:19,060 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-03-17 03:59:19,061 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-03-17 03:59:19,061 INFO L153 SettingsManager]: * Use memory slicer=true [2025-03-17 03:59:19,061 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-03-17 03:59:19,061 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-03-17 03:59:19,062 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-03-17 03:59:19,062 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-03-17 03:59:19,062 INFO L153 SettingsManager]: * Use SBE=true [2025-03-17 03:59:19,062 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-03-17 03:59:19,063 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-03-17 03:59:19,063 INFO L153 SettingsManager]: * sizeof long=4 [2025-03-17 03:59:19,063 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-03-17 03:59:19,063 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-03-17 03:59:19,063 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-03-17 03:59:19,063 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-03-17 03:59:19,063 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-03-17 03:59:19,063 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-03-17 03:59:19,063 INFO L153 SettingsManager]: * sizeof long double=12 [2025-03-17 03:59:19,063 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-03-17 03:59:19,063 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-03-17 03:59:19,063 INFO L153 SettingsManager]: * Use constant arrays=true [2025-03-17 03:59:19,063 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-03-17 03:59:19,064 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-03-17 03:59:19,064 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-03-17 03:59:19,064 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-03-17 03:59:19,064 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-17 03:59:19,064 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-03-17 03:59:19,064 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-03-17 03:59:19,064 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-03-17 03:59:19,064 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-03-17 03:59:19,064 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-03-17 03:59:19,064 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-03-17 03:59:19,065 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-03-17 03:59:19,065 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-03-17 03:59:19,065 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-03-17 03:59:19,065 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-03-17 03:59:19,065 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/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 -> 6b73840d19e187c8c8ac40e482077fa0b5cb06b59f94c68bcca614ae11ecdd98 [2025-03-17 03:59:19,373 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-03-17 03:59:19,378 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-03-17 03:59:19,379 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-03-17 03:59:19,380 INFO L270 PluginConnector]: Initializing CDTParser... [2025-03-17 03:59:19,380 INFO L274 PluginConnector]: CDTParser initialized [2025-03-17 03:59:19,381 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_50-while_file-20.i [2025-03-17 03:59:20,502 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ecc517548/65fb66ab5a4f4d13a2df8f9d907cb3c8/FLAG94f3ab2c6 [2025-03-17 03:59:20,759 INFO L384 CDTParser]: Found 1 translation units. [2025-03-17 03:59:20,760 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_50-while_file-20.i [2025-03-17 03:59:20,768 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ecc517548/65fb66ab5a4f4d13a2df8f9d907cb3c8/FLAG94f3ab2c6 [2025-03-17 03:59:21,078 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ecc517548/65fb66ab5a4f4d13a2df8f9d907cb3c8 [2025-03-17 03:59:21,080 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-03-17 03:59:21,081 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-03-17 03:59:21,083 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-03-17 03:59:21,083 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-03-17 03:59:21,086 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-03-17 03:59:21,086 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.03 03:59:21" (1/1) ... [2025-03-17 03:59:21,087 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@63bf17d3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:21, skipping insertion in model container [2025-03-17 03:59:21,087 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.03 03:59:21" (1/1) ... [2025-03-17 03:59:21,102 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-03-17 03:59:21,204 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_50-while_file-20.i[915,928] [2025-03-17 03:59:21,252 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-17 03:59:21,265 INFO L200 MainTranslator]: Completed pre-run [2025-03-17 03:59:21,274 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_50-while_file-20.i[915,928] [2025-03-17 03:59:21,294 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-17 03:59:21,309 INFO L204 MainTranslator]: Completed translation [2025-03-17 03:59:21,310 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:21 WrapperNode [2025-03-17 03:59:21,311 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-03-17 03:59:21,312 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-03-17 03:59:21,312 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-03-17 03:59:21,312 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-03-17 03:59:21,316 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:21" (1/1) ... [2025-03-17 03:59:21,324 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:21" (1/1) ... [2025-03-17 03:59:21,361 INFO L138 Inliner]: procedures = 26, calls = 30, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 150 [2025-03-17 03:59:21,362 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-03-17 03:59:21,362 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-03-17 03:59:21,362 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-03-17 03:59:21,363 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-03-17 03:59:21,369 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:21" (1/1) ... [2025-03-17 03:59:21,369 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:21" (1/1) ... [2025-03-17 03:59:21,377 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:21" (1/1) ... [2025-03-17 03:59:21,399 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-03-17 03:59:21,399 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:21" (1/1) ... [2025-03-17 03:59:21,400 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:21" (1/1) ... [2025-03-17 03:59:21,407 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:21" (1/1) ... [2025-03-17 03:59:21,409 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:21" (1/1) ... [2025-03-17 03:59:21,410 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:21" (1/1) ... [2025-03-17 03:59:21,413 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:21" (1/1) ... [2025-03-17 03:59:21,416 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-03-17 03:59:21,416 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-03-17 03:59:21,416 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-03-17 03:59:21,416 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-03-17 03:59:21,417 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:21" (1/1) ... [2025-03-17 03:59:21,421 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-17 03:59:21,429 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 03:59:21,439 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-03-17 03:59:21,441 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-03-17 03:59:21,455 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-03-17 03:59:21,456 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-03-17 03:59:21,456 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-03-17 03:59:21,456 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-03-17 03:59:21,456 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-03-17 03:59:21,456 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-03-17 03:59:21,510 INFO L256 CfgBuilder]: Building ICFG [2025-03-17 03:59:21,511 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2025-03-17 03:59:21,737 INFO L1322 $ProcedureCfgBuilder]: dead code at ProgramPoint L118: havoc property_#t~ite16#1;havoc property_#t~bitwise15#1;havoc property_#t~short17#1; [2025-03-17 03:59:21,760 INFO L? ?]: Removed 13 outVars from TransFormulas that were not future-live. [2025-03-17 03:59:21,760 INFO L307 CfgBuilder]: Performing block encoding [2025-03-17 03:59:21,772 INFO L331 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-03-17 03:59:21,772 INFO L336 CfgBuilder]: Removed 0 assume(true) statements. [2025-03-17 03:59:21,772 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 17.03 03:59:21 BoogieIcfgContainer [2025-03-17 03:59:21,772 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-03-17 03:59:21,775 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-03-17 03:59:21,775 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-03-17 03:59:21,778 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-03-17 03:59:21,779 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 17.03 03:59:21" (1/3) ... [2025-03-17 03:59:21,779 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3a798eaf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.03 03:59:21, skipping insertion in model container [2025-03-17 03:59:21,780 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:21" (2/3) ... [2025-03-17 03:59:21,780 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3a798eaf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.03 03:59:21, skipping insertion in model container [2025-03-17 03:59:21,780 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 17.03 03:59:21" (3/3) ... [2025-03-17 03:59:21,781 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_loopvsstraightlinecode_50-while_file-20.i [2025-03-17 03:59:21,792 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-03-17 03:59:21,794 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_loopvsstraightlinecode_50-while_file-20.i that has 2 procedures, 60 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-03-17 03:59:21,835 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-03-17 03:59:21,844 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;@bb064f9, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-03-17 03:59:21,846 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-03-17 03:59:21,850 INFO L276 IsEmpty]: Start isEmpty. Operand has 60 states, 40 states have (on average 1.4) internal successors, (56), 41 states have internal predecessors, (56), 17 states have call successors, (17), 1 states have call predecessors, (17), 1 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2025-03-17 03:59:21,857 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2025-03-17 03:59:21,858 INFO L210 NwaCegarLoop]: Found error trace [2025-03-17 03:59:21,859 INFO L218 NwaCegarLoop]: trace histogram [17, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-03-17 03:59:21,859 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-03-17 03:59:21,864 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 03:59:21,865 INFO L85 PathProgramCache]: Analyzing trace with hash 156916934, now seen corresponding path program 1 times [2025-03-17 03:59:21,870 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 03:59:21,872 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [895484276] [2025-03-17 03:59:21,872 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 03:59:21,873 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 03:59:21,932 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 111 statements into 1 equivalence classes. [2025-03-17 03:59:21,949 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 111 of 111 statements. [2025-03-17 03:59:21,950 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 03:59:21,950 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 03:59:22,064 INFO L134 CoverageAnalysis]: Checked inductivity of 544 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 512 trivial. 0 not checked. [2025-03-17 03:59:22,065 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 03:59:22,065 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [895484276] [2025-03-17 03:59:22,066 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [895484276] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 03:59:22,067 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2128794838] [2025-03-17 03:59:22,067 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 03:59:22,067 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 03:59:22,067 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 03:59:22,069 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 03:59:22,071 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-03-17 03:59:22,151 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 111 statements into 1 equivalence classes. [2025-03-17 03:59:22,194 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 111 of 111 statements. [2025-03-17 03:59:22,194 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 03:59:22,194 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 03:59:22,197 INFO L256 TraceCheckSpWp]: Trace formula consists of 266 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-03-17 03:59:22,204 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 03:59:22,222 INFO L134 CoverageAnalysis]: Checked inductivity of 544 backedges. 32 proven. 0 refuted. 0 times theorem prover too weak. 512 trivial. 0 not checked. [2025-03-17 03:59:22,224 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-03-17 03:59:22,224 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2128794838] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-17 03:59:22,224 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-03-17 03:59:22,224 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-03-17 03:59:22,226 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1158682608] [2025-03-17 03:59:22,226 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-17 03:59:22,229 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-03-17 03:59:22,229 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 03:59:22,244 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-03-17 03:59:22,245 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-03-17 03:59:22,247 INFO L87 Difference]: Start difference. First operand has 60 states, 40 states have (on average 1.4) internal successors, (56), 41 states have internal predecessors, (56), 17 states have call successors, (17), 1 states have call predecessors, (17), 1 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) 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, (17), 2 states have call predecessors, (17), 1 states have return successors, (17), 1 states have call predecessors, (17), 2 states have call successors, (17) [2025-03-17 03:59:22,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 03:59:22,271 INFO L93 Difference]: Finished difference Result 117 states and 195 transitions. [2025-03-17 03:59:22,273 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-03-17 03:59:22,274 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, (17), 2 states have call predecessors, (17), 1 states have return successors, (17), 1 states have call predecessors, (17), 2 states have call successors, (17) Word has length 111 [2025-03-17 03:59:22,274 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-03-17 03:59:22,278 INFO L225 Difference]: With dead ends: 117 [2025-03-17 03:59:22,278 INFO L226 Difference]: Without dead ends: 58 [2025-03-17 03:59:22,281 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 112 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-03-17 03:59:22,282 INFO L435 NwaCegarLoop]: 84 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, 84 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-03-17 03:59:22,283 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 84 Invalid, 2 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 2 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-03-17 03:59:22,292 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2025-03-17 03:59:22,307 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 58. [2025-03-17 03:59:22,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 39 states have (on average 1.3333333333333333) internal successors, (52), 39 states have internal predecessors, (52), 17 states have call successors, (17), 1 states have call predecessors, (17), 1 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2025-03-17 03:59:22,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 86 transitions. [2025-03-17 03:59:22,312 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 86 transitions. Word has length 111 [2025-03-17 03:59:22,313 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-03-17 03:59:22,313 INFO L471 AbstractCegarLoop]: Abstraction has 58 states and 86 transitions. [2025-03-17 03:59:22,313 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, (17), 2 states have call predecessors, (17), 1 states have return successors, (17), 1 states have call predecessors, (17), 2 states have call successors, (17) [2025-03-17 03:59:22,313 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 86 transitions. [2025-03-17 03:59:22,316 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2025-03-17 03:59:22,316 INFO L210 NwaCegarLoop]: Found error trace [2025-03-17 03:59:22,316 INFO L218 NwaCegarLoop]: trace histogram [17, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-03-17 03:59:22,324 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2025-03-17 03:59:22,519 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2025-03-17 03:59:22,519 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-03-17 03:59:22,520 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 03:59:22,520 INFO L85 PathProgramCache]: Analyzing trace with hash 1075900611, now seen corresponding path program 1 times [2025-03-17 03:59:22,520 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 03:59:22,520 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1675767493] [2025-03-17 03:59:22,520 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 03:59:22,520 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 03:59:22,539 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 111 statements into 1 equivalence classes. [2025-03-17 03:59:22,683 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 111 of 111 statements. [2025-03-17 03:59:22,683 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 03:59:22,683 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-03-17 03:59:22,689 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [486251397] [2025-03-17 03:59:22,689 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 03:59:22,689 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 03:59:22,689 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 03:59:22,691 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 03:59:22,692 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2025-03-17 03:59:22,740 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 111 statements into 1 equivalence classes. [2025-03-17 03:59:22,788 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 111 of 111 statements. [2025-03-17 03:59:22,789 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 03:59:22,789 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 03:59:22,789 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 03:59:22,808 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 111 statements into 1 equivalence classes. [2025-03-17 03:59:22,827 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 111 of 111 statements. [2025-03-17 03:59:22,827 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 03:59:22,827 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 03:59:22,878 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 03:59:22,878 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-03-17 03:59:22,879 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-03-17 03:59:22,887 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2025-03-17 03:59:23,081 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2025-03-17 03:59:23,084 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1] [2025-03-17 03:59:23,148 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-03-17 03:59:23,151 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 17.03 03:59:23 BoogieIcfgContainer [2025-03-17 03:59:23,151 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-03-17 03:59:23,152 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-03-17 03:59:23,152 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-03-17 03:59:23,152 INFO L274 PluginConnector]: Witness Printer initialized [2025-03-17 03:59:23,153 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 17.03 03:59:21" (3/4) ... [2025-03-17 03:59:23,155 INFO L149 WitnessPrinter]: No result that supports witness generation found [2025-03-17 03:59:23,155 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-03-17 03:59:23,156 INFO L158 Benchmark]: Toolchain (without parser) took 2074.75ms. Allocated memory is still 142.6MB. Free memory was 110.2MB in the beginning and 52.2MB in the end (delta: 57.9MB). Peak memory consumption was 56.5MB. Max. memory is 16.1GB. [2025-03-17 03:59:23,156 INFO L158 Benchmark]: CDTParser took 0.22ms. Allocated memory is still 201.3MB. Free memory is still 126.2MB. There was no memory consumed. Max. memory is 16.1GB. [2025-03-17 03:59:23,157 INFO L158 Benchmark]: CACSL2BoogieTranslator took 228.81ms. Allocated memory is still 142.6MB. Free memory was 110.2MB in the beginning and 96.5MB in the end (delta: 13.7MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-03-17 03:59:23,157 INFO L158 Benchmark]: Boogie Procedure Inliner took 49.94ms. Allocated memory is still 142.6MB. Free memory was 96.5MB in the beginning and 93.4MB in the end (delta: 3.1MB). There was no memory consumed. Max. memory is 16.1GB. [2025-03-17 03:59:23,157 INFO L158 Benchmark]: Boogie Preprocessor took 53.39ms. Allocated memory is still 142.6MB. Free memory was 93.4MB in the beginning and 88.0MB in the end (delta: 5.4MB). There was no memory consumed. Max. memory is 16.1GB. [2025-03-17 03:59:23,157 INFO L158 Benchmark]: IcfgBuilder took 356.35ms. Allocated memory is still 142.6MB. Free memory was 88.0MB in the beginning and 66.2MB in the end (delta: 21.8MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-03-17 03:59:23,157 INFO L158 Benchmark]: TraceAbstraction took 1376.84ms. Allocated memory is still 142.6MB. Free memory was 65.2MB in the beginning and 52.3MB in the end (delta: 12.9MB). Peak memory consumption was 22.9MB. Max. memory is 16.1GB. [2025-03-17 03:59:23,159 INFO L158 Benchmark]: Witness Printer took 3.53ms. Allocated memory is still 142.6MB. Free memory was 52.3MB in the beginning and 52.2MB in the end (delta: 41.6kB). There was no memory consumed. Max. memory is 16.1GB. [2025-03-17 03:59:23,160 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.22ms. Allocated memory is still 201.3MB. Free memory is still 126.2MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 228.81ms. Allocated memory is still 142.6MB. Free memory was 110.2MB in the beginning and 96.5MB in the end (delta: 13.7MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 49.94ms. Allocated memory is still 142.6MB. Free memory was 96.5MB in the beginning and 93.4MB in the end (delta: 3.1MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 53.39ms. Allocated memory is still 142.6MB. Free memory was 93.4MB in the beginning and 88.0MB in the end (delta: 5.4MB). There was no memory consumed. Max. memory is 16.1GB. * IcfgBuilder took 356.35ms. Allocated memory is still 142.6MB. Free memory was 88.0MB in the beginning and 66.2MB in the end (delta: 21.8MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * TraceAbstraction took 1376.84ms. Allocated memory is still 142.6MB. Free memory was 65.2MB in the beginning and 52.3MB in the end (delta: 12.9MB). Peak memory consumption was 22.9MB. Max. memory is 16.1GB. * Witness Printer took 3.53ms. Allocated memory is still 142.6MB. Free memory was 52.3MB in the beginning and 52.2MB in the end (delta: 41.6kB). 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 70, overapproximation of someBinaryFLOATComparisonOperation at line 107, overapproximation of someBinaryFLOATComparisonOperation at line 118, overapproximation of someBinaryFLOATComparisonOperation at line 109, overapproximation of someBinaryFLOATComparisonOperation at line 111, overapproximation of someBinaryArithmeticFLOAToperation at line 56, overapproximation of someBinaryArithmeticFLOAToperation at line 60. Possible FailurePath: [L21] unsigned char isInitial = 0; [L22] unsigned char var_1_1 = 5; [L23] unsigned char var_1_2 = 0; [L24] unsigned char var_1_3 = 128; [L25] unsigned char var_1_4 = 2; [L26] unsigned char var_1_5 = 2; [L27] unsigned char var_1_6 = 32; [L28] unsigned short int var_1_8 = 100; [L29] float var_1_9 = 255.75; [L30] signed char var_1_10 = 64; [L31] signed char var_1_11 = 32; [L32] signed char var_1_12 = 4; [L33] float var_1_13 = 0.0; [L34] float var_1_14 = 7.25; [L35] float var_1_15 = 8.125; [L36] float var_1_16 = 24.5; [L37] signed short int var_1_17 = -256; [L38] double var_1_18 = 31.5; [L39] unsigned char last_1_var_1_6 = 32; [L40] unsigned short int last_1_var_1_8 = 100; [L122] isInitial = 1 [L123] FCALL initially() [L124] COND TRUE 1 [L125] CALL updateLastVariables() [L114] last_1_var_1_6 = var_1_6 [L115] last_1_var_1_8 = var_1_8 [L125] RET updateLastVariables() [L126] CALL updateVariables() [L85] var_1_2 = __VERIFIER_nondet_uchar() [L86] CALL assume_abort_if_not(var_1_2 >= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_3=128, var_1_4=2, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_3=128, var_1_4=2, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L86] RET assume_abort_if_not(var_1_2 >= 0) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_3=128, var_1_4=2, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L87] CALL assume_abort_if_not(var_1_2 <= 1) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=128, var_1_4=2, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=128, var_1_4=2, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L87] RET assume_abort_if_not(var_1_2 <= 1) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=128, var_1_4=2, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L88] var_1_3 = __VERIFIER_nondet_uchar() [L89] CALL assume_abort_if_not(var_1_3 >= 127) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=2, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=2, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L89] RET assume_abort_if_not(var_1_3 >= 127) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=2, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L90] CALL assume_abort_if_not(var_1_3 <= 254) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=2, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=2, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L90] RET assume_abort_if_not(var_1_3 <= 254) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=2, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L91] var_1_4 = __VERIFIER_nondet_uchar() [L92] CALL assume_abort_if_not(var_1_4 >= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L92] RET assume_abort_if_not(var_1_4 >= 0) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L93] CALL assume_abort_if_not(var_1_4 <= 127) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L93] RET assume_abort_if_not(var_1_4 <= 127) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=2, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L94] var_1_5 = __VERIFIER_nondet_uchar() [L95] CALL assume_abort_if_not(var_1_5 >= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L95] RET assume_abort_if_not(var_1_5 >= 0) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L96] CALL assume_abort_if_not(var_1_5 <= 127) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L96] RET assume_abort_if_not(var_1_5 <= 127) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=64, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L97] var_1_10 = __VERIFIER_nondet_char() [L98] CALL assume_abort_if_not(var_1_10 >= 63) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L98] RET assume_abort_if_not(var_1_10 >= 63) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L99] CALL assume_abort_if_not(var_1_10 <= 127) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L99] RET assume_abort_if_not(var_1_10 <= 127) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=32, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L100] var_1_11 = __VERIFIER_nondet_char() [L101] CALL assume_abort_if_not(var_1_11 >= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L101] RET assume_abort_if_not(var_1_11 >= 0) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L102] CALL assume_abort_if_not(var_1_11 <= 64) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L102] RET assume_abort_if_not(var_1_11 <= 64) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=4, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L103] var_1_12 = __VERIFIER_nondet_char() [L104] CALL assume_abort_if_not(var_1_12 >= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L104] RET assume_abort_if_not(var_1_12 >= 0) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L105] CALL assume_abort_if_not(var_1_12 <= 63) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L105] RET assume_abort_if_not(var_1_12 <= 63) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_13=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L106] var_1_13 = __VERIFIER_nondet_float() [L107] CALL assume_abort_if_not((var_1_13 >= 4611686.018427382800e+12F && var_1_13 <= -1.0e-20F) || (var_1_13 <= 9223372.036854765600e+12F && var_1_13 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L107] RET assume_abort_if_not((var_1_13 >= 4611686.018427382800e+12F && var_1_13 <= -1.0e-20F) || (var_1_13 <= 9223372.036854765600e+12F && var_1_13 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_14=29/4, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L108] var_1_14 = __VERIFIER_nondet_float() [L109] CALL assume_abort_if_not((var_1_14 >= 0.0F && var_1_14 <= -1.0e-20F) || (var_1_14 <= 4611686.018427382800e+12F && var_1_14 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L109] RET assume_abort_if_not((var_1_14 >= 0.0F && var_1_14 <= -1.0e-20F) || (var_1_14 <= 4611686.018427382800e+12F && var_1_14 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_15=65/8, var_1_16=49/2, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L110] var_1_16 = __VERIFIER_nondet_float() [L111] CALL assume_abort_if_not((var_1_16 >= -461168.6018427382800e+13F && var_1_16 <= -1.0e-20F) || (var_1_16 <= 4611686.018427382800e+12F && var_1_16 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_15=65/8, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_15=65/8, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L111] RET assume_abort_if_not((var_1_16 >= -461168.6018427382800e+13F && var_1_16 <= -1.0e-20F) || (var_1_16 <= 4611686.018427382800e+12F && var_1_16 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_15=65/8, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L126] RET updateVariables() [L127] CALL step() [L44] signed long int stepLocal_0 = 64 + (var_1_5 / var_1_3); VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, stepLocal_0=64, var_1_10=127, var_1_11=0, var_1_12=0, var_1_15=65/8, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=32, var_1_8=100, var_1_9=1023/4] [L45] COND TRUE stepLocal_0 != (last_1_var_1_8 - (var_1_4 + last_1_var_1_6)) [L46] var_1_6 = var_1_4 VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_15=65/8, var_1_17=-256, var_1_18=63/2, var_1_1=5, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=261, var_1_8=100, var_1_9=1023/4] [L50] COND TRUE \read(var_1_2) [L51] var_1_1 = (var_1_3 - var_1_4) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_15=65/8, var_1_17=-256, var_1_18=63/2, var_1_1=123, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=261, var_1_8=100, var_1_9=1023/4] [L55] COND TRUE ((var_1_10 - var_1_11) - (16 + var_1_12)) != var_1_5 [L56] var_1_9 = (64.8f - (var_1_13 - var_1_14)) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_15=65/8, var_1_17=-256, var_1_18=63/2, var_1_1=123, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=261, var_1_8=100] [L60] var_1_15 = (var_1_14 + var_1_16) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_17=-256, var_1_18=63/2, var_1_1=123, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=261, var_1_8=100] [L61] COND TRUE \read(var_1_2) [L62] var_1_17 = (var_1_3 + var_1_12) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_17=128, var_1_18=63/2, var_1_1=123, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=261, var_1_8=100] [L70] COND FALSE !((var_1_2 || (var_1_16 > var_1_13)) && (var_1_3 < var_1_1)) [L75] var_1_18 = var_1_16 VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_16=2, var_1_17=128, var_1_18=2, var_1_1=123, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=261, var_1_8=100] [L77] signed long int stepLocal_1 = var_1_3 - var_1_5; VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, stepLocal_1=18, var_1_10=127, var_1_11=0, var_1_12=0, var_1_16=2, var_1_17=128, var_1_18=2, var_1_1=123, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=261, var_1_8=100] [L78] COND TRUE (var_1_17 + var_1_6) >= stepLocal_1 [L79] var_1_8 = ((((var_1_6) > (var_1_3)) ? (var_1_6) : (var_1_3))) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_16=2, var_1_17=128, var_1_18=2, var_1_1=123, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=261, var_1_8=128] [L127] RET step() [L128] CALL, EXPR property() [L118] EXPR ((((((var_1_2 ? (var_1_1 == ((unsigned char) (var_1_3 - var_1_4))) : (var_1_1 == ((unsigned char) (var_1_4 + var_1_5)))) && (((64 + (var_1_5 / var_1_3)) != (last_1_var_1_8 - (var_1_4 + last_1_var_1_6))) ? (var_1_6 == ((unsigned char) var_1_4)) : (var_1_6 == ((unsigned char) 128)))) && (((var_1_17 + var_1_6) >= (var_1_3 - var_1_5)) ? (var_1_8 == ((unsigned short int) ((((var_1_6) > (var_1_3)) ? (var_1_6) : (var_1_3))))) : (var_1_8 == ((unsigned short int) var_1_6)))) && ((((var_1_10 - var_1_11) - (16 + var_1_12)) != var_1_5) ? (var_1_9 == ((float) (64.8f - (var_1_13 - var_1_14)))) : (var_1_9 == ((float) var_1_13)))) && (var_1_15 == ((float) (var_1_14 + var_1_16)))) && (var_1_2 ? (var_1_17 == ((signed short int) (var_1_3 + var_1_12))) : ((var_1_14 == (((((99.8f) < (var_1_16)) ? (99.8f) : (var_1_16))) / ((((255.6f) > (var_1_13)) ? (255.6f) : (var_1_13))))) ? (var_1_17 == ((signed short int) var_1_4)) : (var_1_17 == ((signed short int) (var_1_5 - var_1_3)))))) && (((var_1_2 || (var_1_16 > var_1_13)) && (var_1_3 < var_1_1)) ? (((var_1_11 << var_1_12) > var_1_5) ? (var_1_18 == ((double) var_1_13)) : 1) : (var_1_18 == ((double) var_1_16))) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_16=2, var_1_17=128, var_1_18=2, var_1_1=123, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=261, var_1_8=128] [L118-L119] return ((((((var_1_2 ? (var_1_1 == ((unsigned char) (var_1_3 - var_1_4))) : (var_1_1 == ((unsigned char) (var_1_4 + var_1_5)))) && (((64 + (var_1_5 / var_1_3)) != (last_1_var_1_8 - (var_1_4 + last_1_var_1_6))) ? (var_1_6 == ((unsigned char) var_1_4)) : (var_1_6 == ((unsigned char) 128)))) && (((var_1_17 + var_1_6) >= (var_1_3 - var_1_5)) ? (var_1_8 == ((unsigned short int) ((((var_1_6) > (var_1_3)) ? (var_1_6) : (var_1_3))))) : (var_1_8 == ((unsigned short int) var_1_6)))) && ((((var_1_10 - var_1_11) - (16 + var_1_12)) != var_1_5) ? (var_1_9 == ((float) (64.8f - (var_1_13 - var_1_14)))) : (var_1_9 == ((float) var_1_13)))) && (var_1_15 == ((float) (var_1_14 + var_1_16)))) && (var_1_2 ? (var_1_17 == ((signed short int) (var_1_3 + var_1_12))) : ((var_1_14 == (((((99.8f) < (var_1_16)) ? (99.8f) : (var_1_16))) / ((((255.6f) > (var_1_13)) ? (255.6f) : (var_1_13))))) ? (var_1_17 == ((signed short int) var_1_4)) : (var_1_17 == ((signed short int) (var_1_5 - var_1_3)))))) && (((var_1_2 || (var_1_16 > var_1_13)) && (var_1_3 < var_1_1)) ? (((var_1_11 << var_1_12) > var_1_5) ? (var_1_18 == ((double) var_1_13)) : 1) : (var_1_18 == ((double) var_1_16))) ; [L128] RET, EXPR property() [L128] CALL __VERIFIER_assert(property()) [L19] COND TRUE !(cond) VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_16=2, var_1_17=128, var_1_18=2, var_1_1=123, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=261, var_1_8=128] [L19] reach_error() VAL [isInitial=1, last_1_var_1_6=32, last_1_var_1_8=100, var_1_10=127, var_1_11=0, var_1_12=0, var_1_16=2, var_1_17=128, var_1_18=2, var_1_1=123, var_1_2=1, var_1_3=-128, var_1_4=261, var_1_5=-146, var_1_6=261, var_1_8=128] - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 60 locations, 107 edges, 1 error locations. Started 1 CEGAR loops. OverallTime: 1.3s, OverallIterations: 2, TraceHistogramMax: 17, 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, 84 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, 84 mSDtfsCounter, 2 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 112 GetRequests, 112 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=60occurred 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.1s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 0.1s InterpolantComputationTime, 444 NumberOfCodeBlocks, 444 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 220 ConstructedInterpolants, 0 QuantifiedInterpolants, 220 SizeOfPredicates, 0 NumberOfNonLiveVariables, 266 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 1056/1088 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-03-17 03:59:23,184 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/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/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_50-while_file-20.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/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 6b73840d19e187c8c8ac40e482077fa0b5cb06b59f94c68bcca614ae11ecdd98 --- Real Ultimate output --- This is Ultimate 0.3.0-?-8fc3dc6-m [2025-03-17 03:59:25,009 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-03-17 03:59:25,089 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2025-03-17 03:59:25,099 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-03-17 03:59:25,099 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-03-17 03:59:25,121 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-03-17 03:59:25,123 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-03-17 03:59:25,123 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-03-17 03:59:25,123 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-03-17 03:59:25,124 INFO L153 SettingsManager]: * Use memory slicer=true [2025-03-17 03:59:25,124 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-03-17 03:59:25,124 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-03-17 03:59:25,124 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-03-17 03:59:25,125 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-03-17 03:59:25,125 INFO L153 SettingsManager]: * Use SBE=true [2025-03-17 03:59:25,125 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-03-17 03:59:25,125 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-03-17 03:59:25,125 INFO L153 SettingsManager]: * sizeof long=4 [2025-03-17 03:59:25,125 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-03-17 03:59:25,126 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-03-17 03:59:25,126 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-03-17 03:59:25,126 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-03-17 03:59:25,126 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-03-17 03:59:25,126 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-03-17 03:59:25,126 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-03-17 03:59:25,126 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-03-17 03:59:25,126 INFO L153 SettingsManager]: * sizeof long double=12 [2025-03-17 03:59:25,126 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-03-17 03:59:25,126 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-03-17 03:59:25,126 INFO L153 SettingsManager]: * Use constant arrays=true [2025-03-17 03:59:25,127 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-03-17 03:59:25,127 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-03-17 03:59:25,127 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-03-17 03:59:25,127 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-03-17 03:59:25,127 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-17 03:59:25,127 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-03-17 03:59:25,127 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-03-17 03:59:25,128 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-03-17 03:59:25,128 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-03-17 03:59:25,128 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-03-17 03:59:25,128 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-03-17 03:59:25,128 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-03-17 03:59:25,128 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-03-17 03:59:25,128 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-03-17 03:59:25,128 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-03-17 03:59:25,128 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/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 -> 6b73840d19e187c8c8ac40e482077fa0b5cb06b59f94c68bcca614ae11ecdd98 [2025-03-17 03:59:25,380 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-03-17 03:59:25,386 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-03-17 03:59:25,389 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-03-17 03:59:25,391 INFO L270 PluginConnector]: Initializing CDTParser... [2025-03-17 03:59:25,391 INFO L274 PluginConnector]: CDTParser initialized [2025-03-17 03:59:25,392 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_50-while_file-20.i [2025-03-17 03:59:26,543 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fbbb8ef67/f207fa543a4b431f843d4153bdc2e678/FLAGe709b3a11 [2025-03-17 03:59:26,746 INFO L384 CDTParser]: Found 1 translation units. [2025-03-17 03:59:26,747 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_50-while_file-20.i [2025-03-17 03:59:26,754 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fbbb8ef67/f207fa543a4b431f843d4153bdc2e678/FLAGe709b3a11 [2025-03-17 03:59:27,112 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fbbb8ef67/f207fa543a4b431f843d4153bdc2e678 [2025-03-17 03:59:27,114 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-03-17 03:59:27,115 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-03-17 03:59:27,116 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-03-17 03:59:27,116 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-03-17 03:59:27,119 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-03-17 03:59:27,119 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.03 03:59:27" (1/1) ... [2025-03-17 03:59:27,120 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4718f4af and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:27, skipping insertion in model container [2025-03-17 03:59:27,120 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.03 03:59:27" (1/1) ... [2025-03-17 03:59:27,131 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-03-17 03:59:27,224 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_50-while_file-20.i[915,928] [2025-03-17 03:59:27,259 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-17 03:59:27,270 INFO L200 MainTranslator]: Completed pre-run [2025-03-17 03:59:27,277 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_50-while_file-20.i[915,928] [2025-03-17 03:59:27,292 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-17 03:59:27,308 INFO L204 MainTranslator]: Completed translation [2025-03-17 03:59:27,309 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:27 WrapperNode [2025-03-17 03:59:27,309 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-03-17 03:59:27,310 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-03-17 03:59:27,310 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-03-17 03:59:27,311 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-03-17 03:59:27,316 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:27" (1/1) ... [2025-03-17 03:59:27,328 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:27" (1/1) ... [2025-03-17 03:59:27,350 INFO L138 Inliner]: procedures = 27, calls = 30, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 123 [2025-03-17 03:59:27,353 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-03-17 03:59:27,353 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-03-17 03:59:27,353 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-03-17 03:59:27,353 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-03-17 03:59:27,359 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:27" (1/1) ... [2025-03-17 03:59:27,359 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:27" (1/1) ... [2025-03-17 03:59:27,361 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:27" (1/1) ... [2025-03-17 03:59:27,372 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-03-17 03:59:27,372 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:27" (1/1) ... [2025-03-17 03:59:27,373 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:27" (1/1) ... [2025-03-17 03:59:27,378 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:27" (1/1) ... [2025-03-17 03:59:27,383 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:27" (1/1) ... [2025-03-17 03:59:27,389 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:27" (1/1) ... [2025-03-17 03:59:27,390 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:27" (1/1) ... [2025-03-17 03:59:27,392 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-03-17 03:59:27,396 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-03-17 03:59:27,396 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-03-17 03:59:27,396 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-03-17 03:59:27,397 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:27" (1/1) ... [2025-03-17 03:59:27,402 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-17 03:59:27,412 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 03:59:27,424 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-03-17 03:59:27,427 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-03-17 03:59:27,447 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-03-17 03:59:27,448 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-03-17 03:59:27,449 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-03-17 03:59:27,449 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-03-17 03:59:27,449 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-03-17 03:59:27,449 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-03-17 03:59:27,511 INFO L256 CfgBuilder]: Building ICFG [2025-03-17 03:59:27,512 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2025-03-17 03:59:33,550 INFO L? ?]: Removed 10 outVars from TransFormulas that were not future-live. [2025-03-17 03:59:33,550 INFO L307 CfgBuilder]: Performing block encoding [2025-03-17 03:59:33,560 INFO L331 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-03-17 03:59:33,560 INFO L336 CfgBuilder]: Removed 0 assume(true) statements. [2025-03-17 03:59:33,561 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 17.03 03:59:33 BoogieIcfgContainer [2025-03-17 03:59:33,561 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-03-17 03:59:33,562 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-03-17 03:59:33,562 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-03-17 03:59:33,566 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-03-17 03:59:33,566 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 17.03 03:59:27" (1/3) ... [2025-03-17 03:59:33,566 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1cf8cd91 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.03 03:59:33, skipping insertion in model container [2025-03-17 03:59:33,566 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 03:59:27" (2/3) ... [2025-03-17 03:59:33,566 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1cf8cd91 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.03 03:59:33, skipping insertion in model container [2025-03-17 03:59:33,566 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 17.03 03:59:33" (3/3) ... [2025-03-17 03:59:33,567 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_loopvsstraightlinecode_50-while_file-20.i [2025-03-17 03:59:33,576 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-03-17 03:59:33,578 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_loopvsstraightlinecode_50-while_file-20.i that has 2 procedures, 50 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-03-17 03:59:33,620 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-03-17 03:59:33,628 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;@6577b9b4, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-03-17 03:59:33,628 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-03-17 03:59:33,630 INFO L276 IsEmpty]: Start isEmpty. Operand has 50 states, 30 states have (on average 1.4) internal successors, (42), 31 states have internal predecessors, (42), 17 states have call successors, (17), 1 states have call predecessors, (17), 1 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2025-03-17 03:59:33,636 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2025-03-17 03:59:33,636 INFO L210 NwaCegarLoop]: Found error trace [2025-03-17 03:59:33,637 INFO L218 NwaCegarLoop]: trace histogram [17, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-03-17 03:59:33,637 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-03-17 03:59:33,640 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 03:59:33,640 INFO L85 PathProgramCache]: Analyzing trace with hash -661901492, now seen corresponding path program 1 times [2025-03-17 03:59:33,651 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-03-17 03:59:33,652 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [193780478] [2025-03-17 03:59:33,652 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 03:59:33,652 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-03-17 03:59:33,652 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2025-03-17 03:59:33,654 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/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-03-17 03:59:33,655 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/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-03-17 03:59:33,725 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 108 statements into 1 equivalence classes. [2025-03-17 03:59:33,964 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 108 of 108 statements. [2025-03-17 03:59:33,964 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 03:59:33,965 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 03:59:33,975 INFO L256 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-03-17 03:59:33,980 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 03:59:34,024 INFO L134 CoverageAnalysis]: Checked inductivity of 544 backedges. 252 proven. 0 refuted. 0 times theorem prover too weak. 292 trivial. 0 not checked. [2025-03-17 03:59:34,025 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-03-17 03:59:34,025 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-03-17 03:59:34,025 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [193780478] [2025-03-17 03:59:34,025 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [193780478] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-17 03:59:34,025 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-17 03:59:34,026 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-03-17 03:59:34,027 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [541169614] [2025-03-17 03:59:34,027 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-17 03:59:34,030 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-03-17 03:59:34,030 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-03-17 03:59:34,042 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-03-17 03:59:34,042 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-03-17 03:59:34,043 INFO L87 Difference]: Start difference. First operand has 50 states, 30 states have (on average 1.4) internal successors, (42), 31 states have internal predecessors, (42), 17 states have call successors, (17), 1 states have call predecessors, (17), 1 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) 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, (17), 2 states have call predecessors, (17), 2 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) [2025-03-17 03:59:34,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 03:59:34,063 INFO L93 Difference]: Finished difference Result 97 states and 167 transitions. [2025-03-17 03:59:34,063 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-03-17 03:59:34,065 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, (17), 2 states have call predecessors, (17), 2 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) Word has length 108 [2025-03-17 03:59:34,065 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-03-17 03:59:34,069 INFO L225 Difference]: With dead ends: 97 [2025-03-17 03:59:34,070 INFO L226 Difference]: Without dead ends: 48 [2025-03-17 03:59:34,072 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-03-17 03:59:34,076 INFO L435 NwaCegarLoop]: 72 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, 72 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-03-17 03:59:34,076 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 72 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-03-17 03:59:34,086 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2025-03-17 03:59:34,102 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 48. [2025-03-17 03:59:34,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 29 states have internal predecessors, (38), 17 states have call successors, (17), 1 states have call predecessors, (17), 1 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2025-03-17 03:59:34,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 72 transitions. [2025-03-17 03:59:34,110 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 72 transitions. Word has length 108 [2025-03-17 03:59:34,112 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-03-17 03:59:34,112 INFO L471 AbstractCegarLoop]: Abstraction has 48 states and 72 transitions. [2025-03-17 03:59:34,112 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, (17), 2 states have call predecessors, (17), 2 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) [2025-03-17 03:59:34,112 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 72 transitions. [2025-03-17 03:59:34,114 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2025-03-17 03:59:34,115 INFO L210 NwaCegarLoop]: Found error trace [2025-03-17 03:59:34,115 INFO L218 NwaCegarLoop]: trace histogram [17, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-03-17 03:59:34,127 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (2)] Ended with exit code 0 [2025-03-17 03:59:34,316 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/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-03-17 03:59:34,316 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-03-17 03:59:34,317 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 03:59:34,317 INFO L85 PathProgramCache]: Analyzing trace with hash 1447912559, now seen corresponding path program 1 times [2025-03-17 03:59:34,318 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-03-17 03:59:34,318 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [800266186] [2025-03-17 03:59:34,318 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 03:59:34,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-03-17 03:59:34,318 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2025-03-17 03:59:34,320 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/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-03-17 03:59:34,321 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/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-03-17 03:59:34,364 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 108 statements into 1 equivalence classes. [2025-03-17 03:59:34,744 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 108 of 108 statements. [2025-03-17 03:59:34,744 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 03:59:34,744 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 03:59:34,764 INFO L256 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 53 conjuncts are in the unsatisfiable core [2025-03-17 03:59:34,783 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 04:00:08,113 WARN L286 SmtUtils]: Spent 8.18s on a formula simplification that was a NOOP. DAG size: 81 (called from [L 388] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2025-03-17 04:00:50,620 WARN L286 SmtUtils]: Spent 16.11s on a formula simplification that was a NOOP. DAG size: 84 (called from [L 388] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)