./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-65.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 551b0097 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-65.i -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash b88bda8e1a4209131fc4a459b5a961cf1cc3c7f6d9206d86670129fed231a369 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 13:32:50,369 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 13:32:50,402 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-01-09 13:32:50,406 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 13:32:50,406 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 13:32:50,419 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 13:32:50,419 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 13:32:50,419 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 13:32:50,419 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 13:32:50,419 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 13:32:50,419 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 13:32:50,419 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 13:32:50,420 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 13:32:50,420 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 13:32:50,420 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 13:32:50,420 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 13:32:50,420 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 13:32:50,420 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 13:32:50,420 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 13:32:50,420 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 13:32:50,420 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 13:32:50,421 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 13:32:50,421 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 13:32:50,421 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 13:32:50,421 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 13:32:50,421 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 13:32:50,421 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 13:32:50,421 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 13:32:50,421 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 13:32:50,421 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:32:50,421 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:32:50,421 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:32:50,421 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:32:50,422 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 13:32:50,422 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:32:50,422 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:32:50,422 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:32:50,422 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:32:50,422 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 13:32:50,422 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 13:32:50,422 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 13:32:50,422 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 13:32:50,422 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 13:32:50,422 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 13:32:50,423 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 13:32:50,423 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 13:32:50,423 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 13:32:50,423 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 13:32:50,423 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 -> b88bda8e1a4209131fc4a459b5a961cf1cc3c7f6d9206d86670129fed231a369 [2025-01-09 13:32:50,612 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 13:32:50,619 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 13:32:50,621 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 13:32:50,621 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 13:32:50,622 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 13:32:50,622 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-65.i [2025-01-09 13:32:51,785 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/c75d334de/1aee85c3a1c043e58f34aad1273bf97a/FLAG549edb75d [2025-01-09 13:32:51,996 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 13:32:51,997 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-65.i [2025-01-09 13:32:52,004 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/c75d334de/1aee85c3a1c043e58f34aad1273bf97a/FLAG549edb75d [2025-01-09 13:32:52,027 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/c75d334de/1aee85c3a1c043e58f34aad1273bf97a [2025-01-09 13:32:52,032 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 13:32:52,033 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 13:32:52,034 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 13:32:52,035 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 13:32:52,037 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 13:32:52,038 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:32:52" (1/1) ... [2025-01-09 13:32:52,038 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3c89a703 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52, skipping insertion in model container [2025-01-09 13:32:52,039 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:32:52" (1/1) ... [2025-01-09 13:32:52,050 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 13:32:52,141 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-65.i[915,928] [2025-01-09 13:32:52,166 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:32:52,176 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 13:32:52,186 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-65.i[915,928] [2025-01-09 13:32:52,203 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:32:52,217 INFO L204 MainTranslator]: Completed translation [2025-01-09 13:32:52,218 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52 WrapperNode [2025-01-09 13:32:52,218 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 13:32:52,219 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 13:32:52,219 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 13:32:52,219 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 13:32:52,224 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52" (1/1) ... [2025-01-09 13:32:52,232 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52" (1/1) ... [2025-01-09 13:32:52,254 INFO L138 Inliner]: procedures = 26, calls = 30, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 113 [2025-01-09 13:32:52,255 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 13:32:52,257 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 13:32:52,257 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 13:32:52,257 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 13:32:52,263 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52" (1/1) ... [2025-01-09 13:32:52,264 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52" (1/1) ... [2025-01-09 13:32:52,266 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52" (1/1) ... [2025-01-09 13:32:52,274 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 13:32:52,278 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52" (1/1) ... [2025-01-09 13:32:52,278 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52" (1/1) ... [2025-01-09 13:32:52,284 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52" (1/1) ... [2025-01-09 13:32:52,285 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52" (1/1) ... [2025-01-09 13:32:52,286 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52" (1/1) ... [2025-01-09 13:32:52,291 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52" (1/1) ... [2025-01-09 13:32:52,293 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52" (1/1) ... [2025-01-09 13:32:52,295 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 13:32:52,295 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 13:32:52,295 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 13:32:52,295 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 13:32:52,296 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52" (1/1) ... [2025-01-09 13:32:52,299 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:32:52,307 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 13:32:52,320 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 13:32:52,327 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 13:32:52,338 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 13:32:52,338 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 13:32:52,338 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 13:32:52,338 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-09 13:32:52,338 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 13:32:52,338 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 13:32:52,380 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 13:32:52,381 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 13:32:52,496 INFO L? ?]: Removed 10 outVars from TransFormulas that were not future-live. [2025-01-09 13:32:52,496 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 13:32:52,502 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 13:32:52,502 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 13:32:52,502 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:32:52 BoogieIcfgContainer [2025-01-09 13:32:52,502 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 13:32:52,504 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 13:32:52,504 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 13:32:52,507 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 13:32:52,507 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 01:32:52" (1/3) ... [2025-01-09 13:32:52,507 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@51aecd6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:32:52, skipping insertion in model container [2025-01-09 13:32:52,507 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:52" (2/3) ... [2025-01-09 13:32:52,507 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@51aecd6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:32:52, skipping insertion in model container [2025-01-09 13:32:52,508 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:32:52" (3/3) ... [2025-01-09 13:32:52,508 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_loopvsstraightlinecode_25-while_file-65.i [2025-01-09 13:32:52,517 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 13:32:52,518 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_loopvsstraightlinecode_25-while_file-65.i that has 2 procedures, 53 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 13:32:52,553 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 13:32:52,560 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;@1ed93a37, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 13:32:52,560 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 13:32:52,563 INFO L276 IsEmpty]: Start isEmpty. Operand has 53 states, 33 states have (on average 1.303030303030303) internal successors, (43), 34 states have internal predecessors, (43), 17 states have call successors, (17), 1 states have call predecessors, (17), 1 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2025-01-09 13:32:52,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2025-01-09 13:32:52,568 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:32:52,569 INFO L218 NwaCegarLoop]: trace histogram [17, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 13:32:52,569 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:32:52,572 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:32:52,572 INFO L85 PathProgramCache]: Analyzing trace with hash -182408340, now seen corresponding path program 1 times [2025-01-09 13:32:52,576 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 13:32:52,577 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [3297129] [2025-01-09 13:32:52,577 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:32:52,577 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 13:32:52,638 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 110 statements into 1 equivalence classes. [2025-01-09 13:32:52,653 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 110 of 110 statements. [2025-01-09 13:32:52,653 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:32:52,653 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:32:52,730 INFO L134 CoverageAnalysis]: Checked inductivity of 544 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 512 trivial. 0 not checked. [2025-01-09 13:32:52,731 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 13:32:52,732 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [3297129] [2025-01-09 13:32:52,732 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [3297129] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 13:32:52,732 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [908556418] [2025-01-09 13:32:52,732 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:32:52,732 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 13:32:52,732 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 13:32:52,738 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 13:32:52,742 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 13:32:52,816 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 110 statements into 1 equivalence classes. [2025-01-09 13:32:52,870 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 110 of 110 statements. [2025-01-09 13:32:52,870 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:32:52,870 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:32:52,872 INFO L256 TraceCheckSpWp]: Trace formula consists of 251 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 13:32:52,879 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 13:32:52,901 INFO L134 CoverageAnalysis]: Checked inductivity of 544 backedges. 32 proven. 0 refuted. 0 times theorem prover too weak. 512 trivial. 0 not checked. [2025-01-09 13:32:52,902 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 13:32:52,903 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [908556418] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 13:32:52,903 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-01-09 13:32:52,903 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-01-09 13:32:52,904 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1317067564] [2025-01-09 13:32:52,905 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 13:32:52,908 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 13:32:52,908 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 13:32:52,922 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 13:32:52,922 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 13:32:52,924 INFO L87 Difference]: Start difference. First operand has 53 states, 33 states have (on average 1.303030303030303) internal successors, (43), 34 states have internal predecessors, (43), 17 states have call successors, (17), 1 states have call predecessors, (17), 1 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand has 2 states, 2 states have (on average 15.0) internal successors, (30), 2 states have internal predecessors, (30), 2 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (17), 1 states have call predecessors, (17), 2 states have call successors, (17) [2025-01-09 13:32:52,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 13:32:52,944 INFO L93 Difference]: Finished difference Result 100 states and 166 transitions. [2025-01-09 13:32:52,944 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 13:32:52,945 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 15.0) internal successors, (30), 2 states have internal predecessors, (30), 2 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (17), 1 states have call predecessors, (17), 2 states have call successors, (17) Word has length 110 [2025-01-09 13:32:52,946 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 13:32:52,950 INFO L225 Difference]: With dead ends: 100 [2025-01-09 13:32:52,950 INFO L226 Difference]: Without dead ends: 50 [2025-01-09 13:32:52,952 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 111 GetRequests, 111 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 13:32:52,954 INFO L435 NwaCegarLoop]: 72 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, 72 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 13:32:52,957 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 72 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 13:32:52,965 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2025-01-09 13:32:52,979 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2025-01-09 13:32:52,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 31 states have (on average 1.2258064516129032) internal successors, (38), 31 states have internal predecessors, (38), 17 states have call successors, (17), 1 states have call predecessors, (17), 1 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2025-01-09 13:32:52,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 72 transitions. [2025-01-09 13:32:52,986 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 72 transitions. Word has length 110 [2025-01-09 13:32:52,986 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 13:32:52,986 INFO L471 AbstractCegarLoop]: Abstraction has 50 states and 72 transitions. [2025-01-09 13:32:52,987 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 15.0) internal successors, (30), 2 states have internal predecessors, (30), 2 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (17), 1 states have call predecessors, (17), 2 states have call successors, (17) [2025-01-09 13:32:52,987 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 72 transitions. [2025-01-09 13:32:52,990 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2025-01-09 13:32:52,991 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:32:52,992 INFO L218 NwaCegarLoop]: trace histogram [17, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 13:32:52,998 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2025-01-09 13:32:53,197 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 13:32:53,198 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:32:53,199 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:32:53,200 INFO L85 PathProgramCache]: Analyzing trace with hash -576267034, now seen corresponding path program 1 times [2025-01-09 13:32:53,200 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 13:32:53,200 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1339490586] [2025-01-09 13:32:53,200 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:32:53,200 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 13:32:53,242 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 110 statements into 1 equivalence classes. [2025-01-09 13:32:53,343 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 110 of 110 statements. [2025-01-09 13:32:53,343 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:32:53,343 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 13:32:53,343 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-09 13:32:53,349 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 110 statements into 1 equivalence classes. [2025-01-09 13:32:53,379 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 110 of 110 statements. [2025-01-09 13:32:53,379 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:32:53,379 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 13:32:53,404 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-09 13:32:53,405 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-01-09 13:32:53,405 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-01-09 13:32:53,406 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-01-09 13:32:53,408 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1] [2025-01-09 13:32:53,465 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-01-09 13:32:53,467 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 09.01 01:32:53 BoogieIcfgContainer [2025-01-09 13:32:53,467 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-01-09 13:32:53,468 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-01-09 13:32:53,468 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-01-09 13:32:53,468 INFO L274 PluginConnector]: Witness Printer initialized [2025-01-09 13:32:53,469 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:32:52" (3/4) ... [2025-01-09 13:32:53,470 INFO L149 WitnessPrinter]: No result that supports witness generation found [2025-01-09 13:32:53,470 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-01-09 13:32:53,471 INFO L158 Benchmark]: Toolchain (without parser) took 1438.13ms. Allocated memory is still 167.8MB. Free memory was 124.0MB in the beginning and 118.4MB in the end (delta: 5.7MB). Peak memory consumption was 6.5MB. Max. memory is 16.1GB. [2025-01-09 13:32:53,471 INFO L158 Benchmark]: CDTParser took 0.12ms. Allocated memory is still 201.3MB. Free memory is still 118.9MB. There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 13:32:53,471 INFO L158 Benchmark]: CACSL2BoogieTranslator took 184.37ms. Allocated memory is still 167.8MB. Free memory was 123.3MB in the beginning and 111.1MB in the end (delta: 12.1MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 13:32:53,471 INFO L158 Benchmark]: Boogie Procedure Inliner took 37.88ms. Allocated memory is still 167.8MB. Free memory was 111.1MB in the beginning and 109.1MB in the end (delta: 2.1MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 13:32:53,471 INFO L158 Benchmark]: Boogie Preprocessor took 37.38ms. Allocated memory is still 167.8MB. Free memory was 109.1MB in the beginning and 107.5MB in the end (delta: 1.6MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 13:32:53,471 INFO L158 Benchmark]: RCFGBuilder took 207.15ms. Allocated memory is still 167.8MB. Free memory was 107.5MB in the beginning and 93.1MB in the end (delta: 14.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 13:32:53,472 INFO L158 Benchmark]: TraceAbstraction took 963.81ms. Allocated memory is still 167.8MB. Free memory was 92.3MB in the beginning and 118.4MB in the end (delta: -26.1MB). Peak memory consumption was 65.2MB. Max. memory is 16.1GB. [2025-01-09 13:32:53,472 INFO L158 Benchmark]: Witness Printer took 2.45ms. Allocated memory is still 167.8MB. Free memory was 118.4MB in the beginning and 118.4MB in the end (delta: 33.1kB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 13:32:53,473 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.12ms. Allocated memory is still 201.3MB. Free memory is still 118.9MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 184.37ms. Allocated memory is still 167.8MB. Free memory was 123.3MB in the beginning and 111.1MB in the end (delta: 12.1MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 37.88ms. Allocated memory is still 167.8MB. Free memory was 111.1MB in the beginning and 109.1MB in the end (delta: 2.1MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Preprocessor took 37.38ms. Allocated memory is still 167.8MB. Free memory was 109.1MB in the beginning and 107.5MB in the end (delta: 1.6MB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 207.15ms. Allocated memory is still 167.8MB. Free memory was 107.5MB in the beginning and 93.1MB in the end (delta: 14.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * TraceAbstraction took 963.81ms. Allocated memory is still 167.8MB. Free memory was 92.3MB in the beginning and 118.4MB in the end (delta: -26.1MB). Peak memory consumption was 65.2MB. Max. memory is 16.1GB. * Witness Printer took 2.45ms. Allocated memory is still 167.8MB. Free memory was 118.4MB in the beginning and 118.4MB in the end (delta: 33.1kB). There was no memory consumed. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - UnprovableResult [Line: 19]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: overapproximation of someBinaryFLOATComparisonOperation at line 69, overapproximation of someBinaryFLOATComparisonOperation at line 95, overapproximation of someBinaryFLOATComparisonOperation at line 64, overapproximation of someBinaryFLOATComparisonOperation at line 40, overapproximation of someBinaryDOUBLEComparisonOperation at line 54, overapproximation of someBinaryDOUBLEComparisonOperation at line 85, overapproximation of someBinaryDOUBLEComparisonOperation at line 95, overapproximation of someBinaryDOUBLEComparisonOperation at line 87, overapproximation of someBinaryDOUBLEComparisonOperation at line 83, overapproximation of someUnaryFLOAToperation at line 45. Possible FailurePath: [L21] unsigned char isInitial = 0; [L22] float var_1_1 = 1000000000.1; [L23] float var_1_2 = 256.75; [L24] unsigned char var_1_3 = 1; [L25] float var_1_4 = 8.2; [L26] signed long int var_1_5 = -32; [L27] signed long int var_1_6 = 4; [L28] signed char var_1_7 = 5; [L29] signed char var_1_8 = 64; [L30] signed char var_1_9 = 16; [L31] signed char var_1_10 = 64; [L32] signed char var_1_11 = -64; [L33] double var_1_12 = 15.9; [L34] double var_1_13 = 1.5; [L35] double var_1_14 = 10000000000.375; [L36] unsigned char var_1_15 = 1; VAL [isInitial=0, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_2=1027/4, var_1_3=1, var_1_4=41/5, var_1_5=-32, var_1_6=4, var_1_7=5, var_1_8=64, var_1_9=16] [L99] isInitial = 1 [L100] FCALL initially() [L102] FCALL updateLastVariables() [L103] CALL updateVariables() [L63] var_1_2 = __VERIFIER_nondet_float() [L64] CALL assume_abort_if_not((var_1_2 >= -922337.2036854776000e+13F && var_1_2 <= -1.0e-20F) || (var_1_2 <= 9223372.036854776000e+12F && var_1_2 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_4=41/5, var_1_5=-32, var_1_6=4, var_1_7=5, var_1_8=64, var_1_9=16] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_4=41/5, var_1_5=-32, var_1_6=4, var_1_7=5, var_1_8=64, var_1_9=16] [L64] RET assume_abort_if_not((var_1_2 >= -922337.2036854776000e+13F && var_1_2 <= -1.0e-20F) || (var_1_2 <= 9223372.036854776000e+12F && var_1_2 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_4=41/5, var_1_5=-32, var_1_6=4, var_1_7=5, var_1_8=64, var_1_9=16] [L65] var_1_3 = __VERIFIER_nondet_uchar() [L66] CALL assume_abort_if_not(var_1_3 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_4=41/5, var_1_5=-32, var_1_6=4, var_1_7=5, var_1_8=64, var_1_9=16] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_4=41/5, var_1_5=-32, var_1_6=4, var_1_7=5, var_1_8=64, var_1_9=16] [L66] RET assume_abort_if_not(var_1_3 >= 0) VAL [isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_4=41/5, var_1_5=-32, var_1_6=4, var_1_7=5, var_1_8=64, var_1_9=16] [L67] CALL assume_abort_if_not(var_1_3 <= 1) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_4=41/5, var_1_5=-32, var_1_6=4, var_1_7=5, var_1_8=64, var_1_9=16] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_4=41/5, var_1_5=-32, var_1_6=4, var_1_7=5, var_1_8=64, var_1_9=16] [L67] RET assume_abort_if_not(var_1_3 <= 1) VAL [isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_4=41/5, var_1_5=-32, var_1_6=4, var_1_7=5, var_1_8=64, var_1_9=16] [L68] var_1_4 = __VERIFIER_nondet_float() [L69] CALL assume_abort_if_not((var_1_4 >= -922337.2036854765600e+13F && var_1_4 <= -1.0e-20F) || (var_1_4 <= 9223372.036854765600e+12F && var_1_4 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=4, var_1_7=5, var_1_8=64, var_1_9=16] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=4, var_1_7=5, var_1_8=64, var_1_9=16] [L69] RET assume_abort_if_not((var_1_4 >= -922337.2036854765600e+13F && var_1_4 <= -1.0e-20F) || (var_1_4 <= 9223372.036854765600e+12F && var_1_4 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=4, var_1_7=5, var_1_8=64, var_1_9=16] [L70] var_1_6 = __VERIFIER_nondet_long() [L71] CALL assume_abort_if_not(var_1_6 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=64, var_1_9=16] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=64, var_1_9=16] [L71] RET assume_abort_if_not(var_1_6 >= 0) VAL [isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=64, var_1_9=16] [L72] CALL assume_abort_if_not(var_1_6 <= 1073741823) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=64, var_1_9=16] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=64, var_1_9=16] [L72] RET assume_abort_if_not(var_1_6 <= 1073741823) VAL [isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=64, var_1_9=16] [L73] var_1_8 = __VERIFIER_nondet_char() [L74] CALL assume_abort_if_not(var_1_8 >= 63) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=16] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=16] [L74] RET assume_abort_if_not(var_1_8 >= 63) VAL [isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=16] [L75] CALL assume_abort_if_not(var_1_8 <= 127) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=16] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=16] [L75] RET assume_abort_if_not(var_1_8 <= 127) VAL [isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=16] [L76] var_1_9 = __VERIFIER_nondet_char() [L77] CALL assume_abort_if_not(var_1_9 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L77] RET assume_abort_if_not(var_1_9 >= 0) VAL [isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L78] CALL assume_abort_if_not(var_1_9 <= 63) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L78] RET assume_abort_if_not(var_1_9 <= 63) VAL [isInitial=1, var_1_10=64, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L79] var_1_10 = __VERIFIER_nondet_char() [L80] CALL assume_abort_if_not(var_1_10 >= -127) VAL [\old(cond)=1, isInitial=1, var_1_10=-127, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=-127, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L80] RET assume_abort_if_not(var_1_10 >= -127) VAL [isInitial=1, var_1_10=-127, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L81] CALL assume_abort_if_not(var_1_10 <= 126) VAL [\old(cond)=1, isInitial=1, var_1_10=-127, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=-127, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L81] RET assume_abort_if_not(var_1_10 <= 126) VAL [isInitial=1, var_1_10=-127, var_1_11=-64, var_1_12=159/10, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L82] var_1_12 = __VERIFIER_nondet_double() [L83] CALL assume_abort_if_not((var_1_12 >= 0.0F && var_1_12 <= -1.0e-20F) || (var_1_12 <= 9223372.036854776000e+12F && var_1_12 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=-127, var_1_11=-64, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=-127, var_1_11=-64, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L83] RET assume_abort_if_not((var_1_12 >= 0.0F && var_1_12 <= -1.0e-20F) || (var_1_12 <= 9223372.036854776000e+12F && var_1_12 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=-127, var_1_11=-64, var_1_13=3/2, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L84] var_1_13 = __VERIFIER_nondet_double() [L85] CALL assume_abort_if_not((var_1_13 >= 0.0F && var_1_13 <= -1.0e-20F) || (var_1_13 <= 4611686.018427387900e+12F && var_1_13 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=-127, var_1_11=-64, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=-127, var_1_11=-64, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L85] RET assume_abort_if_not((var_1_13 >= 0.0F && var_1_13 <= -1.0e-20F) || (var_1_13 <= 4611686.018427387900e+12F && var_1_13 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=-127, var_1_11=-64, var_1_14=80000000003/8, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L86] var_1_14 = __VERIFIER_nondet_double() [L87] CALL assume_abort_if_not((var_1_14 >= 0.0F && var_1_14 <= -1.0e-20F) || (var_1_14 <= 4611686.018427387900e+12F && var_1_14 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=-127, var_1_11=-64, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=-127, var_1_11=-64, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L87] RET assume_abort_if_not((var_1_14 >= 0.0F && var_1_14 <= -1.0e-20F) || (var_1_14 <= 4611686.018427387900e+12F && var_1_14 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=-127, var_1_11=-64, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L88] var_1_15 = __VERIFIER_nondet_uchar() [L89] CALL assume_abort_if_not(var_1_15 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=-127, var_1_11=-64, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=-127, var_1_11=-64, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L89] RET assume_abort_if_not(var_1_15 >= 0) VAL [isInitial=1, var_1_10=-127, var_1_11=-64, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L90] CALL assume_abort_if_not(var_1_15 <= 1) VAL [\old(cond)=1, isInitial=1, var_1_10=-127, var_1_11=-64, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=-127, var_1_11=-64, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L90] RET assume_abort_if_not(var_1_15 <= 1) VAL [isInitial=1, var_1_10=-127, var_1_11=-64, var_1_15=1, var_1_1=10000000001/10, var_1_3=1, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L103] RET updateVariables() [L104] CALL step() [L40] COND FALSE !(0.625f > var_1_2) [L45] var_1_1 = ((((var_1_4) < 0 ) ? -(var_1_4) : (var_1_4))) VAL [isInitial=1, var_1_10=-127, var_1_11=-64, var_1_15=1, var_1_1=10000000005, var_1_3=1, var_1_4=10000000005, var_1_5=-32, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L47] COND TRUE \read(var_1_3) [L48] var_1_5 = ((10 + var_1_6) - 2) VAL [isInitial=1, var_1_10=-127, var_1_11=-64, var_1_15=1, var_1_1=10000000005, var_1_3=1, var_1_4=10000000005, var_1_5=8, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L50] signed long int stepLocal_0 = var_1_6; VAL [isInitial=1, stepLocal_0=0, var_1_10=-127, var_1_11=-64, var_1_15=1, var_1_1=10000000005, var_1_3=1, var_1_4=10000000005, var_1_5=8, var_1_6=0, var_1_7=5, var_1_8=63, var_1_9=24] [L51] COND TRUE ((64 - 25) - (var_1_8 - var_1_9)) >= stepLocal_0 [L52] var_1_7 = (((((var_1_9 - 32)) > (var_1_10)) ? ((var_1_9 - 32)) : (var_1_10))) VAL [isInitial=1, var_1_10=-127, var_1_11=-64, var_1_15=1, var_1_1=10000000005, var_1_3=1, var_1_4=10000000005, var_1_5=8, var_1_6=0, var_1_7=-8, var_1_8=63, var_1_9=24] [L54] COND FALSE !((var_1_12 - (var_1_13 + var_1_14)) <= var_1_1) VAL [isInitial=1, var_1_10=-127, var_1_11=-64, var_1_15=1, var_1_1=10000000005, var_1_3=1, var_1_4=10000000005, var_1_5=8, var_1_6=0, var_1_7=-8, var_1_8=63, var_1_9=24] [L104] RET step() [L105] CALL, EXPR property() [L95-L96] return ((((0.625f > var_1_2) ? (var_1_3 ? (var_1_1 == ((float) ((((var_1_4) < 0 ) ? -(var_1_4) : (var_1_4))))) : 1) : (var_1_1 == ((float) ((((var_1_4) < 0 ) ? -(var_1_4) : (var_1_4)))))) && (var_1_3 ? (var_1_5 == ((signed long int) ((10 + var_1_6) - 2))) : 1)) && ((((64 - 25) - (var_1_8 - var_1_9)) >= var_1_6) ? (var_1_7 == ((signed char) (((((var_1_9 - 32)) > (var_1_10)) ? ((var_1_9 - 32)) : (var_1_10))))) : 1)) && (((var_1_12 - (var_1_13 + var_1_14)) <= var_1_1) ? ((var_1_3 && var_1_15) ? (var_1_11 == ((signed char) var_1_10)) : (var_1_11 == ((signed char) var_1_9))) : 1) ; VAL [\result=0, isInitial=1, var_1_10=-127, var_1_11=-64, var_1_15=1, var_1_1=10000000005, var_1_3=1, var_1_4=10000000005, var_1_5=8, var_1_6=0, var_1_7=-8, var_1_8=63, var_1_9=24] [L105] RET, EXPR property() [L105] CALL __VERIFIER_assert(property()) [L19] COND TRUE !(cond) VAL [isInitial=1, var_1_10=-127, var_1_11=-64, var_1_15=1, var_1_1=10000000005, var_1_3=1, var_1_4=10000000005, var_1_5=8, var_1_6=0, var_1_7=-8, var_1_8=63, var_1_9=24] [L19] reach_error() VAL [isInitial=1, var_1_10=-127, var_1_11=-64, var_1_15=1, var_1_1=10000000005, var_1_3=1, var_1_4=10000000005, var_1_5=8, var_1_6=0, var_1_7=-8, var_1_8=63, var_1_9=24] - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 53 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 0.9s, OverallIterations: 2, TraceHistogramMax: 17, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 0 SdHoareTripleChecker+Valid, 0.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 0 mSDsluCounter, 72 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, 72 mSDtfsCounter, 0 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 111 GetRequests, 111 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=53occurred in iteration=0, InterpolantAutomatonStates: 2, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 0.1s InterpolantComputationTime, 330 NumberOfCodeBlocks, 330 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 218 ConstructedInterpolants, 0 QuantifiedInterpolants, 218 SizeOfPredicates, 0 NumberOfNonLiveVariables, 251 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 1056/1088 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 13:32:53,486 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-65.i -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash b88bda8e1a4209131fc4a459b5a961cf1cc3c7f6d9206d86670129fed231a369 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 13:32:55,461 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 13:32:55,539 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2025-01-09 13:32:55,547 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 13:32:55,548 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 13:32:55,583 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 13:32:55,585 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 13:32:55,585 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 13:32:55,586 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 13:32:55,586 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 13:32:55,586 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 13:32:55,586 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 13:32:55,586 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 13:32:55,586 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 13:32:55,586 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 13:32:55,586 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 13:32:55,587 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 13:32:55,587 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 13:32:55,587 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 13:32:55,587 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 13:32:55,587 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 13:32:55,587 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 13:32:55,587 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 13:32:55,587 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-01-09 13:32:55,587 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-01-09 13:32:55,587 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-01-09 13:32:55,587 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 13:32:55,588 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 13:32:55,588 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 13:32:55,588 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 13:32:55,588 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 13:32:55,588 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:32:55,588 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:32:55,588 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:32:55,588 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:32:55,588 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 13:32:55,588 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:32:55,588 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:32:55,588 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:32:55,588 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:32:55,589 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 13:32:55,589 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 13:32:55,589 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 13:32:55,589 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 13:32:55,589 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-01-09 13:32:55,589 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-01-09 13:32:55,589 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 13:32:55,589 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 13:32:55,589 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 13:32:55,589 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 13:32:55,589 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 -> b88bda8e1a4209131fc4a459b5a961cf1cc3c7f6d9206d86670129fed231a369 [2025-01-09 13:32:55,802 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 13:32:55,810 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 13:32:55,811 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 13:32:55,812 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 13:32:55,812 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 13:32:55,813 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-65.i [2025-01-09 13:32:56,987 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/785328907/2c41dcdb620f4c429885e2f0ff4a2945/FLAG27b3fcdfe [2025-01-09 13:32:57,214 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 13:32:57,215 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-65.i [2025-01-09 13:32:57,221 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/785328907/2c41dcdb620f4c429885e2f0ff4a2945/FLAG27b3fcdfe [2025-01-09 13:32:57,557 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/785328907/2c41dcdb620f4c429885e2f0ff4a2945 [2025-01-09 13:32:57,559 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 13:32:57,560 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 13:32:57,561 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 13:32:57,561 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 13:32:57,564 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 13:32:57,564 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:32:57" (1/1) ... [2025-01-09 13:32:57,565 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@31039a78 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57, skipping insertion in model container [2025-01-09 13:32:57,565 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:32:57" (1/1) ... [2025-01-09 13:32:57,574 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 13:32:57,667 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-65.i[915,928] [2025-01-09 13:32:57,704 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:32:57,717 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 13:32:57,725 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-65.i[915,928] [2025-01-09 13:32:57,744 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:32:57,759 INFO L204 MainTranslator]: Completed translation [2025-01-09 13:32:57,763 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57 WrapperNode [2025-01-09 13:32:57,763 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 13:32:57,764 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 13:32:57,764 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 13:32:57,764 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 13:32:57,775 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57" (1/1) ... [2025-01-09 13:32:57,789 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57" (1/1) ... [2025-01-09 13:32:57,806 INFO L138 Inliner]: procedures = 27, calls = 30, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 109 [2025-01-09 13:32:57,807 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 13:32:57,807 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 13:32:57,807 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 13:32:57,808 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 13:32:57,816 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57" (1/1) ... [2025-01-09 13:32:57,817 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57" (1/1) ... [2025-01-09 13:32:57,821 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57" (1/1) ... [2025-01-09 13:32:57,834 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 13:32:57,834 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57" (1/1) ... [2025-01-09 13:32:57,834 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57" (1/1) ... [2025-01-09 13:32:57,842 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57" (1/1) ... [2025-01-09 13:32:57,843 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57" (1/1) ... [2025-01-09 13:32:57,849 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57" (1/1) ... [2025-01-09 13:32:57,851 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57" (1/1) ... [2025-01-09 13:32:57,852 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57" (1/1) ... [2025-01-09 13:32:57,854 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 13:32:57,854 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 13:32:57,854 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 13:32:57,854 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 13:32:57,855 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57" (1/1) ... [2025-01-09 13:32:57,858 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:32:57,867 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 13:32:57,887 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 13:32:57,895 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 13:32:57,909 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 13:32:57,910 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-01-09 13:32:57,910 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 13:32:57,910 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 13:32:57,910 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 13:32:57,910 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 13:32:57,970 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 13:32:57,972 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 13:33:01,425 INFO L? ?]: Removed 10 outVars from TransFormulas that were not future-live. [2025-01-09 13:33:01,426 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 13:33:01,431 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 13:33:01,431 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 13:33:01,432 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:33:01 BoogieIcfgContainer [2025-01-09 13:33:01,432 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 13:33:01,433 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 13:33:01,434 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 13:33:01,436 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 13:33:01,437 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 01:32:57" (1/3) ... [2025-01-09 13:33:01,437 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@237c2271 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:33:01, skipping insertion in model container [2025-01-09 13:33:01,437 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:32:57" (2/3) ... [2025-01-09 13:33:01,437 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@237c2271 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:33:01, skipping insertion in model container [2025-01-09 13:33:01,437 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:33:01" (3/3) ... [2025-01-09 13:33:01,438 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_loopvsstraightlinecode_25-while_file-65.i [2025-01-09 13:33:01,447 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 13:33:01,448 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_loopvsstraightlinecode_25-while_file-65.i that has 2 procedures, 53 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 13:33:01,490 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 13:33:01,500 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;@3dada0f7, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 13:33:01,501 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 13:33:01,504 INFO L276 IsEmpty]: Start isEmpty. Operand has 53 states, 33 states have (on average 1.303030303030303) internal successors, (43), 34 states have internal predecessors, (43), 17 states have call successors, (17), 1 states have call predecessors, (17), 1 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2025-01-09 13:33:01,510 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2025-01-09 13:33:01,510 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:33:01,511 INFO L218 NwaCegarLoop]: trace histogram [17, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 13:33:01,511 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:33:01,515 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:33:01,515 INFO L85 PathProgramCache]: Analyzing trace with hash -182408340, now seen corresponding path program 1 times [2025-01-09 13:33:01,522 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 13:33:01,524 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1778068959] [2025-01-09 13:33:01,524 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:33:01,524 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 13:33:01,525 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 13:33:01,529 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 13:33:01,533 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 13:33:01,611 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 110 statements into 1 equivalence classes. [2025-01-09 13:33:01,798 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 110 of 110 statements. [2025-01-09 13:33:01,799 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:33:01,799 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:33:01,807 INFO L256 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 13:33:01,813 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 13:33:01,846 INFO L134 CoverageAnalysis]: Checked inductivity of 544 backedges. 284 proven. 0 refuted. 0 times theorem prover too weak. 260 trivial. 0 not checked. [2025-01-09 13:33:01,846 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 13:33:01,847 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-01-09 13:33:01,850 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1778068959] [2025-01-09 13:33:01,851 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1778068959] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 13:33:01,851 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 13:33:01,851 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 13:33:01,852 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [182742606] [2025-01-09 13:33:01,852 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 13:33:01,854 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 13:33:01,854 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-01-09 13:33:01,875 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 13:33:01,879 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 13:33:01,880 INFO L87 Difference]: Start difference. First operand has 53 states, 33 states have (on average 1.303030303030303) internal successors, (43), 34 states have internal predecessors, (43), 17 states have call successors, (17), 1 states have call predecessors, (17), 1 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand has 2 states, 2 states have (on average 16.0) internal successors, (32), 2 states have internal predecessors, (32), 2 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) [2025-01-09 13:33:01,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 13:33:01,897 INFO L93 Difference]: Finished difference Result 100 states and 166 transitions. [2025-01-09 13:33:01,897 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 13:33:01,898 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 16.0) internal successors, (32), 2 states have internal predecessors, (32), 2 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) Word has length 110 [2025-01-09 13:33:01,898 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 13:33:01,902 INFO L225 Difference]: With dead ends: 100 [2025-01-09 13:33:01,902 INFO L226 Difference]: Without dead ends: 50 [2025-01-09 13:33:01,904 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 109 GetRequests, 109 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 13:33:01,905 INFO L435 NwaCegarLoop]: 72 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, 72 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 13:33:01,906 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 72 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 13:33:01,914 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2025-01-09 13:33:01,924 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2025-01-09 13:33:01,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 31 states have (on average 1.2258064516129032) internal successors, (38), 31 states have internal predecessors, (38), 17 states have call successors, (17), 1 states have call predecessors, (17), 1 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2025-01-09 13:33:01,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 72 transitions. [2025-01-09 13:33:01,929 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 72 transitions. Word has length 110 [2025-01-09 13:33:01,929 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 13:33:01,929 INFO L471 AbstractCegarLoop]: Abstraction has 50 states and 72 transitions. [2025-01-09 13:33:01,929 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 16.0) internal successors, (32), 2 states have internal predecessors, (32), 2 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) [2025-01-09 13:33:01,929 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 72 transitions. [2025-01-09 13:33:01,932 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2025-01-09 13:33:01,932 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:33:01,932 INFO L218 NwaCegarLoop]: trace histogram [17, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 13:33:01,941 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 13:33:02,136 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 13:33:02,136 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:33:02,137 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:33:02,137 INFO L85 PathProgramCache]: Analyzing trace with hash -576267034, now seen corresponding path program 1 times [2025-01-09 13:33:02,138 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 13:33:02,138 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [636990232] [2025-01-09 13:33:02,138 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:33:02,138 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 13:33:02,138 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 13:33:02,140 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2025-01-09 13:33:02,141 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 13:33:02,188 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 110 statements into 1 equivalence classes. [2025-01-09 13:33:02,381 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 110 of 110 statements. [2025-01-09 13:33:02,381 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:33:02,381 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:33:02,391 INFO L256 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 12 conjuncts are in the unsatisfiable core [2025-01-09 13:33:02,403 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 13:33:43,997 WARN L286 SmtUtils]: Spent 10.52s on a formula simplification that was a NOOP. DAG size: 56 (called from [L 388] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)