./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-43.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-43.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 61baff025ed1826778930d2297acbbb0c7636497384ff5cdb264bdd3e935514a --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 13:30:05,865 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 13:30:05,914 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:30:05,918 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 13:30:05,918 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 13:30:05,942 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 13:30:05,943 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 13:30:05,943 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 13:30:05,943 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 13:30:05,943 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 13:30:05,944 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 13:30:05,944 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 13:30:05,944 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 13:30:05,944 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 13:30:05,945 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 13:30:05,945 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 13:30:05,945 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 13:30:05,945 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 13:30:05,945 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 13:30:05,945 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 13:30:05,945 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 13:30:05,945 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 13:30:05,946 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 13:30:05,946 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 13:30:05,946 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 13:30:05,946 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 13:30:05,946 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 13:30:05,946 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 13:30:05,946 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 13:30:05,946 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:30:05,946 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:30:05,946 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:30:05,946 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:30:05,947 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 13:30:05,947 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:30:05,947 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:30:05,947 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:30:05,947 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:30:05,947 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 13:30:05,948 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 13:30:05,948 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 13:30:05,948 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 13:30:05,948 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 13:30:05,948 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 13:30:05,948 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 13:30:05,948 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 13:30:05,948 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 13:30:05,948 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 13:30:05,948 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 -> 61baff025ed1826778930d2297acbbb0c7636497384ff5cdb264bdd3e935514a [2025-01-09 13:30:06,140 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 13:30:06,146 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 13:30:06,148 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 13:30:06,149 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 13:30:06,149 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 13:30:06,150 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-43.i [2025-01-09 13:30:07,253 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/d2b7a9902/e2a051d2b7684c88974e123e6d563130/FLAGfdae563f0 [2025-01-09 13:30:07,546 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 13:30:07,546 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-43.i [2025-01-09 13:30:07,560 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/d2b7a9902/e2a051d2b7684c88974e123e6d563130/FLAGfdae563f0 [2025-01-09 13:30:07,578 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/d2b7a9902/e2a051d2b7684c88974e123e6d563130 [2025-01-09 13:30:07,582 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 13:30:07,583 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 13:30:07,585 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 13:30:07,585 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 13:30:07,588 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 13:30:07,589 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:30:07" (1/1) ... [2025-01-09 13:30:07,589 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@53da7ba1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:07, skipping insertion in model container [2025-01-09 13:30:07,590 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:30:07" (1/1) ... [2025-01-09 13:30:07,602 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 13:30:07,685 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-43.i[915,928] [2025-01-09 13:30:07,711 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:30:07,717 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 13:30:07,724 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-43.i[915,928] [2025-01-09 13:30:07,736 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:30:07,747 INFO L204 MainTranslator]: Completed translation [2025-01-09 13:30:07,748 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:07 WrapperNode [2025-01-09 13:30:07,748 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 13:30:07,748 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 13:30:07,749 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 13:30:07,749 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 13:30:07,753 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:30:07" (1/1) ... [2025-01-09 13:30:07,757 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:30:07" (1/1) ... [2025-01-09 13:30:07,776 INFO L138 Inliner]: procedures = 26, calls = 25, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 100 [2025-01-09 13:30:07,777 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 13:30:07,778 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 13:30:07,778 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 13:30:07,778 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 13:30:07,786 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:07" (1/1) ... [2025-01-09 13:30:07,786 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:07" (1/1) ... [2025-01-09 13:30:07,787 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:07" (1/1) ... [2025-01-09 13:30:07,795 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:30:07,795 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:07" (1/1) ... [2025-01-09 13:30:07,795 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:07" (1/1) ... [2025-01-09 13:30:07,798 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:07" (1/1) ... [2025-01-09 13:30:07,799 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:07" (1/1) ... [2025-01-09 13:30:07,801 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:07" (1/1) ... [2025-01-09 13:30:07,802 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:07" (1/1) ... [2025-01-09 13:30:07,802 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:07" (1/1) ... [2025-01-09 13:30:07,803 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 13:30:07,804 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 13:30:07,804 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 13:30:07,804 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 13:30:07,808 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:07" (1/1) ... [2025-01-09 13:30:07,812 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:30:07,826 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 13:30:07,841 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:30:07,848 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:30:07,868 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 13:30:07,868 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 13:30:07,868 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 13:30:07,868 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-09 13:30:07,869 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 13:30:07,869 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 13:30:07,925 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 13:30:07,927 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 13:30:08,088 INFO L? ?]: Removed 8 outVars from TransFormulas that were not future-live. [2025-01-09 13:30:08,088 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 13:30:08,097 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 13:30:08,097 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 13:30:08,099 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:30:08 BoogieIcfgContainer [2025-01-09 13:30:08,099 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 13:30:08,101 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 13:30:08,101 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 13:30:08,104 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 13:30:08,105 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 01:30:07" (1/3) ... [2025-01-09 13:30:08,106 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6a76da7d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:30:08, skipping insertion in model container [2025-01-09 13:30:08,106 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:07" (2/3) ... [2025-01-09 13:30:08,106 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6a76da7d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:30:08, skipping insertion in model container [2025-01-09 13:30:08,106 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:30:08" (3/3) ... [2025-01-09 13:30:08,108 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_loopvsstraightlinecode_25-while_file-43.i [2025-01-09 13:30:08,117 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 13:30:08,120 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_loopvsstraightlinecode_25-while_file-43.i that has 2 procedures, 45 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 13:30:08,163 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 13:30:08,172 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;@d469426, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 13:30:08,173 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 13:30:08,176 INFO L276 IsEmpty]: Start isEmpty. Operand has 45 states, 30 states have (on average 1.3) internal successors, (39), 31 states have internal predecessors, (39), 12 states have call successors, (12), 1 states have call predecessors, (12), 1 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2025-01-09 13:30:08,182 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2025-01-09 13:30:08,183 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:30:08,183 INFO L218 NwaCegarLoop]: trace histogram [12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:30:08,184 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:30:08,188 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:30:08,188 INFO L85 PathProgramCache]: Analyzing trace with hash -1242397310, now seen corresponding path program 1 times [2025-01-09 13:30:08,193 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 13:30:08,195 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [59260619] [2025-01-09 13:30:08,195 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:30:08,196 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 13:30:08,265 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 82 statements into 1 equivalence classes. [2025-01-09 13:30:08,283 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 82 of 82 statements. [2025-01-09 13:30:08,285 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:30:08,286 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:30:08,392 INFO L134 CoverageAnalysis]: Checked inductivity of 264 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 242 trivial. 0 not checked. [2025-01-09 13:30:08,394 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 13:30:08,395 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [59260619] [2025-01-09 13:30:08,395 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [59260619] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 13:30:08,396 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1632549452] [2025-01-09 13:30:08,396 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:30:08,396 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 13:30:08,396 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 13:30:08,398 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:30:08,400 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:30:08,470 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 82 statements into 1 equivalence classes. [2025-01-09 13:30:08,513 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 82 of 82 statements. [2025-01-09 13:30:08,513 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:30:08,513 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:30:08,515 INFO L256 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 13:30:08,520 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 13:30:08,538 INFO L134 CoverageAnalysis]: Checked inductivity of 264 backedges. 22 proven. 0 refuted. 0 times theorem prover too weak. 242 trivial. 0 not checked. [2025-01-09 13:30:08,538 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 13:30:08,539 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1632549452] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 13:30:08,539 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-01-09 13:30:08,539 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-01-09 13:30:08,541 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [698101414] [2025-01-09 13:30:08,541 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 13:30:08,544 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 13:30:08,544 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 13:30:08,554 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 13:30:08,554 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 13:30:08,556 INFO L87 Difference]: Start difference. First operand has 45 states, 30 states have (on average 1.3) internal successors, (39), 31 states have internal predecessors, (39), 12 states have call successors, (12), 1 states have call predecessors, (12), 1 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 2 states, 2 states have (on average 13.5) internal successors, (27), 2 states have internal predecessors, (27), 2 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (12), 1 states have call predecessors, (12), 2 states have call successors, (12) [2025-01-09 13:30:08,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 13:30:08,568 INFO L93 Difference]: Finished difference Result 84 states and 133 transitions. [2025-01-09 13:30:08,568 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 13:30:08,569 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 13.5) internal successors, (27), 2 states have internal predecessors, (27), 2 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (12), 1 states have call predecessors, (12), 2 states have call successors, (12) Word has length 82 [2025-01-09 13:30:08,569 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 13:30:08,573 INFO L225 Difference]: With dead ends: 84 [2025-01-09 13:30:08,573 INFO L226 Difference]: Without dead ends: 42 [2025-01-09 13:30:08,575 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 83 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:30:08,576 INFO L435 NwaCegarLoop]: 58 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, 58 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:30:08,577 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 13:30:08,587 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2025-01-09 13:30:08,602 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 42. [2025-01-09 13:30:08,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 28 states have internal predecessors, (34), 12 states have call successors, (12), 1 states have call predecessors, (12), 1 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2025-01-09 13:30:08,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 58 transitions. [2025-01-09 13:30:08,608 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 58 transitions. Word has length 82 [2025-01-09 13:30:08,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 13:30:08,609 INFO L471 AbstractCegarLoop]: Abstraction has 42 states and 58 transitions. [2025-01-09 13:30:08,609 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 13.5) internal successors, (27), 2 states have internal predecessors, (27), 2 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (12), 1 states have call predecessors, (12), 2 states have call successors, (12) [2025-01-09 13:30:08,609 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 58 transitions. [2025-01-09 13:30:08,611 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2025-01-09 13:30:08,612 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:30:08,612 INFO L218 NwaCegarLoop]: trace histogram [12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:30:08,618 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2025-01-09 13:30:08,814 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:30:08,818 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:30:08,818 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:30:08,818 INFO L85 PathProgramCache]: Analyzing trace with hash 516108990, now seen corresponding path program 1 times [2025-01-09 13:30:08,818 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 13:30:08,818 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1940704743] [2025-01-09 13:30:08,818 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:30:08,818 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 13:30:08,842 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 82 statements into 1 equivalence classes. [2025-01-09 13:30:08,878 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 82 of 82 statements. [2025-01-09 13:30:08,879 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:30:08,879 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:30:09,236 INFO L134 CoverageAnalysis]: Checked inductivity of 264 backedges. 27 proven. 6 refuted. 0 times theorem prover too weak. 231 trivial. 0 not checked. [2025-01-09 13:30:09,237 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 13:30:09,237 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1940704743] [2025-01-09 13:30:09,237 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1940704743] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 13:30:09,237 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1999291713] [2025-01-09 13:30:09,238 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:30:09,238 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 13:30:09,238 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 13:30:09,240 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-09 13:30:09,241 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2025-01-09 13:30:09,294 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 82 statements into 1 equivalence classes. [2025-01-09 13:30:09,336 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 82 of 82 statements. [2025-01-09 13:30:09,337 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:30:09,337 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:30:09,338 INFO L256 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 8 conjuncts are in the unsatisfiable core [2025-01-09 13:30:09,342 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 13:30:09,416 INFO L134 CoverageAnalysis]: Checked inductivity of 264 backedges. 101 proven. 6 refuted. 0 times theorem prover too weak. 157 trivial. 0 not checked. [2025-01-09 13:30:09,416 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-09 13:30:09,577 INFO L134 CoverageAnalysis]: Checked inductivity of 264 backedges. 27 proven. 6 refuted. 0 times theorem prover too weak. 231 trivial. 0 not checked. [2025-01-09 13:30:09,577 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1999291713] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-09 13:30:09,577 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-09 13:30:09,577 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 8 [2025-01-09 13:30:09,577 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1208134667] [2025-01-09 13:30:09,577 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-09 13:30:09,578 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2025-01-09 13:30:09,578 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 13:30:09,579 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2025-01-09 13:30:09,579 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2025-01-09 13:30:09,579 INFO L87 Difference]: Start difference. First operand 42 states and 58 transitions. Second operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 8 states have internal predecessors, (34), 2 states have call successors, (14), 2 states have call predecessors, (14), 4 states have return successors, (15), 2 states have call predecessors, (15), 2 states have call successors, (15) [2025-01-09 13:30:09,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 13:30:09,755 INFO L93 Difference]: Finished difference Result 89 states and 120 transitions. [2025-01-09 13:30:09,756 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-01-09 13:30:09,757 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 8 states have internal predecessors, (34), 2 states have call successors, (14), 2 states have call predecessors, (14), 4 states have return successors, (15), 2 states have call predecessors, (15), 2 states have call successors, (15) Word has length 82 [2025-01-09 13:30:09,757 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 13:30:09,758 INFO L225 Difference]: With dead ends: 89 [2025-01-09 13:30:09,759 INFO L226 Difference]: Without dead ends: 50 [2025-01-09 13:30:09,759 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 177 GetRequests, 161 SyntacticMatches, 3 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=77, Invalid=133, Unknown=0, NotChecked=0, Total=210 [2025-01-09 13:30:09,760 INFO L435 NwaCegarLoop]: 39 mSDtfsCounter, 110 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 81 mSolverCounterSat, 77 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 112 SdHoareTripleChecker+Valid, 90 SdHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 77 IncrementalHoareTripleChecker+Valid, 81 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2025-01-09 13:30:09,760 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [112 Valid, 90 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [77 Valid, 81 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2025-01-09 13:30:09,760 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2025-01-09 13:30:09,768 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 46. [2025-01-09 13:30:09,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 31 states have internal predecessors, (35), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2025-01-09 13:30:09,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 59 transitions. [2025-01-09 13:30:09,770 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 59 transitions. Word has length 82 [2025-01-09 13:30:09,770 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 13:30:09,770 INFO L471 AbstractCegarLoop]: Abstraction has 46 states and 59 transitions. [2025-01-09 13:30:09,771 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 8 states have internal predecessors, (34), 2 states have call successors, (14), 2 states have call predecessors, (14), 4 states have return successors, (15), 2 states have call predecessors, (15), 2 states have call successors, (15) [2025-01-09 13:30:09,771 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 59 transitions. [2025-01-09 13:30:09,772 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2025-01-09 13:30:09,772 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:30:09,772 INFO L218 NwaCegarLoop]: trace histogram [12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:30:09,778 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2025-01-09 13:30:09,977 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,3 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 13:30:09,977 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:30:09,977 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:30:09,977 INFO L85 PathProgramCache]: Analyzing trace with hash 517956032, now seen corresponding path program 1 times [2025-01-09 13:30:09,978 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 13:30:09,978 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [146754352] [2025-01-09 13:30:09,978 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:30:09,978 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 13:30:09,988 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 82 statements into 1 equivalence classes. [2025-01-09 13:30:10,012 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 82 of 82 statements. [2025-01-09 13:30:10,013 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:30:10,013 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 13:30:10,013 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-09 13:30:10,016 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 82 statements into 1 equivalence classes. [2025-01-09 13:30:10,026 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 82 of 82 statements. [2025-01-09 13:30:10,026 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:30:10,026 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 13:30:10,054 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-09 13:30:10,054 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-01-09 13:30:10,055 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-01-09 13:30:10,056 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2025-01-09 13:30:10,058 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1, 1] [2025-01-09 13:30:10,105 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-01-09 13:30:10,109 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 09.01 01:30:10 BoogieIcfgContainer [2025-01-09 13:30:10,110 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-01-09 13:30:10,111 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-01-09 13:30:10,111 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-01-09 13:30:10,111 INFO L274 PluginConnector]: Witness Printer initialized [2025-01-09 13:30:10,111 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:30:08" (3/4) ... [2025-01-09 13:30:10,113 INFO L149 WitnessPrinter]: No result that supports witness generation found [2025-01-09 13:30:10,113 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-01-09 13:30:10,114 INFO L158 Benchmark]: Toolchain (without parser) took 2530.99ms. Allocated memory is still 142.6MB. Free memory was 107.7MB in the beginning and 81.5MB in the end (delta: 26.2MB). Peak memory consumption was 22.3MB. Max. memory is 16.1GB. [2025-01-09 13:30:10,114 INFO L158 Benchmark]: CDTParser took 0.19ms. Allocated memory is still 201.3MB. Free memory is still 120.3MB. There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 13:30:10,114 INFO L158 Benchmark]: CACSL2BoogieTranslator took 163.68ms. Allocated memory is still 142.6MB. Free memory was 107.7MB in the beginning and 95.3MB in the end (delta: 12.5MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 13:30:10,114 INFO L158 Benchmark]: Boogie Procedure Inliner took 29.27ms. Allocated memory is still 142.6MB. Free memory was 95.3MB in the beginning and 93.3MB in the end (delta: 2.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 13:30:10,114 INFO L158 Benchmark]: Boogie Preprocessor took 25.25ms. Allocated memory is still 142.6MB. Free memory was 93.3MB in the beginning and 91.2MB in the end (delta: 2.1MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 13:30:10,115 INFO L158 Benchmark]: RCFGBuilder took 295.17ms. Allocated memory is still 142.6MB. Free memory was 91.2MB in the beginning and 77.8MB in the end (delta: 13.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 13:30:10,116 INFO L158 Benchmark]: TraceAbstraction took 2008.90ms. Allocated memory is still 142.6MB. Free memory was 77.4MB in the beginning and 81.6MB in the end (delta: -4.2MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 13:30:10,116 INFO L158 Benchmark]: Witness Printer took 2.76ms. Allocated memory is still 142.6MB. Free memory was 81.6MB in the beginning and 81.5MB in the end (delta: 36.9kB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 13:30:10,117 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.19ms. Allocated memory is still 201.3MB. Free memory is still 120.3MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 163.68ms. Allocated memory is still 142.6MB. Free memory was 107.7MB in the beginning and 95.3MB in the end (delta: 12.5MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 29.27ms. Allocated memory is still 142.6MB. Free memory was 95.3MB in the beginning and 93.3MB in the end (delta: 2.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Preprocessor took 25.25ms. Allocated memory is still 142.6MB. Free memory was 93.3MB in the beginning and 91.2MB in the end (delta: 2.1MB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 295.17ms. Allocated memory is still 142.6MB. Free memory was 91.2MB in the beginning and 77.8MB in the end (delta: 13.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * TraceAbstraction took 2008.90ms. Allocated memory is still 142.6MB. Free memory was 77.4MB in the beginning and 81.6MB in the end (delta: -4.2MB). There was no memory consumed. Max. memory is 16.1GB. * Witness Printer took 2.76ms. Allocated memory is still 142.6MB. Free memory was 81.6MB in the beginning and 81.5MB in the end (delta: 36.9kB). 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 64, overapproximation of someBinaryFLOATComparisonOperation at line 77, overapproximation of someBinaryFLOATComparisonOperation at line 89, overapproximation of someBinaryFLOATComparisonOperation at line 51, overapproximation of someBinaryFLOATComparisonOperation at line 66, overapproximation of someBinaryDOUBLEComparisonOperation at line 71, overapproximation of someBinaryDOUBLEComparisonOperation at line 89, overapproximation of someBinaryDOUBLEComparisonOperation at line 41, overapproximation of someBinaryDOUBLEComparisonOperation at line 68, overapproximation of someBinaryDOUBLEComparisonOperation at line 69, overapproximation of someBinaryDOUBLEComparisonOperation at line 75, overapproximation of someBinaryDOUBLEComparisonOperation at line 73, overapproximation of someBinaryArithmeticFLOAToperation at line 48. Possible FailurePath: [L21] unsigned char isInitial = 0; [L22] signed short int var_1_1 = 64; [L23] float var_1_4 = 64.4; [L24] float var_1_5 = 0.2; [L25] double var_1_8 = 31.75; [L26] double var_1_9 = 50.375; [L27] double var_1_10 = 99.25; [L28] double var_1_11 = 16.4; [L29] double var_1_12 = 64.5; [L30] float var_1_13 = 8.75; [L31] float var_1_14 = 127.1; [L32] unsigned short int var_1_15 = 5; [L33] unsigned char var_1_18 = 0; [L34] unsigned char var_1_19 = 0; [L35] unsigned char var_1_20 = 0; [L36] unsigned char var_1_21 = 8; [L37] double last_1_var_1_8 = 31.75; VAL [isInitial=0, last_1_var_1_8=127/4, var_1_10=397/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_4=322/5, var_1_5=1/5, var_1_8=127/4, var_1_9=403/8] [L93] isInitial = 1 [L94] FCALL initially() [L96] CALL updateLastVariables() [L86] last_1_var_1_8 = var_1_8 VAL [isInitial=1, last_1_var_1_8=127/4, var_1_10=397/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_4=322/5, var_1_5=1/5, var_1_8=127/4, var_1_9=403/8] [L96] RET updateLastVariables() [L97] CALL updateVariables() [L63] var_1_4 = __VERIFIER_nondet_float() [L64] CALL assume_abort_if_not((var_1_4 >= 0.0F && var_1_4 <= -1.0e-20F) || (var_1_4 <= 9223372.036854776000e+12F && var_1_4 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_10=397/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_5=1/5, var_1_8=127/4, var_1_9=403/8] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_10=397/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_5=1/5, var_1_8=127/4, var_1_9=403/8] [L64] RET assume_abort_if_not((var_1_4 >= 0.0F && var_1_4 <= -1.0e-20F) || (var_1_4 <= 9223372.036854776000e+12F && var_1_4 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_8=127/4, var_1_10=397/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_5=1/5, var_1_8=127/4, var_1_9=403/8] [L65] var_1_5 = __VERIFIER_nondet_float() [L66] CALL assume_abort_if_not((var_1_5 >= 0.0F && var_1_5 <= -1.0e-20F) || (var_1_5 <= 9223372.036854776000e+12F && var_1_5 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_10=397/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4, var_1_9=403/8] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_10=397/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4, var_1_9=403/8] [L66] RET assume_abort_if_not((var_1_5 >= 0.0F && var_1_5 <= -1.0e-20F) || (var_1_5 <= 9223372.036854776000e+12F && var_1_5 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_8=127/4, var_1_10=397/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4, var_1_9=403/8] [L67] var_1_9 = __VERIFIER_nondet_double() [L68] CALL assume_abort_if_not((var_1_9 >= -922337.2036854776000e+13F && var_1_9 <= -1.0e-20F) || (var_1_9 <= 9223372.036854776000e+12F && var_1_9 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_10=397/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_10=397/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L68] RET assume_abort_if_not((var_1_9 >= -922337.2036854776000e+13F && var_1_9 <= -1.0e-20F) || (var_1_9 <= 9223372.036854776000e+12F && var_1_9 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_8=127/4, var_1_10=397/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L69] CALL assume_abort_if_not(var_1_9 != 0.0F) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_10=397/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_10=397/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L69] RET assume_abort_if_not(var_1_9 != 0.0F) VAL [isInitial=1, last_1_var_1_8=127/4, var_1_10=397/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L70] var_1_10 = __VERIFIER_nondet_double() [L71] CALL assume_abort_if_not((var_1_10 >= 0.0F && var_1_10 <= -1.0e-20F) || (var_1_10 <= 4611686.018427382800e+12F && var_1_10 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L71] RET assume_abort_if_not((var_1_10 >= 0.0F && var_1_10 <= -1.0e-20F) || (var_1_10 <= 4611686.018427382800e+12F && var_1_10 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_8=127/4, var_1_11=82/5, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L72] var_1_11 = __VERIFIER_nondet_double() [L73] CALL assume_abort_if_not((var_1_11 >= 0.0F && var_1_11 <= -1.0e-20F) || (var_1_11 <= 4611686.018427382800e+12F && var_1_11 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L73] RET assume_abort_if_not((var_1_11 >= 0.0F && var_1_11 <= -1.0e-20F) || (var_1_11 <= 4611686.018427382800e+12F && var_1_11 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_8=127/4, var_1_12=129/2, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L74] var_1_12 = __VERIFIER_nondet_double() [L75] CALL assume_abort_if_not((var_1_12 >= 0.0F && var_1_12 <= -1.0e-20F) || (var_1_12 <= 9223372.036854765600e+12F && var_1_12 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L75] RET assume_abort_if_not((var_1_12 >= 0.0F && var_1_12 <= -1.0e-20F) || (var_1_12 <= 9223372.036854765600e+12F && var_1_12 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_14=1271/10, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L76] var_1_14 = __VERIFIER_nondet_float() [L77] CALL assume_abort_if_not((var_1_14 >= -461168.6018427382800e+13F && var_1_14 <= -1.0e-20F) || (var_1_14 <= 4611686.018427382800e+12F && var_1_14 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L77] RET assume_abort_if_not((var_1_14 >= -461168.6018427382800e+13F && var_1_14 <= -1.0e-20F) || (var_1_14 <= 4611686.018427382800e+12F && var_1_14 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L78] var_1_19 = __VERIFIER_nondet_uchar() [L79] CALL assume_abort_if_not(var_1_19 >= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L79] RET assume_abort_if_not(var_1_19 >= 0) VAL [isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L80] CALL assume_abort_if_not(var_1_19 <= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L80] RET assume_abort_if_not(var_1_19 <= 0) VAL [isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=8, var_1_8=127/4] [L81] var_1_21 = __VERIFIER_nondet_uchar() [L82] CALL assume_abort_if_not(var_1_21 >= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_8=127/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_8=127/4] [L82] RET assume_abort_if_not(var_1_21 >= 0) VAL [isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_8=127/4] [L83] CALL assume_abort_if_not(var_1_21 <= 254) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=254, var_1_8=127/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=254, var_1_8=127/4] [L83] RET assume_abort_if_not(var_1_21 <= 254) VAL [isInitial=1, last_1_var_1_8=127/4, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=254, var_1_8=127/4] [L97] RET updateVariables() [L98] CALL step() [L41] COND FALSE !((- (var_1_5 / var_1_9)) != last_1_var_1_8) [L46] var_1_8 = var_1_12 VAL [isInitial=1, last_1_var_1_8=127/4, var_1_12=259, var_1_13=35/4, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=0, var_1_21=254, var_1_8=259] [L48] var_1_13 = (128.75f + var_1_14) [L49] var_1_18 = var_1_19 [L50] var_1_20 = var_1_21 VAL [isInitial=1, last_1_var_1_8=127/4, var_1_12=259, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=64, var_1_20=254, var_1_21=254, var_1_8=259] [L51] COND FALSE !(var_1_13 != ((((var_1_13) > ((var_1_4 - var_1_5))) ? (var_1_13) : ((var_1_4 - var_1_5))))) [L56] var_1_1 = var_1_20 VAL [isInitial=1, last_1_var_1_8=127/4, var_1_12=259, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=254, var_1_20=254, var_1_21=254, var_1_8=259] [L58] COND FALSE !(\read(var_1_18)) VAL [isInitial=1, last_1_var_1_8=127/4, var_1_12=259, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=254, var_1_20=254, var_1_21=254, var_1_8=259] [L98] RET step() [L99] CALL, EXPR property() [L89-L90] return ((((((var_1_13 != ((((var_1_13) > ((var_1_4 - var_1_5))) ? (var_1_13) : ((var_1_4 - var_1_5))))) ? (var_1_18 ? (var_1_1 == ((signed short int) var_1_20)) : 1) : (var_1_1 == ((signed short int) var_1_20))) && (((- (var_1_5 / var_1_9)) != last_1_var_1_8) ? ((var_1_4 != (- var_1_9)) ? (var_1_8 == ((double) ((var_1_10 + var_1_11) - var_1_12))) : 1) : (var_1_8 == ((double) var_1_12)))) && (var_1_13 == ((float) (128.75f + var_1_14)))) && (var_1_18 ? (var_1_15 == ((unsigned short int) (var_1_20 + var_1_20))) : 1)) && (var_1_18 == ((unsigned char) var_1_19))) && (var_1_20 == ((unsigned char) var_1_21)) ; VAL [\result=0, isInitial=1, last_1_var_1_8=127/4, var_1_12=259, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=254, var_1_20=254, var_1_21=254, var_1_8=259] [L99] RET, EXPR property() [L99] CALL __VERIFIER_assert(property()) [L19] COND TRUE !(cond) VAL [isInitial=1, last_1_var_1_8=127/4, var_1_12=259, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=254, var_1_20=254, var_1_21=254, var_1_8=259] [L19] reach_error() VAL [isInitial=1, last_1_var_1_8=127/4, var_1_12=259, var_1_15=5, var_1_18=0, var_1_19=0, var_1_1=254, var_1_20=254, var_1_21=254, var_1_8=259] - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 45 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 1.9s, OverallIterations: 3, TraceHistogramMax: 12, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.2s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 112 SdHoareTripleChecker+Valid, 0.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 110 mSDsluCounter, 148 SdHoareTripleChecker+Invalid, 0.1s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 51 mSDsCounter, 77 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 81 IncrementalHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 77 mSolverCounterUnsat, 97 mSDtfsCounter, 81 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 260 GetRequests, 244 SyntacticMatches, 3 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=46occurred in iteration=2, InterpolantAutomatonStates: 12, 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, 2 MinimizatonAttempts, 4 StatesRemovedByMinimization, 1 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 0.7s InterpolantComputationTime, 410 NumberOfCodeBlocks, 410 NumberOfCodeBlocksAsserted, 5 NumberOfCheckSat, 405 ConstructedInterpolants, 0 QuantifiedInterpolants, 579 SizeOfPredicates, 2 NumberOfNonLiveVariables, 408 ConjunctsInSsa, 9 ConjunctsInUnsatCore, 5 InterpolantComputations, 1 PerfectInterpolantSequences, 1280/1320 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:30:10,133 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-43.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 61baff025ed1826778930d2297acbbb0c7636497384ff5cdb264bdd3e935514a --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 13:30:11,905 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 13:30:11,978 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:30:11,984 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 13:30:11,986 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 13:30:12,010 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 13:30:12,010 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 13:30:12,010 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 13:30:12,011 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 13:30:12,011 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 13:30:12,012 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 13:30:12,012 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 13:30:12,012 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 13:30:12,012 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 13:30:12,013 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 13:30:12,013 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 13:30:12,013 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 13:30:12,013 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 13:30:12,013 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 13:30:12,013 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 13:30:12,013 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 13:30:12,013 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 13:30:12,013 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 13:30:12,014 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-01-09 13:30:12,014 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-01-09 13:30:12,014 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-01-09 13:30:12,014 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 13:30:12,014 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 13:30:12,014 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 13:30:12,014 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 13:30:12,014 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 13:30:12,015 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:30:12,015 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:30:12,015 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:30:12,015 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:30:12,015 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 13:30:12,015 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 13:30:12,015 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 13:30:12,015 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 13:30:12,015 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:30:12,016 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 13:30:12,016 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 13:30:12,016 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 13:30:12,016 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 13:30:12,016 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-01-09 13:30:12,016 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-01-09 13:30:12,016 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 13:30:12,016 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 13:30:12,017 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 13:30:12,017 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 13:30:12,017 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 -> 61baff025ed1826778930d2297acbbb0c7636497384ff5cdb264bdd3e935514a [2025-01-09 13:30:12,227 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 13:30:12,234 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 13:30:12,236 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 13:30:12,238 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 13:30:12,239 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 13:30:12,239 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-43.i [2025-01-09 13:30:13,405 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/3de8eb0d9/226ab0e7a67c4d79ac3a2e6114cfe06f/FLAG1303ac979 [2025-01-09 13:30:13,603 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 13:30:13,604 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-43.i [2025-01-09 13:30:13,611 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/3de8eb0d9/226ab0e7a67c4d79ac3a2e6114cfe06f/FLAG1303ac979 [2025-01-09 13:30:13,969 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/3de8eb0d9/226ab0e7a67c4d79ac3a2e6114cfe06f [2025-01-09 13:30:13,971 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 13:30:13,972 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 13:30:13,973 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 13:30:13,973 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 13:30:13,975 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 13:30:13,976 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:30:13" (1/1) ... [2025-01-09 13:30:13,976 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@46a954cf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:13, skipping insertion in model container [2025-01-09 13:30:13,976 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 01:30:13" (1/1) ... [2025-01-09 13:30:13,986 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 13:30:14,071 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-43.i[915,928] [2025-01-09 13:30:14,098 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:30:14,108 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 13:30:14,115 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-43.i[915,928] [2025-01-09 13:30:14,126 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 13:30:14,141 INFO L204 MainTranslator]: Completed translation [2025-01-09 13:30:14,141 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:14 WrapperNode [2025-01-09 13:30:14,142 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 13:30:14,142 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 13:30:14,142 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 13:30:14,143 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 13:30:14,146 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:30:14" (1/1) ... [2025-01-09 13:30:14,153 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:30:14" (1/1) ... [2025-01-09 13:30:14,167 INFO L138 Inliner]: procedures = 27, calls = 25, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 100 [2025-01-09 13:30:14,168 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 13:30:14,168 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 13:30:14,168 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 13:30:14,168 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 13:30:14,178 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:14" (1/1) ... [2025-01-09 13:30:14,179 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:14" (1/1) ... [2025-01-09 13:30:14,181 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:14" (1/1) ... [2025-01-09 13:30:14,195 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:30:14,195 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:14" (1/1) ... [2025-01-09 13:30:14,195 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:14" (1/1) ... [2025-01-09 13:30:14,202 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:14" (1/1) ... [2025-01-09 13:30:14,206 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:14" (1/1) ... [2025-01-09 13:30:14,207 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:14" (1/1) ... [2025-01-09 13:30:14,209 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:14" (1/1) ... [2025-01-09 13:30:14,210 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:14" (1/1) ... [2025-01-09 13:30:14,214 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 13:30:14,215 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 13:30:14,215 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 13:30:14,215 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 13:30:14,219 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:14" (1/1) ... [2025-01-09 13:30:14,224 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 13:30:14,234 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 13:30:14,244 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:30:14,247 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:30:14,264 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 13:30:14,265 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-01-09 13:30:14,265 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 13:30:14,265 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 13:30:14,265 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 13:30:14,265 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 13:30:14,320 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 13:30:14,321 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 13:30:28,860 INFO L? ?]: Removed 8 outVars from TransFormulas that were not future-live. [2025-01-09 13:30:28,860 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 13:30:28,866 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 13:30:28,867 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 13:30:28,867 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:30:28 BoogieIcfgContainer [2025-01-09 13:30:28,867 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 13:30:28,869 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 13:30:28,869 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 13:30:28,872 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 13:30:28,872 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 01:30:13" (1/3) ... [2025-01-09 13:30:28,872 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5406725e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:30:28, skipping insertion in model container [2025-01-09 13:30:28,872 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 01:30:14" (2/3) ... [2025-01-09 13:30:28,873 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5406725e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 01:30:28, skipping insertion in model container [2025-01-09 13:30:28,873 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 01:30:28" (3/3) ... [2025-01-09 13:30:28,874 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_loopvsstraightlinecode_25-while_file-43.i [2025-01-09 13:30:28,883 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 13:30:28,884 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_loopvsstraightlinecode_25-while_file-43.i that has 2 procedures, 45 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 13:30:28,922 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 13:30:28,931 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;@77549b0c, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 13:30:28,931 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 13:30:28,933 INFO L276 IsEmpty]: Start isEmpty. Operand has 45 states, 30 states have (on average 1.3) internal successors, (39), 31 states have internal predecessors, (39), 12 states have call successors, (12), 1 states have call predecessors, (12), 1 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2025-01-09 13:30:28,938 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2025-01-09 13:30:28,938 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:30:28,938 INFO L218 NwaCegarLoop]: trace histogram [12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:30:28,939 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:30:28,941 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:30:28,942 INFO L85 PathProgramCache]: Analyzing trace with hash -1242397310, now seen corresponding path program 1 times [2025-01-09 13:30:28,950 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 13:30:28,951 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1623385306] [2025-01-09 13:30:28,952 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:30:28,952 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:30:28,952 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 13:30:28,955 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:30:28,956 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:30:29,004 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 82 statements into 1 equivalence classes. [2025-01-09 13:30:29,764 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 82 of 82 statements. [2025-01-09 13:30:29,764 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:30:29,764 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:30:29,790 INFO L256 TraceCheckSpWp]: Trace formula consists of 142 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 13:30:29,795 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 13:30:29,814 INFO L134 CoverageAnalysis]: Checked inductivity of 264 backedges. 62 proven. 0 refuted. 0 times theorem prover too weak. 202 trivial. 0 not checked. [2025-01-09 13:30:29,814 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 13:30:29,814 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-01-09 13:30:29,815 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1623385306] [2025-01-09 13:30:29,815 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1623385306] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 13:30:29,815 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 13:30:29,815 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 13:30:29,816 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [766131237] [2025-01-09 13:30:29,816 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 13:30:29,819 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 13:30:29,819 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-01-09 13:30:29,831 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 13:30:29,831 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 13:30:29,833 INFO L87 Difference]: Start difference. First operand has 45 states, 30 states have (on average 1.3) internal successors, (39), 31 states have internal predecessors, (39), 12 states have call successors, (12), 1 states have call predecessors, (12), 1 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 2 states, 2 states have (on average 14.5) internal successors, (29), 2 states have internal predecessors, (29), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (12), 2 states have call predecessors, (12), 2 states have call successors, (12) [2025-01-09 13:30:29,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 13:30:29,851 INFO L93 Difference]: Finished difference Result 84 states and 133 transitions. [2025-01-09 13:30:29,852 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 13:30:29,853 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 14.5) internal successors, (29), 2 states have internal predecessors, (29), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (12), 2 states have call predecessors, (12), 2 states have call successors, (12) Word has length 82 [2025-01-09 13:30:29,853 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 13:30:29,857 INFO L225 Difference]: With dead ends: 84 [2025-01-09 13:30:29,858 INFO L226 Difference]: Without dead ends: 42 [2025-01-09 13:30:29,860 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 81 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:30:29,863 INFO L435 NwaCegarLoop]: 58 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, 58 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:30:29,865 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 13:30:29,873 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2025-01-09 13:30:29,888 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 42. [2025-01-09 13:30:29,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 28 states have internal predecessors, (34), 12 states have call successors, (12), 1 states have call predecessors, (12), 1 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2025-01-09 13:30:29,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 58 transitions. [2025-01-09 13:30:29,894 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 58 transitions. Word has length 82 [2025-01-09 13:30:29,895 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 13:30:29,895 INFO L471 AbstractCegarLoop]: Abstraction has 42 states and 58 transitions. [2025-01-09 13:30:29,895 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 14.5) internal successors, (29), 2 states have internal predecessors, (29), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (12), 2 states have call predecessors, (12), 2 states have call successors, (12) [2025-01-09 13:30:29,896 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 58 transitions. [2025-01-09 13:30:29,898 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2025-01-09 13:30:29,898 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:30:29,898 INFO L218 NwaCegarLoop]: trace histogram [12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:30:29,923 INFO L540 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)] Forceful destruction successful, exit code 0 [2025-01-09 13:30:30,098 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:30:30,099 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:30:30,099 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:30:30,099 INFO L85 PathProgramCache]: Analyzing trace with hash 516108990, now seen corresponding path program 1 times [2025-01-09 13:30:30,100 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 13:30:30,100 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1256525749] [2025-01-09 13:30:30,100 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:30:30,100 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:30:30,100 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 13:30:30,102 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:30:30,104 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:30:30,148 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 82 statements into 1 equivalence classes. [2025-01-09 13:30:30,900 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 82 of 82 statements. [2025-01-09 13:30:30,901 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:30:30,901 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:30:30,926 INFO L256 TraceCheckSpWp]: Trace formula consists of 142 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-01-09 13:30:30,929 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 13:30:32,210 INFO L134 CoverageAnalysis]: Checked inductivity of 264 backedges. 101 proven. 6 refuted. 0 times theorem prover too weak. 157 trivial. 0 not checked. [2025-01-09 13:30:32,210 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-09 13:30:34,467 INFO L134 CoverageAnalysis]: Checked inductivity of 264 backedges. 27 proven. 6 refuted. 0 times theorem prover too weak. 231 trivial. 0 not checked. [2025-01-09 13:30:34,468 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-01-09 13:30:34,468 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1256525749] [2025-01-09 13:30:34,468 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1256525749] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-09 13:30:34,468 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2025-01-09 13:30:34,468 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2025-01-09 13:30:34,468 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1213427842] [2025-01-09 13:30:34,468 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2025-01-09 13:30:34,469 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2025-01-09 13:30:34,469 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-01-09 13:30:34,470 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2025-01-09 13:30:34,470 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2025-01-09 13:30:34,470 INFO L87 Difference]: Start difference. First operand 42 states and 58 transitions. Second operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 8 states have internal predecessors, (34), 2 states have call successors, (14), 2 states have call predecessors, (14), 4 states have return successors, (15), 2 states have call predecessors, (15), 2 states have call successors, (15) [2025-01-09 13:30:41,932 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 4.38s for a HTC check with result UNKNOWN. Formula has sorts [Bool, FloatingPoint, RoundingMode, Real, BitVec], hasArrays=false, hasNonlinArith=false, quantifiers [] [2025-01-09 13:30:45,939 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 4.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, FloatingPoint, RoundingMode, Real, BitVec], hasArrays=false, hasNonlinArith=false, quantifiers [] [2025-01-09 13:30:49,944 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 4.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, FloatingPoint, RoundingMode, Real, BitVec], hasArrays=false, hasNonlinArith=false, quantifiers [] [2025-01-09 13:30:49,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 13:30:49,946 INFO L93 Difference]: Finished difference Result 89 states and 120 transitions. [2025-01-09 13:30:50,115 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-01-09 13:30:50,116 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 8 states have internal predecessors, (34), 2 states have call successors, (14), 2 states have call predecessors, (14), 4 states have return successors, (15), 2 states have call predecessors, (15), 2 states have call successors, (15) Word has length 82 [2025-01-09 13:30:50,116 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 13:30:50,117 INFO L225 Difference]: With dead ends: 89 [2025-01-09 13:30:50,117 INFO L226 Difference]: Without dead ends: 50 [2025-01-09 13:30:50,117 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 156 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=77, Invalid=133, Unknown=0, NotChecked=0, Total=210 [2025-01-09 13:30:50,119 INFO L435 NwaCegarLoop]: 39 mSDtfsCounter, 109 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 81 mSolverCounterSat, 75 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 14.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 111 SdHoareTripleChecker+Valid, 90 SdHoareTripleChecker+Invalid, 159 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 75 IncrementalHoareTripleChecker+Valid, 81 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 14.3s IncrementalHoareTripleChecker+Time [2025-01-09 13:30:50,119 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [111 Valid, 90 Invalid, 159 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [75 Valid, 81 Invalid, 3 Unknown, 0 Unchecked, 14.3s Time] [2025-01-09 13:30:50,119 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2025-01-09 13:30:50,124 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 46. [2025-01-09 13:30:50,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 31 states have internal predecessors, (35), 12 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2025-01-09 13:30:50,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 59 transitions. [2025-01-09 13:30:50,125 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 59 transitions. Word has length 82 [2025-01-09 13:30:50,126 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 13:30:50,126 INFO L471 AbstractCegarLoop]: Abstraction has 46 states and 59 transitions. [2025-01-09 13:30:50,126 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 8 states have internal predecessors, (34), 2 states have call successors, (14), 2 states have call predecessors, (14), 4 states have return successors, (15), 2 states have call predecessors, (15), 2 states have call successors, (15) [2025-01-09 13:30:50,126 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 59 transitions. [2025-01-09 13:30:50,127 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2025-01-09 13:30:50,127 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 13:30:50,127 INFO L218 NwaCegarLoop]: trace histogram [12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:30:50,153 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (3)] Ended with exit code 0 [2025-01-09 13:30:50,328 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-01-09 13:30:50,328 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 13:30:50,329 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 13:30:50,329 INFO L85 PathProgramCache]: Analyzing trace with hash 517956032, now seen corresponding path program 1 times [2025-01-09 13:30:50,329 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 13:30:50,329 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2085422183] [2025-01-09 13:30:50,329 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 13:30:50,329 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:30:50,329 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 13:30:50,331 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2025-01-09 13:30:50,333 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2025-01-09 13:30:50,355 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 82 statements into 1 equivalence classes. [2025-01-09 13:30:51,781 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 82 of 82 statements. [2025-01-09 13:30:51,781 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 13:30:51,781 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 13:30:51,822 INFO L256 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 19 conjuncts are in the unsatisfiable core [2025-01-09 13:30:51,827 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 13:31:08,487 WARN L286 SmtUtils]: Spent 8.26s on a formula simplification that was a NOOP. DAG size: 6 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 13:31:16,766 WARN L286 SmtUtils]: Spent 8.28s on a formula simplification that was a NOOP. DAG size: 6 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 13:31:23,024 WARN L286 SmtUtils]: Spent 6.26s on a formula simplification that was a NOOP. DAG size: 3 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 13:31:31,296 WARN L286 SmtUtils]: Spent 8.27s on a formula simplification that was a NOOP. DAG size: 4 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 13:31:38,060 WARN L286 SmtUtils]: Spent 6.76s on a formula simplification that was a NOOP. DAG size: 8 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 13:31:46,536 WARN L286 SmtUtils]: Spent 8.47s on a formula simplification that was a NOOP. DAG size: 3 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 13:31:50,617 WARN L851 $PredicateComparison]: unable to prove that (and (bvsle ((_ zero_extend 24) c_~var_1_19~0) (_ bv0 32)) (fp.geq c_~var_1_12~0 ((_ to_fp 11 53) c_currentRoundingMode ((_ to_fp 8 24) c_currentRoundingMode (/ 1.0 100000000000000000000.0)))) (= c_~var_1_8~0 c_~var_1_12~0) (fp.eq (fp.neg (fp.div c_currentRoundingMode ((_ to_fp 11 53) c_currentRoundingMode c_~var_1_5~0) c_~var_1_9~0)) c_~last_1_var_1_8~0) (fp.leq c_~var_1_12~0 ((_ to_fp 11 53) c_currentRoundingMode ((_ to_fp 8 24) c_currentRoundingMode 9223372036854765600.0))) (= c_currentRoundingMode roundNearestTiesToEven)) is different from false [2025-01-09 13:31:54,733 WARN L873 $PredicateComparison]: unable to prove that (and (bvsle ((_ zero_extend 24) c_~var_1_19~0) (_ bv0 32)) (fp.geq c_~var_1_12~0 ((_ to_fp 11 53) c_currentRoundingMode ((_ to_fp 8 24) c_currentRoundingMode (/ 1.0 100000000000000000000.0)))) (= c_~var_1_8~0 c_~var_1_12~0) (fp.eq (fp.neg (fp.div c_currentRoundingMode ((_ to_fp 11 53) c_currentRoundingMode c_~var_1_5~0) c_~var_1_9~0)) c_~last_1_var_1_8~0) (fp.leq c_~var_1_12~0 ((_ to_fp 11 53) c_currentRoundingMode ((_ to_fp 8 24) c_currentRoundingMode 9223372036854765600.0))) (= c_currentRoundingMode roundNearestTiesToEven)) is different from true