./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/hardness-nfm22/hardness_variablewrapping_normal_file-65.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 551b0097 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/hardness-nfm22/hardness_variablewrapping_normal_file-65.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 28862f134dfb9731fa78f6a0cfd7be5cd0ae44c8c49bd39e29ecb8fe23dac4e6 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 15:12:39,499 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 15:12:39,541 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-01-09 15:12:39,548 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 15:12:39,549 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 15:12:39,562 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 15:12:39,562 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 15:12:39,563 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 15:12:39,563 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 15:12:39,563 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 15:12:39,563 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 15:12:39,563 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 15:12:39,563 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 15:12:39,563 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 15:12:39,563 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 15:12:39,564 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 15:12:39,564 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 15:12:39,564 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 15:12:39,564 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 15:12:39,564 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 15:12:39,564 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 15:12:39,564 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 15:12:39,564 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 15:12:39,564 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 15:12:39,564 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 15:12:39,564 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 15:12:39,564 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 15:12:39,565 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 15:12:39,565 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 15:12:39,565 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 15:12:39,565 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 15:12:39,565 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 15:12:39,565 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 15:12:39,565 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 15:12:39,565 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 15:12:39,565 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 15:12:39,565 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 15:12:39,565 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 15:12:39,565 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 15:12:39,565 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 15:12:39,566 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 15:12:39,566 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 15:12:39,566 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 15:12:39,566 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 15:12:39,566 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 15:12:39,566 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 15:12:39,566 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 15:12:39,566 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 15:12:39,566 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 -> 28862f134dfb9731fa78f6a0cfd7be5cd0ae44c8c49bd39e29ecb8fe23dac4e6 [2025-01-09 15:12:39,766 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 15:12:39,776 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 15:12:39,777 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 15:12:39,780 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 15:12:39,780 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 15:12:39,781 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_variablewrapping_normal_file-65.i [2025-01-09 15:12:40,879 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/f621aab44/9c8ff610dd304eeb8ea36a8b53587131/FLAG84065281a [2025-01-09 15:12:41,096 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 15:12:41,109 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_variablewrapping_normal_file-65.i [2025-01-09 15:12:41,123 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/f621aab44/9c8ff610dd304eeb8ea36a8b53587131/FLAG84065281a [2025-01-09 15:12:41,446 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/f621aab44/9c8ff610dd304eeb8ea36a8b53587131 [2025-01-09 15:12:41,448 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 15:12:41,450 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 15:12:41,451 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 15:12:41,451 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 15:12:41,454 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 15:12:41,455 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 03:12:41" (1/1) ... [2025-01-09 15:12:41,456 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7237b30b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41, skipping insertion in model container [2025-01-09 15:12:41,456 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 03:12:41" (1/1) ... [2025-01-09 15:12:41,466 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 15:12:41,556 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_variablewrapping_normal_file-65.i[913,926] [2025-01-09 15:12:41,598 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 15:12:41,613 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 15:12:41,624 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_variablewrapping_normal_file-65.i[913,926] [2025-01-09 15:12:41,643 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 15:12:41,653 INFO L204 MainTranslator]: Completed translation [2025-01-09 15:12:41,654 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41 WrapperNode [2025-01-09 15:12:41,654 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 15:12:41,655 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 15:12:41,655 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 15:12:41,655 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 15:12:41,659 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41" (1/1) ... [2025-01-09 15:12:41,666 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41" (1/1) ... [2025-01-09 15:12:41,679 INFO L138 Inliner]: procedures = 26, calls = 24, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 97 [2025-01-09 15:12:41,680 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 15:12:41,682 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 15:12:41,682 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 15:12:41,682 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 15:12:41,692 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41" (1/1) ... [2025-01-09 15:12:41,692 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41" (1/1) ... [2025-01-09 15:12:41,693 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41" (1/1) ... [2025-01-09 15:12:41,701 INFO L175 MemorySlicer]: Split 2 memory accesses to 1 slices as follows [2]. 100 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2]. The 0 writes are split as follows [0]. [2025-01-09 15:12:41,701 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41" (1/1) ... [2025-01-09 15:12:41,702 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41" (1/1) ... [2025-01-09 15:12:41,705 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41" (1/1) ... [2025-01-09 15:12:41,705 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41" (1/1) ... [2025-01-09 15:12:41,707 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41" (1/1) ... [2025-01-09 15:12:41,707 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41" (1/1) ... [2025-01-09 15:12:41,708 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41" (1/1) ... [2025-01-09 15:12:41,709 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 15:12:41,710 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 15:12:41,710 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 15:12:41,710 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 15:12:41,710 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41" (1/1) ... [2025-01-09 15:12:41,714 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 15:12:41,729 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 15:12:41,745 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-01-09 15:12:41,752 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-01-09 15:12:41,767 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 15:12:41,768 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 15:12:41,768 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 15:12:41,768 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-09 15:12:41,768 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 15:12:41,768 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 15:12:41,825 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 15:12:41,826 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 15:12:41,995 INFO L? ?]: Removed 8 outVars from TransFormulas that were not future-live. [2025-01-09 15:12:41,997 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 15:12:42,003 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 15:12:42,004 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 15:12:42,004 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 03:12:42 BoogieIcfgContainer [2025-01-09 15:12:42,005 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 15:12:42,006 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 15:12:42,007 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 15:12:42,010 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 15:12:42,010 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 03:12:41" (1/3) ... [2025-01-09 15:12:42,011 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@774dac9c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 03:12:42, skipping insertion in model container [2025-01-09 15:12:42,011 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:41" (2/3) ... [2025-01-09 15:12:42,012 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@774dac9c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 03:12:42, skipping insertion in model container [2025-01-09 15:12:42,012 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 03:12:42" (3/3) ... [2025-01-09 15:12:42,013 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_variablewrapping_normal_file-65.i [2025-01-09 15:12:42,023 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 15:12:42,024 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_variablewrapping_normal_file-65.i that has 2 procedures, 44 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 15:12:42,056 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 15:12:42,063 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;@7e82e559, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 15:12:42,063 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 15:12:42,065 INFO L276 IsEmpty]: Start isEmpty. Operand has 44 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 31 states have internal predecessors, (40), 11 states have call successors, (11), 1 states have call predecessors, (11), 1 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2025-01-09 15:12:42,070 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2025-01-09 15:12:42,070 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 15:12:42,070 INFO L218 NwaCegarLoop]: trace histogram [11, 11, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 15:12:42,071 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 15:12:42,073 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 15:12:42,073 INFO L85 PathProgramCache]: Analyzing trace with hash -1052862186, now seen corresponding path program 1 times [2025-01-09 15:12:42,078 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 15:12:42,078 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1493299149] [2025-01-09 15:12:42,078 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 15:12:42,079 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 15:12:42,141 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 77 statements into 1 equivalence classes. [2025-01-09 15:12:42,155 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 77 of 77 statements. [2025-01-09 15:12:42,155 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 15:12:42,155 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 15:12:42,247 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 0 proven. 20 refuted. 0 times theorem prover too weak. 200 trivial. 0 not checked. [2025-01-09 15:12:42,248 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 15:12:42,248 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1493299149] [2025-01-09 15:12:42,249 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1493299149] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 15:12:42,249 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [38710920] [2025-01-09 15:12:42,249 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 15:12:42,249 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 15:12:42,249 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 15:12:42,251 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-09 15:12:42,254 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-01-09 15:12:42,323 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 77 statements into 1 equivalence classes. [2025-01-09 15:12:42,364 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 77 of 77 statements. [2025-01-09 15:12:42,365 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 15:12:42,365 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 15:12:42,368 INFO L256 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 15:12:42,372 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 15:12:42,391 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 20 proven. 0 refuted. 0 times theorem prover too weak. 200 trivial. 0 not checked. [2025-01-09 15:12:42,392 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 15:12:42,393 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [38710920] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 15:12:42,393 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-01-09 15:12:42,393 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-01-09 15:12:42,394 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [199253402] [2025-01-09 15:12:42,395 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 15:12:42,398 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 15:12:42,398 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 15:12:42,409 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 15:12:42,409 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 15:12:42,411 INFO L87 Difference]: Start difference. First operand has 44 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 31 states have internal predecessors, (40), 11 states have call successors, (11), 1 states have call predecessors, (11), 1 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 2 states, 2 states have (on average 13.5) internal successors, (27), 2 states have internal predecessors, (27), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (11), 1 states have call predecessors, (11), 2 states have call successors, (11) [2025-01-09 15:12:42,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 15:12:42,423 INFO L93 Difference]: Finished difference Result 82 states and 130 transitions. [2025-01-09 15:12:42,423 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 15:12:42,424 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 13.5) internal successors, (27), 2 states have internal predecessors, (27), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (11), 1 states have call predecessors, (11), 2 states have call successors, (11) Word has length 77 [2025-01-09 15:12:42,424 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 15:12:42,428 INFO L225 Difference]: With dead ends: 82 [2025-01-09 15:12:42,428 INFO L226 Difference]: Without dead ends: 41 [2025-01-09 15:12:42,432 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 78 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 15:12:42,435 INFO L435 NwaCegarLoop]: 57 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, 57 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2025-01-09 15:12:42,435 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 15:12:42,446 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2025-01-09 15:12:42,456 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2025-01-09 15:12:42,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 28 states have (on average 1.25) internal successors, (35), 28 states have internal predecessors, (35), 11 states have call successors, (11), 1 states have call predecessors, (11), 1 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2025-01-09 15:12:42,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 57 transitions. [2025-01-09 15:12:42,463 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 57 transitions. Word has length 77 [2025-01-09 15:12:42,463 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 15:12:42,464 INFO L471 AbstractCegarLoop]: Abstraction has 41 states and 57 transitions. [2025-01-09 15:12:42,464 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 13.5) internal successors, (27), 2 states have internal predecessors, (27), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (11), 1 states have call predecessors, (11), 2 states have call successors, (11) [2025-01-09 15:12:42,464 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 57 transitions. [2025-01-09 15:12:42,466 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2025-01-09 15:12:42,466 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 15:12:42,466 INFO L218 NwaCegarLoop]: trace histogram [11, 11, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 15:12:42,473 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2025-01-09 15:12:42,670 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2025-01-09 15:12:42,670 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 15:12:42,671 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 15:12:42,672 INFO L85 PathProgramCache]: Analyzing trace with hash -1928191776, now seen corresponding path program 1 times [2025-01-09 15:12:42,672 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 15:12:42,672 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1916979156] [2025-01-09 15:12:42,672 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 15:12:42,672 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 15:12:42,696 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 77 statements into 1 equivalence classes. [2025-01-09 15:12:42,761 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 77 of 77 statements. [2025-01-09 15:12:42,762 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 15:12:42,762 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 15:12:42,762 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-09 15:12:42,767 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 77 statements into 1 equivalence classes. [2025-01-09 15:12:42,814 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 77 of 77 statements. [2025-01-09 15:12:42,815 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 15:12:42,815 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 15:12:42,835 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-09 15:12:42,835 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-01-09 15:12:42,836 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-01-09 15:12:42,837 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-01-09 15:12:42,839 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1] [2025-01-09 15:12:42,889 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-01-09 15:12:42,895 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 09.01 03:12:42 BoogieIcfgContainer [2025-01-09 15:12:42,895 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-01-09 15:12:42,896 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-01-09 15:12:42,896 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-01-09 15:12:42,896 INFO L274 PluginConnector]: Witness Printer initialized [2025-01-09 15:12:42,897 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 03:12:42" (3/4) ... [2025-01-09 15:12:42,899 INFO L149 WitnessPrinter]: No result that supports witness generation found [2025-01-09 15:12:42,899 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-01-09 15:12:42,900 INFO L158 Benchmark]: Toolchain (without parser) took 1450.34ms. Allocated memory is still 142.6MB. Free memory was 114.5MB in the beginning and 105.3MB in the end (delta: 9.2MB). Peak memory consumption was 13.8MB. Max. memory is 16.1GB. [2025-01-09 15:12:42,900 INFO L158 Benchmark]: CDTParser took 0.20ms. Allocated memory is still 201.3MB. Free memory is still 122.5MB. There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 15:12:42,900 INFO L158 Benchmark]: CACSL2BoogieTranslator took 203.52ms. Allocated memory is still 142.6MB. Free memory was 114.5MB in the beginning and 102.0MB in the end (delta: 12.5MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-01-09 15:12:42,904 INFO L158 Benchmark]: Boogie Procedure Inliner took 25.79ms. Allocated memory is still 142.6MB. Free memory was 102.0MB in the beginning and 99.7MB in the end (delta: 2.2MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 15:12:42,904 INFO L158 Benchmark]: Boogie Preprocessor took 27.29ms. Allocated memory is still 142.6MB. Free memory was 99.7MB in the beginning and 98.6MB in the end (delta: 1.1MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 15:12:42,904 INFO L158 Benchmark]: RCFGBuilder took 295.29ms. Allocated memory is still 142.6MB. Free memory was 97.5MB in the beginning and 84.1MB in the end (delta: 13.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 15:12:42,905 INFO L158 Benchmark]: TraceAbstraction took 888.63ms. Allocated memory is still 142.6MB. Free memory was 82.9MB in the beginning and 105.3MB in the end (delta: -22.4MB). Peak memory consumption was 47.3MB. Max. memory is 16.1GB. [2025-01-09 15:12:42,905 INFO L158 Benchmark]: Witness Printer took 3.74ms. Allocated memory is still 142.6MB. Free memory was 105.3MB in the beginning and 105.3MB in the end (delta: 41.5kB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 15:12:42,907 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.20ms. Allocated memory is still 201.3MB. Free memory is still 122.5MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 203.52ms. Allocated memory is still 142.6MB. Free memory was 114.5MB in the beginning and 102.0MB in the end (delta: 12.5MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 25.79ms. Allocated memory is still 142.6MB. Free memory was 102.0MB in the beginning and 99.7MB in the end (delta: 2.2MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 27.29ms. Allocated memory is still 142.6MB. Free memory was 99.7MB in the beginning and 98.6MB in the end (delta: 1.1MB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 295.29ms. Allocated memory is still 142.6MB. Free memory was 97.5MB in the beginning and 84.1MB in the end (delta: 13.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * TraceAbstraction took 888.63ms. Allocated memory is still 142.6MB. Free memory was 82.9MB in the beginning and 105.3MB in the end (delta: -22.4MB). Peak memory consumption was 47.3MB. Max. memory is 16.1GB. * Witness Printer took 3.74ms. Allocated memory is still 142.6MB. Free memory was 105.3MB in the beginning and 105.3MB in the end (delta: 41.5kB). There was no memory consumed. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - UnprovableResult [Line: 19]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: overapproximation of someBinaryArithmeticDOUBLEoperation at line 56, overapproximation of someBinaryFLOATComparisonOperation at line 55, overapproximation of someBinaryFLOATComparisonOperation at line 88, overapproximation of someBinaryFLOATComparisonOperation at line 68, overapproximation of someBinaryFLOATComparisonOperation at line 45, overapproximation of someBinaryDOUBLEComparisonOperation at line 70, overapproximation of someBinaryDOUBLEComparisonOperation at line 76, overapproximation of someBinaryDOUBLEComparisonOperation at line 40, overapproximation of someBinaryDOUBLEComparisonOperation at line 74, overapproximation of someBinaryDOUBLEComparisonOperation at line 72, overapproximation of someBinaryDOUBLEComparisonOperation at line 88, overapproximation of someBinaryDOUBLEComparisonOperation at line 59, overapproximation of someUnaryFLOAToperation at line 45. Possible FailurePath: [L21] unsigned char isInitial = 0; [L22] float var_1_1 = 1000000000.1; [L23] unsigned char var_1_3 = 1; [L24] float var_1_4 = 8.2; [L25] signed long int var_1_5 = -32; [L26] double var_1_9 = 100.5; [L27] double var_1_12 = 25.25; [L28] double var_1_13 = 63.6; [L29] double var_1_14 = 0.0; [L30] double var_1_15 = 0.8; [L31] signed char var_1_16 = -8; [L32] signed char var_1_17 = 8; [L33] unsigned short int var_1_18 = 2; [L34] unsigned short int var_1_19 = 50; [L35] unsigned short int var_1_20 = 0; [L36] double last_1_var_1_9 = 100.5; VAL [isInitial=0, last_1_var_1_9=201/2, var_1_12=101/4, var_1_13=318/5, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=1, var_1_4=41/5, var_1_5=-32, var_1_9=201/2] [L92] isInitial = 1 [L93] FCALL initially() [L95] CALL updateLastVariables() [L85] last_1_var_1_9 = var_1_9 VAL [isInitial=1, last_1_var_1_9=201/2, var_1_12=101/4, var_1_13=318/5, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=1, var_1_4=41/5, var_1_5=-32, var_1_9=201/2] [L95] RET updateLastVariables() [L96] CALL updateVariables() [L64] var_1_3 = __VERIFIER_nondet_uchar() [L65] CALL assume_abort_if_not(var_1_3 >= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_12=101/4, var_1_13=318/5, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_4=41/5, var_1_5=-32, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_12=101/4, var_1_13=318/5, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_4=41/5, var_1_5=-32, var_1_9=201/2] [L65] RET assume_abort_if_not(var_1_3 >= 0) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_12=101/4, var_1_13=318/5, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_4=41/5, var_1_5=-32, var_1_9=201/2] [L66] CALL assume_abort_if_not(var_1_3 <= 1) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_12=101/4, var_1_13=318/5, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_4=41/5, var_1_5=-32, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_12=101/4, var_1_13=318/5, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_4=41/5, var_1_5=-32, var_1_9=201/2] [L66] RET assume_abort_if_not(var_1_3 <= 1) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_12=101/4, var_1_13=318/5, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_4=41/5, var_1_5=-32, var_1_9=201/2] [L67] var_1_4 = __VERIFIER_nondet_float() [L68] CALL assume_abort_if_not((var_1_4 >= -922337.2036854765600e+13F && var_1_4 <= -1.0e-20F) || (var_1_4 <= 9223372.036854765600e+12F && var_1_4 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_12=101/4, var_1_13=318/5, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_12=101/4, var_1_13=318/5, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L68] RET assume_abort_if_not((var_1_4 >= -922337.2036854765600e+13F && var_1_4 <= -1.0e-20F) || (var_1_4 <= 9223372.036854765600e+12F && var_1_4 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_12=101/4, var_1_13=318/5, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L69] var_1_12 = __VERIFIER_nondet_double() [L70] CALL assume_abort_if_not((var_1_12 >= 0.0F && var_1_12 <= -1.0e-20F) || (var_1_12 <= 9223372.036854765600e+12F && var_1_12 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_13=318/5, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_13=318/5, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L70] RET assume_abort_if_not((var_1_12 >= 0.0F && var_1_12 <= -1.0e-20F) || (var_1_12 <= 9223372.036854765600e+12F && var_1_12 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_13=318/5, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L71] var_1_13 = __VERIFIER_nondet_double() [L72] CALL assume_abort_if_not((var_1_13 >= 0.0F && var_1_13 <= -1.0e-20F) || (var_1_13 <= 9223372.036854765600e+12F && var_1_13 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L72] RET assume_abort_if_not((var_1_13 >= 0.0F && var_1_13 <= -1.0e-20F) || (var_1_13 <= 9223372.036854765600e+12F && var_1_13 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_14=0, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L73] var_1_14 = __VERIFIER_nondet_double() [L74] CALL assume_abort_if_not((var_1_14 >= 4611686.018427382800e+12F && var_1_14 <= -1.0e-20F) || (var_1_14 <= 9223372.036854765600e+12F && var_1_14 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L74] RET assume_abort_if_not((var_1_14 >= 4611686.018427382800e+12F && var_1_14 <= -1.0e-20F) || (var_1_14 <= 9223372.036854765600e+12F && var_1_14 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_15=4/5, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L75] var_1_15 = __VERIFIER_nondet_double() [L76] CALL assume_abort_if_not((var_1_15 >= 0.0F && var_1_15 <= -1.0e-20F) || (var_1_15 <= 4611686.018427382800e+12F && var_1_15 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L76] RET assume_abort_if_not((var_1_15 >= 0.0F && var_1_15 <= -1.0e-20F) || (var_1_15 <= 4611686.018427382800e+12F && var_1_15 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=8, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L77] var_1_17 = __VERIFIER_nondet_char() [L78] CALL assume_abort_if_not(var_1_17 >= -127) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=-127, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=-127, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L78] RET assume_abort_if_not(var_1_17 >= -127) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=-127, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L79] CALL assume_abort_if_not(var_1_17 <= 126) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=-127, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=-127, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L79] RET assume_abort_if_not(var_1_17 <= 126) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=-127, var_1_18=2, var_1_19=50, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L80] var_1_19 = __VERIFIER_nondet_ushort() [L81] CALL assume_abort_if_not(var_1_19 >= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=-127, var_1_18=2, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=-127, var_1_18=2, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L81] RET assume_abort_if_not(var_1_19 >= 0) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=-127, var_1_18=2, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L82] CALL assume_abort_if_not(var_1_19 <= 65534) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=-127, var_1_18=2, var_1_19=65534, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=-127, var_1_18=2, var_1_19=65534, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L82] RET assume_abort_if_not(var_1_19 <= 65534) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=-127, var_1_18=2, var_1_19=65534, var_1_1=10000000001/10, var_1_20=0, var_1_3=0, var_1_5=-32, var_1_9=201/2] [L96] RET updateVariables() [L97] CALL step() [L40] COND FALSE !(0.625f > last_1_var_1_9) [L45] var_1_1 = ((((var_1_4) < 0 ) ? -(var_1_4) : (var_1_4))) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_16=-8, var_1_17=-127, var_1_18=2, var_1_19=65534, var_1_1=1000000005, var_1_20=0, var_1_3=0, var_1_4=1000000005, var_1_5=-32, var_1_9=201/2] [L47] var_1_16 = var_1_17 [L48] var_1_18 = var_1_19 [L49] var_1_20 = var_1_19 VAL [isInitial=1, last_1_var_1_9=201/2, var_1_16=-127, var_1_17=-127, var_1_18=65534, var_1_19=65534, var_1_1=1000000005, var_1_20=65534, var_1_3=0, var_1_4=1000000005, var_1_5=-32, var_1_9=201/2] [L50] COND FALSE !(\read(var_1_3)) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_16=-127, var_1_17=-127, var_1_18=65534, var_1_19=65534, var_1_1=1000000005, var_1_20=65534, var_1_3=0, var_1_4=1000000005, var_1_5=-32, var_1_9=201/2] [L55] COND TRUE var_1_1 <= var_1_1 [L56] var_1_9 = (var_1_13 - (var_1_14 - var_1_15)) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_16=-127, var_1_17=-127, var_1_18=65534, var_1_19=65534, var_1_1=1000000005, var_1_20=65534, var_1_3=0, var_1_4=1000000005, var_1_5=-32] [L59] COND FALSE !(var_1_4 > var_1_9) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_16=-127, var_1_17=-127, var_1_18=65534, var_1_19=65534, var_1_1=1000000005, var_1_20=65534, var_1_3=0, var_1_4=1000000005, var_1_5=-32] [L97] RET step() [L98] CALL, EXPR property() [L88-L89] return ((((((0.625f > last_1_var_1_9) ? (var_1_3 ? (var_1_1 == ((float) ((((var_1_4) < 0 ) ? -(var_1_4) : (var_1_4))))) : 1) : (var_1_1 == ((float) ((((var_1_4) < 0 ) ? -(var_1_4) : (var_1_4)))))) && ((var_1_4 > var_1_9) ? (var_1_5 == ((signed long int) (((((var_1_20) > (-64)) ? (var_1_20) : (-64))) + ((var_1_20 + -2) + var_1_18)))) : 1)) && (var_1_3 ? ((var_1_20 >= ((var_1_18 - var_1_20) * 64)) ? (var_1_9 == ((double) (((((var_1_12) < (50.5)) ? (var_1_12) : (50.5))) - var_1_13))) : 1) : ((var_1_1 <= var_1_1) ? (var_1_9 == ((double) (var_1_13 - (var_1_14 - var_1_15)))) : 1))) && (var_1_16 == ((signed char) var_1_17))) && (var_1_18 == ((unsigned short int) var_1_19))) && (var_1_20 == ((unsigned short int) var_1_19)) ; VAL [\result=0, isInitial=1, last_1_var_1_9=201/2, var_1_16=-127, var_1_17=-127, var_1_18=65534, var_1_19=65534, var_1_1=1000000005, var_1_20=65534, var_1_3=0, var_1_4=1000000005, var_1_5=-32] [L98] RET, EXPR property() [L98] CALL __VERIFIER_assert(property()) [L19] COND TRUE !(cond) VAL [isInitial=1, last_1_var_1_9=201/2, var_1_16=-127, var_1_17=-127, var_1_18=65534, var_1_19=65534, var_1_1=1000000005, var_1_20=65534, var_1_3=0, var_1_4=1000000005, var_1_5=-32] [L19] reach_error() VAL [isInitial=1, last_1_var_1_9=201/2, var_1_16=-127, var_1_17=-127, var_1_18=65534, var_1_19=65534, var_1_1=1000000005, var_1_20=65534, var_1_3=0, var_1_4=1000000005, var_1_5=-32] - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 44 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 0.8s, OverallIterations: 2, TraceHistogramMax: 11, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 0 SdHoareTripleChecker+Valid, 0.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 0 mSDsluCounter, 57 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, 57 mSDtfsCounter, 0 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 78 GetRequests, 78 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=44occurred in iteration=0, InterpolantAutomatonStates: 2, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 0.1s InterpolantComputationTime, 231 NumberOfCodeBlocks, 231 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 152 ConstructedInterpolants, 0 QuantifiedInterpolants, 152 SizeOfPredicates, 0 NumberOfNonLiveVariables, 193 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 420/440 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available, ConComCheckerStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces [2025-01-09 15:12:42,924 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/hardness-nfm22/hardness_variablewrapping_normal_file-65.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 28862f134dfb9731fa78f6a0cfd7be5cd0ae44c8c49bd39e29ecb8fe23dac4e6 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 15:12:44,840 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 15:12:44,909 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2025-01-09 15:12:44,919 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 15:12:44,919 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 15:12:44,968 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 15:12:44,969 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 15:12:44,969 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 15:12:44,970 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 15:12:44,970 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 15:12:44,970 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 15:12:44,970 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 15:12:44,970 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 15:12:44,970 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 15:12:44,970 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 15:12:44,970 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 15:12:44,970 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 15:12:44,970 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 15:12:44,970 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 15:12:44,970 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 15:12:44,970 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 15:12:44,971 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 15:12:44,971 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 15:12:44,971 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-01-09 15:12:44,971 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-01-09 15:12:44,971 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-01-09 15:12:44,971 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 15:12:44,971 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 15:12:44,971 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 15:12:44,971 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 15:12:44,971 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 15:12:44,971 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 15:12:44,971 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 15:12:44,971 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 15:12:44,971 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 15:12:44,971 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 15:12:44,973 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 15:12:44,973 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 15:12:44,973 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 15:12:44,973 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 15:12:44,973 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 15:12:44,973 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 15:12:44,973 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 15:12:44,973 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 15:12:44,974 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-01-09 15:12:44,974 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-01-09 15:12:44,974 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 15:12:44,974 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 15:12:44,974 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 15:12:44,974 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 15:12:44,974 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 -> 28862f134dfb9731fa78f6a0cfd7be5cd0ae44c8c49bd39e29ecb8fe23dac4e6 [2025-01-09 15:12:45,215 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 15:12:45,224 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 15:12:45,226 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 15:12:45,228 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 15:12:45,228 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 15:12:45,229 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_variablewrapping_normal_file-65.i [2025-01-09 15:12:46,553 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/074a27c69/3af687f3b2ec42aca8e80d0c34e67f81/FLAGa2f6a0863 [2025-01-09 15:12:46,727 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 15:12:46,727 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_variablewrapping_normal_file-65.i [2025-01-09 15:12:46,753 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/074a27c69/3af687f3b2ec42aca8e80d0c34e67f81/FLAGa2f6a0863 [2025-01-09 15:12:46,770 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/074a27c69/3af687f3b2ec42aca8e80d0c34e67f81 [2025-01-09 15:12:46,775 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 15:12:46,776 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 15:12:46,777 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 15:12:46,777 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 15:12:46,781 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 15:12:46,781 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 03:12:46" (1/1) ... [2025-01-09 15:12:46,782 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7d790076 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46, skipping insertion in model container [2025-01-09 15:12:46,782 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 03:12:46" (1/1) ... [2025-01-09 15:12:46,795 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 15:12:46,894 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_variablewrapping_normal_file-65.i[913,926] [2025-01-09 15:12:46,941 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 15:12:46,954 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 15:12:46,961 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_variablewrapping_normal_file-65.i[913,926] [2025-01-09 15:12:46,983 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 15:12:46,998 INFO L204 MainTranslator]: Completed translation [2025-01-09 15:12:46,999 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46 WrapperNode [2025-01-09 15:12:46,999 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 15:12:47,000 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 15:12:47,000 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 15:12:47,000 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 15:12:47,005 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46" (1/1) ... [2025-01-09 15:12:47,014 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46" (1/1) ... [2025-01-09 15:12:47,032 INFO L138 Inliner]: procedures = 27, calls = 24, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 96 [2025-01-09 15:12:47,033 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 15:12:47,033 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 15:12:47,033 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 15:12:47,033 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 15:12:47,039 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46" (1/1) ... [2025-01-09 15:12:47,039 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46" (1/1) ... [2025-01-09 15:12:47,041 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46" (1/1) ... [2025-01-09 15:12:47,048 INFO L175 MemorySlicer]: Split 2 memory accesses to 1 slices as follows [2]. 100 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2]. The 0 writes are split as follows [0]. [2025-01-09 15:12:47,049 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46" (1/1) ... [2025-01-09 15:12:47,049 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46" (1/1) ... [2025-01-09 15:12:47,058 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46" (1/1) ... [2025-01-09 15:12:47,062 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46" (1/1) ... [2025-01-09 15:12:47,064 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46" (1/1) ... [2025-01-09 15:12:47,065 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46" (1/1) ... [2025-01-09 15:12:47,066 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46" (1/1) ... [2025-01-09 15:12:47,070 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 15:12:47,071 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 15:12:47,071 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 15:12:47,071 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 15:12:47,074 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46" (1/1) ... [2025-01-09 15:12:47,078 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 15:12:47,088 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 15:12:47,104 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-01-09 15:12:47,111 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-01-09 15:12:47,128 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 15:12:47,128 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-01-09 15:12:47,128 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 15:12:47,128 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 15:12:47,128 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 15:12:47,128 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 15:12:47,180 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 15:12:47,182 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 15:12:50,551 INFO L? ?]: Removed 8 outVars from TransFormulas that were not future-live. [2025-01-09 15:12:50,551 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 15:12:50,564 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 15:12:50,564 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 15:12:50,564 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 03:12:50 BoogieIcfgContainer [2025-01-09 15:12:50,564 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 15:12:50,566 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 15:12:50,566 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 15:12:50,569 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 15:12:50,570 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 03:12:46" (1/3) ... [2025-01-09 15:12:50,570 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3615094f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 03:12:50, skipping insertion in model container [2025-01-09 15:12:50,570 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 03:12:46" (2/3) ... [2025-01-09 15:12:50,570 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3615094f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 03:12:50, skipping insertion in model container [2025-01-09 15:12:50,571 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 03:12:50" (3/3) ... [2025-01-09 15:12:50,575 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_variablewrapping_normal_file-65.i [2025-01-09 15:12:50,589 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 15:12:50,590 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_variablewrapping_normal_file-65.i that has 2 procedures, 44 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 15:12:50,630 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 15:12:50,638 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;@1c53b03b, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 15:12:50,638 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 15:12:50,641 INFO L276 IsEmpty]: Start isEmpty. Operand has 44 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 31 states have internal predecessors, (40), 11 states have call successors, (11), 1 states have call predecessors, (11), 1 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2025-01-09 15:12:50,646 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2025-01-09 15:12:50,646 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 15:12:50,646 INFO L218 NwaCegarLoop]: trace histogram [11, 11, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 15:12:50,647 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 15:12:50,650 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 15:12:50,650 INFO L85 PathProgramCache]: Analyzing trace with hash -1052862186, now seen corresponding path program 1 times [2025-01-09 15:12:50,657 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 15:12:50,657 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [750380069] [2025-01-09 15:12:50,657 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 15:12:50,658 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-01-09 15:12:50,658 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 15:12:50,660 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2025-01-09 15:12:50,669 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2025-01-09 15:12:50,724 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 77 statements into 1 equivalence classes. [2025-01-09 15:12:50,976 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 77 of 77 statements. [2025-01-09 15:12:50,977 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 15:12:50,977 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 15:12:50,988 INFO L256 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 15:12:50,994 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 15:12:51,022 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 56 proven. 0 refuted. 0 times theorem prover too weak. 164 trivial. 0 not checked. [2025-01-09 15:12:51,023 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 15:12:51,023 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-01-09 15:12:51,023 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [750380069] [2025-01-09 15:12:51,024 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [750380069] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 15:12:51,024 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 15:12:51,025 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 15:12:51,026 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1946834892] [2025-01-09 15:12:51,026 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 15:12:51,028 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 15:12:51,029 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-01-09 15:12:51,043 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 15:12:51,045 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 15:12:51,046 INFO L87 Difference]: Start difference. First operand has 44 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 31 states have internal predecessors, (40), 11 states have call successors, (11), 1 states have call predecessors, (11), 1 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 2 states, 2 states have (on average 14.5) internal successors, (29), 2 states have internal predecessors, (29), 2 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2025-01-09 15:12:51,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 15:12:51,062 INFO L93 Difference]: Finished difference Result 82 states and 130 transitions. [2025-01-09 15:12:51,063 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 15:12:51,064 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 14.5) internal successors, (29), 2 states have internal predecessors, (29), 2 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 77 [2025-01-09 15:12:51,065 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 15:12:51,069 INFO L225 Difference]: With dead ends: 82 [2025-01-09 15:12:51,070 INFO L226 Difference]: Without dead ends: 41 [2025-01-09 15:12:51,072 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 76 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 15:12:51,075 INFO L435 NwaCegarLoop]: 57 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, 57 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2025-01-09 15:12:51,076 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 15:12:51,085 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2025-01-09 15:12:51,099 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2025-01-09 15:12:51,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 28 states have (on average 1.25) internal successors, (35), 28 states have internal predecessors, (35), 11 states have call successors, (11), 1 states have call predecessors, (11), 1 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2025-01-09 15:12:51,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 57 transitions. [2025-01-09 15:12:51,106 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 57 transitions. Word has length 77 [2025-01-09 15:12:51,107 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 15:12:51,107 INFO L471 AbstractCegarLoop]: Abstraction has 41 states and 57 transitions. [2025-01-09 15:12:51,107 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 14.5) internal successors, (29), 2 states have internal predecessors, (29), 2 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2025-01-09 15:12:51,107 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 57 transitions. [2025-01-09 15:12:51,110 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2025-01-09 15:12:51,112 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 15:12:51,112 INFO L218 NwaCegarLoop]: trace histogram [11, 11, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 15:12:51,123 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (2)] Ended with exit code 0 [2025-01-09 15:12:51,312 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-01-09 15:12:51,313 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 15:12:51,314 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 15:12:51,315 INFO L85 PathProgramCache]: Analyzing trace with hash -1928191776, now seen corresponding path program 1 times [2025-01-09 15:12:51,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 15:12:51,316 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [22714423] [2025-01-09 15:12:51,316 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 15:12:51,316 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-01-09 15:12:51,316 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 15:12:51,320 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2025-01-09 15:12:51,321 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2025-01-09 15:12:51,353 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 77 statements into 1 equivalence classes. [2025-01-09 15:12:51,609 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 77 of 77 statements. [2025-01-09 15:12:51,609 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 15:12:51,609 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 15:12:51,620 INFO L256 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 25 conjuncts are in the unsatisfiable core [2025-01-09 15:12:51,626 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 15:13:40,199 WARN L286 SmtUtils]: Spent 16.84s on a formula simplification that was a NOOP. DAG size: 54 (called from [L 388] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)