./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/hardness-nfm22/hardness_codestructure_steplocals_file-25.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_steplocals_file-25.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 cbb57c0f29593d448f6879a3daeafb96125f4bb18be9c5e7e39686d9980eafd0 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 08:51:56,365 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 08:51:56,398 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:51:56,405 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 08:51:56,406 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 08:51:56,423 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 08:51:56,424 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 08:51:56,424 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 08:51:56,425 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 08:51:56,425 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 08:51:56,425 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 08:51:56,426 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 08:51:56,426 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 08:51:56,426 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 08:51:56,426 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 08:51:56,427 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 08:51:56,427 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 08:51:56,427 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 08:51:56,427 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 08:51:56,427 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 08:51:56,427 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 08:51:56,427 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 08:51:56,427 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 08:51:56,427 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 08:51:56,427 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 08:51:56,427 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 08:51:56,427 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 08:51:56,427 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 08:51:56,428 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 08:51:56,428 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:51:56,428 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:51:56,428 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:51:56,428 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:51:56,428 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 08:51:56,428 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:51:56,428 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:51:56,428 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:51:56,429 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:51:56,429 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 08:51:56,429 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 08:51:56,429 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 08:51:56,429 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 08:51:56,429 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 08:51:56,429 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 08:51:56,429 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 08:51:56,429 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 08:51:56,429 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 08:51:56,430 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 08:51:56,430 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 -> cbb57c0f29593d448f6879a3daeafb96125f4bb18be9c5e7e39686d9980eafd0 [2025-01-09 08:51:56,667 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 08:51:56,672 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 08:51:56,675 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 08:51:56,676 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 08:51:56,676 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 08:51:56,677 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_codestructure_steplocals_file-25.i [2025-01-09 08:51:57,807 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/dda5fe418/e079f7e219ee49388162de9b528a18e6/FLAG955d6ef58 [2025-01-09 08:51:58,098 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 08:51:58,099 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_codestructure_steplocals_file-25.i [2025-01-09 08:51:58,105 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/dda5fe418/e079f7e219ee49388162de9b528a18e6/FLAG955d6ef58 [2025-01-09 08:51:58,379 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/dda5fe418/e079f7e219ee49388162de9b528a18e6 [2025-01-09 08:51:58,381 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 08:51:58,382 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 08:51:58,384 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 08:51:58,384 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 08:51:58,387 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 08:51:58,388 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:51:58" (1/1) ... [2025-01-09 08:51:58,389 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@766e97a4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:51:58, skipping insertion in model container [2025-01-09 08:51:58,389 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:51:58" (1/1) ... [2025-01-09 08:51:58,406 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 08:51:58,515 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_steplocals_file-25.i[917,930] [2025-01-09 08:51:58,578 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:51:58,589 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 08:51:58,599 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_steplocals_file-25.i[917,930] [2025-01-09 08:51:58,643 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:51:58,657 INFO L204 MainTranslator]: Completed translation [2025-01-09 08:51:58,657 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:51:58 WrapperNode [2025-01-09 08:51:58,657 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 08:51:58,658 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 08:51:58,658 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 08:51:58,658 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 08:51:58,662 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:51:58" (1/1) ... [2025-01-09 08:51:58,671 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:51:58" (1/1) ... [2025-01-09 08:51:58,704 INFO L138 Inliner]: procedures = 26, calls = 36, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 154 [2025-01-09 08:51:58,705 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 08:51:58,706 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 08:51:58,706 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 08:51:58,707 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 08:51:58,715 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:51:58" (1/1) ... [2025-01-09 08:51:58,715 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:51:58" (1/1) ... [2025-01-09 08:51:58,718 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:51:58" (1/1) ... [2025-01-09 08:51:58,737 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:51:58,737 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:51:58" (1/1) ... [2025-01-09 08:51:58,738 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:51:58" (1/1) ... [2025-01-09 08:51:58,745 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:51:58" (1/1) ... [2025-01-09 08:51:58,745 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:51:58" (1/1) ... [2025-01-09 08:51:58,747 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:51:58" (1/1) ... [2025-01-09 08:51:58,748 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:51:58" (1/1) ... [2025-01-09 08:51:58,749 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:51:58" (1/1) ... [2025-01-09 08:51:58,751 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 08:51:58,751 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 08:51:58,751 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 08:51:58,751 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 08:51:58,753 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:51:58" (1/1) ... [2025-01-09 08:51:58,759 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:51:58,768 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:51:58,781 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:51:58,786 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:51:58,803 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 08:51:58,803 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 08:51:58,803 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 08:51:58,803 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-09 08:51:58,803 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 08:51:58,803 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 08:51:58,861 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 08:51:58,862 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 08:51:59,108 INFO L? ?]: Removed 20 outVars from TransFormulas that were not future-live. [2025-01-09 08:51:59,108 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 08:51:59,114 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 08:51:59,114 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 08:51:59,114 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:51:59 BoogieIcfgContainer [2025-01-09 08:51:59,115 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 08:51:59,116 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 08:51:59,116 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 08:51:59,120 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 08:51:59,120 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 08:51:58" (1/3) ... [2025-01-09 08:51:59,120 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@232345cd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:51:59, skipping insertion in model container [2025-01-09 08:51:59,121 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:51:58" (2/3) ... [2025-01-09 08:51:59,121 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@232345cd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:51:59, skipping insertion in model container [2025-01-09 08:51:59,121 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:51:59" (3/3) ... [2025-01-09 08:51:59,122 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_codestructure_steplocals_file-25.i [2025-01-09 08:51:59,132 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 08:51:59,134 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_codestructure_steplocals_file-25.i that has 2 procedures, 70 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 08:51:59,174 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 08:51:59,183 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;@1fda4a32, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 08:51:59,183 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 08:51:59,186 INFO L276 IsEmpty]: Start isEmpty. Operand has 70 states, 44 states have (on average 1.3409090909090908) internal successors, (59), 45 states have internal predecessors, (59), 23 states have call successors, (23), 1 states have call predecessors, (23), 1 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2025-01-09 08:51:59,194 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 149 [2025-01-09 08:51:59,194 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:51:59,195 INFO L218 NwaCegarLoop]: trace histogram [23, 23, 23, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:51:59,195 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:51:59,200 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:51:59,200 INFO L85 PathProgramCache]: Analyzing trace with hash -1833415912, now seen corresponding path program 1 times [2025-01-09 08:51:59,205 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 08:51:59,206 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2058761592] [2025-01-09 08:51:59,206 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:51:59,207 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 08:51:59,288 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 148 statements into 1 equivalence classes. [2025-01-09 08:51:59,304 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 148 of 148 statements. [2025-01-09 08:51:59,304 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:51:59,304 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:51:59,435 INFO L134 CoverageAnalysis]: Checked inductivity of 1012 backedges. 0 proven. 44 refuted. 0 times theorem prover too weak. 968 trivial. 0 not checked. [2025-01-09 08:51:59,436 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 08:51:59,436 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2058761592] [2025-01-09 08:51:59,436 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2058761592] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 08:51:59,436 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [686575535] [2025-01-09 08:51:59,437 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:51:59,437 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 08:51:59,437 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:51:59,442 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:51:59,446 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:51:59,532 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 148 statements into 1 equivalence classes. [2025-01-09 08:51:59,604 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 148 of 148 statements. [2025-01-09 08:51:59,604 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:51:59,604 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:51:59,606 INFO L256 TraceCheckSpWp]: Trace formula consists of 344 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 08:51:59,615 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 08:51:59,640 INFO L134 CoverageAnalysis]: Checked inductivity of 1012 backedges. 44 proven. 0 refuted. 0 times theorem prover too weak. 968 trivial. 0 not checked. [2025-01-09 08:51:59,641 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 08:51:59,641 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [686575535] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 08:51:59,641 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-01-09 08:51:59,641 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-01-09 08:51:59,643 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [165757635] [2025-01-09 08:51:59,643 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 08:51:59,646 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 08:51:59,646 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 08:51:59,659 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 08:51:59,659 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 08:51:59,660 INFO L87 Difference]: Start difference. First operand has 70 states, 44 states have (on average 1.3409090909090908) internal successors, (59), 45 states have internal predecessors, (59), 23 states have call successors, (23), 1 states have call predecessors, (23), 1 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand has 2 states, 2 states have (on average 19.0) internal successors, (38), 2 states have internal predecessors, (38), 2 states have call successors, (23), 2 states have call predecessors, (23), 1 states have return successors, (23), 1 states have call predecessors, (23), 2 states have call successors, (23) [2025-01-09 08:51:59,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 08:51:59,684 INFO L93 Difference]: Finished difference Result 134 states and 228 transitions. [2025-01-09 08:51:59,685 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 08:51:59,686 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 19.0) internal successors, (38), 2 states have internal predecessors, (38), 2 states have call successors, (23), 2 states have call predecessors, (23), 1 states have return successors, (23), 1 states have call predecessors, (23), 2 states have call successors, (23) Word has length 148 [2025-01-09 08:51:59,686 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 08:51:59,691 INFO L225 Difference]: With dead ends: 134 [2025-01-09 08:51:59,691 INFO L226 Difference]: Without dead ends: 67 [2025-01-09 08:51:59,695 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 149 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:51:59,697 INFO L435 NwaCegarLoop]: 100 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, 100 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:51:59,699 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 100 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 08:51:59,708 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2025-01-09 08:51:59,725 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 67. [2025-01-09 08:51:59,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 42 states have (on average 1.2857142857142858) internal successors, (54), 42 states have internal predecessors, (54), 23 states have call successors, (23), 1 states have call predecessors, (23), 1 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2025-01-09 08:51:59,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 100 transitions. [2025-01-09 08:51:59,731 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 100 transitions. Word has length 148 [2025-01-09 08:51:59,732 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 08:51:59,733 INFO L471 AbstractCegarLoop]: Abstraction has 67 states and 100 transitions. [2025-01-09 08:51:59,733 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 19.0) internal successors, (38), 2 states have internal predecessors, (38), 2 states have call successors, (23), 2 states have call predecessors, (23), 1 states have return successors, (23), 1 states have call predecessors, (23), 2 states have call successors, (23) [2025-01-09 08:51:59,733 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 100 transitions. [2025-01-09 08:51:59,736 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 149 [2025-01-09 08:51:59,736 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:51:59,736 INFO L218 NwaCegarLoop]: trace histogram [23, 23, 23, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:51:59,743 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:51:59,937 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:51:59,937 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:51:59,938 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:51:59,939 INFO L85 PathProgramCache]: Analyzing trace with hash 1908982934, now seen corresponding path program 1 times [2025-01-09 08:51:59,939 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 08:51:59,939 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1750300232] [2025-01-09 08:51:59,939 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:51:59,939 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 08:51:59,953 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 148 statements into 1 equivalence classes. [2025-01-09 08:52:00,069 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 148 of 148 statements. [2025-01-09 08:52:00,069 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:52:00,069 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-09 08:52:00,080 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [735111647] [2025-01-09 08:52:00,080 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:52:00,080 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 08:52:00,080 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:52:00,082 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:52:00,083 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:52:00,184 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 148 statements into 1 equivalence classes. [2025-01-09 08:52:00,592 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 148 of 148 statements. [2025-01-09 08:52:00,592 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:52:00,592 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 08:52:00,592 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-09 08:52:00,614 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 148 statements into 1 equivalence classes. [2025-01-09 08:52:00,634 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 148 of 148 statements. [2025-01-09 08:52:00,634 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:52:00,634 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 08:52:00,685 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-09 08:52:00,685 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-01-09 08:52:00,686 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-01-09 08:52:00,697 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2025-01-09 08:52:00,888 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:52:00,890 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1] [2025-01-09 08:52:00,961 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-01-09 08:52:00,963 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 09.01 08:52:00 BoogieIcfgContainer [2025-01-09 08:52:00,963 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-01-09 08:52:00,963 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-01-09 08:52:00,963 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-01-09 08:52:00,964 INFO L274 PluginConnector]: Witness Printer initialized [2025-01-09 08:52:00,964 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:51:59" (3/4) ... [2025-01-09 08:52:00,966 INFO L149 WitnessPrinter]: No result that supports witness generation found [2025-01-09 08:52:00,966 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-01-09 08:52:00,966 INFO L158 Benchmark]: Toolchain (without parser) took 2584.87ms. Allocated memory is still 142.6MB. Free memory was 105.9MB in the beginning and 40.2MB in the end (delta: 65.8MB). Peak memory consumption was 64.8MB. Max. memory is 16.1GB. [2025-01-09 08:52:00,967 INFO L158 Benchmark]: CDTParser took 0.18ms. Allocated memory is still 201.3MB. Free memory is still 127.5MB. There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:52:00,967 INFO L158 Benchmark]: CACSL2BoogieTranslator took 274.01ms. Allocated memory is still 142.6MB. Free memory was 105.9MB in the beginning and 91.4MB in the end (delta: 14.6MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-01-09 08:52:00,967 INFO L158 Benchmark]: Boogie Procedure Inliner took 47.36ms. Allocated memory is still 142.6MB. Free memory was 91.4MB in the beginning and 88.4MB in the end (delta: 3.0MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:52:00,967 INFO L158 Benchmark]: Boogie Preprocessor took 44.64ms. Allocated memory is still 142.6MB. Free memory was 88.4MB in the beginning and 85.0MB in the end (delta: 3.4MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:52:00,967 INFO L158 Benchmark]: RCFGBuilder took 363.45ms. Allocated memory is still 142.6MB. Free memory was 84.0MB in the beginning and 64.2MB in the end (delta: 19.7MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-01-09 08:52:00,968 INFO L158 Benchmark]: TraceAbstraction took 1846.80ms. Allocated memory is still 142.6MB. Free memory was 63.2MB in the beginning and 40.2MB in the end (delta: 23.0MB). Peak memory consumption was 22.8MB. Max. memory is 16.1GB. [2025-01-09 08:52:00,968 INFO L158 Benchmark]: Witness Printer took 2.66ms. Allocated memory is still 142.6MB. Free memory was 40.2MB in the beginning and 40.2MB in the end (delta: 41.6kB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:52:00,969 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.18ms. Allocated memory is still 201.3MB. Free memory is still 127.5MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 274.01ms. Allocated memory is still 142.6MB. Free memory was 105.9MB in the beginning and 91.4MB in the end (delta: 14.6MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 47.36ms. Allocated memory is still 142.6MB. Free memory was 91.4MB in the beginning and 88.4MB in the end (delta: 3.0MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 44.64ms. Allocated memory is still 142.6MB. Free memory was 88.4MB in the beginning and 85.0MB in the end (delta: 3.4MB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 363.45ms. Allocated memory is still 142.6MB. Free memory was 84.0MB in the beginning and 64.2MB in the end (delta: 19.7MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * TraceAbstraction took 1846.80ms. Allocated memory is still 142.6MB. Free memory was 63.2MB in the beginning and 40.2MB in the end (delta: 23.0MB). Peak memory consumption was 22.8MB. Max. memory is 16.1GB. * Witness Printer took 2.66ms. Allocated memory is still 142.6MB. Free memory was 40.2MB in the beginning and 40.2MB in the end (delta: 41.6kB). There was no memory consumed. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - UnprovableResult [Line: 19]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: overapproximation of someBinaryFLOATComparisonOperation at line 74, overapproximation of someBinaryFLOATComparisonOperation at line 133, overapproximation of someBinaryFLOATComparisonOperation at line 127, overapproximation of someBinaryFLOATComparisonOperation at line 144, overapproximation of someBinaryFLOATComparisonOperation at line 125, overapproximation of someBinaryDOUBLEComparisonOperation at line 120, overapproximation of someBinaryDOUBLEComparisonOperation at line 118, overapproximation of someBinaryDOUBLEComparisonOperation at line 116, overapproximation of someBinaryDOUBLEComparisonOperation at line 144, overapproximation of someBinaryDOUBLEComparisonOperation at line 82, overapproximation of someBinaryDOUBLEComparisonOperation at line 73. Possible FailurePath: [L21] unsigned char isInitial = 0; [L22] signed long int var_1_1 = -256; [L23] unsigned char var_1_2 = 1; [L24] unsigned char var_1_3 = 5; [L25] unsigned char var_1_4 = 5; [L26] signed short int var_1_5 = -256; [L27] unsigned char var_1_6 = 1; [L28] double var_1_7 = 256.25; [L29] double var_1_8 = 127.8; [L30] double var_1_9 = 100.5; [L31] unsigned char var_1_10 = 0; [L32] unsigned char var_1_11 = 0; [L33] float var_1_12 = 999.75; [L34] float var_1_13 = 64.5; [L35] float var_1_14 = 127.25; [L36] signed char var_1_15 = -32; [L37] float var_1_16 = 32.7; [L38] unsigned char var_1_17 = 16; [L39] unsigned char var_1_18 = 32; [L40] unsigned short int var_1_19 = 5; [L41] unsigned char var_1_20 = 0; [L42] signed long int var_1_21 = 100; [L43] signed short int var_1_22 = 50; [L44] double var_1_23 = 1000000.75; VAL [isInitial=0, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_3=5, var_1_4=5, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L148] isInitial = 1 [L149] FCALL initially() [L151] FCALL updateLastVariables() [L152] CALL updateVariables() [L103] var_1_2 = __VERIFIER_nondet_uchar() [L104] CALL assume_abort_if_not(var_1_2 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_3=5, var_1_4=5, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_3=5, var_1_4=5, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L104] RET assume_abort_if_not(var_1_2 >= 0) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_3=5, var_1_4=5, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L105] CALL assume_abort_if_not(var_1_2 <= 1) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_3=5, var_1_4=5, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_3=5, var_1_4=5, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L105] RET assume_abort_if_not(var_1_2 <= 1) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_3=5, var_1_4=5, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L106] var_1_3 = __VERIFIER_nondet_uchar() [L107] CALL assume_abort_if_not(var_1_3 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_4=5, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_4=5, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L107] RET assume_abort_if_not(var_1_3 >= 0) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_4=5, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L108] CALL assume_abort_if_not(var_1_3 <= 255) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_4=5, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_4=5, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L108] RET assume_abort_if_not(var_1_3 <= 255) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_4=5, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L109] var_1_4 = __VERIFIER_nondet_uchar() [L110] CALL assume_abort_if_not(var_1_4 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L110] RET assume_abort_if_not(var_1_4 >= 0) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L111] CALL assume_abort_if_not(var_1_4 <= 255) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L111] RET assume_abort_if_not(var_1_4 <= 255) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L112] var_1_6 = __VERIFIER_nondet_uchar() [L113] CALL assume_abort_if_not(var_1_6 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L113] RET assume_abort_if_not(var_1_6 >= 0) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L114] CALL assume_abort_if_not(var_1_6 <= 1) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L114] RET assume_abort_if_not(var_1_6 <= 1) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1, var_1_7=1025/4, var_1_8=639/5, var_1_9=201/2] [L115] var_1_7 = __VERIFIER_nondet_double() [L116] CALL assume_abort_if_not((var_1_7 >= 0.0F && var_1_7 <= -1.0e-20F) || (var_1_7 <= 9223372.036854776000e+12F && var_1_7 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1, var_1_8=639/5, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1, var_1_8=639/5, var_1_9=201/2] [L116] RET assume_abort_if_not((var_1_7 >= 0.0F && var_1_7 <= -1.0e-20F) || (var_1_7 <= 9223372.036854776000e+12F && var_1_7 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1, var_1_8=639/5, var_1_9=201/2] [L117] var_1_8 = __VERIFIER_nondet_double() [L118] 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=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1, var_1_9=201/2] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1, var_1_9=201/2] [L118] 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=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1, var_1_9=201/2] [L119] var_1_9 = __VERIFIER_nondet_double() [L120] CALL assume_abort_if_not((var_1_9 >= -922337.2036854776000e+13F && var_1_9 <= -1.0e-20F) || (var_1_9 <= 9223372.036854776000e+12F && var_1_9 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L120] RET assume_abort_if_not((var_1_9 >= -922337.2036854776000e+13F && var_1_9 <= -1.0e-20F) || (var_1_9 <= 9223372.036854776000e+12F && var_1_9 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L121] var_1_11 = __VERIFIER_nondet_uchar() [L122] CALL assume_abort_if_not(var_1_11 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L122] RET assume_abort_if_not(var_1_11 >= 0) VAL [isInitial=1, var_1_10=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L123] CALL assume_abort_if_not(var_1_11 <= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L123] RET assume_abort_if_not(var_1_11 <= 0) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_13=129/2, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L124] var_1_13 = __VERIFIER_nondet_float() [L125] CALL assume_abort_if_not((var_1_13 >= -922337.2036854765600e+13F && var_1_13 <= -1.0e-20F) || (var_1_13 <= 9223372.036854765600e+12F && var_1_13 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L125] RET assume_abort_if_not((var_1_13 >= -922337.2036854765600e+13F && var_1_13 <= -1.0e-20F) || (var_1_13 <= 9223372.036854765600e+12F && var_1_13 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_14=509/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L126] var_1_14 = __VERIFIER_nondet_float() [L127] CALL assume_abort_if_not((var_1_14 >= -922337.2036854765600e+13F && var_1_14 <= -1.0e-20F) || (var_1_14 <= 9223372.036854765600e+12F && var_1_14 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L127] RET assume_abort_if_not((var_1_14 >= -922337.2036854765600e+13F && var_1_14 <= -1.0e-20F) || (var_1_14 <= 9223372.036854765600e+12F && var_1_14 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=-32, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L128] var_1_15 = __VERIFIER_nondet_char() [L129] CALL assume_abort_if_not(var_1_15 >= -128) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L129] RET assume_abort_if_not(var_1_15 >= -128) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L130] CALL assume_abort_if_not(var_1_15 <= 127) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L130] RET assume_abort_if_not(var_1_15 <= 127) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L131] CALL assume_abort_if_not(var_1_15 != 0) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L131] RET assume_abort_if_not(var_1_15 != 0) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_16=327/10, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L132] var_1_16 = __VERIFIER_nondet_float() [L133] CALL assume_abort_if_not((var_1_16 >= -461168.6018427382800e+13F && var_1_16 <= -1.0e-20F) || (var_1_16 <= 4611686.018427382800e+12F && var_1_16 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L133] RET assume_abort_if_not((var_1_16 >= -461168.6018427382800e+13F && var_1_16 <= -1.0e-20F) || (var_1_16 <= 4611686.018427382800e+12F && var_1_16 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=32, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L134] var_1_18 = __VERIFIER_nondet_uchar() [L135] CALL assume_abort_if_not(var_1_18 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L135] RET assume_abort_if_not(var_1_18 >= 0) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L136] CALL assume_abort_if_not(var_1_18 <= 254) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L136] RET assume_abort_if_not(var_1_18 <= 254) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=-256, var_1_20=0, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L137] var_1_20 = __VERIFIER_nondet_uchar() [L138] CALL assume_abort_if_not(var_1_20 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=-256, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=-256, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L138] RET assume_abort_if_not(var_1_20 >= 0) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=-256, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L139] CALL assume_abort_if_not(var_1_20 <= 1) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=-256, var_1_20=-255, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=-256, var_1_20=-255, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L139] RET assume_abort_if_not(var_1_20 <= 1) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=-256, var_1_20=-255, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_5=-256, var_1_6=1] [L152] RET updateVariables() [L153] CALL step() [L48] signed long int stepLocal_2 = 256; [L49] unsigned char stepLocal_1 = var_1_3 >= var_1_4; [L50] unsigned char stepLocal_0 = var_1_4; VAL [isInitial=1, stepLocal_0=253, stepLocal_1=1, stepLocal_2=256, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=-256, var_1_20=-255, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_3=-257, var_1_4=253, var_1_5=-256, var_1_6=1] [L51] COND TRUE var_1_2 && stepLocal_1 VAL [isInitial=1, stepLocal_0=253, stepLocal_2=256, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=-256, var_1_20=-255, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_3=-257, var_1_4=253, var_1_5=-256, var_1_6=1] [L52] COND TRUE stepLocal_2 != var_1_3 [L53] var_1_1 = (var_1_4 + var_1_3) VAL [isInitial=1, stepLocal_0=253, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=508, var_1_20=-255, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_3=-257, var_1_4=253, var_1_5=-256, var_1_6=1] [L62] unsigned char stepLocal_3 = var_1_2; VAL [isInitial=1, stepLocal_0=253, stepLocal_3=1, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=508, var_1_20=-255, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_3=-257, var_1_4=253, var_1_5=-256, var_1_6=1] [L63] COND TRUE stepLocal_3 && var_1_6 [L64] var_1_5 = ((((var_1_4) < (-100)) ? (var_1_4) : (-100))) VAL [isInitial=1, stepLocal_0=253, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=508, var_1_20=-255, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_3=-257, var_1_4=253, var_1_5=-100, var_1_6=1] [L72] var_1_10 = (var_1_6 && var_1_11) VAL [isInitial=1, stepLocal_0=253, var_1_10=0, var_1_11=0, var_1_12=3999/4, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=508, var_1_20=-255, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_3=-257, var_1_4=253, var_1_5=-100, var_1_6=1] [L73] COND TRUE ! (var_1_9 <= var_1_7) [L74] var_1_12 = ((((var_1_13) < (var_1_14)) ? (var_1_13) : (var_1_14))) VAL [isInitial=1, stepLocal_0=253, var_1_10=0, var_1_11=0, var_1_12=2, var_1_13=2, var_1_14=3, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=508, var_1_20=-255, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_3=-257, var_1_4=253, var_1_5=-100, var_1_6=1] [L82] COND FALSE !(var_1_8 != ((((var_1_14) < 0 ) ? -(var_1_14) : (var_1_14)))) VAL [isInitial=1, stepLocal_0=253, var_1_10=0, var_1_11=0, var_1_12=2, var_1_13=2, var_1_14=3, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=508, var_1_20=-255, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_3=-257, var_1_4=253, var_1_5=-100, var_1_6=1] [L87] unsigned char stepLocal_5 = var_1_18; [L88] unsigned char stepLocal_4 = var_1_20 || var_1_10; VAL [isInitial=1, stepLocal_0=253, stepLocal_4=1, stepLocal_5=254, var_1_10=0, var_1_11=0, var_1_12=2, var_1_13=2, var_1_14=3, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=5, var_1_1=508, var_1_20=-255, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_3=-257, var_1_4=253, var_1_5=-100, var_1_6=1] [L89] COND TRUE var_1_4 < stepLocal_5 [L90] var_1_19 = var_1_3 VAL [isInitial=1, stepLocal_0=253, stepLocal_4=1, var_1_10=0, var_1_11=0, var_1_12=2, var_1_13=2, var_1_14=3, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=255, var_1_1=508, var_1_20=-255, var_1_21=100, var_1_22=50, var_1_23=4000003/4, var_1_2=1, var_1_3=-257, var_1_4=253, var_1_5=-100, var_1_6=1] [L98] var_1_21 = var_1_4 [L99] var_1_22 = var_1_17 [L100] var_1_23 = var_1_14 VAL [isInitial=1, stepLocal_0=253, stepLocal_4=1, var_1_10=0, var_1_11=0, var_1_12=2, var_1_13=2, var_1_14=3, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=255, var_1_1=508, var_1_20=-255, var_1_21=253, var_1_22=16, var_1_23=3, var_1_2=1, var_1_3=-257, var_1_4=253, var_1_5=-100, var_1_6=1] [L153] RET step() [L154] CALL, EXPR property() [L144-L145] return (((((((((var_1_2 && (var_1_3 >= var_1_4)) ? ((256 != var_1_3) ? (var_1_1 == ((signed long int) (var_1_4 + var_1_3))) : 1) : ((var_1_4 >= var_1_3) ? (var_1_1 == ((signed long int) var_1_3)) : (var_1_1 == ((signed long int) var_1_4)))) && ((var_1_2 && var_1_6) ? (var_1_5 == ((signed short int) ((((var_1_4) < (-100)) ? (var_1_4) : (-100))))) : (((var_1_7 - var_1_8) > var_1_9) ? (var_1_5 == ((signed short int) var_1_3)) : (var_1_5 == ((signed short int) var_1_4))))) && (var_1_10 == ((unsigned char) (var_1_6 && var_1_11)))) && ((! (var_1_9 <= var_1_7)) ? (var_1_12 == ((float) ((((var_1_13) < (var_1_14)) ? (var_1_13) : (var_1_14))))) : (((((((var_1_1) > (var_1_5)) ? (var_1_1) : (var_1_5))) / var_1_15) < var_1_4) ? (var_1_12 == ((float) var_1_13)) : (var_1_12 == ((float) (var_1_16 + 49.6f)))))) && ((var_1_8 != ((((var_1_14) < 0 ) ? -(var_1_14) : (var_1_14)))) ? (var_1_2 ? (var_1_17 == ((unsigned char) var_1_18)) : 1) : 1)) && ((var_1_4 < var_1_18) ? (var_1_19 == ((unsigned short int) var_1_3)) : (((var_1_20 || var_1_10) || var_1_6) ? (var_1_19 == ((unsigned short int) var_1_3)) : (var_1_19 == ((unsigned short int) var_1_4))))) && (var_1_21 == ((signed long int) var_1_4))) && (var_1_22 == ((signed short int) var_1_17))) && (var_1_23 == ((double) var_1_14)) ; VAL [\result=0, isInitial=1, var_1_10=0, var_1_11=0, var_1_12=2, var_1_13=2, var_1_14=3, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=255, var_1_1=508, var_1_20=-255, var_1_21=253, var_1_22=16, var_1_23=3, var_1_2=1, var_1_3=-257, var_1_4=253, var_1_5=-100, var_1_6=1] [L154] RET, EXPR property() [L154] CALL __VERIFIER_assert(property()) [L19] COND TRUE !(cond) VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=2, var_1_13=2, var_1_14=3, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=255, var_1_1=508, var_1_20=-255, var_1_21=253, var_1_22=16, var_1_23=3, var_1_2=1, var_1_3=-257, var_1_4=253, var_1_5=-100, var_1_6=1] [L19] reach_error() VAL [isInitial=1, var_1_10=0, var_1_11=0, var_1_12=2, var_1_13=2, var_1_14=3, var_1_15=1, var_1_17=16, var_1_18=254, var_1_19=255, var_1_1=508, var_1_20=-255, var_1_21=253, var_1_22=16, var_1_23=3, var_1_2=1, var_1_3=-257, var_1_4=253, var_1_5=-100, var_1_6=1] - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 70 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 1.7s, OverallIterations: 2, TraceHistogramMax: 23, 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, 100 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, 100 mSDtfsCounter, 0 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 149 GetRequests, 149 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=70occurred 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.6s SatisfiabilityAnalysisTime, 0.2s InterpolantComputationTime, 592 NumberOfCodeBlocks, 592 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 294 ConstructedInterpolants, 0 QuantifiedInterpolants, 294 SizeOfPredicates, 0 NumberOfNonLiveVariables, 344 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 1980/2024 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:52:00,983 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_steplocals_file-25.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 cbb57c0f29593d448f6879a3daeafb96125f4bb18be9c5e7e39686d9980eafd0 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 08:52:03,020 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 08:52:03,097 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:52:03,104 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 08:52:03,105 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 08:52:03,128 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 08:52:03,128 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 08:52:03,128 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 08:52:03,129 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 08:52:03,129 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 08:52:03,129 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 08:52:03,129 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 08:52:03,129 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 08:52:03,129 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 08:52:03,129 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 08:52:03,129 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 08:52:03,130 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 08:52:03,130 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 08:52:03,130 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 08:52:03,130 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 08:52:03,130 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 08:52:03,130 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 08:52:03,130 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 08:52:03,130 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-01-09 08:52:03,130 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-01-09 08:52:03,130 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-01-09 08:52:03,130 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 08:52:03,131 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 08:52:03,131 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 08:52:03,131 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 08:52:03,131 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 08:52:03,131 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:52:03,131 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:52:03,131 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:52:03,131 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:52:03,131 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 08:52:03,131 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:52:03,131 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:52:03,132 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:52:03,132 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:52:03,132 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 08:52:03,132 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 08:52:03,132 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 08:52:03,132 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 08:52:03,132 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-01-09 08:52:03,132 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-01-09 08:52:03,132 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 08:52:03,132 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 08:52:03,132 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 08:52:03,132 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 08:52:03,132 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 -> cbb57c0f29593d448f6879a3daeafb96125f4bb18be9c5e7e39686d9980eafd0 [2025-01-09 08:52:03,397 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 08:52:03,403 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 08:52:03,404 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 08:52:03,405 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 08:52:03,405 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 08:52:03,406 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_codestructure_steplocals_file-25.i [2025-01-09 08:52:04,761 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/fb0c435a0/9dcce836f20941f6820a14ddfd008d37/FLAG6da9a730b [2025-01-09 08:52:04,925 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 08:52:04,925 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_codestructure_steplocals_file-25.i [2025-01-09 08:52:04,930 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/fb0c435a0/9dcce836f20941f6820a14ddfd008d37/FLAG6da9a730b [2025-01-09 08:52:04,940 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/fb0c435a0/9dcce836f20941f6820a14ddfd008d37 [2025-01-09 08:52:04,941 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 08:52:04,942 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 08:52:04,947 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 08:52:04,947 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 08:52:04,950 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 08:52:04,950 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:52:04" (1/1) ... [2025-01-09 08:52:04,951 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@21a33886 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:52:04, skipping insertion in model container [2025-01-09 08:52:04,951 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:52:04" (1/1) ... [2025-01-09 08:52:04,961 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 08:52:05,043 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_steplocals_file-25.i[917,930] [2025-01-09 08:52:05,095 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:52:05,109 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 08:52:05,117 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_steplocals_file-25.i[917,930] [2025-01-09 08:52:05,145 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:52:05,162 INFO L204 MainTranslator]: Completed translation [2025-01-09 08:52:05,162 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:52:05 WrapperNode [2025-01-09 08:52:05,162 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 08:52:05,164 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 08:52:05,164 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 08:52:05,164 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 08:52:05,169 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:52:05" (1/1) ... [2025-01-09 08:52:05,178 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:52:05" (1/1) ... [2025-01-09 08:52:05,204 INFO L138 Inliner]: procedures = 27, calls = 36, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 153 [2025-01-09 08:52:05,204 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 08:52:05,205 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 08:52:05,205 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 08:52:05,205 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 08:52:05,211 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:52:05" (1/1) ... [2025-01-09 08:52:05,211 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:52:05" (1/1) ... [2025-01-09 08:52:05,214 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:52:05" (1/1) ... [2025-01-09 08:52:05,230 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:52:05,230 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:52:05" (1/1) ... [2025-01-09 08:52:05,230 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:52:05" (1/1) ... [2025-01-09 08:52:05,241 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:52:05" (1/1) ... [2025-01-09 08:52:05,246 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:52:05" (1/1) ... [2025-01-09 08:52:05,252 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:52:05" (1/1) ... [2025-01-09 08:52:05,253 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:52:05" (1/1) ... [2025-01-09 08:52:05,254 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:52:05" (1/1) ... [2025-01-09 08:52:05,259 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 08:52:05,260 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 08:52:05,260 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 08:52:05,260 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 08:52:05,261 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:52:05" (1/1) ... [2025-01-09 08:52:05,271 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:52:05,282 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:52:05,305 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:52:05,315 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:52:05,330 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 08:52:05,335 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-01-09 08:52:05,335 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 08:52:05,335 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 08:52:05,335 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 08:52:05,335 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 08:52:05,404 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 08:52:05,405 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 08:52:06,774 INFO L? ?]: Removed 20 outVars from TransFormulas that were not future-live. [2025-01-09 08:52:06,775 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 08:52:06,781 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 08:52:06,781 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 08:52:06,781 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:52:06 BoogieIcfgContainer [2025-01-09 08:52:06,781 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 08:52:06,783 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 08:52:06,783 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 08:52:06,786 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 08:52:06,786 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 08:52:04" (1/3) ... [2025-01-09 08:52:06,787 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@f3afe3d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:52:06, skipping insertion in model container [2025-01-09 08:52:06,787 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:52:05" (2/3) ... [2025-01-09 08:52:06,787 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@f3afe3d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:52:06, skipping insertion in model container [2025-01-09 08:52:06,787 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:52:06" (3/3) ... [2025-01-09 08:52:06,788 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_codestructure_steplocals_file-25.i [2025-01-09 08:52:06,797 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 08:52:06,799 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_codestructure_steplocals_file-25.i that has 2 procedures, 70 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 08:52:06,880 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 08:52:06,899 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;@5aac31b, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 08:52:06,899 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 08:52:06,905 INFO L276 IsEmpty]: Start isEmpty. Operand has 70 states, 44 states have (on average 1.3409090909090908) internal successors, (59), 45 states have internal predecessors, (59), 23 states have call successors, (23), 1 states have call predecessors, (23), 1 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2025-01-09 08:52:06,913 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 149 [2025-01-09 08:52:06,913 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:52:06,914 INFO L218 NwaCegarLoop]: trace histogram [23, 23, 23, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:52:06,914 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:52:06,917 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:52:06,918 INFO L85 PathProgramCache]: Analyzing trace with hash -1833415912, now seen corresponding path program 1 times [2025-01-09 08:52:06,927 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 08:52:06,928 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1544168504] [2025-01-09 08:52:06,928 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:52:06,928 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:52:06,929 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 08:52:06,931 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:52:06,933 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:52:06,994 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 148 statements into 1 equivalence classes. [2025-01-09 08:52:07,195 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 148 of 148 statements. [2025-01-09 08:52:07,195 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:52:07,195 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:52:07,204 INFO L256 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 08:52:07,213 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 08:52:07,248 INFO L134 CoverageAnalysis]: Checked inductivity of 1012 backedges. 464 proven. 0 refuted. 0 times theorem prover too weak. 548 trivial. 0 not checked. [2025-01-09 08:52:07,248 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 08:52:07,248 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-01-09 08:52:07,248 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1544168504] [2025-01-09 08:52:07,249 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1544168504] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 08:52:07,249 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 08:52:07,249 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 08:52:07,250 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [588916466] [2025-01-09 08:52:07,250 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 08:52:07,252 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 08:52:07,253 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-01-09 08:52:07,267 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 08:52:07,267 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 08:52:07,269 INFO L87 Difference]: Start difference. First operand has 70 states, 44 states have (on average 1.3409090909090908) internal successors, (59), 45 states have internal predecessors, (59), 23 states have call successors, (23), 1 states have call predecessors, (23), 1 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand has 2 states, 2 states have (on average 20.0) internal successors, (40), 2 states have internal predecessors, (40), 2 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (23), 2 states have call predecessors, (23), 2 states have call successors, (23) [2025-01-09 08:52:07,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 08:52:07,302 INFO L93 Difference]: Finished difference Result 134 states and 228 transitions. [2025-01-09 08:52:07,303 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 08:52:07,304 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 20.0) internal successors, (40), 2 states have internal predecessors, (40), 2 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (23), 2 states have call predecessors, (23), 2 states have call successors, (23) Word has length 148 [2025-01-09 08:52:07,304 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 08:52:07,310 INFO L225 Difference]: With dead ends: 134 [2025-01-09 08:52:07,310 INFO L226 Difference]: Without dead ends: 67 [2025-01-09 08:52:07,312 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 147 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:52:07,314 INFO L435 NwaCegarLoop]: 100 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, 100 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:52:07,314 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 100 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 08:52:07,322 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2025-01-09 08:52:07,337 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 67. [2025-01-09 08:52:07,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 42 states have (on average 1.2857142857142858) internal successors, (54), 42 states have internal predecessors, (54), 23 states have call successors, (23), 1 states have call predecessors, (23), 1 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2025-01-09 08:52:07,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 100 transitions. [2025-01-09 08:52:07,346 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 100 transitions. Word has length 148 [2025-01-09 08:52:07,347 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 08:52:07,347 INFO L471 AbstractCegarLoop]: Abstraction has 67 states and 100 transitions. [2025-01-09 08:52:07,347 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 20.0) internal successors, (40), 2 states have internal predecessors, (40), 2 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (23), 2 states have call predecessors, (23), 2 states have call successors, (23) [2025-01-09 08:52:07,347 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 100 transitions. [2025-01-09 08:52:07,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 149 [2025-01-09 08:52:07,350 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:52:07,350 INFO L218 NwaCegarLoop]: trace histogram [23, 23, 23, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:52:07,362 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:52:07,555 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:52:07,555 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:52:07,556 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:52:07,557 INFO L85 PathProgramCache]: Analyzing trace with hash 1908982934, now seen corresponding path program 1 times [2025-01-09 08:52:07,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 08:52:07,557 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1375464979] [2025-01-09 08:52:07,557 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:52:07,557 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:52:07,558 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 08:52:07,559 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:52:07,561 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:52:07,602 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 148 statements into 1 equivalence classes. [2025-01-09 08:52:07,783 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 148 of 148 statements. [2025-01-09 08:52:07,783 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:52:07,783 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:52:07,794 INFO L256 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 26 conjuncts are in the unsatisfiable core [2025-01-09 08:52:07,821 INFO L279 TraceCheckSpWp]: Computing forward predicates...