./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/hardness-nfm22/hardness_codestructure_functionizing_file-2.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_codestructure_functionizing_file-2.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 9f064a2e079afb788f0ce7053d0b327c27109313565ebe3af6b9924cca1033d5 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 08:35:50,793 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 08:35:50,865 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-01-09 08:35:50,871 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 08:35:50,871 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 08:35:50,892 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 08:35:50,893 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 08:35:50,893 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 08:35:50,893 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 08:35:50,894 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 08:35:50,895 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 08:35:50,895 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 08:35:50,895 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 08:35:50,895 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 08:35:50,896 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 08:35:50,896 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 08:35:50,896 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 08:35:50,896 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 08:35:50,896 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 08:35:50,896 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 08:35:50,897 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 08:35:50,897 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 08:35:50,897 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 08:35:50,897 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 08:35:50,897 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 08:35:50,897 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 08:35:50,897 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 08:35:50,897 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 08:35:50,898 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 08:35:50,898 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:35:50,898 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:35:50,898 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:35:50,899 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:35:50,899 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 08:35:50,899 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:35:50,899 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:35:50,899 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:35:50,899 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:35:50,899 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 08:35:50,899 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 08:35:50,900 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 08:35:50,900 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 08:35:50,900 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 08:35:50,900 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 08:35:50,900 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 08:35:50,900 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 08:35:50,900 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 08:35:50,900 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 08:35:50,900 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 -> 9f064a2e079afb788f0ce7053d0b327c27109313565ebe3af6b9924cca1033d5 [2025-01-09 08:35:51,224 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 08:35:51,235 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 08:35:51,238 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 08:35:51,241 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 08:35:51,242 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 08:35:51,243 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_codestructure_functionizing_file-2.i [2025-01-09 08:35:52,644 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/0c1828c18/40849cf0ee61401bb83ebb6df9c3cd85/FLAG03823cf8c [2025-01-09 08:35:52,893 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 08:35:52,894 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_codestructure_functionizing_file-2.i [2025-01-09 08:35:52,901 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/0c1828c18/40849cf0ee61401bb83ebb6df9c3cd85/FLAG03823cf8c [2025-01-09 08:35:53,199 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/0c1828c18/40849cf0ee61401bb83ebb6df9c3cd85 [2025-01-09 08:35:53,201 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 08:35:53,202 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 08:35:53,203 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 08:35:53,203 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 08:35:53,207 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 08:35:53,208 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:35:53" (1/1) ... [2025-01-09 08:35:53,210 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@524ff34 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53, skipping insertion in model container [2025-01-09 08:35:53,210 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:35:53" (1/1) ... [2025-01-09 08:35:53,227 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 08:35:53,383 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_codestructure_functionizing_file-2.i[919,932] [2025-01-09 08:35:53,455 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:35:53,470 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 08:35:53,479 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_codestructure_functionizing_file-2.i[919,932] [2025-01-09 08:35:53,519 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:35:53,545 INFO L204 MainTranslator]: Completed translation [2025-01-09 08:35:53,546 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53 WrapperNode [2025-01-09 08:35:53,546 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 08:35:53,548 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 08:35:53,548 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 08:35:53,548 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 08:35:53,555 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53" (1/1) ... [2025-01-09 08:35:53,564 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53" (1/1) ... [2025-01-09 08:35:53,587 INFO L138 Inliner]: procedures = 32, calls = 40, calls flagged for inlining = 14, calls inlined = 14, statements flattened = 170 [2025-01-09 08:35:53,588 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 08:35:53,589 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 08:35:53,589 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 08:35:53,589 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 08:35:53,597 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53" (1/1) ... [2025-01-09 08:35:53,597 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53" (1/1) ... [2025-01-09 08:35:53,599 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53" (1/1) ... [2025-01-09 08:35:53,611 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 08:35:53,611 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53" (1/1) ... [2025-01-09 08:35:53,611 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53" (1/1) ... [2025-01-09 08:35:53,617 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53" (1/1) ... [2025-01-09 08:35:53,618 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53" (1/1) ... [2025-01-09 08:35:53,620 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53" (1/1) ... [2025-01-09 08:35:53,622 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53" (1/1) ... [2025-01-09 08:35:53,623 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53" (1/1) ... [2025-01-09 08:35:53,625 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 08:35:53,625 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 08:35:53,625 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 08:35:53,626 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 08:35:53,626 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53" (1/1) ... [2025-01-09 08:35:53,631 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:35:53,649 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:35:53,663 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 08:35:53,665 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 08:35:53,680 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 08:35:53,680 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 08:35:53,680 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 08:35:53,680 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-09 08:35:53,680 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 08:35:53,680 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 08:35:53,742 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 08:35:53,744 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 08:35:54,007 INFO L? ?]: Removed 37 outVars from TransFormulas that were not future-live. [2025-01-09 08:35:54,007 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 08:35:54,016 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 08:35:54,017 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 08:35:54,018 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:35:54 BoogieIcfgContainer [2025-01-09 08:35:54,018 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 08:35:54,020 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 08:35:54,020 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 08:35:54,024 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 08:35:54,024 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 08:35:53" (1/3) ... [2025-01-09 08:35:54,026 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2d4671f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:35:54, skipping insertion in model container [2025-01-09 08:35:54,026 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:35:53" (2/3) ... [2025-01-09 08:35:54,027 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2d4671f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:35:54, skipping insertion in model container [2025-01-09 08:35:54,028 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:35:54" (3/3) ... [2025-01-09 08:35:54,029 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_codestructure_functionizing_file-2.i [2025-01-09 08:35:54,042 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 08:35:54,044 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_codestructure_functionizing_file-2.i that has 2 procedures, 71 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 08:35:54,103 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 08:35:54,117 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;@4b1aa85, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 08:35:54,118 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 08:35:54,121 INFO L276 IsEmpty]: Start isEmpty. Operand has 71 states, 47 states have (on average 1.297872340425532) internal successors, (61), 48 states have internal predecessors, (61), 21 states have call successors, (21), 1 states have call predecessors, (21), 1 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2025-01-09 08:35:54,132 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 142 [2025-01-09 08:35:54,133 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:35:54,134 INFO L218 NwaCegarLoop]: trace histogram [21, 21, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 08:35:54,135 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:35:54,139 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:35:54,139 INFO L85 PathProgramCache]: Analyzing trace with hash -767327842, now seen corresponding path program 1 times [2025-01-09 08:35:54,146 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 08:35:54,148 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1232700730] [2025-01-09 08:35:54,148 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:35:54,148 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 08:35:54,229 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 141 statements into 1 equivalence classes. [2025-01-09 08:35:54,251 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 141 of 141 statements. [2025-01-09 08:35:54,251 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:35:54,251 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:35:54,395 INFO L134 CoverageAnalysis]: Checked inductivity of 840 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 800 trivial. 0 not checked. [2025-01-09 08:35:54,396 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 08:35:54,396 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1232700730] [2025-01-09 08:35:54,396 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1232700730] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 08:35:54,396 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [437470259] [2025-01-09 08:35:54,398 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:35:54,398 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 08:35:54,398 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:35:54,401 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 08:35:54,404 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 08:35:54,490 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 141 statements into 1 equivalence classes. [2025-01-09 08:35:54,595 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 141 of 141 statements. [2025-01-09 08:35:54,595 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:35:54,595 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:35:54,598 INFO L256 TraceCheckSpWp]: Trace formula consists of 354 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 08:35:54,607 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 08:35:54,638 INFO L134 CoverageAnalysis]: Checked inductivity of 840 backedges. 40 proven. 0 refuted. 0 times theorem prover too weak. 800 trivial. 0 not checked. [2025-01-09 08:35:54,638 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 08:35:54,639 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [437470259] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 08:35:54,639 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-01-09 08:35:54,639 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-01-09 08:35:54,642 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1586366808] [2025-01-09 08:35:54,643 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 08:35:54,646 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 08:35:54,647 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 08:35:54,663 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 08:35:54,664 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 08:35:54,666 INFO L87 Difference]: Start difference. First operand has 71 states, 47 states have (on average 1.297872340425532) internal successors, (61), 48 states have internal predecessors, (61), 21 states have call successors, (21), 1 states have call predecessors, (21), 1 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand has 2 states, 2 states have (on average 20.5) internal successors, (41), 2 states have internal predecessors, (41), 2 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (21), 1 states have call predecessors, (21), 2 states have call successors, (21) [2025-01-09 08:35:54,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 08:35:54,697 INFO L93 Difference]: Finished difference Result 136 states and 222 transitions. [2025-01-09 08:35:54,698 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 08:35:54,699 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 20.5) internal successors, (41), 2 states have internal predecessors, (41), 2 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (21), 1 states have call predecessors, (21), 2 states have call successors, (21) Word has length 141 [2025-01-09 08:35:54,699 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 08:35:54,705 INFO L225 Difference]: With dead ends: 136 [2025-01-09 08:35:54,706 INFO L226 Difference]: Without dead ends: 68 [2025-01-09 08:35:54,710 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 142 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 08:35:54,713 INFO L435 NwaCegarLoop]: 98 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, 98 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 08:35:54,714 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 98 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 08:35:54,723 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2025-01-09 08:35:54,742 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 68. [2025-01-09 08:35:54,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 45 states have (on average 1.2444444444444445) internal successors, (56), 45 states have internal predecessors, (56), 21 states have call successors, (21), 1 states have call predecessors, (21), 1 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2025-01-09 08:35:54,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 98 transitions. [2025-01-09 08:35:54,750 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 98 transitions. Word has length 141 [2025-01-09 08:35:54,750 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 08:35:54,751 INFO L471 AbstractCegarLoop]: Abstraction has 68 states and 98 transitions. [2025-01-09 08:35:54,751 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 20.5) internal successors, (41), 2 states have internal predecessors, (41), 2 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (21), 1 states have call predecessors, (21), 2 states have call successors, (21) [2025-01-09 08:35:54,751 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 98 transitions. [2025-01-09 08:35:54,754 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 142 [2025-01-09 08:35:54,754 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:35:54,754 INFO L218 NwaCegarLoop]: trace histogram [21, 21, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 08:35:54,761 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2025-01-09 08:35:54,954 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 08:35:54,955 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:35:54,955 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:35:54,956 INFO L85 PathProgramCache]: Analyzing trace with hash 1361188128, now seen corresponding path program 1 times [2025-01-09 08:35:54,956 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 08:35:54,956 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [905247536] [2025-01-09 08:35:54,956 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:35:54,956 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 08:35:54,986 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 141 statements into 1 equivalence classes. [2025-01-09 08:35:55,151 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 141 of 141 statements. [2025-01-09 08:35:55,152 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:35:55,152 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-09 08:35:55,160 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [422595251] [2025-01-09 08:35:55,161 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:35:55,161 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 08:35:55,161 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:35:55,164 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-09 08:35:55,166 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2025-01-09 08:35:55,251 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 141 statements into 1 equivalence classes. [2025-01-09 08:35:55,308 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 141 of 141 statements. [2025-01-09 08:35:55,308 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:35:55,308 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 08:35:55,308 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-09 08:35:55,339 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 141 statements into 1 equivalence classes. [2025-01-09 08:35:55,366 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 141 of 141 statements. [2025-01-09 08:35:55,366 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:35:55,366 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 08:35:55,455 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-09 08:35:55,456 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-01-09 08:35:55,457 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-01-09 08:35:55,467 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2025-01-09 08:35:55,659 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,3 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 08:35:55,662 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1] [2025-01-09 08:35:55,766 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-01-09 08:35:55,770 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 09.01 08:35:55 BoogieIcfgContainer [2025-01-09 08:35:55,771 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-01-09 08:35:55,772 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-01-09 08:35:55,772 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-01-09 08:35:55,772 INFO L274 PluginConnector]: Witness Printer initialized [2025-01-09 08:35:55,773 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:35:54" (3/4) ... [2025-01-09 08:35:55,775 INFO L149 WitnessPrinter]: No result that supports witness generation found [2025-01-09 08:35:55,776 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-01-09 08:35:55,776 INFO L158 Benchmark]: Toolchain (without parser) took 2574.42ms. Allocated memory is still 142.6MB. Free memory was 111.6MB in the beginning and 51.2MB in the end (delta: 60.4MB). Peak memory consumption was 56.8MB. Max. memory is 16.1GB. [2025-01-09 08:35:55,777 INFO L158 Benchmark]: CDTParser took 0.27ms. Allocated memory is still 201.3MB. Free memory is still 123.8MB. There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:35:55,777 INFO L158 Benchmark]: CACSL2BoogieTranslator took 343.73ms. Allocated memory is still 142.6MB. Free memory was 111.6MB in the beginning and 97.2MB in the end (delta: 14.3MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-01-09 08:35:55,777 INFO L158 Benchmark]: Boogie Procedure Inliner took 40.43ms. Allocated memory is still 142.6MB. Free memory was 97.2MB in the beginning and 94.8MB in the end (delta: 2.4MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:35:55,777 INFO L158 Benchmark]: Boogie Preprocessor took 36.14ms. Allocated memory is still 142.6MB. Free memory was 94.8MB in the beginning and 91.9MB in the end (delta: 2.9MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:35:55,777 INFO L158 Benchmark]: RCFGBuilder took 392.51ms. Allocated memory is still 142.6MB. Free memory was 91.9MB in the beginning and 72.6MB in the end (delta: 19.3MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2025-01-09 08:35:55,778 INFO L158 Benchmark]: TraceAbstraction took 1751.36ms. Allocated memory is still 142.6MB. Free memory was 71.6MB in the beginning and 51.2MB in the end (delta: 20.4MB). Peak memory consumption was 14.9MB. Max. memory is 16.1GB. [2025-01-09 08:35:55,778 INFO L158 Benchmark]: Witness Printer took 4.09ms. Allocated memory is still 142.6MB. Free memory was 51.2MB in the beginning and 51.2MB in the end (delta: 27.1kB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:35:55,780 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.27ms. Allocated memory is still 201.3MB. Free memory is still 123.8MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 343.73ms. Allocated memory is still 142.6MB. Free memory was 111.6MB in the beginning and 97.2MB in the end (delta: 14.3MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 40.43ms. Allocated memory is still 142.6MB. Free memory was 97.2MB in the beginning and 94.8MB in the end (delta: 2.4MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 36.14ms. Allocated memory is still 142.6MB. Free memory was 94.8MB in the beginning and 91.9MB in the end (delta: 2.9MB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 392.51ms. Allocated memory is still 142.6MB. Free memory was 91.9MB in the beginning and 72.6MB in the end (delta: 19.3MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. * TraceAbstraction took 1751.36ms. Allocated memory is still 142.6MB. Free memory was 71.6MB in the beginning and 51.2MB in the end (delta: 20.4MB). Peak memory consumption was 14.9MB. Max. memory is 16.1GB. * Witness Printer took 4.09ms. Allocated memory is still 142.6MB. Free memory was 51.2MB in the beginning and 51.2MB in the end (delta: 27.1kB). 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 110, overapproximation of someBinaryFLOATComparisonOperation at line 65, overapproximation of someBinaryFLOATComparisonOperation at line 138, overapproximation of someBinaryFLOATComparisonOperation at line 125, overapproximation of someBinaryFLOATComparisonOperation at line 154, overapproximation of someBinaryFLOATComparisonOperation at line 123, overapproximation of someBinaryFLOATComparisonOperation at line 135, overapproximation of someBinaryFLOATComparisonOperation at line 140, overapproximation of someBinaryFLOATComparisonOperation at line 136, overapproximation of someBinaryDOUBLEComparisonOperation at line 130, overapproximation of someBinaryDOUBLEComparisonOperation at line 85, overapproximation of someBinaryDOUBLEComparisonOperation at line 64, overapproximation of someBinaryDOUBLEComparisonOperation at line 154, overapproximation of someBinaryArithmeticFLOAToperation at line 65. Possible FailurePath: [L27] unsigned char isInitial = 0; [L28] float var_1_1 = 3.95; [L29] unsigned char var_1_2 = 50; [L30] unsigned char var_1_3 = 10; [L31] float var_1_4 = 9999999.8; [L32] float var_1_5 = 8.6; [L33] unsigned long int var_1_6 = 10000; [L34] unsigned char var_1_7 = 1; [L35] double var_1_8 = 64.5; [L36] unsigned char var_1_9 = 0; [L37] float var_1_10 = 255.25; [L38] float var_1_11 = 7.5; [L39] float var_1_12 = 0.0; [L40] float var_1_13 = 64.8; [L41] double var_1_14 = 127.75; [L42] signed char var_1_15 = 8; [L43] signed char var_1_16 = 32; [L44] unsigned char var_1_17 = 0; [L45] unsigned char var_1_18 = 0; [L46] double var_1_19 = 2.25; [L47] unsigned char var_1_20 = 0; [L48] unsigned short int var_1_21 = 256; VAL [isInitial=0, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_2=50, var_1_3=10, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L158] isInitial = 1 [L159] FCALL initially() [L161] FCALL updateLastVariables() [L162] CALL updateVariables() [L116] var_1_2 = __VERIFIER_nondet_uchar() [L117] CALL assume_abort_if_not(var_1_2 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_3=10, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_3=10, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L117] RET assume_abort_if_not(var_1_2 >= 0) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_3=10, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L118] CALL assume_abort_if_not(var_1_2 <= 255) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_3=10, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_3=10, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L118] RET assume_abort_if_not(var_1_2 <= 255) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_3=10, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L119] var_1_3 = __VERIFIER_nondet_uchar() [L120] CALL assume_abort_if_not(var_1_3 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L120] RET assume_abort_if_not(var_1_3 >= 0) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L121] CALL assume_abort_if_not(var_1_3 <= 255) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L121] RET assume_abort_if_not(var_1_3 <= 255) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L122] var_1_4 = __VERIFIER_nondet_float() [L123] CALL assume_abort_if_not((var_1_4 >= 0.0F && var_1_4 <= -1.0e-20F) || (var_1_4 <= 9223372.036854765600e+12F && var_1_4 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L123] RET assume_abort_if_not((var_1_4 >= 0.0F && var_1_4 <= -1.0e-20F) || (var_1_4 <= 9223372.036854765600e+12F && var_1_4 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L124] var_1_5 = __VERIFIER_nondet_float() [L125] CALL assume_abort_if_not((var_1_5 >= 0.0F && var_1_5 <= -1.0e-20F) || (var_1_5 <= 9223372.036854765600e+12F && var_1_5 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L125] RET assume_abort_if_not((var_1_5 >= 0.0F && var_1_5 <= -1.0e-20F) || (var_1_5 <= 9223372.036854765600e+12F && var_1_5 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L126] var_1_7 = __VERIFIER_nondet_uchar() [L127] CALL assume_abort_if_not(var_1_7 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_8=129/2, var_1_9=0] [L127] RET assume_abort_if_not(var_1_7 >= 0) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_8=129/2, var_1_9=0] [L128] CALL assume_abort_if_not(var_1_7 <= 1) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_8=129/2, var_1_9=0] [L128] RET assume_abort_if_not(var_1_7 <= 1) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_8=129/2, var_1_9=0] [L129] var_1_8 = __VERIFIER_nondet_double() [L130] CALL assume_abort_if_not((var_1_8 >= 0.0F && var_1_8 <= -1.0e-20F) || (var_1_8 <= 9223372.036854776000e+12F && var_1_8 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=0] [L130] RET assume_abort_if_not((var_1_8 >= 0.0F && var_1_8 <= -1.0e-20F) || (var_1_8 <= 9223372.036854776000e+12F && var_1_8 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=0] [L131] var_1_9 = __VERIFIER_nondet_uchar() [L132] CALL assume_abort_if_not(var_1_9 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0] [L132] RET assume_abort_if_not(var_1_9 >= 0) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0] [L133] CALL assume_abort_if_not(var_1_9 <= 1) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L133] RET assume_abort_if_not(var_1_9 <= 1) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L134] var_1_11 = __VERIFIER_nondet_float() [L135] CALL assume_abort_if_not((var_1_11 >= -922337.2036854776000e+13F && var_1_11 <= -1.0e-20F) || (var_1_11 <= 9223372.036854776000e+12F && var_1_11 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L135] RET assume_abort_if_not((var_1_11 >= -922337.2036854776000e+13F && var_1_11 <= -1.0e-20F) || (var_1_11 <= 9223372.036854776000e+12F && var_1_11 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1021/4, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L136] CALL assume_abort_if_not(var_1_11 != 0.0F) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L136] RET assume_abort_if_not(var_1_11 != 0.0F) VAL [isInitial=1, var_1_10=1021/4, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L137] var_1_12 = __VERIFIER_nondet_float() [L138] CALL assume_abort_if_not((var_1_12 >= 4611686.018427382800e+12F && var_1_12 <= -1.0e-20F) || (var_1_12 <= 9223372.036854765600e+12F && var_1_12 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L138] RET assume_abort_if_not((var_1_12 >= 4611686.018427382800e+12F && var_1_12 <= -1.0e-20F) || (var_1_12 <= 9223372.036854765600e+12F && var_1_12 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1021/4, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L139] var_1_13 = __VERIFIER_nondet_float() [L140] CALL assume_abort_if_not((var_1_13 >= 0.0F && var_1_13 <= -1.0e-20F) || (var_1_13 <= 4611686.018427382800e+12F && var_1_13 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L140] RET assume_abort_if_not((var_1_13 >= 0.0F && var_1_13 <= -1.0e-20F) || (var_1_13 <= 4611686.018427382800e+12F && var_1_13 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L141] var_1_15 = __VERIFIER_nondet_char() [L142] CALL assume_abort_if_not(var_1_15 >= -1) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L142] RET assume_abort_if_not(var_1_15 >= -1) VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L143] CALL assume_abort_if_not(var_1_15 <= 127) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L143] RET assume_abort_if_not(var_1_15 <= 127) VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L144] var_1_16 = __VERIFIER_nondet_char() [L145] CALL assume_abort_if_not(var_1_16 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L145] RET assume_abort_if_not(var_1_16 >= 0) VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L146] CALL assume_abort_if_not(var_1_16 <= 127) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L146] RET assume_abort_if_not(var_1_16 <= 127) VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L147] var_1_18 = __VERIFIER_nondet_uchar() [L148] CALL assume_abort_if_not(var_1_18 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L148] RET assume_abort_if_not(var_1_18 >= 0) VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L149] CALL assume_abort_if_not(var_1_18 <= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L149] RET assume_abort_if_not(var_1_18 <= 0) VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L162] RET updateVariables() [L163] CALL step() [L90] CALL functionized0(var_1_4) [L50] COND FALSE !(var_1_2 <= var_1_3) [L57] var_1_1 = functionized0_localFunctionVar0 VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=2, var_1_20=0, var_1_21=256, var_1_2=1, var_1_3=0, var_1_4=2, var_1_6=10000, var_1_7=0, var_1_9=1] [L90] RET functionized0(var_1_4) [L91] COND FALSE !(\read(var_1_7)) [L102] var_1_6 = var_1_2 VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=2, var_1_20=0, var_1_21=256, var_1_2=1, var_1_3=0, var_1_4=2, var_1_6=1, var_1_7=0, var_1_9=1] [L104] CALL functionized2(var_1_13, var_1_12, var_1_4) [L64] COND TRUE (var_1_5 / var_1_11) >= (var_1_8 - functionized2_localFunctionVar2) [L65] var_1_10 = (((((var_1_5 - (functionized2_localFunctionVar1 - functionized2_localFunctionVar0))) < (functionized2_localFunctionVar2)) ? ((var_1_5 - (functionized2_localFunctionVar1 - functionized2_localFunctionVar0))) : (functionized2_localFunctionVar2))) VAL [isInitial=1, var_1_10=5, var_1_12=3, var_1_13=4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=2, var_1_20=0, var_1_21=256, var_1_2=1, var_1_3=0, var_1_4=2, var_1_6=1, var_1_7=0, var_1_9=1] [L104] RET functionized2(var_1_13, var_1_12, var_1_4) [L105] CALL, EXPR functionized3(var_1_16) [L71] return (var_1_15 - ((((0) < (functionized3_localFunctionVar0)) ? (0) : (functionized3_localFunctionVar0)))); VAL [\result=2, isInitial=1, var_1_10=5, var_1_12=3, var_1_13=4, var_1_14=511/4, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=2, var_1_20=0, var_1_21=256, var_1_2=1, var_1_3=0, var_1_4=2, var_1_6=1, var_1_7=0, var_1_9=1] [L105] RET, EXPR functionized3(var_1_16) [L105] COND TRUE functionized3(var_1_16) > var_1_6 [L106] var_1_14 = var_1_12 VAL [isInitial=1, var_1_10=5, var_1_12=3, var_1_13=4, var_1_14=3, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=2, var_1_20=0, var_1_21=256, var_1_2=1, var_1_3=0, var_1_4=2, var_1_6=1, var_1_7=0, var_1_9=1] [L108] CALL functionized4(var_1_6, var_1_18, var_1_2) [L74] COND FALSE !(functionized4_localFunctionVar0 <= (var_1_16 * functionized4_localFunctionVar2)) [L81] var_1_17 = functionized4_localFunctionVar1 VAL [isInitial=1, var_1_10=5, var_1_12=3, var_1_13=4, var_1_14=3, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=2, var_1_20=0, var_1_21=256, var_1_2=1, var_1_3=0, var_1_4=2, var_1_6=1, var_1_7=0, var_1_9=1] [L108] RET functionized4(var_1_6, var_1_18, var_1_2) [L109] CALL functionized5(var_1_14) [L85] return (functionized5_localFunctionVar0 < var_1_11); VAL [\result=1, isInitial=1, var_1_10=5, var_1_12=3, var_1_13=4, var_1_14=3, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=2, var_1_20=0, var_1_21=256, var_1_2=1, var_1_3=0, var_1_4=2, var_1_6=1, var_1_7=0, var_1_9=1] [L109] RET functionized5(var_1_14) [L109] COND TRUE functionized5(var_1_14) [L110] var_1_19 = (var_1_13 - 256.4) VAL [isInitial=1, var_1_10=5, var_1_12=3, var_1_13=4, var_1_14=3, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_1=2, var_1_20=0, var_1_21=256, var_1_2=1, var_1_3=0, var_1_4=2, var_1_6=1, var_1_7=0, var_1_9=1] [L112] var_1_20 = var_1_16 [L113] var_1_21 = var_1_16 VAL [isInitial=1, var_1_10=5, var_1_12=3, var_1_13=4, var_1_14=3, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_1=2, var_1_20=0, var_1_21=0, var_1_2=1, var_1_3=0, var_1_4=2, var_1_6=1, var_1_7=0, var_1_9=1] [L163] RET step() [L164] CALL, EXPR property() [L154-L155] return ((((((((var_1_2 <= var_1_3) ? ((var_1_3 > var_1_2) ? (var_1_1 == ((float) (var_1_4 - var_1_5))) : (var_1_1 == ((float) var_1_5))) : (var_1_1 == ((float) var_1_4))) && (var_1_7 ? ((((((var_1_1) > (((((var_1_5) > (199.78)) ? (var_1_5) : (199.78))))) ? (var_1_1) : (((((var_1_5) > (199.78)) ? (var_1_5) : (199.78)))))) != (var_1_4 - var_1_8)) ? (((var_1_2 != var_1_3) || var_1_9) ? (var_1_6 == ((unsigned long int) var_1_2)) : (var_1_6 == ((unsigned long int) 5u))) : (var_1_6 == ((unsigned long int) var_1_2))) : (var_1_6 == ((unsigned long int) var_1_2)))) && (((var_1_5 / var_1_11) >= (var_1_8 - var_1_4)) ? (var_1_10 == ((float) (((((var_1_5 - (var_1_12 - var_1_13))) < (var_1_4)) ? ((var_1_5 - (var_1_12 - var_1_13))) : (var_1_4))))) : (var_1_10 == ((float) 4.2f)))) && (((var_1_15 - ((((0) < (var_1_16)) ? (0) : (var_1_16)))) > var_1_6) ? (var_1_14 == ((double) var_1_12)) : 1)) && ((var_1_6 <= (var_1_16 * var_1_2)) ? (((var_1_5 + var_1_1) <= 127.025f) ? (var_1_17 == ((unsigned char) var_1_18)) : (var_1_17 == ((unsigned char) var_1_18))) : (var_1_17 == ((unsigned char) var_1_18)))) && ((var_1_14 < var_1_11) ? (var_1_19 == ((double) (var_1_13 - 256.4))) : 1)) && (var_1_20 == ((unsigned char) var_1_16))) && (var_1_21 == ((unsigned short int) var_1_16)) ; VAL [\result=0, isInitial=1, var_1_10=5, var_1_12=3, var_1_13=4, var_1_14=3, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_1=2, var_1_20=0, var_1_21=0, var_1_2=1, var_1_3=0, var_1_4=2, var_1_6=1, var_1_7=0, var_1_9=1] [L164] RET, EXPR property() [L164] CALL __VERIFIER_assert(property()) [L19] COND TRUE !(cond) VAL [isInitial=1, var_1_10=5, var_1_12=3, var_1_13=4, var_1_14=3, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_1=2, var_1_20=0, var_1_21=0, var_1_2=1, var_1_3=0, var_1_4=2, var_1_6=1, var_1_7=0, var_1_9=1] [L19] reach_error() VAL [isInitial=1, var_1_10=5, var_1_12=3, var_1_13=4, var_1_14=3, var_1_15=2, var_1_16=0, var_1_17=0, var_1_18=0, var_1_1=2, var_1_20=0, var_1_21=0, var_1_2=1, var_1_3=0, var_1_4=2, var_1_6=1, var_1_7=0, var_1_9=1] - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 71 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 1.6s, OverallIterations: 2, TraceHistogramMax: 21, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 0 SdHoareTripleChecker+Valid, 0.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 0 mSDsluCounter, 98 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, 98 mSDtfsCounter, 0 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 142 GetRequests, 142 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=71occurred in iteration=0, InterpolantAutomatonStates: 2, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 0.2s InterpolantComputationTime, 564 NumberOfCodeBlocks, 564 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 280 ConstructedInterpolants, 0 QuantifiedInterpolants, 280 SizeOfPredicates, 0 NumberOfNonLiveVariables, 354 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 1640/1680 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 08:35:55,803 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/hardness-nfm22/hardness_codestructure_functionizing_file-2.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 9f064a2e079afb788f0ce7053d0b327c27109313565ebe3af6b9924cca1033d5 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 08:35:57,976 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 08:35:58,070 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2025-01-09 08:35:58,078 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 08:35:58,079 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 08:35:58,118 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 08:35:58,119 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 08:35:58,119 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 08:35:58,119 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 08:35:58,119 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 08:35:58,119 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 08:35:58,119 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 08:35:58,119 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 08:35:58,120 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 08:35:58,120 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 08:35:58,120 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 08:35:58,120 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 08:35:58,120 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 08:35:58,120 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 08:35:58,120 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 08:35:58,120 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 08:35:58,120 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 08:35:58,120 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 08:35:58,123 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-01-09 08:35:58,123 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-01-09 08:35:58,123 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-01-09 08:35:58,123 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 08:35:58,123 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 08:35:58,123 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 08:35:58,123 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 08:35:58,124 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 08:35:58,124 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:35:58,124 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:35:58,124 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:35:58,124 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:35:58,124 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 08:35:58,124 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:35:58,124 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:35:58,124 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:35:58,124 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:35:58,125 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 08:35:58,125 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 08:35:58,125 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 08:35:58,125 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 08:35:58,125 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-01-09 08:35:58,125 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-01-09 08:35:58,125 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 08:35:58,125 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 08:35:58,125 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 08:35:58,126 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 08:35:58,126 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 -> 9f064a2e079afb788f0ce7053d0b327c27109313565ebe3af6b9924cca1033d5 [2025-01-09 08:35:58,402 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 08:35:58,411 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 08:35:58,413 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 08:35:58,414 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 08:35:58,414 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 08:35:58,415 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_codestructure_functionizing_file-2.i [2025-01-09 08:35:59,686 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/00a0a142b/ca70eb10a2b040a98bb1a222dc8ac3e6/FLAGc2b8a8d87 [2025-01-09 08:35:59,891 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 08:35:59,893 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_codestructure_functionizing_file-2.i [2025-01-09 08:35:59,903 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/00a0a142b/ca70eb10a2b040a98bb1a222dc8ac3e6/FLAGc2b8a8d87 [2025-01-09 08:36:00,245 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/00a0a142b/ca70eb10a2b040a98bb1a222dc8ac3e6 [2025-01-09 08:36:00,247 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 08:36:00,249 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 08:36:00,250 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 08:36:00,250 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 08:36:00,254 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 08:36:00,255 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:36:00" (1/1) ... [2025-01-09 08:36:00,255 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4ebed684 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00, skipping insertion in model container [2025-01-09 08:36:00,255 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:36:00" (1/1) ... [2025-01-09 08:36:00,270 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 08:36:00,399 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_codestructure_functionizing_file-2.i[919,932] [2025-01-09 08:36:00,451 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:36:00,464 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 08:36:00,472 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_codestructure_functionizing_file-2.i[919,932] [2025-01-09 08:36:00,494 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:36:00,509 INFO L204 MainTranslator]: Completed translation [2025-01-09 08:36:00,510 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00 WrapperNode [2025-01-09 08:36:00,510 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 08:36:00,511 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 08:36:00,511 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 08:36:00,511 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 08:36:00,516 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00" (1/1) ... [2025-01-09 08:36:00,526 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00" (1/1) ... [2025-01-09 08:36:00,555 INFO L138 Inliner]: procedures = 33, calls = 40, calls flagged for inlining = 14, calls inlined = 14, statements flattened = 167 [2025-01-09 08:36:00,555 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 08:36:00,557 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 08:36:00,558 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 08:36:00,558 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 08:36:00,564 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00" (1/1) ... [2025-01-09 08:36:00,565 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00" (1/1) ... [2025-01-09 08:36:00,568 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00" (1/1) ... [2025-01-09 08:36:00,579 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 08:36:00,579 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00" (1/1) ... [2025-01-09 08:36:00,579 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00" (1/1) ... [2025-01-09 08:36:00,588 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00" (1/1) ... [2025-01-09 08:36:00,589 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00" (1/1) ... [2025-01-09 08:36:00,595 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00" (1/1) ... [2025-01-09 08:36:00,597 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00" (1/1) ... [2025-01-09 08:36:00,598 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00" (1/1) ... [2025-01-09 08:36:00,604 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 08:36:00,605 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 08:36:00,608 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 08:36:00,608 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 08:36:00,609 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00" (1/1) ... [2025-01-09 08:36:00,616 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:36:00,628 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:36:00,641 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 08:36:00,645 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 08:36:00,667 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 08:36:00,669 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-01-09 08:36:00,669 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 08:36:00,669 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 08:36:00,670 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 08:36:00,670 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 08:36:00,770 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 08:36:00,771 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 08:36:15,950 INFO L? ?]: Removed 39 outVars from TransFormulas that were not future-live. [2025-01-09 08:36:15,951 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 08:36:15,961 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 08:36:15,962 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 08:36:15,962 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:36:15 BoogieIcfgContainer [2025-01-09 08:36:15,962 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 08:36:15,964 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 08:36:15,964 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 08:36:15,968 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 08:36:15,968 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 08:36:00" (1/3) ... [2025-01-09 08:36:15,969 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@24c64d51 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:36:15, skipping insertion in model container [2025-01-09 08:36:15,969 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:36:00" (2/3) ... [2025-01-09 08:36:15,969 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@24c64d51 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:36:15, skipping insertion in model container [2025-01-09 08:36:15,969 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:36:15" (3/3) ... [2025-01-09 08:36:15,971 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_codestructure_functionizing_file-2.i [2025-01-09 08:36:15,984 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 08:36:15,986 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_codestructure_functionizing_file-2.i that has 2 procedures, 71 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 08:36:16,031 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 08:36:16,040 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;@23c0179a, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 08:36:16,041 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 08:36:16,044 INFO L276 IsEmpty]: Start isEmpty. Operand has 71 states, 47 states have (on average 1.297872340425532) internal successors, (61), 48 states have internal predecessors, (61), 21 states have call successors, (21), 1 states have call predecessors, (21), 1 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2025-01-09 08:36:16,052 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 142 [2025-01-09 08:36:16,052 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:36:16,053 INFO L218 NwaCegarLoop]: trace histogram [21, 21, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 08:36:16,053 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:36:16,058 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:36:16,058 INFO L85 PathProgramCache]: Analyzing trace with hash -767327842, now seen corresponding path program 1 times [2025-01-09 08:36:16,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 08:36:16,068 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1315743342] [2025-01-09 08:36:16,069 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:36:16,069 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 08:36:16,069 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 08:36:16,073 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 08:36:16,074 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 08:36:16,162 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 141 statements into 1 equivalence classes. [2025-01-09 08:36:16,757 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 141 of 141 statements. [2025-01-09 08:36:16,758 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:36:16,758 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:36:16,784 INFO L256 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 08:36:16,791 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 08:36:16,832 INFO L134 CoverageAnalysis]: Checked inductivity of 840 backedges. 340 proven. 0 refuted. 0 times theorem prover too weak. 500 trivial. 0 not checked. [2025-01-09 08:36:16,833 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 08:36:16,833 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-01-09 08:36:16,833 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1315743342] [2025-01-09 08:36:16,834 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1315743342] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 08:36:16,834 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 08:36:16,835 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 08:36:16,836 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2016697836] [2025-01-09 08:36:16,837 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 08:36:16,840 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 08:36:16,840 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-01-09 08:36:16,856 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 08:36:16,856 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 08:36:16,858 INFO L87 Difference]: Start difference. First operand has 71 states, 47 states have (on average 1.297872340425532) internal successors, (61), 48 states have internal predecessors, (61), 21 states have call successors, (21), 1 states have call predecessors, (21), 1 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand has 2 states, 2 states have (on average 21.5) internal successors, (43), 2 states have internal predecessors, (43), 2 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (21), 2 states have call predecessors, (21), 2 states have call successors, (21) [2025-01-09 08:36:16,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 08:36:16,878 INFO L93 Difference]: Finished difference Result 136 states and 222 transitions. [2025-01-09 08:36:16,880 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 08:36:16,881 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 21.5) internal successors, (43), 2 states have internal predecessors, (43), 2 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (21), 2 states have call predecessors, (21), 2 states have call successors, (21) Word has length 141 [2025-01-09 08:36:16,881 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 08:36:16,885 INFO L225 Difference]: With dead ends: 136 [2025-01-09 08:36:16,885 INFO L226 Difference]: Without dead ends: 68 [2025-01-09 08:36:16,888 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 140 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 08:36:16,890 INFO L435 NwaCegarLoop]: 98 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, 98 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 08:36:16,890 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 98 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 08:36:16,899 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2025-01-09 08:36:16,917 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 68. [2025-01-09 08:36:16,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 45 states have (on average 1.2444444444444445) internal successors, (56), 45 states have internal predecessors, (56), 21 states have call successors, (21), 1 states have call predecessors, (21), 1 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2025-01-09 08:36:16,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 98 transitions. [2025-01-09 08:36:16,927 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 98 transitions. Word has length 141 [2025-01-09 08:36:16,927 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 08:36:16,928 INFO L471 AbstractCegarLoop]: Abstraction has 68 states and 98 transitions. [2025-01-09 08:36:16,928 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 21.5) internal successors, (43), 2 states have internal predecessors, (43), 2 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (21), 2 states have call predecessors, (21), 2 states have call successors, (21) [2025-01-09 08:36:16,928 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 98 transitions. [2025-01-09 08:36:16,933 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 142 [2025-01-09 08:36:16,934 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:36:16,934 INFO L218 NwaCegarLoop]: trace histogram [21, 21, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 08:36:16,962 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 08:36:17,135 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 08:36:17,135 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:36:17,136 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:36:17,136 INFO L85 PathProgramCache]: Analyzing trace with hash 1361188128, now seen corresponding path program 1 times [2025-01-09 08:36:17,137 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 08:36:17,137 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1445790011] [2025-01-09 08:36:17,137 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:36:17,137 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 08:36:17,137 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 08:36:17,140 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 08:36:17,142 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 08:36:17,221 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 141 statements into 1 equivalence classes.