./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-66.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version c00e63dc Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-66.i -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash bf87e1196d75253bcac685a2c2730327c9154a0ef878663ed8ae9aa04b751e94 --- Real Ultimate output --- This is Ultimate 0.3.0-?-c00e63d-m [2025-02-06 01:26:37,220 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-02-06 01:26:37,275 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-02-06 01:26:37,281 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-02-06 01:26:37,281 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-02-06 01:26:37,299 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-02-06 01:26:37,300 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-02-06 01:26:37,300 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-02-06 01:26:37,300 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-02-06 01:26:37,300 INFO L153 SettingsManager]: * Use memory slicer=true [2025-02-06 01:26:37,300 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-02-06 01:26:37,300 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-02-06 01:26:37,301 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-02-06 01:26:37,301 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-02-06 01:26:37,301 INFO L153 SettingsManager]: * Use SBE=true [2025-02-06 01:26:37,301 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-02-06 01:26:37,301 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-02-06 01:26:37,301 INFO L153 SettingsManager]: * sizeof long=4 [2025-02-06 01:26:37,301 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-02-06 01:26:37,301 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-02-06 01:26:37,301 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-02-06 01:26:37,301 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-02-06 01:26:37,301 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-02-06 01:26:37,302 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-02-06 01:26:37,302 INFO L153 SettingsManager]: * sizeof long double=12 [2025-02-06 01:26:37,302 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-02-06 01:26:37,302 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-02-06 01:26:37,302 INFO L153 SettingsManager]: * Use constant arrays=true [2025-02-06 01:26:37,302 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-02-06 01:26:37,302 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-02-06 01:26:37,302 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-02-06 01:26:37,302 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-02-06 01:26:37,302 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-06 01:26:37,302 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-02-06 01:26:37,303 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-02-06 01:26:37,303 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-02-06 01:26:37,303 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-02-06 01:26:37,303 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-02-06 01:26:37,303 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-02-06 01:26:37,303 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-02-06 01:26:37,303 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-02-06 01:26:37,303 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-02-06 01:26:37,303 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-02-06 01:26:37,303 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> bf87e1196d75253bcac685a2c2730327c9154a0ef878663ed8ae9aa04b751e94 [2025-02-06 01:26:37,578 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-02-06 01:26:37,584 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-02-06 01:26:37,585 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-02-06 01:26:37,586 INFO L270 PluginConnector]: Initializing CDTParser... [2025-02-06 01:26:37,586 INFO L274 PluginConnector]: CDTParser initialized [2025-02-06 01:26:37,587 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-66.i [2025-02-06 01:26:38,809 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/e4d52344c/317f973052504238ac6425870ed506f6/FLAGe60a6865d [2025-02-06 01:26:39,040 INFO L384 CDTParser]: Found 1 translation units. [2025-02-06 01:26:39,040 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-66.i [2025-02-06 01:26:39,045 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/e4d52344c/317f973052504238ac6425870ed506f6/FLAGe60a6865d [2025-02-06 01:26:39,357 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/e4d52344c/317f973052504238ac6425870ed506f6 [2025-02-06 01:26:39,358 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-02-06 01:26:39,359 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-02-06 01:26:39,360 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-02-06 01:26:39,360 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-02-06 01:26:39,363 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-02-06 01:26:39,363 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.02 01:26:39" (1/1) ... [2025-02-06 01:26:39,364 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4333af9e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:39, skipping insertion in model container [2025-02-06 01:26:39,364 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.02 01:26:39" (1/1) ... [2025-02-06 01:26:39,373 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-02-06 01:26:39,452 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-66.i[915,928] [2025-02-06 01:26:39,473 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-06 01:26:39,483 INFO L200 MainTranslator]: Completed pre-run [2025-02-06 01:26:39,490 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-66.i[915,928] [2025-02-06 01:26:39,506 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-06 01:26:39,521 INFO L204 MainTranslator]: Completed translation [2025-02-06 01:26:39,521 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:39 WrapperNode [2025-02-06 01:26:39,521 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-02-06 01:26:39,523 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-02-06 01:26:39,523 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-02-06 01:26:39,523 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-02-06 01:26:39,527 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:39" (1/1) ... [2025-02-06 01:26:39,535 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:39" (1/1) ... [2025-02-06 01:26:39,552 INFO L138 Inliner]: procedures = 26, calls = 28, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 100 [2025-02-06 01:26:39,552 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-02-06 01:26:39,553 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-02-06 01:26:39,553 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-02-06 01:26:39,553 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-02-06 01:26:39,559 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:39" (1/1) ... [2025-02-06 01:26:39,559 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:39" (1/1) ... [2025-02-06 01:26:39,560 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:39" (1/1) ... [2025-02-06 01:26:39,568 INFO L175 MemorySlicer]: Split 2 memory accesses to 1 slices as follows [2]. 100 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2]. The 0 writes are split as follows [0]. [2025-02-06 01:26:39,569 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:39" (1/1) ... [2025-02-06 01:26:39,569 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:39" (1/1) ... [2025-02-06 01:26:39,573 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:39" (1/1) ... [2025-02-06 01:26:39,573 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:39" (1/1) ... [2025-02-06 01:26:39,574 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:39" (1/1) ... [2025-02-06 01:26:39,575 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:39" (1/1) ... [2025-02-06 01:26:39,576 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-02-06 01:26:39,577 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-02-06 01:26:39,577 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-02-06 01:26:39,577 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-02-06 01:26:39,578 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:39" (1/1) ... [2025-02-06 01:26:39,581 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-06 01:26:39,591 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-06 01:26:39,605 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-02-06 01:26:39,612 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-02-06 01:26:39,623 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-02-06 01:26:39,624 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-02-06 01:26:39,624 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-02-06 01:26:39,624 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-02-06 01:26:39,624 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-02-06 01:26:39,624 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-02-06 01:26:39,671 INFO L257 CfgBuilder]: Building ICFG [2025-02-06 01:26:39,672 INFO L287 CfgBuilder]: Building CFG for each procedure with an implementation [2025-02-06 01:26:39,879 INFO L? ?]: Removed 8 outVars from TransFormulas that were not future-live. [2025-02-06 01:26:39,880 INFO L308 CfgBuilder]: Performing block encoding [2025-02-06 01:26:39,886 INFO L332 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-02-06 01:26:39,886 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-02-06 01:26:39,887 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 06.02 01:26:39 BoogieIcfgContainer [2025-02-06 01:26:39,887 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-02-06 01:26:39,889 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-02-06 01:26:39,889 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-02-06 01:26:39,892 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-02-06 01:26:39,892 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 06.02 01:26:39" (1/3) ... [2025-02-06 01:26:39,892 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@532619dd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 06.02 01:26:39, skipping insertion in model container [2025-02-06 01:26:39,892 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:39" (2/3) ... [2025-02-06 01:26:39,892 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@532619dd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 06.02 01:26:39, skipping insertion in model container [2025-02-06 01:26:39,893 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 06.02 01:26:39" (3/3) ... [2025-02-06 01:26:39,893 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_loopvsstraightlinecode_25-while_file-66.i [2025-02-06 01:26:39,902 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-02-06 01:26:39,907 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_loopvsstraightlinecode_25-while_file-66.i that has 2 procedures, 47 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-02-06 01:26:39,954 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-02-06 01:26:39,964 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;@46c60fa7, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-02-06 01:26:39,965 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-02-06 01:26:39,968 INFO L276 IsEmpty]: Start isEmpty. Operand has 47 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 30 states have internal predecessors, (38), 15 states have call successors, (15), 1 states have call predecessors, (15), 1 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2025-02-06 01:26:39,975 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2025-02-06 01:26:39,975 INFO L210 NwaCegarLoop]: Found error trace [2025-02-06 01:26:39,976 INFO L218 NwaCegarLoop]: trace histogram [15, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-06 01:26:39,976 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-06 01:26:39,980 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-06 01:26:39,980 INFO L85 PathProgramCache]: Analyzing trace with hash 881673775, now seen corresponding path program 1 times [2025-02-06 01:26:39,985 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-06 01:26:39,986 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1743313984] [2025-02-06 01:26:39,986 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-06 01:26:39,986 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-06 01:26:40,047 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 96 statements into 1 equivalence classes. [2025-02-06 01:26:40,059 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 96 of 96 statements. [2025-02-06 01:26:40,059 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-06 01:26:40,059 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-06 01:26:40,130 INFO L134 CoverageAnalysis]: Checked inductivity of 420 backedges. 0 proven. 28 refuted. 0 times theorem prover too weak. 392 trivial. 0 not checked. [2025-02-06 01:26:40,130 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-06 01:26:40,130 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1743313984] [2025-02-06 01:26:40,131 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1743313984] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-06 01:26:40,131 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [148704649] [2025-02-06 01:26:40,131 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-06 01:26:40,131 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-06 01:26:40,131 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-06 01:26:40,133 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-06 01:26:40,139 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-02-06 01:26:40,211 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 96 statements into 1 equivalence classes. [2025-02-06 01:26:40,261 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 96 of 96 statements. [2025-02-06 01:26:40,262 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-06 01:26:40,262 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-06 01:26:40,264 INFO L256 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-02-06 01:26:40,271 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-06 01:26:40,290 INFO L134 CoverageAnalysis]: Checked inductivity of 420 backedges. 28 proven. 0 refuted. 0 times theorem prover too weak. 392 trivial. 0 not checked. [2025-02-06 01:26:40,291 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-02-06 01:26:40,291 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [148704649] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-06 01:26:40,291 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-02-06 01:26:40,291 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-02-06 01:26:40,292 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [540293876] [2025-02-06 01:26:40,293 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-06 01:26:40,296 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-02-06 01:26:40,296 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-06 01:26:40,309 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-02-06 01:26:40,309 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-02-06 01:26:40,311 INFO L87 Difference]: Start difference. First operand has 47 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 30 states have internal predecessors, (38), 15 states have call successors, (15), 1 states have call predecessors, (15), 1 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand has 2 states, 2 states have (on average 13.0) internal successors, (26), 2 states have internal predecessors, (26), 2 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (15), 1 states have call predecessors, (15), 2 states have call successors, (15) [2025-02-06 01:26:40,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-06 01:26:40,329 INFO L93 Difference]: Finished difference Result 88 states and 146 transitions. [2025-02-06 01:26:40,329 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-02-06 01:26:40,330 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 13.0) internal successors, (26), 2 states have internal predecessors, (26), 2 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (15), 1 states have call predecessors, (15), 2 states have call successors, (15) Word has length 96 [2025-02-06 01:26:40,331 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-06 01:26:40,354 INFO L225 Difference]: With dead ends: 88 [2025-02-06 01:26:40,354 INFO L226 Difference]: Without dead ends: 44 [2025-02-06 01:26:40,356 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 97 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-02-06 01:26:40,357 INFO L435 NwaCegarLoop]: 62 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, 62 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2025-02-06 01:26:40,358 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-02-06 01:26:40,366 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2025-02-06 01:26:40,378 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 44. [2025-02-06 01:26:40,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 27 states have internal predecessors, (32), 15 states have call successors, (15), 1 states have call predecessors, (15), 1 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2025-02-06 01:26:40,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 62 transitions. [2025-02-06 01:26:40,389 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 62 transitions. Word has length 96 [2025-02-06 01:26:40,390 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-06 01:26:40,390 INFO L471 AbstractCegarLoop]: Abstraction has 44 states and 62 transitions. [2025-02-06 01:26:40,390 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 13.0) internal successors, (26), 2 states have internal predecessors, (26), 2 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (15), 1 states have call predecessors, (15), 2 states have call successors, (15) [2025-02-06 01:26:40,390 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 62 transitions. [2025-02-06 01:26:40,392 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2025-02-06 01:26:40,395 INFO L210 NwaCegarLoop]: Found error trace [2025-02-06 01:26:40,395 INFO L218 NwaCegarLoop]: trace histogram [15, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-06 01:26:40,402 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2025-02-06 01:26:40,596 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2025-02-06 01:26:40,597 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-06 01:26:40,597 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-06 01:26:40,597 INFO L85 PathProgramCache]: Analyzing trace with hash 386844748, now seen corresponding path program 1 times [2025-02-06 01:26:40,598 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-06 01:26:40,598 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [282872303] [2025-02-06 01:26:40,598 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-06 01:26:40,599 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-06 01:26:40,615 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 96 statements into 1 equivalence classes. [2025-02-06 01:26:40,711 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 96 of 96 statements. [2025-02-06 01:26:40,711 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-06 01:26:40,711 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-02-06 01:26:40,718 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1355674308] [2025-02-06 01:26:40,721 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-06 01:26:40,721 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-06 01:26:40,721 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-06 01:26:40,724 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-06 01:26:40,725 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2025-02-06 01:26:40,780 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 96 statements into 1 equivalence classes. [2025-02-06 01:26:40,828 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 96 of 96 statements. [2025-02-06 01:26:40,828 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-06 01:26:40,828 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-06 01:26:40,828 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-06 01:26:40,845 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 96 statements into 1 equivalence classes. [2025-02-06 01:26:40,867 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 96 of 96 statements. [2025-02-06 01:26:40,867 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-06 01:26:40,867 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-06 01:26:40,908 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-06 01:26:40,908 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-02-06 01:26:40,909 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-02-06 01:26:40,917 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2025-02-06 01:26:41,114 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,3 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-06 01:26:41,117 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1] [2025-02-06 01:26:41,175 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-02-06 01:26:41,177 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 06.02 01:26:41 BoogieIcfgContainer [2025-02-06 01:26:41,179 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-02-06 01:26:41,180 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-02-06 01:26:41,180 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-02-06 01:26:41,180 INFO L274 PluginConnector]: Witness Printer initialized [2025-02-06 01:26:41,181 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 06.02 01:26:39" (3/4) ... [2025-02-06 01:26:41,182 INFO L149 WitnessPrinter]: No result that supports witness generation found [2025-02-06 01:26:41,183 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-02-06 01:26:41,183 INFO L158 Benchmark]: Toolchain (without parser) took 1824.19ms. Allocated memory is still 142.6MB. Free memory was 110.9MB in the beginning and 82.0MB in the end (delta: 28.9MB). Peak memory consumption was 30.3MB. Max. memory is 16.1GB. [2025-02-06 01:26:41,184 INFO L158 Benchmark]: CDTParser took 0.19ms. Allocated memory is still 201.3MB. Free memory is still 125.0MB. There was no memory consumed. Max. memory is 16.1GB. [2025-02-06 01:26:41,184 INFO L158 Benchmark]: CACSL2BoogieTranslator took 162.43ms. Allocated memory is still 142.6MB. Free memory was 110.1MB in the beginning and 98.2MB in the end (delta: 11.9MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-02-06 01:26:41,184 INFO L158 Benchmark]: Boogie Procedure Inliner took 29.70ms. Allocated memory is still 142.6MB. Free memory was 98.2MB in the beginning and 95.1MB in the end (delta: 3.1MB). There was no memory consumed. Max. memory is 16.1GB. [2025-02-06 01:26:41,185 INFO L158 Benchmark]: Boogie Preprocessor took 23.61ms. Allocated memory is still 142.6MB. Free memory was 95.1MB in the beginning and 92.1MB in the end (delta: 3.0MB). There was no memory consumed. Max. memory is 16.1GB. [2025-02-06 01:26:41,185 INFO L158 Benchmark]: IcfgBuilder took 310.18ms. Allocated memory is still 142.6MB. Free memory was 92.1MB in the beginning and 74.5MB in the end (delta: 17.6MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2025-02-06 01:26:41,185 INFO L158 Benchmark]: TraceAbstraction took 1290.77ms. Allocated memory is still 142.6MB. Free memory was 73.8MB in the beginning and 82.0MB in the end (delta: -8.3MB). There was no memory consumed. Max. memory is 16.1GB. [2025-02-06 01:26:41,188 INFO L158 Benchmark]: Witness Printer took 2.82ms. Allocated memory is still 142.6MB. Free memory was 82.0MB in the beginning and 82.0MB in the end (delta: 41.6kB). There was no memory consumed. Max. memory is 16.1GB. [2025-02-06 01:26:41,189 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.19ms. Allocated memory is still 201.3MB. Free memory is still 125.0MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 162.43ms. Allocated memory is still 142.6MB. Free memory was 110.1MB in the beginning and 98.2MB in the end (delta: 11.9MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 29.70ms. Allocated memory is still 142.6MB. Free memory was 98.2MB in the beginning and 95.1MB in the end (delta: 3.1MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 23.61ms. Allocated memory is still 142.6MB. Free memory was 95.1MB in the beginning and 92.1MB in the end (delta: 3.0MB). There was no memory consumed. Max. memory is 16.1GB. * IcfgBuilder took 310.18ms. Allocated memory is still 142.6MB. Free memory was 92.1MB in the beginning and 74.5MB in the end (delta: 17.6MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. * TraceAbstraction took 1290.77ms. Allocated memory is still 142.6MB. Free memory was 73.8MB in the beginning and 82.0MB in the end (delta: -8.3MB). There was no memory consumed. Max. memory is 16.1GB. * Witness Printer took 2.82ms. Allocated memory is still 142.6MB. Free memory was 82.0MB in the beginning and 82.0MB 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 76, overapproximation of someBinaryFLOATComparisonOperation at line 82, overapproximation of someBinaryFLOATComparisonOperation at line 83, overapproximation of someBinaryDOUBLEComparisonOperation at line 80, overapproximation of someBinaryDOUBLEComparisonOperation at line 49, overapproximation of someBinaryDOUBLEComparisonOperation at line 90, overapproximation of someBinaryDOUBLEComparisonOperation at line 78. Possible FailurePath: [L21] unsigned char isInitial = 0; [L22] unsigned short int var_1_1 = 8; [L23] unsigned short int var_1_4 = 4; [L24] unsigned short int var_1_7 = 10000; [L25] unsigned short int var_1_9 = 38382; [L26] unsigned char var_1_10 = 0; [L27] unsigned char var_1_11 = 0; [L28] unsigned char var_1_12 = 100; [L29] double var_1_13 = 5.9; [L30] float var_1_15 = 9.375; [L31] double var_1_16 = 64.75; [L32] double var_1_17 = 99.5; [L33] float var_1_18 = 0.75; [L34] unsigned char last_1_var_1_10 = 0; [L35] double last_1_var_1_13 = 5.9; VAL [isInitial=0, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=4, var_1_7=10000, var_1_9=38382] [L94] isInitial = 1 [L95] FCALL initially() [L96] COND TRUE 1 [L97] CALL updateLastVariables() [L86] last_1_var_1_10 = var_1_10 [L87] last_1_var_1_13 = var_1_13 VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=4, var_1_7=10000, var_1_9=38382] [L97] RET updateLastVariables() [L98] CALL updateVariables() [L60] var_1_4 = __VERIFIER_nondet_ushort() [L61] CALL assume_abort_if_not(var_1_4 >= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_7=10000, var_1_9=38382] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_7=10000, var_1_9=38382] [L61] RET assume_abort_if_not(var_1_4 >= 0) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_7=10000, var_1_9=38382] [L62] CALL assume_abort_if_not(var_1_4 <= 32767) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=10000, var_1_9=38382] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=10000, var_1_9=38382] [L62] RET assume_abort_if_not(var_1_4 <= 32767) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=10000, var_1_9=38382] [L63] var_1_7 = __VERIFIER_nondet_ushort() [L64] CALL assume_abort_if_not(var_1_7 >= 8191) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=38382] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=38382] [L64] RET assume_abort_if_not(var_1_7 >= 8191) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=38382] [L65] CALL assume_abort_if_not(var_1_7 <= 16383) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=38382] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=38382] [L65] RET assume_abort_if_not(var_1_7 <= 16383) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=38382] [L66] var_1_9 = __VERIFIER_nondet_ushort() [L67] CALL assume_abort_if_not(var_1_9 >= 32767) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L67] RET assume_abort_if_not(var_1_9 >= 32767) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L68] CALL assume_abort_if_not(var_1_9 <= 65534) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L68] RET assume_abort_if_not(var_1_9 <= 65534) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L69] var_1_11 = __VERIFIER_nondet_uchar() [L70] CALL assume_abort_if_not(var_1_11 >= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L70] RET assume_abort_if_not(var_1_11 >= 0) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L71] CALL assume_abort_if_not(var_1_11 <= 1) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L71] RET assume_abort_if_not(var_1_11 <= 1) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=100, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L72] var_1_12 = __VERIFIER_nondet_uchar() [L73] CALL assume_abort_if_not(var_1_12 >= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L73] RET assume_abort_if_not(var_1_12 >= 0) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L74] CALL assume_abort_if_not(var_1_12 <= 254) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L74] RET assume_abort_if_not(var_1_12 <= 254) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_15=75/8, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L75] var_1_15 = __VERIFIER_nondet_float() [L76] CALL assume_abort_if_not((var_1_15 >= -922337.2036854776000e+13F && var_1_15 <= -1.0e-20F) || (var_1_15 <= 9223372.036854776000e+12F && var_1_15 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L76] RET assume_abort_if_not((var_1_15 >= -922337.2036854776000e+13F && var_1_15 <= -1.0e-20F) || (var_1_15 <= 9223372.036854776000e+12F && var_1_15 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_16=259/4, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L77] var_1_16 = __VERIFIER_nondet_double() [L78] CALL assume_abort_if_not((var_1_16 >= -922337.2036854765600e+13F && var_1_16 <= -1.0e-20F) || (var_1_16 <= 9223372.036854765600e+12F && var_1_16 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L78] RET assume_abort_if_not((var_1_16 >= -922337.2036854765600e+13F && var_1_16 <= -1.0e-20F) || (var_1_16 <= 9223372.036854765600e+12F && var_1_16 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_17=199/2, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L79] var_1_17 = __VERIFIER_nondet_double() [L80] CALL assume_abort_if_not((var_1_17 >= -922337.2036854765600e+13F && var_1_17 <= -1.0e-20F) || (var_1_17 <= 9223372.036854765600e+12F && var_1_17 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L80] RET assume_abort_if_not((var_1_17 >= -922337.2036854765600e+13F && var_1_17 <= -1.0e-20F) || (var_1_17 <= 9223372.036854765600e+12F && var_1_17 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_18=3/4, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L81] var_1_18 = __VERIFIER_nondet_float() [L82] CALL assume_abort_if_not((var_1_18 >= -922337.2036854776000e+13F && var_1_18 <= -1.0e-20F) || (var_1_18 <= 9223372.036854776000e+12F && var_1_18 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L82] RET assume_abort_if_not((var_1_18 >= -922337.2036854776000e+13F && var_1_18 <= -1.0e-20F) || (var_1_18 <= 9223372.036854776000e+12F && var_1_18 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L83] CALL assume_abort_if_not(var_1_18 != 0.0F) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L83] RET assume_abort_if_not(var_1_18 != 0.0F) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_1=8, var_1_4=0, var_1_7=991231, var_1_9=32767] [L98] RET updateVariables() [L99] CALL step() [L39] COND TRUE last_1_var_1_10 <= last_1_var_1_10 [L40] var_1_1 = (last_1_var_1_10 + ((last_1_var_1_10 + last_1_var_1_10) + (var_1_7 - last_1_var_1_10))) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_1=8191, var_1_4=0, var_1_7=991231, var_1_9=32767] [L44] COND FALSE !(\read(var_1_11)) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=59/10, var_1_1=8191, var_1_4=0, var_1_7=991231, var_1_9=32767] [L49] COND TRUE (last_1_var_1_13 + var_1_15) < 16.75f [L50] var_1_13 = ((((((((2.625) > (var_1_16)) ? (2.625) : (var_1_16)))) < (var_1_17)) ? (((((2.625) > (var_1_16)) ? (2.625) : (var_1_16)))) : (var_1_17))) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=21/8, var_1_16=0, var_1_17=0, var_1_1=8191, var_1_4=0, var_1_7=991231, var_1_9=32767] [L99] RET step() [L100] CALL, EXPR property() [L90-L91] return (((last_1_var_1_10 <= last_1_var_1_10) ? (var_1_1 == ((unsigned short int) (last_1_var_1_10 + ((last_1_var_1_10 + last_1_var_1_10) + (var_1_7 - last_1_var_1_10))))) : (var_1_1 == ((unsigned short int) (var_1_9 - var_1_7)))) && (var_1_11 ? ((((var_1_4 % var_1_9) * var_1_1) >= var_1_7) ? (var_1_10 == ((unsigned char) var_1_12)) : 1) : 1)) && (((last_1_var_1_13 + var_1_15) < 16.75f) ? (var_1_13 == ((double) ((((((((2.625) > (var_1_16)) ? (2.625) : (var_1_16)))) < (var_1_17)) ? (((((2.625) > (var_1_16)) ? (2.625) : (var_1_16)))) : (var_1_17))))) : (((var_1_17 / var_1_18) <= 49.6) ? (var_1_13 == ((double) var_1_17)) : (var_1_13 == ((double) var_1_16)))) ; VAL [\result=0, isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=21/8, var_1_16=0, var_1_17=0, var_1_1=8191, var_1_4=0, var_1_7=991231, var_1_9=32767] [L100] RET, EXPR property() [L100] CALL __VERIFIER_assert(property()) [L19] COND TRUE !(cond) VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=21/8, var_1_16=0, var_1_17=0, var_1_1=8191, var_1_4=0, var_1_7=991231, var_1_9=32767] [L19] reach_error() VAL [isInitial=1, last_1_var_1_10=0, last_1_var_1_13=59/10, var_1_10=0, var_1_11=0, var_1_12=0, var_1_13=21/8, var_1_16=0, var_1_17=0, var_1_1=8191, var_1_4=0, var_1_7=991231, var_1_9=32767] - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 47 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 1.2s, OverallIterations: 2, TraceHistogramMax: 15, 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, 62 SdHoareTripleChecker+Invalid, 0.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 0 mSDsCounter, 0 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 0 IncrementalHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 0 mSolverCounterUnsat, 62 mSDtfsCounter, 0 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 97 GetRequests, 97 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=47occurred in iteration=0, InterpolantAutomatonStates: 2, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 0.1s InterpolantComputationTime, 384 NumberOfCodeBlocks, 384 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 190 ConstructedInterpolants, 0 QuantifiedInterpolants, 190 SizeOfPredicates, 0 NumberOfNonLiveVariables, 223 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 812/840 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available, ConComCheckerStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces [2025-02-06 01:26:41,202 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-66.i -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash bf87e1196d75253bcac685a2c2730327c9154a0ef878663ed8ae9aa04b751e94 --- Real Ultimate output --- This is Ultimate 0.3.0-?-c00e63d-m [2025-02-06 01:26:43,141 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-02-06 01:26:43,209 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2025-02-06 01:26:43,214 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-02-06 01:26:43,214 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-02-06 01:26:43,229 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-02-06 01:26:43,230 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-02-06 01:26:43,230 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-02-06 01:26:43,230 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-02-06 01:26:43,230 INFO L153 SettingsManager]: * Use memory slicer=true [2025-02-06 01:26:43,230 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-02-06 01:26:43,230 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-02-06 01:26:43,231 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-02-06 01:26:43,231 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-02-06 01:26:43,232 INFO L153 SettingsManager]: * Use SBE=true [2025-02-06 01:26:43,232 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-02-06 01:26:43,232 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-02-06 01:26:43,232 INFO L153 SettingsManager]: * sizeof long=4 [2025-02-06 01:26:43,232 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-02-06 01:26:43,232 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-02-06 01:26:43,232 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-02-06 01:26:43,232 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-02-06 01:26:43,232 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-02-06 01:26:43,232 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-02-06 01:26:43,232 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-02-06 01:26:43,232 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-02-06 01:26:43,232 INFO L153 SettingsManager]: * sizeof long double=12 [2025-02-06 01:26:43,232 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-02-06 01:26:43,232 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-02-06 01:26:43,233 INFO L153 SettingsManager]: * Use constant arrays=true [2025-02-06 01:26:43,233 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-02-06 01:26:43,233 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-02-06 01:26:43,233 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-02-06 01:26:43,233 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-02-06 01:26:43,233 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-06 01:26:43,233 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-02-06 01:26:43,233 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-02-06 01:26:43,233 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-02-06 01:26:43,233 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-02-06 01:26:43,233 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-02-06 01:26:43,233 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-02-06 01:26:43,233 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-02-06 01:26:43,233 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-02-06 01:26:43,233 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-02-06 01:26:43,233 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-02-06 01:26:43,233 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> bf87e1196d75253bcac685a2c2730327c9154a0ef878663ed8ae9aa04b751e94 [2025-02-06 01:26:43,466 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-02-06 01:26:43,475 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-02-06 01:26:43,482 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-02-06 01:26:43,483 INFO L270 PluginConnector]: Initializing CDTParser... [2025-02-06 01:26:43,483 INFO L274 PluginConnector]: CDTParser initialized [2025-02-06 01:26:43,484 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-66.i [2025-02-06 01:26:44,721 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/ccdc543e5/95c41444598042cdb0bcc9d4e55580b9/FLAG432ede58c [2025-02-06 01:26:44,911 INFO L384 CDTParser]: Found 1 translation units. [2025-02-06 01:26:44,911 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-66.i [2025-02-06 01:26:44,920 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/ccdc543e5/95c41444598042cdb0bcc9d4e55580b9/FLAG432ede58c [2025-02-06 01:26:45,285 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/ccdc543e5/95c41444598042cdb0bcc9d4e55580b9 [2025-02-06 01:26:45,287 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-02-06 01:26:45,288 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-02-06 01:26:45,289 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-02-06 01:26:45,289 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-02-06 01:26:45,291 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-02-06 01:26:45,292 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.02 01:26:45" (1/1) ... [2025-02-06 01:26:45,292 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7defdf8e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:45, skipping insertion in model container [2025-02-06 01:26:45,292 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.02 01:26:45" (1/1) ... [2025-02-06 01:26:45,302 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-02-06 01:26:45,422 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-66.i[915,928] [2025-02-06 01:26:45,464 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-06 01:26:45,477 INFO L200 MainTranslator]: Completed pre-run [2025-02-06 01:26:45,484 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-66.i[915,928] [2025-02-06 01:26:45,496 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-06 01:26:45,506 INFO L204 MainTranslator]: Completed translation [2025-02-06 01:26:45,506 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:45 WrapperNode [2025-02-06 01:26:45,507 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-02-06 01:26:45,507 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-02-06 01:26:45,507 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-02-06 01:26:45,507 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-02-06 01:26:45,511 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:45" (1/1) ... [2025-02-06 01:26:45,516 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:45" (1/1) ... [2025-02-06 01:26:45,537 INFO L138 Inliner]: procedures = 27, calls = 28, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 100 [2025-02-06 01:26:45,537 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-02-06 01:26:45,538 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-02-06 01:26:45,538 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-02-06 01:26:45,538 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-02-06 01:26:45,550 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:45" (1/1) ... [2025-02-06 01:26:45,550 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:45" (1/1) ... [2025-02-06 01:26:45,552 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:45" (1/1) ... [2025-02-06 01:26:45,568 INFO L175 MemorySlicer]: Split 2 memory accesses to 1 slices as follows [2]. 100 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2]. The 0 writes are split as follows [0]. [2025-02-06 01:26:45,568 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:45" (1/1) ... [2025-02-06 01:26:45,568 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:45" (1/1) ... [2025-02-06 01:26:45,573 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:45" (1/1) ... [2025-02-06 01:26:45,573 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:45" (1/1) ... [2025-02-06 01:26:45,581 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:45" (1/1) ... [2025-02-06 01:26:45,582 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:45" (1/1) ... [2025-02-06 01:26:45,583 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-02-06 01:26:45,584 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-02-06 01:26:45,584 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-02-06 01:26:45,584 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-02-06 01:26:45,585 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:45" (1/1) ... [2025-02-06 01:26:45,591 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-06 01:26:45,600 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-06 01:26:45,612 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-02-06 01:26:45,614 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-02-06 01:26:45,635 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-02-06 01:26:45,635 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-02-06 01:26:45,635 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-02-06 01:26:45,635 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-02-06 01:26:45,635 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-02-06 01:26:45,635 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-02-06 01:26:45,693 INFO L257 CfgBuilder]: Building ICFG [2025-02-06 01:26:45,694 INFO L287 CfgBuilder]: Building CFG for each procedure with an implementation [2025-02-06 01:26:59,434 INFO L? ?]: Removed 8 outVars from TransFormulas that were not future-live. [2025-02-06 01:26:59,434 INFO L308 CfgBuilder]: Performing block encoding [2025-02-06 01:26:59,443 INFO L332 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-02-06 01:26:59,444 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-02-06 01:26:59,444 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 06.02 01:26:59 BoogieIcfgContainer [2025-02-06 01:26:59,444 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-02-06 01:26:59,446 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-02-06 01:26:59,446 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-02-06 01:26:59,448 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-02-06 01:26:59,449 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 06.02 01:26:45" (1/3) ... [2025-02-06 01:26:59,449 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@46df3a35 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 06.02 01:26:59, skipping insertion in model container [2025-02-06 01:26:59,449 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.02 01:26:45" (2/3) ... [2025-02-06 01:26:59,449 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@46df3a35 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 06.02 01:26:59, skipping insertion in model container [2025-02-06 01:26:59,449 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 06.02 01:26:59" (3/3) ... [2025-02-06 01:26:59,450 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_loopvsstraightlinecode_25-while_file-66.i [2025-02-06 01:26:59,458 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-02-06 01:26:59,459 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_loopvsstraightlinecode_25-while_file-66.i that has 2 procedures, 47 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-02-06 01:26:59,511 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-02-06 01:26:59,525 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;@7679bb04, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-02-06 01:26:59,526 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-02-06 01:26:59,528 INFO L276 IsEmpty]: Start isEmpty. Operand has 47 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 30 states have internal predecessors, (38), 15 states have call successors, (15), 1 states have call predecessors, (15), 1 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2025-02-06 01:26:59,533 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2025-02-06 01:26:59,533 INFO L210 NwaCegarLoop]: Found error trace [2025-02-06 01:26:59,533 INFO L218 NwaCegarLoop]: trace histogram [15, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-06 01:26:59,534 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-06 01:26:59,537 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-06 01:26:59,537 INFO L85 PathProgramCache]: Analyzing trace with hash 881673775, now seen corresponding path program 1 times [2025-02-06 01:26:59,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-02-06 01:26:59,544 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [708706013] [2025-02-06 01:26:59,544 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-06 01:26:59,544 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-02-06 01:26:59,544 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-02-06 01:26:59,549 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2025-02-06 01:26:59,552 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2025-02-06 01:26:59,617 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 96 statements into 1 equivalence classes. [2025-02-06 01:27:00,247 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 96 of 96 statements. [2025-02-06 01:27:00,248 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-06 01:27:00,248 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-06 01:27:00,272 INFO L256 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-02-06 01:27:00,279 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-06 01:27:00,318 INFO L134 CoverageAnalysis]: Checked inductivity of 420 backedges. 208 proven. 0 refuted. 0 times theorem prover too weak. 212 trivial. 0 not checked. [2025-02-06 01:27:00,321 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-02-06 01:27:00,322 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-02-06 01:27:00,322 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [708706013] [2025-02-06 01:27:00,322 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [708706013] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-06 01:27:00,322 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-06 01:27:00,322 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-02-06 01:27:00,323 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1916036662] [2025-02-06 01:27:00,324 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-06 01:27:00,327 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-02-06 01:27:00,327 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-02-06 01:27:00,342 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-02-06 01:27:00,343 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-02-06 01:27:00,345 INFO L87 Difference]: Start difference. First operand has 47 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 30 states have internal predecessors, (38), 15 states have call successors, (15), 1 states have call predecessors, (15), 1 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand has 2 states, 2 states have (on average 14.0) internal successors, (28), 2 states have internal predecessors, (28), 2 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (15), 2 states have call predecessors, (15), 2 states have call successors, (15) [2025-02-06 01:27:00,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-06 01:27:00,364 INFO L93 Difference]: Finished difference Result 88 states and 146 transitions. [2025-02-06 01:27:00,365 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-02-06 01:27:00,366 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 14.0) internal successors, (28), 2 states have internal predecessors, (28), 2 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (15), 2 states have call predecessors, (15), 2 states have call successors, (15) Word has length 96 [2025-02-06 01:27:00,366 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-06 01:27:00,371 INFO L225 Difference]: With dead ends: 88 [2025-02-06 01:27:00,371 INFO L226 Difference]: Without dead ends: 44 [2025-02-06 01:27:00,375 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 95 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-02-06 01:27:00,376 INFO L435 NwaCegarLoop]: 62 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, 62 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2025-02-06 01:27:00,377 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-02-06 01:27:00,386 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2025-02-06 01:27:00,416 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 44. [2025-02-06 01:27:00,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 27 states have internal predecessors, (32), 15 states have call successors, (15), 1 states have call predecessors, (15), 1 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2025-02-06 01:27:00,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 62 transitions. [2025-02-06 01:27:00,421 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 62 transitions. Word has length 96 [2025-02-06 01:27:00,421 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-06 01:27:00,421 INFO L471 AbstractCegarLoop]: Abstraction has 44 states and 62 transitions. [2025-02-06 01:27:00,421 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 14.0) internal successors, (28), 2 states have internal predecessors, (28), 2 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (15), 2 states have call predecessors, (15), 2 states have call successors, (15) [2025-02-06 01:27:00,421 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 62 transitions. [2025-02-06 01:27:00,423 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2025-02-06 01:27:00,423 INFO L210 NwaCegarLoop]: Found error trace [2025-02-06 01:27:00,423 INFO L218 NwaCegarLoop]: trace histogram [15, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-06 01:27:00,442 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2025-02-06 01:27:00,624 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-02-06 01:27:00,625 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-06 01:27:00,625 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-06 01:27:00,625 INFO L85 PathProgramCache]: Analyzing trace with hash 386844748, now seen corresponding path program 1 times [2025-02-06 01:27:00,626 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-02-06 01:27:00,626 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1645685133] [2025-02-06 01:27:00,626 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-06 01:27:00,626 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-02-06 01:27:00,626 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-02-06 01:27:00,628 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2025-02-06 01:27:00,630 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2025-02-06 01:27:00,699 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 96 statements into 1 equivalence classes. [2025-02-06 01:27:01,322 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 96 of 96 statements. [2025-02-06 01:27:01,322 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-06 01:27:01,322 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-06 01:27:01,346 INFO L256 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 24 conjuncts are in the unsatisfiable core [2025-02-06 01:27:01,355 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-06 01:27:55,248 WARN L286 SmtUtils]: Spent 6.66s on a formula simplification that was a NOOP. DAG size: 75 (called from [L 388] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)