./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/hardness-nfm22/hardness_codestructure_normal_file-99.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_normal_file-99.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 1a5d1e3c1747d001c65484557ebcdf1bfb19594000d14da466e1b765cfd28326 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 08:49:17,851 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 08:49:17,911 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:49:17,916 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 08:49:17,916 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 08:49:17,929 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 08:49:17,929 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 08:49:17,929 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 08:49:17,929 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 08:49:17,929 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 08:49:17,929 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 08:49:17,930 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 08:49:17,930 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 08:49:17,930 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 08:49:17,930 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 08:49:17,930 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 08:49:17,930 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 08:49:17,930 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 08:49:17,930 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 08:49:17,930 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 08:49:17,931 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 08:49:17,931 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 08:49:17,931 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 08:49:17,931 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 08:49:17,931 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 08:49:17,931 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 08:49:17,931 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 08:49:17,931 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 08:49:17,931 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 08:49:17,931 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:49:17,931 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:49:17,932 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:49:17,932 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:49:17,932 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 08:49:17,932 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:49:17,932 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:49:17,932 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:49:17,932 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:49:17,932 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 08:49:17,932 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 08:49:17,932 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 08:49:17,932 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 08:49:17,932 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 08:49:17,932 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 08:49:17,932 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 08:49:17,933 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 08:49:17,933 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 08:49:17,933 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 08:49:17,933 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 -> 1a5d1e3c1747d001c65484557ebcdf1bfb19594000d14da466e1b765cfd28326 [2025-01-09 08:49:18,113 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 08:49:18,123 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 08:49:18,129 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 08:49:18,130 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 08:49:18,130 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 08:49:18,131 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_codestructure_normal_file-99.i [2025-01-09 08:49:19,302 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/b8cf4bc14/c2cc828f58074451beeac98e84707bbc/FLAG44cb4e0ca [2025-01-09 08:49:19,584 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 08:49:19,584 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_codestructure_normal_file-99.i [2025-01-09 08:49:19,591 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/b8cf4bc14/c2cc828f58074451beeac98e84707bbc/FLAG44cb4e0ca [2025-01-09 08:49:19,887 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/b8cf4bc14/c2cc828f58074451beeac98e84707bbc [2025-01-09 08:49:19,889 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 08:49:19,890 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 08:49:19,891 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 08:49:19,891 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 08:49:19,893 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 08:49:19,894 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:49:19" (1/1) ... [2025-01-09 08:49:19,895 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@32fb96fe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:19, skipping insertion in model container [2025-01-09 08:49:19,895 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:49:19" (1/1) ... [2025-01-09 08:49:19,907 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 08:49:20,000 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_normal_file-99.i[913,926] [2025-01-09 08:49:20,044 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:49:20,051 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 08:49:20,060 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_normal_file-99.i[913,926] [2025-01-09 08:49:20,087 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:49:20,097 INFO L204 MainTranslator]: Completed translation [2025-01-09 08:49:20,098 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:20 WrapperNode [2025-01-09 08:49:20,098 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 08:49:20,099 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 08:49:20,101 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 08:49:20,101 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 08:49:20,107 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:49:20" (1/1) ... [2025-01-09 08:49:20,117 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:49:20" (1/1) ... [2025-01-09 08:49:20,145 INFO L138 Inliner]: procedures = 26, calls = 48, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 208 [2025-01-09 08:49:20,146 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 08:49:20,146 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 08:49:20,146 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 08:49:20,146 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 08:49:20,153 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:20" (1/1) ... [2025-01-09 08:49:20,153 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:20" (1/1) ... [2025-01-09 08:49:20,156 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:20" (1/1) ... [2025-01-09 08:49:20,167 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:49:20,167 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:20" (1/1) ... [2025-01-09 08:49:20,167 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:20" (1/1) ... [2025-01-09 08:49:20,176 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:20" (1/1) ... [2025-01-09 08:49:20,177 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:20" (1/1) ... [2025-01-09 08:49:20,179 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:20" (1/1) ... [2025-01-09 08:49:20,181 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:20" (1/1) ... [2025-01-09 08:49:20,181 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:20" (1/1) ... [2025-01-09 08:49:20,183 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 08:49:20,184 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 08:49:20,184 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 08:49:20,184 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 08:49:20,185 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:20" (1/1) ... [2025-01-09 08:49:20,189 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:49:20,197 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:49:20,210 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:49:20,220 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:49:20,233 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 08:49:20,233 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 08:49:20,233 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 08:49:20,233 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-09 08:49:20,233 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 08:49:20,233 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 08:49:20,284 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 08:49:20,285 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 08:49:20,580 INFO L? ?]: Removed 10 outVars from TransFormulas that were not future-live. [2025-01-09 08:49:20,580 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 08:49:20,588 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 08:49:20,589 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 08:49:20,590 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:49:20 BoogieIcfgContainer [2025-01-09 08:49:20,590 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 08:49:20,592 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 08:49:20,593 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 08:49:20,595 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 08:49:20,595 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 08:49:19" (1/3) ... [2025-01-09 08:49:20,596 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4634cfef and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:49:20, skipping insertion in model container [2025-01-09 08:49:20,596 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:20" (2/3) ... [2025-01-09 08:49:20,597 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4634cfef and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:49:20, skipping insertion in model container [2025-01-09 08:49:20,597 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:49:20" (3/3) ... [2025-01-09 08:49:20,597 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_codestructure_normal_file-99.i [2025-01-09 08:49:20,608 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 08:49:20,609 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_codestructure_normal_file-99.i that has 2 procedures, 95 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 08:49:20,644 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 08:49:20,652 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;@2d07bde2, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 08:49:20,652 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 08:49:20,655 INFO L276 IsEmpty]: Start isEmpty. Operand has 95 states, 57 states have (on average 1.3508771929824561) internal successors, (77), 58 states have internal predecessors, (77), 35 states have call successors, (35), 1 states have call predecessors, (35), 1 states have return successors, (35), 35 states have call predecessors, (35), 35 states have call successors, (35) [2025-01-09 08:49:20,664 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 216 [2025-01-09 08:49:20,664 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:49:20,665 INFO L218 NwaCegarLoop]: trace histogram [35, 35, 35, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:49:20,665 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:49:20,669 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:49:20,669 INFO L85 PathProgramCache]: Analyzing trace with hash 1654635296, now seen corresponding path program 1 times [2025-01-09 08:49:20,674 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 08:49:20,677 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [290686756] [2025-01-09 08:49:20,677 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:49:20,677 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 08:49:20,762 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 215 statements into 1 equivalence classes. [2025-01-09 08:49:20,779 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 215 of 215 statements. [2025-01-09 08:49:20,779 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:49:20,779 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:49:20,961 INFO L134 CoverageAnalysis]: Checked inductivity of 2380 backedges. 0 proven. 68 refuted. 0 times theorem prover too weak. 2312 trivial. 0 not checked. [2025-01-09 08:49:20,961 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 08:49:20,962 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [290686756] [2025-01-09 08:49:20,962 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [290686756] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 08:49:20,962 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1945765370] [2025-01-09 08:49:20,962 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:49:20,962 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 08:49:20,963 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:49:20,964 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:49:20,966 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:49:21,050 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 215 statements into 1 equivalence classes. [2025-01-09 08:49:21,149 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 215 of 215 statements. [2025-01-09 08:49:21,150 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:49:21,150 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:49:21,152 INFO L256 TraceCheckSpWp]: Trace formula consists of 470 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 08:49:21,160 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 08:49:21,199 INFO L134 CoverageAnalysis]: Checked inductivity of 2380 backedges. 68 proven. 0 refuted. 0 times theorem prover too weak. 2312 trivial. 0 not checked. [2025-01-09 08:49:21,199 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 08:49:21,199 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1945765370] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 08:49:21,199 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-01-09 08:49:21,199 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-01-09 08:49:21,201 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1428272960] [2025-01-09 08:49:21,201 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 08:49:21,203 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 08:49:21,203 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 08:49:21,218 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 08:49:21,218 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 08:49:21,224 INFO L87 Difference]: Start difference. First operand has 95 states, 57 states have (on average 1.3508771929824561) internal successors, (77), 58 states have internal predecessors, (77), 35 states have call successors, (35), 1 states have call predecessors, (35), 1 states have return successors, (35), 35 states have call predecessors, (35), 35 states have call successors, (35) Second operand has 2 states, 2 states have (on average 22.5) internal successors, (45), 2 states have internal predecessors, (45), 2 states have call successors, (35), 2 states have call predecessors, (35), 1 states have return successors, (35), 1 states have call predecessors, (35), 2 states have call successors, (35) [2025-01-09 08:49:21,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 08:49:21,249 INFO L93 Difference]: Finished difference Result 184 states and 324 transitions. [2025-01-09 08:49:21,250 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 08:49:21,251 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 22.5) internal successors, (45), 2 states have internal predecessors, (45), 2 states have call successors, (35), 2 states have call predecessors, (35), 1 states have return successors, (35), 1 states have call predecessors, (35), 2 states have call successors, (35) Word has length 215 [2025-01-09 08:49:21,251 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 08:49:21,255 INFO L225 Difference]: With dead ends: 184 [2025-01-09 08:49:21,255 INFO L226 Difference]: Without dead ends: 92 [2025-01-09 08:49:21,257 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 216 GetRequests, 216 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:49:21,259 INFO L435 NwaCegarLoop]: 142 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, 142 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:49:21,259 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 142 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 08:49:21,267 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2025-01-09 08:49:21,282 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 92. [2025-01-09 08:49:21,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 55 states have (on average 1.309090909090909) internal successors, (72), 55 states have internal predecessors, (72), 35 states have call successors, (35), 1 states have call predecessors, (35), 1 states have return successors, (35), 35 states have call predecessors, (35), 35 states have call successors, (35) [2025-01-09 08:49:21,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 142 transitions. [2025-01-09 08:49:21,289 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 142 transitions. Word has length 215 [2025-01-09 08:49:21,289 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 08:49:21,289 INFO L471 AbstractCegarLoop]: Abstraction has 92 states and 142 transitions. [2025-01-09 08:49:21,290 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 22.5) internal successors, (45), 2 states have internal predecessors, (45), 2 states have call successors, (35), 2 states have call predecessors, (35), 1 states have return successors, (35), 1 states have call predecessors, (35), 2 states have call successors, (35) [2025-01-09 08:49:21,290 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 142 transitions. [2025-01-09 08:49:21,292 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 216 [2025-01-09 08:49:21,294 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:49:21,294 INFO L218 NwaCegarLoop]: trace histogram [35, 35, 35, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:49:21,304 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:49:21,499 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:49:21,500 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:49:21,500 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:49:21,501 INFO L85 PathProgramCache]: Analyzing trace with hash 873452582, now seen corresponding path program 1 times [2025-01-09 08:49:21,501 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 08:49:21,501 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [90258196] [2025-01-09 08:49:21,501 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:49:21,501 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 08:49:21,527 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 215 statements into 1 equivalence classes. [2025-01-09 08:49:21,734 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 215 of 215 statements. [2025-01-09 08:49:21,737 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:49:21,737 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-09 08:49:21,741 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1264869599] [2025-01-09 08:49:21,741 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:49:21,741 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 08:49:21,741 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:49:21,747 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:49:21,749 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:49:21,803 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 215 statements into 1 equivalence classes. [2025-01-09 08:49:21,871 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 215 of 215 statements. [2025-01-09 08:49:21,871 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:49:21,871 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 08:49:21,871 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-09 08:49:21,893 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 215 statements into 1 equivalence classes. [2025-01-09 08:49:21,921 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 215 of 215 statements. [2025-01-09 08:49:21,922 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:49:21,922 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 08:49:22,053 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-09 08:49:22,055 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-01-09 08:49:22,056 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-01-09 08:49:22,065 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:49:22,257 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:49:22,260 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1] [2025-01-09 08:49:22,367 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-01-09 08:49:22,370 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 09.01 08:49:22 BoogieIcfgContainer [2025-01-09 08:49:22,371 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-01-09 08:49:22,372 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-01-09 08:49:22,372 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-01-09 08:49:22,372 INFO L274 PluginConnector]: Witness Printer initialized [2025-01-09 08:49:22,373 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:49:20" (3/4) ... [2025-01-09 08:49:22,375 INFO L149 WitnessPrinter]: No result that supports witness generation found [2025-01-09 08:49:22,376 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-01-09 08:49:22,376 INFO L158 Benchmark]: Toolchain (without parser) took 2486.70ms. Allocated memory is still 167.8MB. Free memory was 133.3MB in the beginning and 108.4MB in the end (delta: 24.8MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2025-01-09 08:49:22,377 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 201.3MB. Free memory is still 124.8MB. There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:49:22,377 INFO L158 Benchmark]: CACSL2BoogieTranslator took 207.77ms. Allocated memory is still 167.8MB. Free memory was 132.8MB in the beginning and 118.4MB in the end (delta: 14.5MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-01-09 08:49:22,377 INFO L158 Benchmark]: Boogie Procedure Inliner took 47.10ms. Allocated memory is still 167.8MB. Free memory was 118.4MB in the beginning and 114.7MB in the end (delta: 3.7MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:49:22,378 INFO L158 Benchmark]: Boogie Preprocessor took 37.31ms. Allocated memory is still 167.8MB. Free memory was 114.7MB in the beginning and 108.9MB in the end (delta: 5.8MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 08:49:22,378 INFO L158 Benchmark]: RCFGBuilder took 406.29ms. Allocated memory is still 167.8MB. Free memory was 108.9MB in the beginning and 84.4MB in the end (delta: 24.5MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-01-09 08:49:22,379 INFO L158 Benchmark]: TraceAbstraction took 1779.10ms. Allocated memory is still 167.8MB. Free memory was 84.0MB in the beginning and 109.4MB in the end (delta: -25.3MB). Peak memory consumption was 43.7MB. Max. memory is 16.1GB. [2025-01-09 08:49:22,379 INFO L158 Benchmark]: Witness Printer took 3.69ms. Allocated memory is still 167.8MB. Free memory was 109.4MB in the beginning and 108.4MB in the end (delta: 913.5kB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:49:22,381 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.14ms. Allocated memory is still 201.3MB. Free memory is still 124.8MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 207.77ms. Allocated memory is still 167.8MB. Free memory was 132.8MB in the beginning and 118.4MB in the end (delta: 14.5MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 47.10ms. Allocated memory is still 167.8MB. Free memory was 118.4MB in the beginning and 114.7MB in the end (delta: 3.7MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 37.31ms. Allocated memory is still 167.8MB. Free memory was 114.7MB in the beginning and 108.9MB in the end (delta: 5.8MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * RCFGBuilder took 406.29ms. Allocated memory is still 167.8MB. Free memory was 108.9MB in the beginning and 84.4MB in the end (delta: 24.5MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * TraceAbstraction took 1779.10ms. Allocated memory is still 167.8MB. Free memory was 84.0MB in the beginning and 109.4MB in the end (delta: -25.3MB). Peak memory consumption was 43.7MB. Max. memory is 16.1GB. * Witness Printer took 3.69ms. Allocated memory is still 167.8MB. Free memory was 109.4MB in the beginning and 108.4MB in the end (delta: 913.5kB). There was no memory consumed. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - UnprovableResult [Line: 19]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: overapproximation of someBinaryArithmeticDOUBLEoperation at line 82, overapproximation of someBinaryDOUBLEComparisonOperation at line 112, overapproximation of someBinaryDOUBLEComparisonOperation at line 68, overapproximation of someBinaryDOUBLEComparisonOperation at line 148, overapproximation of someBinaryDOUBLEComparisonOperation at line 140, overapproximation of someBinaryDOUBLEComparisonOperation at line 82, overapproximation of someBinaryDOUBLEComparisonOperation at line 114. Possible FailurePath: [L21] unsigned char isInitial = 0; [L22] unsigned char var_1_1 = 1; [L23] unsigned char var_1_2 = 0; [L24] unsigned char var_1_3 = 0; [L25] unsigned char var_1_4 = 0; [L26] unsigned char var_1_5 = 0; [L27] signed long int var_1_6 = 25; [L28] signed long int var_1_7 = 5; [L29] signed long int var_1_8 = 32; [L30] signed long int var_1_9 = -8; [L31] double var_1_10 = 99999999999.25; [L32] double var_1_11 = 255.25; [L33] double var_1_12 = 1.125; [L34] unsigned char var_1_13 = 2; [L35] unsigned char var_1_14 = 5; [L36] unsigned char var_1_15 = 32; [L37] unsigned char var_1_16 = 4; [L38] unsigned char var_1_17 = 2; [L39] signed char var_1_18 = 4; [L40] signed char var_1_19 = 16; [L41] signed char var_1_20 = 32; [L42] signed char var_1_21 = 25; [L43] signed char var_1_22 = 1; [L44] signed char var_1_23 = 100; [L45] double var_1_24 = 3.125; [L46] double var_1_25 = 0.0; [L47] unsigned short int var_1_26 = 32; [L48] unsigned short int var_1_27 = 36217; [L49] unsigned char var_1_28 = 2; VAL [isInitial=0, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=0, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L152] isInitial = 1 [L153] FCALL initially() [L155] FCALL updateLastVariables() [L156] CALL updateVariables() [L90] var_1_2 = __VERIFIER_nondet_uchar() [L91] CALL assume_abort_if_not(var_1_2 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L91] RET assume_abort_if_not(var_1_2 >= 0) VAL [isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L92] CALL assume_abort_if_not(var_1_2 <= 1) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L92] RET assume_abort_if_not(var_1_2 <= 1) VAL [isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L93] var_1_3 = __VERIFIER_nondet_uchar() [L94] CALL assume_abort_if_not(var_1_3 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L94] RET assume_abort_if_not(var_1_3 >= 0) VAL [isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L95] CALL assume_abort_if_not(var_1_3 <= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L95] RET assume_abort_if_not(var_1_3 <= 0) VAL [isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L96] var_1_4 = __VERIFIER_nondet_uchar() [L97] CALL assume_abort_if_not(var_1_4 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L97] RET assume_abort_if_not(var_1_4 >= 0) VAL [isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L98] CALL assume_abort_if_not(var_1_4 <= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L98] RET assume_abort_if_not(var_1_4 <= 0) VAL [isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L99] var_1_5 = __VERIFIER_nondet_uchar() [L100] CALL assume_abort_if_not(var_1_5 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L100] RET assume_abort_if_not(var_1_5 >= 0) VAL [isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L101] CALL assume_abort_if_not(var_1_5 <= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L101] RET assume_abort_if_not(var_1_5 <= 0) VAL [isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=5, var_1_8=32, var_1_9=-8] [L102] var_1_7 = __VERIFIER_nondet_long() [L103] CALL assume_abort_if_not(var_1_7 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=32, var_1_9=-8] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=32, var_1_9=-8] [L103] RET assume_abort_if_not(var_1_7 >= 0) VAL [isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=32, var_1_9=-8] [L104] CALL assume_abort_if_not(var_1_7 <= 1073741823) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=32, var_1_9=-8] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=32, var_1_9=-8] [L104] RET assume_abort_if_not(var_1_7 <= 1073741823) VAL [isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=32, var_1_9=-8] [L105] var_1_8 = __VERIFIER_nondet_long() [L106] CALL assume_abort_if_not(var_1_8 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=-8] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=-8] [L106] RET assume_abort_if_not(var_1_8 >= 0) VAL [isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=-8] [L107] CALL assume_abort_if_not(var_1_8 <= 1073741823) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=-8] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=-8] [L107] RET assume_abort_if_not(var_1_8 <= 1073741823) VAL [isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=-8] [L108] var_1_9 = __VERIFIER_nondet_long() [L109] CALL assume_abort_if_not(var_1_9 >= -1073741823) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L109] RET assume_abort_if_not(var_1_9 >= -1073741823) VAL [isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L110] CALL assume_abort_if_not(var_1_9 <= 1073741823) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L110] RET assume_abort_if_not(var_1_9 <= 1073741823) VAL [isInitial=1, var_1_10=399999999997/4, var_1_11=1021/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L111] var_1_11 = __VERIFIER_nondet_double() [L112] CALL assume_abort_if_not((var_1_11 >= 0.0F && var_1_11 <= -1.0e-20F) || (var_1_11 <= 9223372.036854765600e+12F && var_1_11 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L112] RET assume_abort_if_not((var_1_11 >= 0.0F && var_1_11 <= -1.0e-20F) || (var_1_11 <= 9223372.036854765600e+12F && var_1_11 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=399999999997/4, var_1_12=9/8, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L113] var_1_12 = __VERIFIER_nondet_double() [L114] CALL assume_abort_if_not((var_1_12 >= 0.0F && var_1_12 <= -1.0e-20F) || (var_1_12 <= 9223372.036854765600e+12F && var_1_12 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L114] RET assume_abort_if_not((var_1_12 >= 0.0F && var_1_12 <= -1.0e-20F) || (var_1_12 <= 9223372.036854765600e+12F && var_1_12 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=5, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L115] var_1_14 = __VERIFIER_nondet_uchar() [L116] CALL assume_abort_if_not(var_1_14 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L116] RET assume_abort_if_not(var_1_14 >= 0) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L117] CALL assume_abort_if_not(var_1_14 <= 254) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L117] RET assume_abort_if_not(var_1_14 <= 254) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=4, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L118] var_1_16 = __VERIFIER_nondet_uchar() [L119] CALL assume_abort_if_not(var_1_16 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L119] RET assume_abort_if_not(var_1_16 >= 0) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L120] CALL assume_abort_if_not(var_1_16 <= 127) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L120] RET assume_abort_if_not(var_1_16 <= 127) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=2, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L121] var_1_17 = __VERIFIER_nondet_uchar() [L122] CALL assume_abort_if_not(var_1_17 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L122] RET assume_abort_if_not(var_1_17 >= 0) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L123] CALL assume_abort_if_not(var_1_17 <= 127) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L123] RET assume_abort_if_not(var_1_17 <= 127) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=16, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L124] var_1_19 = __VERIFIER_nondet_char() [L125] CALL assume_abort_if_not(var_1_19 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L125] RET assume_abort_if_not(var_1_19 >= 0) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L126] CALL assume_abort_if_not(var_1_19 <= 63) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L126] RET assume_abort_if_not(var_1_19 <= 63) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=32, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L127] var_1_20 = __VERIFIER_nondet_char() [L128] CALL assume_abort_if_not(var_1_20 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L128] RET assume_abort_if_not(var_1_20 >= 0) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L129] CALL assume_abort_if_not(var_1_20 <= 63) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L129] RET assume_abort_if_not(var_1_20 <= 63) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=25, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L130] var_1_21 = __VERIFIER_nondet_char() [L131] CALL assume_abort_if_not(var_1_21 >= -63) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L131] RET assume_abort_if_not(var_1_21 >= -63) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L132] CALL assume_abort_if_not(var_1_21 <= 63) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L132] RET assume_abort_if_not(var_1_21 <= 63) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=1, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L133] var_1_22 = __VERIFIER_nondet_char() [L134] CALL assume_abort_if_not(var_1_22 >= -1) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L134] RET assume_abort_if_not(var_1_22 >= -1) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L135] CALL assume_abort_if_not(var_1_22 <= 126) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L135] RET assume_abort_if_not(var_1_22 <= 126) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=100, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L136] var_1_23 = __VERIFIER_nondet_char() [L137] CALL assume_abort_if_not(var_1_23 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L137] RET assume_abort_if_not(var_1_23 >= 0) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L138] CALL assume_abort_if_not(var_1_23 <= 126) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L138] RET assume_abort_if_not(var_1_23 <= 126) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_25=0, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L139] var_1_25 = __VERIFIER_nondet_double() [L140] CALL assume_abort_if_not((var_1_25 >= 4611686.018427382800e+12F && var_1_25 <= -1.0e-20F) || (var_1_25 <= 9223372.036854765600e+12F && var_1_25 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L140] RET assume_abort_if_not((var_1_25 >= 4611686.018427382800e+12F && var_1_25 <= -1.0e-20F) || (var_1_25 <= 9223372.036854765600e+12F && var_1_25 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=36217, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L141] var_1_27 = __VERIFIER_nondet_ushort() [L142] CALL assume_abort_if_not(var_1_27 >= 32767) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=-32769, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=-32769, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L142] RET assume_abort_if_not(var_1_27 >= 32767) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=-32769, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L143] CALL assume_abort_if_not(var_1_27 <= 65534) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=-32769, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=-32769, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L143] RET assume_abort_if_not(var_1_27 <= 65534) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=1, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=-32769, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L156] RET updateVariables() [L157] CALL step() [L53] COND TRUE \read(var_1_2) [L54] var_1_1 = (var_1_3 || var_1_4) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=0, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=-32769, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=25, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L58] var_1_6 = ((var_1_7 - var_1_8) + var_1_9) VAL [isInitial=1, var_1_10=399999999997/4, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=0, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=-32769, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=1073741823, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L59] COND FALSE !(var_1_9 < (var_1_6 * var_1_8)) [L66] var_1_10 = var_1_12 VAL [isInitial=1, var_1_10=2, var_1_12=2, var_1_13=2, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=0, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=-32769, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=1073741823, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L68] COND TRUE var_1_12 != var_1_10 [L69] var_1_13 = var_1_14 VAL [isInitial=1, var_1_10=2, var_1_12=2, var_1_13=0, var_1_14=0, var_1_15=32, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=0, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=-32769, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=1073741823, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L77] COND TRUE ! var_1_5 [L78] var_1_15 = (((((var_1_16 + var_1_17)) > (var_1_14)) ? ((var_1_16 + var_1_17)) : (var_1_14))) VAL [isInitial=1, var_1_10=2, var_1_12=2, var_1_13=0, var_1_14=0, var_1_15=0, var_1_16=0, var_1_17=768, var_1_18=4, var_1_19=0, var_1_1=0, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=-32769, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=1073741823, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L80] var_1_18 = ((((((var_1_19 - var_1_20) + var_1_21)) > ((var_1_22 - var_1_23))) ? (((var_1_19 - var_1_20) + var_1_21)) : ((var_1_22 - var_1_23)))) VAL [isInitial=1, var_1_10=2, var_1_12=2, var_1_13=0, var_1_14=0, var_1_15=0, var_1_16=0, var_1_17=768, var_1_18=0, var_1_19=0, var_1_1=0, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=-32769, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=1073741823, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L81] EXPR var_1_20 ^ var_1_9 VAL [isInitial=1, var_1_10=2, var_1_12=2, var_1_13=0, var_1_14=0, var_1_15=0, var_1_16=0, var_1_17=768, var_1_18=0, var_1_19=0, var_1_1=0, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=25/8, var_1_26=32, var_1_27=-32769, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=1073741823, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L81] COND TRUE var_1_23 >= (var_1_20 ^ var_1_9) [L82] var_1_24 = ((((((((var_1_12) < (var_1_11)) ? (var_1_12) : (var_1_11)))) > (((var_1_25 - 25.5) - 127.125))) ? (((((var_1_12) < (var_1_11)) ? (var_1_12) : (var_1_11)))) : (((var_1_25 - 25.5) - 127.125)))) VAL [isInitial=1, var_1_10=2, var_1_11=0, var_1_12=2, var_1_13=0, var_1_14=0, var_1_15=0, var_1_16=0, var_1_17=768, var_1_18=0, var_1_19=0, var_1_1=0, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=2, var_1_26=32, var_1_27=-32769, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=1073741823, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L84] COND TRUE \read(var_1_2) [L85] var_1_26 = ((((((((var_1_15) < (var_1_14)) ? (var_1_15) : (var_1_14)))) < ((var_1_27 - var_1_17))) ? (((((var_1_15) < (var_1_14)) ? (var_1_15) : (var_1_14)))) : ((var_1_27 - var_1_17)))) VAL [isInitial=1, var_1_10=2, var_1_11=0, var_1_12=2, var_1_13=0, var_1_14=0, var_1_15=0, var_1_16=0, var_1_17=768, var_1_18=0, var_1_19=0, var_1_1=0, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=2, var_1_26=0, var_1_27=-32769, var_1_28=2, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=1073741823, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L87] var_1_28 = var_1_16 VAL [isInitial=1, var_1_10=2, var_1_11=0, var_1_12=2, var_1_13=0, var_1_14=0, var_1_15=0, var_1_16=0, var_1_17=768, var_1_18=0, var_1_19=0, var_1_1=0, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=2, var_1_26=0, var_1_27=-32769, var_1_28=0, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=1073741823, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L157] RET step() [L158] CALL, EXPR property() [L148] EXPR ((((((var_1_2 ? (var_1_1 == ((unsigned char) (var_1_3 || var_1_4))) : (var_1_1 == ((unsigned char) (var_1_3 || (var_1_4 || var_1_5))))) && (var_1_6 == ((signed long int) ((var_1_7 - var_1_8) + var_1_9)))) && ((var_1_9 < (var_1_6 * var_1_8)) ? (var_1_3 ? ((var_1_9 <= var_1_6) ? (var_1_10 == ((double) (var_1_11 - var_1_12))) : 1) : 1) : (var_1_10 == ((double) var_1_12)))) && ((var_1_12 != var_1_10) ? (var_1_13 == ((unsigned char) var_1_14)) : (((- var_1_6) > var_1_14) ? (var_1_13 == ((unsigned char) var_1_14)) : (var_1_13 == ((unsigned char) 25))))) && ((! var_1_5) ? (var_1_15 == ((unsigned char) (((((var_1_16 + var_1_17)) > (var_1_14)) ? ((var_1_16 + var_1_17)) : (var_1_14))))) : 1)) && (var_1_18 == ((signed char) ((((((var_1_19 - var_1_20) + var_1_21)) > ((var_1_22 - var_1_23))) ? (((var_1_19 - var_1_20) + var_1_21)) : ((var_1_22 - var_1_23))))))) && ((var_1_23 >= (var_1_20 ^ var_1_9)) ? (var_1_24 == ((double) ((((((((var_1_12) < (var_1_11)) ? (var_1_12) : (var_1_11)))) > (((var_1_25 - 25.5) - 127.125))) ? (((((var_1_12) < (var_1_11)) ? (var_1_12) : (var_1_11)))) : (((var_1_25 - 25.5) - 127.125)))))) : 1) VAL [isInitial=1, var_1_10=2, var_1_11=0, var_1_12=2, var_1_13=0, var_1_14=0, var_1_15=0, var_1_16=0, var_1_17=768, var_1_18=0, var_1_19=0, var_1_1=0, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=2, var_1_26=0, var_1_27=-32769, var_1_28=0, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=1073741823, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L148-L149] return ((((((((var_1_2 ? (var_1_1 == ((unsigned char) (var_1_3 || var_1_4))) : (var_1_1 == ((unsigned char) (var_1_3 || (var_1_4 || var_1_5))))) && (var_1_6 == ((signed long int) ((var_1_7 - var_1_8) + var_1_9)))) && ((var_1_9 < (var_1_6 * var_1_8)) ? (var_1_3 ? ((var_1_9 <= var_1_6) ? (var_1_10 == ((double) (var_1_11 - var_1_12))) : 1) : 1) : (var_1_10 == ((double) var_1_12)))) && ((var_1_12 != var_1_10) ? (var_1_13 == ((unsigned char) var_1_14)) : (((- var_1_6) > var_1_14) ? (var_1_13 == ((unsigned char) var_1_14)) : (var_1_13 == ((unsigned char) 25))))) && ((! var_1_5) ? (var_1_15 == ((unsigned char) (((((var_1_16 + var_1_17)) > (var_1_14)) ? ((var_1_16 + var_1_17)) : (var_1_14))))) : 1)) && (var_1_18 == ((signed char) ((((((var_1_19 - var_1_20) + var_1_21)) > ((var_1_22 - var_1_23))) ? (((var_1_19 - var_1_20) + var_1_21)) : ((var_1_22 - var_1_23))))))) && ((var_1_23 >= (var_1_20 ^ var_1_9)) ? (var_1_24 == ((double) ((((((((var_1_12) < (var_1_11)) ? (var_1_12) : (var_1_11)))) > (((var_1_25 - 25.5) - 127.125))) ? (((((var_1_12) < (var_1_11)) ? (var_1_12) : (var_1_11)))) : (((var_1_25 - 25.5) - 127.125)))))) : 1)) && (var_1_2 ? (var_1_26 == ((unsigned short int) ((((((((var_1_15) < (var_1_14)) ? (var_1_15) : (var_1_14)))) < ((var_1_27 - var_1_17))) ? (((((var_1_15) < (var_1_14)) ? (var_1_15) : (var_1_14)))) : ((var_1_27 - var_1_17)))))) : 1)) && (var_1_28 == ((unsigned char) var_1_16)) ; [L158] RET, EXPR property() [L158] CALL __VERIFIER_assert(property()) [L19] COND TRUE !(cond) VAL [isInitial=1, var_1_10=2, var_1_11=0, var_1_12=2, var_1_13=0, var_1_14=0, var_1_15=0, var_1_16=0, var_1_17=768, var_1_18=0, var_1_19=0, var_1_1=0, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=2, var_1_26=0, var_1_27=-32769, var_1_28=0, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=1073741823, var_1_7=1073741823, var_1_8=0, var_1_9=0] [L19] reach_error() VAL [isInitial=1, var_1_10=2, var_1_11=0, var_1_12=2, var_1_13=0, var_1_14=0, var_1_15=0, var_1_16=0, var_1_17=768, var_1_18=0, var_1_19=0, var_1_1=0, var_1_20=0, var_1_21=-63, var_1_22=0, var_1_23=0, var_1_24=2, var_1_26=0, var_1_27=-32769, var_1_28=0, var_1_2=-255, var_1_3=0, var_1_4=0, var_1_5=0, var_1_6=1073741823, var_1_7=1073741823, var_1_8=0, var_1_9=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 95 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 1.6s, OverallIterations: 2, TraceHistogramMax: 35, 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, 142 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, 142 mSDtfsCounter, 0 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 216 GetRequests, 216 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=95occurred in iteration=0, InterpolantAutomatonStates: 2, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 0.2s InterpolantComputationTime, 860 NumberOfCodeBlocks, 860 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 428 ConstructedInterpolants, 0 QuantifiedInterpolants, 428 SizeOfPredicates, 0 NumberOfNonLiveVariables, 470 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 4692/4760 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:49:22,402 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_normal_file-99.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 1a5d1e3c1747d001c65484557ebcdf1bfb19594000d14da466e1b765cfd28326 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 08:49:24,685 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 08:49:24,748 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:49:24,760 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 08:49:24,760 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 08:49:24,778 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 08:49:24,779 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 08:49:24,779 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 08:49:24,779 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 08:49:24,779 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 08:49:24,779 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 08:49:24,779 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 08:49:24,779 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 08:49:24,780 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 08:49:24,780 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 08:49:24,780 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 08:49:24,780 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 08:49:24,780 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 08:49:24,780 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 08:49:24,780 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 08:49:24,780 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 08:49:24,780 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 08:49:24,780 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 08:49:24,780 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-01-09 08:49:24,781 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-01-09 08:49:24,781 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-01-09 08:49:24,781 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 08:49:24,781 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 08:49:24,781 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 08:49:24,781 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 08:49:24,782 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:49:24,782 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:49:24,782 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 08:49:24,782 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 08:49:24,783 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 -> 1a5d1e3c1747d001c65484557ebcdf1bfb19594000d14da466e1b765cfd28326 [2025-01-09 08:49:25,059 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 08:49:25,064 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 08:49:25,066 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 08:49:25,066 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 08:49:25,067 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 08:49:25,067 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_codestructure_normal_file-99.i [2025-01-09 08:49:26,500 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/2bf164f3f/b0282546d6584879965ad7d891addda1/FLAG11b230f30 [2025-01-09 08:49:26,768 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 08:49:26,768 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_codestructure_normal_file-99.i [2025-01-09 08:49:26,778 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/2bf164f3f/b0282546d6584879965ad7d891addda1/FLAG11b230f30 [2025-01-09 08:49:26,805 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/2bf164f3f/b0282546d6584879965ad7d891addda1 [2025-01-09 08:49:26,807 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 08:49:26,808 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 08:49:26,809 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 08:49:26,809 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 08:49:26,813 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 08:49:26,813 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:49:26" (1/1) ... [2025-01-09 08:49:26,814 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@72ed3e75 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:26, skipping insertion in model container [2025-01-09 08:49:26,814 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:49:26" (1/1) ... [2025-01-09 08:49:26,829 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 08:49:26,934 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_normal_file-99.i[913,926] [2025-01-09 08:49:26,986 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:49:27,004 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 08:49:27,011 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_normal_file-99.i[913,926] [2025-01-09 08:49:27,043 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:49:27,063 INFO L204 MainTranslator]: Completed translation [2025-01-09 08:49:27,063 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:27 WrapperNode [2025-01-09 08:49:27,063 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 08:49:27,064 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 08:49:27,064 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 08:49:27,066 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 08:49:27,070 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:49:27" (1/1) ... [2025-01-09 08:49:27,077 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:49:27" (1/1) ... [2025-01-09 08:49:27,098 INFO L138 Inliner]: procedures = 27, calls = 48, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 173 [2025-01-09 08:49:27,101 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 08:49:27,102 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 08:49:27,102 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 08:49:27,105 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 08:49:27,111 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:27" (1/1) ... [2025-01-09 08:49:27,111 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:27" (1/1) ... [2025-01-09 08:49:27,115 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:27" (1/1) ... [2025-01-09 08:49:27,131 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:49:27,132 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:27" (1/1) ... [2025-01-09 08:49:27,136 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:27" (1/1) ... [2025-01-09 08:49:27,142 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:27" (1/1) ... [2025-01-09 08:49:27,147 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:27" (1/1) ... [2025-01-09 08:49:27,149 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:27" (1/1) ... [2025-01-09 08:49:27,150 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:27" (1/1) ... [2025-01-09 08:49:27,154 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:27" (1/1) ... [2025-01-09 08:49:27,155 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 08:49:27,160 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 08:49:27,160 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 08:49:27,160 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 08:49:27,161 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:27" (1/1) ... [2025-01-09 08:49:27,168 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:49:27,178 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:49:27,191 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:49:27,198 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:49:27,215 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 08:49:27,215 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-01-09 08:49:27,215 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 08:49:27,215 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 08:49:27,215 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 08:49:27,215 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 08:49:27,288 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 08:49:27,294 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 08:49:30,784 INFO L? ?]: Removed 8 outVars from TransFormulas that were not future-live. [2025-01-09 08:49:30,785 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 08:49:30,792 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 08:49:30,792 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 08:49:30,793 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:49:30 BoogieIcfgContainer [2025-01-09 08:49:30,793 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 08:49:30,795 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 08:49:30,795 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 08:49:30,798 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 08:49:30,799 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 08:49:26" (1/3) ... [2025-01-09 08:49:30,799 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@326f0266 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:49:30, skipping insertion in model container [2025-01-09 08:49:30,799 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:49:27" (2/3) ... [2025-01-09 08:49:30,800 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@326f0266 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:49:30, skipping insertion in model container [2025-01-09 08:49:30,800 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:49:30" (3/3) ... [2025-01-09 08:49:30,801 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_codestructure_normal_file-99.i [2025-01-09 08:49:30,811 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 08:49:30,814 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_codestructure_normal_file-99.i that has 2 procedures, 84 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 08:49:30,865 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 08:49:30,876 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;@7525447f, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 08:49:30,876 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 08:49:30,880 INFO L276 IsEmpty]: Start isEmpty. Operand has 84 states, 46 states have (on average 1.2826086956521738) internal successors, (59), 47 states have internal predecessors, (59), 35 states have call successors, (35), 1 states have call predecessors, (35), 1 states have return successors, (35), 35 states have call predecessors, (35), 35 states have call successors, (35) [2025-01-09 08:49:30,892 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 213 [2025-01-09 08:49:30,893 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:49:30,893 INFO L218 NwaCegarLoop]: trace histogram [35, 35, 35, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:49:30,894 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:49:30,898 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:49:30,898 INFO L85 PathProgramCache]: Analyzing trace with hash -2129312505, now seen corresponding path program 1 times [2025-01-09 08:49:30,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 08:49:30,910 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1486910374] [2025-01-09 08:49:30,910 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:49:30,911 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:49:30,911 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 08:49:30,914 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:49:30,915 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:49:31,021 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 212 statements into 1 equivalence classes. [2025-01-09 08:49:31,255 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 212 of 212 statements. [2025-01-09 08:49:31,255 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:49:31,255 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:49:31,266 INFO L256 TraceCheckSpWp]: Trace formula consists of 330 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 08:49:31,281 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 08:49:31,335 INFO L134 CoverageAnalysis]: Checked inductivity of 2380 backedges. 824 proven. 0 refuted. 0 times theorem prover too weak. 1556 trivial. 0 not checked. [2025-01-09 08:49:31,336 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 08:49:31,336 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-01-09 08:49:31,336 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1486910374] [2025-01-09 08:49:31,337 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1486910374] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 08:49:31,337 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 08:49:31,337 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 08:49:31,338 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1404514154] [2025-01-09 08:49:31,338 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 08:49:31,345 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 08:49:31,346 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-01-09 08:49:31,365 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 08:49:31,365 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 08:49:31,367 INFO L87 Difference]: Start difference. First operand has 84 states, 46 states have (on average 1.2826086956521738) internal successors, (59), 47 states have internal predecessors, (59), 35 states have call successors, (35), 1 states have call predecessors, (35), 1 states have return successors, (35), 35 states have call predecessors, (35), 35 states have call successors, (35) Second operand has 2 states, 2 states have (on average 22.0) internal successors, (44), 2 states have internal predecessors, (44), 2 states have call successors, (35), 2 states have call predecessors, (35), 2 states have return successors, (35), 2 states have call predecessors, (35), 2 states have call successors, (35) [2025-01-09 08:49:31,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 08:49:31,392 INFO L93 Difference]: Finished difference Result 162 states and 288 transitions. [2025-01-09 08:49:31,393 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 08:49:31,394 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 22.0) internal successors, (44), 2 states have internal predecessors, (44), 2 states have call successors, (35), 2 states have call predecessors, (35), 2 states have return successors, (35), 2 states have call predecessors, (35), 2 states have call successors, (35) Word has length 212 [2025-01-09 08:49:31,394 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 08:49:31,400 INFO L225 Difference]: With dead ends: 162 [2025-01-09 08:49:31,400 INFO L226 Difference]: Without dead ends: 81 [2025-01-09 08:49:31,404 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 211 GetRequests, 211 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:49:31,409 INFO L435 NwaCegarLoop]: 124 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, 124 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:49:31,411 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 124 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 08:49:31,423 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2025-01-09 08:49:31,438 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2025-01-09 08:49:31,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 44 states have (on average 1.2272727272727273) internal successors, (54), 44 states have internal predecessors, (54), 35 states have call successors, (35), 1 states have call predecessors, (35), 1 states have return successors, (35), 35 states have call predecessors, (35), 35 states have call successors, (35) [2025-01-09 08:49:31,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 124 transitions. [2025-01-09 08:49:31,448 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 124 transitions. Word has length 212 [2025-01-09 08:49:31,448 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 08:49:31,448 INFO L471 AbstractCegarLoop]: Abstraction has 81 states and 124 transitions. [2025-01-09 08:49:31,449 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 22.0) internal successors, (44), 2 states have internal predecessors, (44), 2 states have call successors, (35), 2 states have call predecessors, (35), 2 states have return successors, (35), 2 states have call predecessors, (35), 2 states have call successors, (35) [2025-01-09 08:49:31,449 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 124 transitions. [2025-01-09 08:49:31,455 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 213 [2025-01-09 08:49:31,456 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:49:31,456 INFO L218 NwaCegarLoop]: trace histogram [35, 35, 35, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:49:31,468 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:49:31,660 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:49:31,661 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:49:31,662 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:49:31,662 INFO L85 PathProgramCache]: Analyzing trace with hash -1266337343, now seen corresponding path program 1 times [2025-01-09 08:49:31,663 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 08:49:31,663 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [480024731] [2025-01-09 08:49:31,663 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:49:31,663 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:49:31,663 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 08:49:31,666 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:49:31,667 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:49:31,757 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 212 statements into 1 equivalence classes. [2025-01-09 08:49:32,089 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 212 of 212 statements. [2025-01-09 08:49:32,089 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:49:32,089 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:49:32,103 INFO L256 TraceCheckSpWp]: Trace formula consists of 330 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-01-09 08:49:32,110 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 08:49:33,776 INFO L134 CoverageAnalysis]: Checked inductivity of 2380 backedges. 45 proven. 1216 refuted. 0 times theorem prover too weak. 1119 trivial. 0 not checked. [2025-01-09 08:49:33,776 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-09 08:49:34,449 INFO L134 CoverageAnalysis]: Checked inductivity of 2380 backedges. 45 proven. 57 refuted. 0 times theorem prover too weak. 2278 trivial. 0 not checked. [2025-01-09 08:49:34,449 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-01-09 08:49:34,449 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [480024731] [2025-01-09 08:49:34,449 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [480024731] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-09 08:49:34,449 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2025-01-09 08:49:34,449 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 11 [2025-01-09 08:49:34,449 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1478566378] [2025-01-09 08:49:34,449 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2025-01-09 08:49:34,451 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2025-01-09 08:49:34,451 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-01-09 08:49:34,451 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2025-01-09 08:49:34,451 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=72, Unknown=0, NotChecked=0, Total=110 [2025-01-09 08:49:34,452 INFO L87 Difference]: Start difference. First operand 81 states and 124 transitions. Second operand has 11 states, 11 states have (on average 7.2727272727272725) internal successors, (80), 11 states have internal predecessors, (80), 4 states have call successors, (70), 3 states have call predecessors, (70), 5 states have return successors, (70), 4 states have call predecessors, (70), 4 states have call successors, (70) [2025-01-09 08:49:36,724 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.00s for a HTC check with result INVALID. Formula has sorts [Bool, FloatingPoint, RoundingMode, Real, BitVec], hasArrays=false, hasNonlinArith=false, quantifiers [] [2025-01-09 08:49:38,528 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.72s for a HTC check with result INVALID. Formula has sorts [Bool, FloatingPoint, RoundingMode, Real, BitVec], hasArrays=false, hasNonlinArith=false, quantifiers [] [2025-01-09 08:49:38,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 08:49:38,996 INFO L93 Difference]: Finished difference Result 208 states and 311 transitions. [2025-01-09 08:49:38,997 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2025-01-09 08:49:38,997 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 7.2727272727272725) internal successors, (80), 11 states have internal predecessors, (80), 4 states have call successors, (70), 3 states have call predecessors, (70), 5 states have return successors, (70), 4 states have call predecessors, (70), 4 states have call successors, (70) Word has length 212 [2025-01-09 08:49:38,998 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 08:49:39,000 INFO L225 Difference]: With dead ends: 208 [2025-01-09 08:49:39,000 INFO L226 Difference]: Without dead ends: 130 [2025-01-09 08:49:39,001 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 432 GetRequests, 415 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=129, Invalid=213, Unknown=0, NotChecked=0, Total=342 [2025-01-09 08:49:39,002 INFO L435 NwaCegarLoop]: 107 mSDtfsCounter, 181 mSDsluCounter, 195 mSDsCounter, 0 mSdLazyCounter, 430 mSolverCounterSat, 162 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 182 SdHoareTripleChecker+Valid, 302 SdHoareTripleChecker+Invalid, 592 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 162 IncrementalHoareTripleChecker+Valid, 430 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.2s IncrementalHoareTripleChecker+Time [2025-01-09 08:49:39,002 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [182 Valid, 302 Invalid, 592 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [162 Valid, 430 Invalid, 0 Unknown, 0 Unchecked, 4.2s Time] [2025-01-09 08:49:39,002 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2025-01-09 08:49:39,032 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 123. [2025-01-09 08:49:39,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 123 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 70 states have internal predecessors, (83), 50 states have call successors, (50), 3 states have call predecessors, (50), 3 states have return successors, (50), 49 states have call predecessors, (50), 50 states have call successors, (50) [2025-01-09 08:49:39,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 183 transitions. [2025-01-09 08:49:39,034 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 183 transitions. Word has length 212 [2025-01-09 08:49:39,035 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 08:49:39,035 INFO L471 AbstractCegarLoop]: Abstraction has 123 states and 183 transitions. [2025-01-09 08:49:39,035 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 7.2727272727272725) internal successors, (80), 11 states have internal predecessors, (80), 4 states have call successors, (70), 3 states have call predecessors, (70), 5 states have return successors, (70), 4 states have call predecessors, (70), 4 states have call successors, (70) [2025-01-09 08:49:39,035 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 183 transitions. [2025-01-09 08:49:39,037 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 214 [2025-01-09 08:49:39,037 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:49:39,037 INFO L218 NwaCegarLoop]: trace histogram [35, 35, 35, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:49:39,048 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 (3)] Ended with exit code 0 [2025-01-09 08:49:39,237 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /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:49:39,238 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:49:39,238 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:49:39,238 INFO L85 PathProgramCache]: Analyzing trace with hash 422686345, now seen corresponding path program 1 times [2025-01-09 08:49:39,239 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 08:49:39,239 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [440816994] [2025-01-09 08:49:39,239 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:49:39,239 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:49:39,239 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 08:49:39,241 INFO L229 MonitoredProcess]: Starting monitored process 4 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:49:39,243 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 (4)] Waiting until timeout for monitored process [2025-01-09 08:49:39,277 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 213 statements into 1 equivalence classes. [2025-01-09 08:49:39,667 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 213 of 213 statements. [2025-01-09 08:49:39,667 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:49:39,667 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:49:39,687 INFO L256 TraceCheckSpWp]: Trace formula consists of 331 conjuncts, 43 conjuncts are in the unsatisfiable core [2025-01-09 08:49:39,700 INFO L279 TraceCheckSpWp]: Computing forward predicates...