./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/hardness-nfm22/hardness_floatingpointinfluence_has-floats_file-0.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_floatingpointinfluence_has-floats_file-0.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 aa2d3a4d32419b470c0361de47444a015c2912d90722971545568c67ebc1d3c0 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 12:25:43,122 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 12:25:43,180 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-01-09 12:25:43,185 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 12:25:43,186 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 12:25:43,206 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 12:25:43,207 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 12:25:43,207 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 12:25:43,207 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 12:25:43,207 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 12:25:43,207 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 12:25:43,207 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 12:25:43,207 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 12:25:43,207 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 12:25:43,207 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 12:25:43,207 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 12:25:43,208 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 12:25:43,208 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 12:25:43,208 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 12:25:43,208 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 12:25:43,208 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 12:25:43,208 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 12:25:43,208 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 12:25:43,208 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 12:25:43,208 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 12:25:43,208 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 12:25:43,208 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 12:25:43,208 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 12:25:43,208 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 12:25:43,208 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 12:25:43,208 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 12:25:43,208 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 12:25:43,209 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 12:25:43,209 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 12:25:43,209 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 12:25:43,209 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 12:25:43,209 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 12:25:43,209 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 12:25:43,209 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 12:25:43,209 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 12:25:43,209 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 12:25:43,210 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 12:25:43,210 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 12:25:43,210 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 12:25:43,210 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 12:25:43,210 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 12:25:43,210 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 12:25:43,210 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 12:25:43,210 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 -> aa2d3a4d32419b470c0361de47444a015c2912d90722971545568c67ebc1d3c0 [2025-01-09 12:25:43,432 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 12:25:43,439 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 12:25:43,442 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 12:25:43,443 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 12:25:43,443 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 12:25:43,444 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_floatingpointinfluence_has-floats_file-0.i [2025-01-09 12:25:44,617 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/5b397b68b/9c2caea8cfdf4aaf84d79b19bc282216/FLAGff82e1e61 [2025-01-09 12:25:44,889 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 12:25:44,891 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_floatingpointinfluence_has-floats_file-0.i [2025-01-09 12:25:44,896 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/5b397b68b/9c2caea8cfdf4aaf84d79b19bc282216/FLAGff82e1e61 [2025-01-09 12:25:45,191 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/5b397b68b/9c2caea8cfdf4aaf84d79b19bc282216 [2025-01-09 12:25:45,197 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 12:25:45,198 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 12:25:45,203 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 12:25:45,203 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 12:25:45,206 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 12:25:45,207 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 12:25:45" (1/1) ... [2025-01-09 12:25:45,207 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@60a0629e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45, skipping insertion in model container [2025-01-09 12:25:45,207 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 12:25:45" (1/1) ... [2025-01-09 12:25:45,217 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 12:25:45,309 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_floatingpointinfluence_has-floats_file-0.i[916,929] [2025-01-09 12:25:45,333 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 12:25:45,343 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 12:25:45,358 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_floatingpointinfluence_has-floats_file-0.i[916,929] [2025-01-09 12:25:45,371 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 12:25:45,388 INFO L204 MainTranslator]: Completed translation [2025-01-09 12:25:45,388 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45 WrapperNode [2025-01-09 12:25:45,389 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 12:25:45,389 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 12:25:45,393 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 12:25:45,393 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 12:25:45,398 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45" (1/1) ... [2025-01-09 12:25:45,403 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45" (1/1) ... [2025-01-09 12:25:45,429 INFO L138 Inliner]: procedures = 26, calls = 21, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 86 [2025-01-09 12:25:45,429 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 12:25:45,430 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 12:25:45,430 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 12:25:45,430 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 12:25:45,439 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45" (1/1) ... [2025-01-09 12:25:45,439 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45" (1/1) ... [2025-01-09 12:25:45,441 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45" (1/1) ... [2025-01-09 12:25:45,457 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 12:25:45,459 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45" (1/1) ... [2025-01-09 12:25:45,459 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45" (1/1) ... [2025-01-09 12:25:45,463 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45" (1/1) ... [2025-01-09 12:25:45,468 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45" (1/1) ... [2025-01-09 12:25:45,470 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45" (1/1) ... [2025-01-09 12:25:45,471 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45" (1/1) ... [2025-01-09 12:25:45,476 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45" (1/1) ... [2025-01-09 12:25:45,477 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 12:25:45,478 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 12:25:45,478 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 12:25:45,478 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 12:25:45,479 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45" (1/1) ... [2025-01-09 12:25:45,488 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 12:25:45,497 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 12:25:45,510 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 12:25:45,512 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 12:25:45,533 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 12:25:45,533 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 12:25:45,533 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 12:25:45,533 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-09 12:25:45,533 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 12:25:45,533 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 12:25:45,584 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 12:25:45,586 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 12:25:45,755 INFO L? ?]: Removed 8 outVars from TransFormulas that were not future-live. [2025-01-09 12:25:45,756 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 12:25:45,762 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 12:25:45,762 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 12:25:45,763 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 12:25:45 BoogieIcfgContainer [2025-01-09 12:25:45,763 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 12:25:45,764 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 12:25:45,764 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 12:25:45,768 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 12:25:45,768 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 12:25:45" (1/3) ... [2025-01-09 12:25:45,768 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@39ee1a7c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 12:25:45, skipping insertion in model container [2025-01-09 12:25:45,768 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:45" (2/3) ... [2025-01-09 12:25:45,769 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@39ee1a7c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 12:25:45, skipping insertion in model container [2025-01-09 12:25:45,769 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 12:25:45" (3/3) ... [2025-01-09 12:25:45,770 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_floatingpointinfluence_has-floats_file-0.i [2025-01-09 12:25:45,779 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 12:25:45,780 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_floatingpointinfluence_has-floats_file-0.i that has 2 procedures, 40 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 12:25:45,844 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 12:25:45,852 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;@5313cede, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 12:25:45,852 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 12:25:45,855 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 29 states have (on average 1.4482758620689655) internal successors, (42), 30 states have internal predecessors, (42), 8 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2025-01-09 12:25:45,859 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2025-01-09 12:25:45,859 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 12:25:45,860 INFO L218 NwaCegarLoop]: trace histogram [8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 12:25:45,860 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 12:25:45,863 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 12:25:45,864 INFO L85 PathProgramCache]: Analyzing trace with hash -1172259358, now seen corresponding path program 1 times [2025-01-09 12:25:45,869 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 12:25:45,869 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [596260892] [2025-01-09 12:25:45,869 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 12:25:45,870 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 12:25:45,919 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 58 statements into 1 equivalence classes. [2025-01-09 12:25:45,930 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 58 of 58 statements. [2025-01-09 12:25:45,931 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 12:25:45,931 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 12:25:45,982 INFO L134 CoverageAnalysis]: Checked inductivity of 112 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 98 trivial. 0 not checked. [2025-01-09 12:25:45,983 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 12:25:45,983 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [596260892] [2025-01-09 12:25:45,984 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [596260892] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 12:25:45,984 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1273915278] [2025-01-09 12:25:45,984 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 12:25:45,984 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 12:25:45,984 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 12:25:45,989 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 12:25:45,990 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 12:25:46,028 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 58 statements into 1 equivalence classes. [2025-01-09 12:25:46,062 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 58 of 58 statements. [2025-01-09 12:25:46,062 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 12:25:46,062 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 12:25:46,068 INFO L256 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 12:25:46,075 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 12:25:46,093 INFO L134 CoverageAnalysis]: Checked inductivity of 112 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 98 trivial. 0 not checked. [2025-01-09 12:25:46,097 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 12:25:46,098 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1273915278] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 12:25:46,098 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-01-09 12:25:46,098 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-01-09 12:25:46,099 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [640371886] [2025-01-09 12:25:46,100 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 12:25:46,102 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 12:25:46,102 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 12:25:46,114 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 12:25:46,114 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 12:25:46,116 INFO L87 Difference]: Start difference. First operand has 40 states, 29 states have (on average 1.4482758620689655) internal successors, (42), 30 states have internal predecessors, (42), 8 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand has 2 states, 2 states have (on average 11.5) internal successors, (23), 2 states have internal predecessors, (23), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (8), 1 states have call predecessors, (8), 2 states have call successors, (8) [2025-01-09 12:25:46,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 12:25:46,127 INFO L93 Difference]: Finished difference Result 73 states and 117 transitions. [2025-01-09 12:25:46,128 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 12:25:46,129 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 11.5) internal successors, (23), 2 states have internal predecessors, (23), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (8), 1 states have call predecessors, (8), 2 states have call successors, (8) Word has length 58 [2025-01-09 12:25:46,129 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 12:25:46,132 INFO L225 Difference]: With dead ends: 73 [2025-01-09 12:25:46,133 INFO L226 Difference]: Without dead ends: 36 [2025-01-09 12:25:46,134 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 59 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 12:25:46,136 INFO L435 NwaCegarLoop]: 49 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, 49 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 12:25:46,137 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 12:25:46,145 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2025-01-09 12:25:46,154 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 36. [2025-01-09 12:25:46,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 26 states have internal predecessors, (33), 8 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2025-01-09 12:25:46,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 49 transitions. [2025-01-09 12:25:46,159 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 49 transitions. Word has length 58 [2025-01-09 12:25:46,159 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 12:25:46,159 INFO L471 AbstractCegarLoop]: Abstraction has 36 states and 49 transitions. [2025-01-09 12:25:46,159 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 11.5) internal successors, (23), 2 states have internal predecessors, (23), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (8), 1 states have call predecessors, (8), 2 states have call successors, (8) [2025-01-09 12:25:46,159 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 49 transitions. [2025-01-09 12:25:46,161 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2025-01-09 12:25:46,161 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 12:25:46,161 INFO L218 NwaCegarLoop]: trace histogram [8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 12:25:46,167 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 12:25:46,365 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 12:25:46,365 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 12:25:46,367 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 12:25:46,367 INFO L85 PathProgramCache]: Analyzing trace with hash 56477342, now seen corresponding path program 1 times [2025-01-09 12:25:46,367 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 12:25:46,367 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1696445161] [2025-01-09 12:25:46,367 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 12:25:46,367 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 12:25:46,387 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 58 statements into 1 equivalence classes. [2025-01-09 12:25:46,435 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 58 of 58 statements. [2025-01-09 12:25:46,435 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 12:25:46,435 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 12:25:46,435 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-09 12:25:46,439 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 58 statements into 1 equivalence classes. [2025-01-09 12:25:46,468 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 58 of 58 statements. [2025-01-09 12:25:46,469 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 12:25:46,469 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 12:25:46,497 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-09 12:25:46,502 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-01-09 12:25:46,502 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-01-09 12:25:46,503 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-01-09 12:25:46,505 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1] [2025-01-09 12:25:46,547 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-01-09 12:25:46,556 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 09.01 12:25:46 BoogieIcfgContainer [2025-01-09 12:25:46,557 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-01-09 12:25:46,557 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-01-09 12:25:46,557 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-01-09 12:25:46,557 INFO L274 PluginConnector]: Witness Printer initialized [2025-01-09 12:25:46,558 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 12:25:45" (3/4) ... [2025-01-09 12:25:46,559 INFO L149 WitnessPrinter]: No result that supports witness generation found [2025-01-09 12:25:46,560 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-01-09 12:25:46,560 INFO L158 Benchmark]: Toolchain (without parser) took 1362.38ms. Allocated memory is still 167.8MB. Free memory was 132.5MB in the beginning and 62.2MB in the end (delta: 70.4MB). Peak memory consumption was 67.1MB. Max. memory is 16.1GB. [2025-01-09 12:25:46,561 INFO L158 Benchmark]: CDTParser took 0.17ms. Allocated memory is still 201.3MB. Free memory is still 129.4MB. There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 12:25:46,561 INFO L158 Benchmark]: CACSL2BoogieTranslator took 185.98ms. Allocated memory is still 167.8MB. Free memory was 132.5MB in the beginning and 120.3MB in the end (delta: 12.2MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 12:25:46,561 INFO L158 Benchmark]: Boogie Procedure Inliner took 40.17ms. Allocated memory is still 167.8MB. Free memory was 120.3MB in the beginning and 118.3MB in the end (delta: 2.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 12:25:46,561 INFO L158 Benchmark]: Boogie Preprocessor took 47.14ms. Allocated memory is still 167.8MB. Free memory was 118.3MB in the beginning and 116.6MB in the end (delta: 1.7MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 12:25:46,561 INFO L158 Benchmark]: RCFGBuilder took 285.29ms. Allocated memory is still 167.8MB. Free memory was 116.6MB in the beginning and 102.8MB in the end (delta: 13.8MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 12:25:46,562 INFO L158 Benchmark]: TraceAbstraction took 792.35ms. Allocated memory is still 167.8MB. Free memory was 102.0MB in the beginning and 62.6MB in the end (delta: 39.4MB). Peak memory consumption was 33.6MB. Max. memory is 16.1GB. [2025-01-09 12:25:46,562 INFO L158 Benchmark]: Witness Printer took 2.89ms. Allocated memory is still 167.8MB. Free memory was 62.6MB in the beginning and 62.2MB in the end (delta: 413.4kB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 12:25:46,563 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.17ms. Allocated memory is still 201.3MB. Free memory is still 129.4MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 185.98ms. Allocated memory is still 167.8MB. Free memory was 132.5MB in the beginning and 120.3MB in the end (delta: 12.2MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 40.17ms. Allocated memory is still 167.8MB. Free memory was 120.3MB in the beginning and 118.3MB in the end (delta: 2.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Preprocessor took 47.14ms. Allocated memory is still 167.8MB. Free memory was 118.3MB in the beginning and 116.6MB in the end (delta: 1.7MB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 285.29ms. Allocated memory is still 167.8MB. Free memory was 116.6MB in the beginning and 102.8MB in the end (delta: 13.8MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * TraceAbstraction took 792.35ms. Allocated memory is still 167.8MB. Free memory was 102.0MB in the beginning and 62.6MB in the end (delta: 39.4MB). Peak memory consumption was 33.6MB. Max. memory is 16.1GB. * Witness Printer took 2.89ms. Allocated memory is still 167.8MB. Free memory was 62.6MB in the beginning and 62.2MB in the end (delta: 413.4kB). There was no memory consumed. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - UnprovableResult [Line: 19]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: overapproximation of someBinaryArithmeticDOUBLEoperation at line 48, overapproximation of someBinaryDOUBLEComparisonOperation at line 73, overapproximation of someBinaryDOUBLEComparisonOperation at line 89, overapproximation of someBinaryDOUBLEComparisonOperation at line 52, overapproximation of someBinaryDOUBLEComparisonOperation at line 75. Possible FailurePath: [L21] unsigned char isInitial = 0; [L22] double var_1_1 = 25.8; [L23] unsigned char var_1_2 = 1; [L24] double var_1_3 = 128.2; [L25] double var_1_4 = 15.4; [L26] double var_1_5 = 5.25; [L27] unsigned char var_1_9 = 1; [L28] unsigned char var_1_10 = 100; [L29] unsigned char var_1_12 = 1; [L30] unsigned short int var_1_13 = 5; [L31] double last_1_var_1_5 = 5.25; [L32] unsigned char last_1_var_1_10 = 100; [L33] unsigned short int last_1_var_1_13 = 5; VAL [isInitial=0, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=1, var_1_3=641/5, var_1_4=77/5, var_1_5=21/4, var_1_9=1] [L93] isInitial = 1 [L94] FCALL initially() [L96] CALL updateLastVariables() [L84] last_1_var_1_5 = var_1_5 [L85] last_1_var_1_10 = var_1_10 [L86] last_1_var_1_13 = var_1_13 VAL [isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=1, var_1_3=641/5, var_1_4=77/5, var_1_5=21/4, var_1_9=1] [L96] RET updateLastVariables() [L97] CALL updateVariables() [L69] var_1_2 = __VERIFIER_nondet_uchar() [L70] CALL assume_abort_if_not(var_1_2 >= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_3=641/5, var_1_4=77/5, var_1_5=21/4, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_3=641/5, var_1_4=77/5, var_1_5=21/4, var_1_9=1] [L70] RET assume_abort_if_not(var_1_2 >= 0) VAL [isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_3=641/5, var_1_4=77/5, var_1_5=21/4, var_1_9=1] [L71] CALL assume_abort_if_not(var_1_2 <= 1) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_3=641/5, var_1_4=77/5, var_1_5=21/4, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_3=641/5, var_1_4=77/5, var_1_5=21/4, var_1_9=1] [L71] RET assume_abort_if_not(var_1_2 <= 1) VAL [isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_3=641/5, var_1_4=77/5, var_1_5=21/4, var_1_9=1] [L72] var_1_3 = __VERIFIER_nondet_double() [L73] CALL assume_abort_if_not((var_1_3 >= 0.0F && var_1_3 <= -1.0e-20F) || (var_1_3 <= 9223372.036854765600e+12F && var_1_3 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_4=77/5, var_1_5=21/4, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_4=77/5, var_1_5=21/4, var_1_9=1] [L73] RET assume_abort_if_not((var_1_3 >= 0.0F && var_1_3 <= -1.0e-20F) || (var_1_3 <= 9223372.036854765600e+12F && var_1_3 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_4=77/5, var_1_5=21/4, var_1_9=1] [L74] var_1_4 = __VERIFIER_nondet_double() [L75] CALL assume_abort_if_not((var_1_4 >= 0.0F && var_1_4 <= -1.0e-20F) || (var_1_4 <= 9223372.036854765600e+12F && var_1_4 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4, var_1_9=1] [L75] RET assume_abort_if_not((var_1_4 >= 0.0F && var_1_4 <= -1.0e-20F) || (var_1_4 <= 9223372.036854765600e+12F && var_1_4 >= 1.0e-20F )) VAL [isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4, var_1_9=1] [L76] var_1_9 = __VERIFIER_nondet_uchar() [L77] CALL assume_abort_if_not(var_1_9 >= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4] [L77] RET assume_abort_if_not(var_1_9 >= 0) VAL [isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4] [L78] CALL assume_abort_if_not(var_1_9 <= 1) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4, var_1_9=0] [L78] RET assume_abort_if_not(var_1_9 <= 1) VAL [isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=1, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4, var_1_9=0] [L79] var_1_12 = __VERIFIER_nondet_uchar() [L80] CALL assume_abort_if_not(var_1_12 >= 0) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4, var_1_9=0] [L80] RET assume_abort_if_not(var_1_12 >= 0) VAL [isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4, var_1_9=0] [L81] CALL assume_abort_if_not(var_1_12 <= 254) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=254, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=254, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4, var_1_9=0] [L81] RET assume_abort_if_not(var_1_12 <= 254) VAL [isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=254, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4, var_1_9=0] [L97] RET updateVariables() [L98] CALL step() [L37] COND FALSE !(\read(var_1_9)) VAL [isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=254, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4, var_1_9=0] [L42] COND FALSE !((last_1_var_1_13 + last_1_var_1_13) < last_1_var_1_13) VAL [isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=254, var_1_13=5, var_1_1=129/5, var_1_2=0, var_1_5=21/4, var_1_9=0] [L47] COND TRUE ! var_1_2 [L48] var_1_1 = (var_1_3 - var_1_4) VAL [isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=254, var_1_13=5, var_1_2=0, var_1_5=21/4, var_1_9=0] [L52] COND FALSE !((var_1_3 + (var_1_4 + var_1_1)) != var_1_1) [L65] var_1_5 = var_1_3 VAL [isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=254, var_1_13=5, var_1_2=0, var_1_3=259, var_1_5=259, var_1_9=0] [L98] RET step() [L99] CALL, EXPR property() [L89-L90] return ((((! var_1_2) ? (var_1_1 == ((double) (var_1_3 - var_1_4))) : (var_1_1 == ((double) ((((16.2) < (var_1_3)) ? (16.2) : (var_1_3)))))) && (((var_1_3 + (var_1_4 + var_1_1)) != var_1_1) ? (var_1_2 ? (((- var_1_13) <= var_1_10) ? (var_1_9 ? (var_1_5 == ((double) var_1_4)) : 1) : (var_1_5 == ((double) var_1_3))) : (var_1_5 == ((double) var_1_3))) : (var_1_5 == ((double) var_1_3)))) && (((last_1_var_1_13 + last_1_var_1_13) < last_1_var_1_13) ? ((last_1_var_1_13 > last_1_var_1_13) ? (var_1_10 == ((unsigned char) var_1_12)) : 1) : 1)) && (var_1_9 ? (((var_1_4 * (var_1_3 - 5.3)) <= last_1_var_1_5) ? (var_1_13 == ((unsigned short int) last_1_var_1_10)) : 1) : 1) ; VAL [\result=0, isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=254, var_1_13=5, var_1_2=0, var_1_3=259, var_1_5=259, var_1_9=0] [L99] RET, EXPR property() [L99] CALL __VERIFIER_assert(property()) [L19] COND TRUE !(cond) VAL [isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=254, var_1_13=5, var_1_2=0, var_1_3=259, var_1_5=259, var_1_9=0] [L19] reach_error() VAL [isInitial=1, last_1_var_1_10=100, last_1_var_1_13=5, last_1_var_1_5=21/4, var_1_10=100, var_1_12=254, var_1_13=5, var_1_2=0, var_1_3=259, var_1_5=259, var_1_9=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 40 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 0.7s, OverallIterations: 2, TraceHistogramMax: 8, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 0 SdHoareTripleChecker+Valid, 0.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 0 mSDsluCounter, 49 SdHoareTripleChecker+Invalid, 0.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 0 mSDsCounter, 0 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 0 IncrementalHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 0 mSolverCounterUnsat, 49 mSDtfsCounter, 0 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 59 GetRequests, 59 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=40occurred in iteration=0, InterpolantAutomatonStates: 2, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 0.1s InterpolantComputationTime, 174 NumberOfCodeBlocks, 174 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 114 ConstructedInterpolants, 0 QuantifiedInterpolants, 114 SizeOfPredicates, 0 NumberOfNonLiveVariables, 155 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 210/224 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 12:25:46,575 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_floatingpointinfluence_has-floats_file-0.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 aa2d3a4d32419b470c0361de47444a015c2912d90722971545568c67ebc1d3c0 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 12:25:48,514 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 12:25:48,629 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2025-01-09 12:25:48,633 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 12:25:48,634 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 12:25:48,657 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 12:25:48,658 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 12:25:48,659 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 12:25:48,659 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 12:25:48,659 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 12:25:48,659 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 12:25:48,660 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 12:25:48,660 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 12:25:48,660 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 12:25:48,660 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 12:25:48,660 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 12:25:48,661 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 12:25:48,662 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 12:25:48,662 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 12:25:48,662 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 12:25:48,662 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 12:25:48,662 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 12:25:48,662 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 12:25:48,662 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-01-09 12:25:48,662 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-01-09 12:25:48,662 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-01-09 12:25:48,662 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 12:25:48,662 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 12:25:48,662 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 12:25:48,663 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 12:25:48,663 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 12:25:48,663 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 12:25:48,663 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 12:25:48,663 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 12:25:48,663 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 12:25:48,663 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 12:25:48,663 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 12:25:48,663 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 12:25:48,663 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 12:25:48,663 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 12:25:48,663 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 12:25:48,664 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 12:25:48,664 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 12:25:48,664 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 12:25:48,664 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-01-09 12:25:48,664 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-01-09 12:25:48,664 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 12:25:48,665 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 12:25:48,665 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 12:25:48,665 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 12:25:48,665 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 -> aa2d3a4d32419b470c0361de47444a015c2912d90722971545568c67ebc1d3c0 [2025-01-09 12:25:48,914 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 12:25:48,930 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 12:25:48,932 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 12:25:48,935 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 12:25:48,935 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 12:25:48,939 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_floatingpointinfluence_has-floats_file-0.i [2025-01-09 12:25:50,269 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/8b59e73c2/331dedcac590435c996d06cbf6d536a5/FLAGf6efc1ae3 [2025-01-09 12:25:50,543 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 12:25:50,544 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_floatingpointinfluence_has-floats_file-0.i [2025-01-09 12:25:50,551 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/8b59e73c2/331dedcac590435c996d06cbf6d536a5/FLAGf6efc1ae3 [2025-01-09 12:25:50,567 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/8b59e73c2/331dedcac590435c996d06cbf6d536a5 [2025-01-09 12:25:50,569 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 12:25:50,570 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 12:25:50,571 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 12:25:50,571 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 12:25:50,574 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 12:25:50,575 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 12:25:50" (1/1) ... [2025-01-09 12:25:50,576 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@20439063 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50, skipping insertion in model container [2025-01-09 12:25:50,576 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 12:25:50" (1/1) ... [2025-01-09 12:25:50,590 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 12:25:50,687 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_floatingpointinfluence_has-floats_file-0.i[916,929] [2025-01-09 12:25:50,719 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 12:25:50,734 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 12:25:50,743 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_floatingpointinfluence_has-floats_file-0.i[916,929] [2025-01-09 12:25:50,762 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 12:25:50,776 INFO L204 MainTranslator]: Completed translation [2025-01-09 12:25:50,778 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50 WrapperNode [2025-01-09 12:25:50,778 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 12:25:50,779 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 12:25:50,779 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 12:25:50,779 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 12:25:50,784 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50" (1/1) ... [2025-01-09 12:25:50,791 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50" (1/1) ... [2025-01-09 12:25:50,806 INFO L138 Inliner]: procedures = 27, calls = 21, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 86 [2025-01-09 12:25:50,809 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 12:25:50,809 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 12:25:50,809 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 12:25:50,810 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 12:25:50,815 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50" (1/1) ... [2025-01-09 12:25:50,815 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50" (1/1) ... [2025-01-09 12:25:50,819 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50" (1/1) ... [2025-01-09 12:25:50,834 INFO L175 MemorySlicer]: Split 2 memory accesses to 1 slices as follows [2]. 100 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2]. The 0 writes are split as follows [0]. [2025-01-09 12:25:50,835 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50" (1/1) ... [2025-01-09 12:25:50,835 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50" (1/1) ... [2025-01-09 12:25:50,841 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50" (1/1) ... [2025-01-09 12:25:50,845 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50" (1/1) ... [2025-01-09 12:25:50,850 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50" (1/1) ... [2025-01-09 12:25:50,851 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50" (1/1) ... [2025-01-09 12:25:50,852 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50" (1/1) ... [2025-01-09 12:25:50,857 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 12:25:50,858 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 12:25:50,858 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 12:25:50,858 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 12:25:50,862 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50" (1/1) ... [2025-01-09 12:25:50,867 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 12:25:50,876 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 12:25:50,891 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 12:25:50,899 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 12:25:50,915 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 12:25:50,915 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-01-09 12:25:50,916 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 12:25:50,916 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 12:25:50,916 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 12:25:50,916 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 12:25:50,968 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 12:25:50,969 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 12:26:05,638 INFO L? ?]: Removed 8 outVars from TransFormulas that were not future-live. [2025-01-09 12:26:05,638 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 12:26:05,649 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 12:26:05,651 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 12:26:05,651 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 12:26:05 BoogieIcfgContainer [2025-01-09 12:26:05,651 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 12:26:05,653 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 12:26:05,654 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 12:26:05,657 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 12:26:05,657 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 12:25:50" (1/3) ... [2025-01-09 12:26:05,658 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3e491d52 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 12:26:05, skipping insertion in model container [2025-01-09 12:26:05,659 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 12:25:50" (2/3) ... [2025-01-09 12:26:05,659 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3e491d52 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 12:26:05, skipping insertion in model container [2025-01-09 12:26:05,659 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 12:26:05" (3/3) ... [2025-01-09 12:26:05,660 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_floatingpointinfluence_has-floats_file-0.i [2025-01-09 12:26:05,670 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 12:26:05,672 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_floatingpointinfluence_has-floats_file-0.i that has 2 procedures, 40 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 12:26:05,716 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 12:26:05,727 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;@6d379763, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 12:26:05,728 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 12:26:05,731 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 29 states have (on average 1.4482758620689655) internal successors, (42), 30 states have internal predecessors, (42), 8 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2025-01-09 12:26:05,737 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2025-01-09 12:26:05,737 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 12:26:05,737 INFO L218 NwaCegarLoop]: trace histogram [8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 12:26:05,738 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 12:26:05,742 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 12:26:05,743 INFO L85 PathProgramCache]: Analyzing trace with hash -1172259358, now seen corresponding path program 1 times [2025-01-09 12:26:05,750 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 12:26:05,750 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1550846925] [2025-01-09 12:26:05,750 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 12:26:05,751 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 12:26:05,751 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 12:26:05,754 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 12:26:05,756 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 12:26:05,798 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 58 statements into 1 equivalence classes. [2025-01-09 12:26:06,172 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 58 of 58 statements. [2025-01-09 12:26:06,173 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 12:26:06,173 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 12:26:06,191 INFO L256 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 12:26:06,197 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 12:26:06,217 INFO L134 CoverageAnalysis]: Checked inductivity of 112 backedges. 54 proven. 0 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2025-01-09 12:26:06,217 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 12:26:06,218 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-01-09 12:26:06,218 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1550846925] [2025-01-09 12:26:06,218 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1550846925] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 12:26:06,218 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 12:26:06,218 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 12:26:06,219 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1342971363] [2025-01-09 12:26:06,220 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 12:26:06,222 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 12:26:06,222 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-01-09 12:26:06,233 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 12:26:06,233 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 12:26:06,235 INFO L87 Difference]: Start difference. First operand has 40 states, 29 states have (on average 1.4482758620689655) internal successors, (42), 30 states have internal predecessors, (42), 8 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand has 2 states, 2 states have (on average 12.5) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2025-01-09 12:26:06,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 12:26:06,247 INFO L93 Difference]: Finished difference Result 73 states and 117 transitions. [2025-01-09 12:26:06,247 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 12:26:06,252 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 12.5) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 58 [2025-01-09 12:26:06,252 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 12:26:06,256 INFO L225 Difference]: With dead ends: 73 [2025-01-09 12:26:06,259 INFO L226 Difference]: Without dead ends: 36 [2025-01-09 12:26:06,262 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 57 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 12:26:06,267 INFO L435 NwaCegarLoop]: 49 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, 49 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 12:26:06,268 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 12:26:06,276 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2025-01-09 12:26:06,286 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 36. [2025-01-09 12:26:06,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 26 states have internal predecessors, (33), 8 states have call successors, (8), 1 states have call predecessors, (8), 1 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2025-01-09 12:26:06,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 49 transitions. [2025-01-09 12:26:06,290 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 49 transitions. Word has length 58 [2025-01-09 12:26:06,291 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 12:26:06,291 INFO L471 AbstractCegarLoop]: Abstraction has 36 states and 49 transitions. [2025-01-09 12:26:06,291 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 12.5) internal successors, (25), 2 states have internal predecessors, (25), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2025-01-09 12:26:06,291 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 49 transitions. [2025-01-09 12:26:06,292 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2025-01-09 12:26:06,292 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 12:26:06,293 INFO L218 NwaCegarLoop]: trace histogram [8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 12:26:06,309 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (2)] Ended with exit code 0 [2025-01-09 12:26:06,493 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 12:26:06,494 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 12:26:06,494 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 12:26:06,494 INFO L85 PathProgramCache]: Analyzing trace with hash 56477342, now seen corresponding path program 1 times [2025-01-09 12:26:06,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 12:26:06,495 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1965273177] [2025-01-09 12:26:06,495 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 12:26:06,495 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 12:26:06,496 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 12:26:06,498 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 12:26:06,499 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 12:26:06,543 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 58 statements into 1 equivalence classes. [2025-01-09 12:26:06,971 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 58 of 58 statements. [2025-01-09 12:26:06,971 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 12:26:06,971 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 12:26:06,993 INFO L256 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 15 conjuncts are in the unsatisfiable core [2025-01-09 12:26:06,998 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 12:26:20,780 WARN L286 SmtUtils]: Spent 7.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 12:26:28,878 WARN L286 SmtUtils]: Spent 8.10s 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 12:26:36,968 WARN L286 SmtUtils]: Spent 8.09s 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 12:26:44,188 WARN L286 SmtUtils]: Spent 7.22s on a formula simplification that was a NOOP. DAG size: 7 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 12:26:52,264 WARN L286 SmtUtils]: Spent 8.08s 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 12:26:58,874 WARN L286 SmtUtils]: Spent 6.61s 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 12:27:06,966 WARN L286 SmtUtils]: Spent 8.09s 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 12:27:15,048 WARN L286 SmtUtils]: Spent 8.08s 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 12:27:23,154 WARN L286 SmtUtils]: Spent 8.11s 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 12:27:27,183 WARN L851 $PredicateComparison]: unable to prove that (and (= (_ bv0 8) c_~var_1_9~0) (= c_~var_1_1~0 (fp.sub c_currentRoundingMode c_~var_1_3~0 c_~var_1_4~0)) (fp.leq c_~var_1_3~0 ((_ to_fp 11 53) c_currentRoundingMode ((_ to_fp 8 24) c_currentRoundingMode 9223372036854765600.0))) (fp.geq c_~var_1_3~0 ((_ to_fp 11 53) c_currentRoundingMode ((_ to_fp 8 24) c_currentRoundingMode (/ 1.0 100000000000000000000.0)))) (= c_~var_1_3~0 c_~var_1_5~0) (= c_~var_1_13~0 (_ bv5 16)) (fp.eq (fp.add c_currentRoundingMode c_~var_1_3~0 (fp.add c_currentRoundingMode c_~var_1_4~0 c_~var_1_1~0)) c_~var_1_1~0) (= c_currentRoundingMode roundNearestTiesToEven) (= (_ bv0 8) c_~var_1_2~0)) is different from false