./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/combinations/gcd_4+newton_2_8.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 48c9605d 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/combinations/gcd_4+newton_2_8.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 131b2ae9424ecd75292a5889f04853eea3cca0c3e4c679243c4666d6f4003ffe --- Real Ultimate output --- This is Ultimate 0.3.0-?-48c9605-m [2025-02-07 21:51:56,273 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-02-07 21:51:56,320 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-02-07 21:51:56,324 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-02-07 21:51:56,325 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-02-07 21:51:56,347 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-02-07 21:51:56,348 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-02-07 21:51:56,348 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-02-07 21:51:56,349 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-02-07 21:51:56,349 INFO L153 SettingsManager]: * Use memory slicer=true [2025-02-07 21:51:56,349 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-02-07 21:51:56,349 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-02-07 21:51:56,349 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-02-07 21:51:56,349 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-02-07 21:51:56,349 INFO L153 SettingsManager]: * Use SBE=true [2025-02-07 21:51:56,350 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-02-07 21:51:56,350 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-02-07 21:51:56,350 INFO L153 SettingsManager]: * sizeof long=4 [2025-02-07 21:51:56,350 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-02-07 21:51:56,350 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-02-07 21:51:56,350 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-02-07 21:51:56,350 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-02-07 21:51:56,350 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-02-07 21:51:56,351 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-02-07 21:51:56,351 INFO L153 SettingsManager]: * sizeof long double=12 [2025-02-07 21:51:56,351 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-02-07 21:51:56,351 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-02-07 21:51:56,351 INFO L153 SettingsManager]: * Use constant arrays=true [2025-02-07 21:51:56,351 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-02-07 21:51:56,351 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-02-07 21:51:56,351 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-02-07 21:51:56,351 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-02-07 21:51:56,351 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-07 21:51:56,352 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-02-07 21:51:56,352 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-02-07 21:51:56,352 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-02-07 21:51:56,352 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-02-07 21:51:56,352 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-02-07 21:51:56,352 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-02-07 21:51:56,352 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-02-07 21:51:56,352 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-02-07 21:51:56,352 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-02-07 21:51:56,352 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-02-07 21:51:56,352 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 -> 131b2ae9424ecd75292a5889f04853eea3cca0c3e4c679243c4666d6f4003ffe [2025-02-07 21:51:56,574 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-02-07 21:51:56,580 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-02-07 21:51:56,581 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-02-07 21:51:56,582 INFO L270 PluginConnector]: Initializing CDTParser... [2025-02-07 21:51:56,582 INFO L274 PluginConnector]: CDTParser initialized [2025-02-07 21:51:56,583 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/combinations/gcd_4+newton_2_8.i [2025-02-07 21:51:57,809 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/888fa6511/d56b8cf9282446bebb75e506e5dd10e7/FLAG5727d37f7 [2025-02-07 21:51:58,028 INFO L384 CDTParser]: Found 1 translation units. [2025-02-07 21:51:58,029 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/combinations/gcd_4+newton_2_8.i [2025-02-07 21:51:58,034 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/888fa6511/d56b8cf9282446bebb75e506e5dd10e7/FLAG5727d37f7 [2025-02-07 21:51:58,376 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/888fa6511/d56b8cf9282446bebb75e506e5dd10e7 [2025-02-07 21:51:58,377 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-02-07 21:51:58,378 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-02-07 21:51:58,380 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-02-07 21:51:58,380 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-02-07 21:51:58,383 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-02-07 21:51:58,383 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.02 09:51:58" (1/1) ... [2025-02-07 21:51:58,383 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@40ea2993 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:51:58, skipping insertion in model container [2025-02-07 21:51:58,384 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.02 09:51:58" (1/1) ... [2025-02-07 21:51:58,396 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-02-07 21:51:58,492 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/combinations/gcd_4+newton_2_8.i[1224,1237] [2025-02-07 21:51:58,512 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/combinations/gcd_4+newton_2_8.i[2827,2840] [2025-02-07 21:51:58,513 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-07 21:51:58,521 INFO L200 MainTranslator]: Completed pre-run [2025-02-07 21:51:58,529 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/combinations/gcd_4+newton_2_8.i[1224,1237] [2025-02-07 21:51:58,539 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/combinations/gcd_4+newton_2_8.i[2827,2840] [2025-02-07 21:51:58,540 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-07 21:51:58,554 INFO L204 MainTranslator]: Completed translation [2025-02-07 21:51:58,555 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:51:58 WrapperNode [2025-02-07 21:51:58,555 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-02-07 21:51:58,556 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-02-07 21:51:58,556 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-02-07 21:51:58,557 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-02-07 21:51:58,562 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:51:58" (1/1) ... [2025-02-07 21:51:58,569 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:51:58" (1/1) ... [2025-02-07 21:51:58,584 INFO L138 Inliner]: procedures = 27, calls = 26, calls flagged for inlining = 6, calls inlined = 6, statements flattened = 76 [2025-02-07 21:51:58,586 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-02-07 21:51:58,586 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-02-07 21:51:58,586 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-02-07 21:51:58,586 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-02-07 21:51:58,592 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:51:58" (1/1) ... [2025-02-07 21:51:58,592 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:51:58" (1/1) ... [2025-02-07 21:51:58,593 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:51:58" (1/1) ... [2025-02-07 21:51:58,603 INFO L175 MemorySlicer]: Split 10 memory accesses to 2 slices as follows [2, 8]. 80 percent of accesses are in the largest equivalence class. The 10 initializations are split as follows [2, 8]. The 0 writes are split as follows [0, 0]. [2025-02-07 21:51:58,604 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:51:58" (1/1) ... [2025-02-07 21:51:58,604 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:51:58" (1/1) ... [2025-02-07 21:51:58,609 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:51:58" (1/1) ... [2025-02-07 21:51:58,610 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:51:58" (1/1) ... [2025-02-07 21:51:58,610 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:51:58" (1/1) ... [2025-02-07 21:51:58,610 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:51:58" (1/1) ... [2025-02-07 21:51:58,611 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-02-07 21:51:58,612 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-02-07 21:51:58,612 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-02-07 21:51:58,612 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-02-07 21:51:58,616 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:51:58" (1/1) ... [2025-02-07 21:51:58,619 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-07 21:51:58,627 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-07 21:51:58,637 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-02-07 21:51:58,641 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-02-07 21:51:58,653 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-02-07 21:51:58,653 INFO L130 BoogieDeclarations]: Found specification of procedure fp [2025-02-07 21:51:58,653 INFO L138 BoogieDeclarations]: Found implementation of procedure fp [2025-02-07 21:51:58,653 INFO L130 BoogieDeclarations]: Found specification of procedure f [2025-02-07 21:51:58,653 INFO L138 BoogieDeclarations]: Found implementation of procedure f [2025-02-07 21:51:58,653 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-02-07 21:51:58,653 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-02-07 21:51:58,653 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-02-07 21:51:58,653 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-02-07 21:51:58,654 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2025-02-07 21:51:58,654 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2025-02-07 21:51:58,706 INFO L257 CfgBuilder]: Building ICFG [2025-02-07 21:51:58,708 INFO L287 CfgBuilder]: Building CFG for each procedure with an implementation [2025-02-07 21:51:58,789 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L64: main1_#res#1 := 0; [2025-02-07 21:51:58,789 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L64-1: SUMMARY for call __VERIFIER_assert((if 9 == main1_~g~0#1 then 1 else 0)); srcloc: null [2025-02-07 21:51:58,789 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L62: SUMMARY for call __VERIFIER_assert((if 0 == (if main1_~x~0#1 < 0 && 0 != main1_~x~0#1 % main1_~g~0#1 then (if main1_~g~0#1 < 0 then main1_~x~0#1 % main1_~g~0#1 + main1_~g~0#1 else main1_~x~0#1 % main1_~g~0#1 - main1_~g~0#1) else main1_~x~0#1 % main1_~g~0#1) then 1 else 0)); srcloc: null [2025-02-07 21:51:58,789 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L60: main1_#t~ret5#1 := gcd_test_#res#1;havoc gcd_test_~a#1, gcd_test_~b#1;havoc gcd_test_#in~a#1, gcd_test_#in~b#1;assume { :end_inline_gcd_test } true;assume -2147483648 <= main1_#t~ret5#1 && main1_#t~ret5#1 <= 2147483647;main1_~g~0#1 := main1_#t~ret5#1;havoc main1_#t~ret5#1; [2025-02-07 21:51:58,789 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L118: main_#t~ret13#1 := main2_#res#1;havoc main2_#t~nondet6#1, main2_#t~ret7#1, main2_#t~ret8#1, main2_#t~ret9#1, main2_#t~ret10#1, main2_~IN~0#1, main2_~x~1#1;assume { :end_inline_main2 } true;assume -2147483648 <= main_#t~ret13#1 && main_#t~ret13#1 <= 2147483647; [2025-02-07 21:51:58,789 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L116: main_#t~ret12#1 := main1_#res#1;havoc main1_#t~ret5#1, main1_~x~0#1, main1_~y~0#1, main1_~g~0#1;assume { :end_inline_main1 } true;assume -2147483648 <= main_#t~ret12#1 && main_#t~ret12#1 <= 2147483647; [2025-02-07 21:51:58,789 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L-1: #t~ret14#1 := main_#res#1;havoc main_#t~nondet11#1, main_#t~ret12#1, main_#t~ret13#1;assume { :end_inline_main } true; [2025-02-07 21:51:58,790 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L63: SUMMARY for call __VERIFIER_assert((if 0 == (if main1_~y~0#1 < 0 && 0 != main1_~y~0#1 % main1_~g~0#1 then (if main1_~g~0#1 < 0 then main1_~y~0#1 % main1_~g~0#1 + main1_~g~0#1 else main1_~y~0#1 % main1_~g~0#1 - main1_~g~0#1) else main1_~y~0#1 % main1_~g~0#1) then 1 else 0)); srcloc: null [2025-02-07 21:51:58,790 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint ULTIMATE.startFINAL: assume true; [2025-02-07 21:51:58,818 INFO L? ?]: Removed 21 outVars from TransFormulas that were not future-live. [2025-02-07 21:51:58,818 INFO L308 CfgBuilder]: Performing block encoding [2025-02-07 21:51:58,830 INFO L332 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-02-07 21:51:58,831 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-02-07 21:51:58,832 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 07.02 09:51:58 BoogieIcfgContainer [2025-02-07 21:51:58,832 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-02-07 21:51:58,834 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-02-07 21:51:58,834 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-02-07 21:51:58,837 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-02-07 21:51:58,837 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.02 09:51:58" (1/3) ... [2025-02-07 21:51:58,838 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6c585784 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.02 09:51:58, skipping insertion in model container [2025-02-07 21:51:58,838 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:51:58" (2/3) ... [2025-02-07 21:51:58,838 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6c585784 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.02 09:51:58, skipping insertion in model container [2025-02-07 21:51:58,838 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 07.02 09:51:58" (3/3) ... [2025-02-07 21:51:58,839 INFO L128 eAbstractionObserver]: Analyzing ICFG gcd_4+newton_2_8.i [2025-02-07 21:51:58,848 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-02-07 21:51:58,849 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG gcd_4+newton_2_8.i that has 4 procedures, 34 locations, 1 initial locations, 1 loop locations, and 2 error locations. [2025-02-07 21:51:58,894 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-02-07 21:51:58,904 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;@7835be25, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-02-07 21:51:58,904 INFO L334 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2025-02-07 21:51:58,908 INFO L276 IsEmpty]: Start isEmpty. Operand has 27 states, 18 states have (on average 1.5) internal successors, (27), 20 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2025-02-07 21:51:58,912 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2025-02-07 21:51:58,913 INFO L210 NwaCegarLoop]: Found error trace [2025-02-07 21:51:58,913 INFO L218 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-07 21:51:58,913 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-07 21:51:58,918 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-07 21:51:58,918 INFO L85 PathProgramCache]: Analyzing trace with hash 1092630587, now seen corresponding path program 1 times [2025-02-07 21:51:58,925 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-07 21:51:58,925 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [216724526] [2025-02-07 21:51:58,926 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-07 21:51:58,926 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-07 21:51:58,982 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-02-07 21:51:58,996 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-02-07 21:51:58,998 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-07 21:51:58,998 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-07 21:51:59,044 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-02-07 21:51:59,045 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-07 21:51:59,045 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [216724526] [2025-02-07 21:51:59,045 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [216724526] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-07 21:51:59,045 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-07 21:51:59,046 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-02-07 21:51:59,047 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1613913792] [2025-02-07 21:51:59,048 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-07 21:51:59,050 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-02-07 21:51:59,050 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-07 21:51:59,065 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-02-07 21:51:59,065 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-02-07 21:51:59,067 INFO L87 Difference]: Start difference. First operand has 27 states, 18 states have (on average 1.5) internal successors, (27), 20 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 2 states, 2 states have (on average 6.0) internal successors, (12), 2 states have internal predecessors, (12), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2025-02-07 21:51:59,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-07 21:51:59,082 INFO L93 Difference]: Finished difference Result 45 states and 55 transitions. [2025-02-07 21:51:59,082 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-02-07 21:51:59,083 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.0) internal successors, (12), 2 states have internal predecessors, (12), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 24 [2025-02-07 21:51:59,083 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-07 21:51:59,087 INFO L225 Difference]: With dead ends: 45 [2025-02-07 21:51:59,087 INFO L226 Difference]: Without dead ends: 19 [2025-02-07 21:51:59,089 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 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-02-07 21:51:59,092 INFO L435 NwaCegarLoop]: 33 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, 33 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-02-07 21:51:59,093 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 33 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-02-07 21:51:59,103 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19 states. [2025-02-07 21:51:59,113 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19 to 19. [2025-02-07 21:51:59,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 12 states have (on average 1.0) internal successors, (12), 12 states have internal predecessors, (12), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2025-02-07 21:51:59,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 20 transitions. [2025-02-07 21:51:59,119 INFO L78 Accepts]: Start accepts. Automaton has 19 states and 20 transitions. Word has length 24 [2025-02-07 21:51:59,119 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-07 21:51:59,120 INFO L471 AbstractCegarLoop]: Abstraction has 19 states and 20 transitions. [2025-02-07 21:51:59,120 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 6.0) internal successors, (12), 2 states have internal predecessors, (12), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2025-02-07 21:51:59,120 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2025-02-07 21:51:59,121 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2025-02-07 21:51:59,121 INFO L210 NwaCegarLoop]: Found error trace [2025-02-07 21:51:59,122 INFO L218 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-07 21:51:59,122 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-02-07 21:51:59,122 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-07 21:51:59,123 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-07 21:51:59,123 INFO L85 PathProgramCache]: Analyzing trace with hash -945425702, now seen corresponding path program 1 times [2025-02-07 21:51:59,123 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-07 21:51:59,123 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [631245402] [2025-02-07 21:51:59,124 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-07 21:51:59,124 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-07 21:51:59,133 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-02-07 21:51:59,146 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-02-07 21:51:59,147 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-07 21:51:59,148 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-07 21:51:59,148 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-07 21:51:59,151 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-02-07 21:51:59,157 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-02-07 21:51:59,158 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-07 21:51:59,158 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-07 21:51:59,172 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-07 21:51:59,172 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-02-07 21:51:59,173 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (1 of 2 remaining) [2025-02-07 21:51:59,174 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2025-02-07 21:51:59,174 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-02-07 21:51:59,177 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1] [2025-02-07 21:51:59,188 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-02-07 21:51:59,190 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.02 09:51:59 BoogieIcfgContainer [2025-02-07 21:51:59,190 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-02-07 21:51:59,191 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-02-07 21:51:59,191 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-02-07 21:51:59,191 INFO L274 PluginConnector]: Witness Printer initialized [2025-02-07 21:51:59,192 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 07.02 09:51:58" (3/4) ... [2025-02-07 21:51:59,193 INFO L149 WitnessPrinter]: No result that supports witness generation found [2025-02-07 21:51:59,193 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-02-07 21:51:59,194 INFO L158 Benchmark]: Toolchain (without parser) took 815.80ms. Allocated memory is still 142.6MB. Free memory was 113.8MB in the beginning and 63.1MB in the end (delta: 50.7MB). Peak memory consumption was 50.3MB. Max. memory is 16.1GB. [2025-02-07 21:51:59,194 INFO L158 Benchmark]: CDTParser took 0.21ms. Allocated memory is still 201.3MB. Free memory is still 124.5MB. There was no memory consumed. Max. memory is 16.1GB. [2025-02-07 21:51:59,194 INFO L158 Benchmark]: CACSL2BoogieTranslator took 175.79ms. Allocated memory is still 142.6MB. Free memory was 113.8MB in the beginning and 101.9MB in the end (delta: 11.9MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-02-07 21:51:59,194 INFO L158 Benchmark]: Boogie Procedure Inliner took 29.56ms. Allocated memory is still 142.6MB. Free memory was 101.9MB in the beginning and 100.4MB in the end (delta: 1.5MB). There was no memory consumed. Max. memory is 16.1GB. [2025-02-07 21:51:59,195 INFO L158 Benchmark]: Boogie Preprocessor took 25.28ms. Allocated memory is still 142.6MB. Free memory was 100.4MB in the beginning and 99.1MB in the end (delta: 1.3MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-02-07 21:51:59,195 INFO L158 Benchmark]: IcfgBuilder took 220.56ms. Allocated memory is still 142.6MB. Free memory was 99.1MB in the beginning and 84.8MB in the end (delta: 14.3MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-02-07 21:51:59,195 INFO L158 Benchmark]: TraceAbstraction took 356.35ms. Allocated memory is still 142.6MB. Free memory was 84.3MB in the beginning and 63.1MB in the end (delta: 21.2MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2025-02-07 21:51:59,195 INFO L158 Benchmark]: Witness Printer took 2.63ms. Allocated memory is still 142.6MB. Free memory is still 63.1MB. There was no memory consumed. Max. memory is 16.1GB. [2025-02-07 21:51:59,196 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.21ms. Allocated memory is still 201.3MB. Free memory is still 124.5MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 175.79ms. Allocated memory is still 142.6MB. Free memory was 113.8MB in the beginning and 101.9MB in the end (delta: 11.9MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 29.56ms. Allocated memory is still 142.6MB. Free memory was 101.9MB in the beginning and 100.4MB in the end (delta: 1.5MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 25.28ms. Allocated memory is still 142.6MB. Free memory was 100.4MB in the beginning and 99.1MB in the end (delta: 1.3MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * IcfgBuilder took 220.56ms. Allocated memory is still 142.6MB. Free memory was 99.1MB in the beginning and 84.8MB in the end (delta: 14.3MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * TraceAbstraction took 356.35ms. Allocated memory is still 142.6MB. Free memory was 84.3MB in the beginning and 63.1MB in the end (delta: 21.2MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. * Witness Printer took 2.63ms. Allocated memory is still 142.6MB. Free memory is still 63.1MB. 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: 109]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: overapproximation of someBinaryFLOATComparisonOperation at line 98, overapproximation of someBinaryDOUBLEComparisonOperation at line 108, overapproximation of someBinaryArithmeticFLOAToperation at line 102, overapproximation of someBinaryArithmeticFLOAToperation at line 87, overapproximation of someBinaryArithmeticFLOAToperation at line 92, overapproximation of someBinaryArithmeticFLOAToperation at line 100. Possible FailurePath: [L115] COND FALSE !(__VERIFIER_nondet_int()) [L118] CALL main2() [L97] float IN = __VERIFIER_nondet_float(); [L98] CALL assume_abort_if_not(IN > -2.0f && IN < 2.0f) [L82] COND FALSE !(!cond) [L98] RET assume_abort_if_not(IN > -2.0f && IN < 2.0f) [L100] CALL, EXPR f(IN) VAL [\old(x)=110] [L87] return x - (x*x*x)/6.0f + (x*x*x*x*x)/120.0f + (x*x*x*x*x*x*x)/5040.0f; VAL [\old(x)=110] [L100] RET, EXPR f(IN) VAL [IN=110] [L100] CALL, EXPR fp(IN) VAL [\old(x)=110] [L92] return 1 - (x*x)/2.0f + (x*x*x*x)/24.0f + (x*x*x*x*x*x)/720.0f; VAL [\old(x)=110] [L100] RET, EXPR fp(IN) VAL [IN=110] [L100] float x = IN - f(IN)/fp(IN); [L102] CALL, EXPR f(x) VAL [\old(x)=111] [L87] return x - (x*x*x)/6.0f + (x*x*x*x*x)/120.0f + (x*x*x*x*x*x*x)/5040.0f; VAL [\old(x)=111] [L102] RET, EXPR f(x) VAL [IN=110, x=111] [L102] CALL, EXPR fp(x) VAL [\old(x)=111] [L92] return 1 - (x*x)/2.0f + (x*x*x*x)/24.0f + (x*x*x*x*x*x)/720.0f; VAL [\old(x)=111] [L102] RET, EXPR fp(x) VAL [IN=110, x=111] [L102] x = x - f(x)/fp(x) [L108] COND TRUE !(x < 0.1) VAL [IN=110] [L109] reach_error() VAL [IN=110] - UnprovableResult [Line: 27]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: Not analyzed. - StatisticsResult: Ultimate Automizer benchmark data CFG has 4 procedures, 34 locations, 2 error locations. Started 1 CEGAR loops. OverallTime: 0.3s, OverallIterations: 2, TraceHistogramMax: 2, 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, 33 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, 33 mSDtfsCounter, 0 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=27occurred 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.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 48 NumberOfCodeBlocks, 48 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 23 ConstructedInterpolants, 0 QuantifiedInterpolants, 23 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 6/6 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-02-07 21:51:59,210 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/combinations/gcd_4+newton_2_8.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 131b2ae9424ecd75292a5889f04853eea3cca0c3e4c679243c4666d6f4003ffe --- Real Ultimate output --- This is Ultimate 0.3.0-?-48c9605-m [2025-02-07 21:52:01,212 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-02-07 21:52:01,309 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2025-02-07 21:52:01,315 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-02-07 21:52:01,317 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-02-07 21:52:01,341 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-02-07 21:52:01,342 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-02-07 21:52:01,342 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-02-07 21:52:01,343 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-02-07 21:52:01,343 INFO L153 SettingsManager]: * Use memory slicer=true [2025-02-07 21:52:01,344 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-02-07 21:52:01,344 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-02-07 21:52:01,344 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-02-07 21:52:01,344 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-02-07 21:52:01,344 INFO L153 SettingsManager]: * Use SBE=true [2025-02-07 21:52:01,344 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-02-07 21:52:01,345 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-02-07 21:52:01,345 INFO L153 SettingsManager]: * sizeof long=4 [2025-02-07 21:52:01,345 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-02-07 21:52:01,345 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-02-07 21:52:01,345 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-02-07 21:52:01,345 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-02-07 21:52:01,345 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-02-07 21:52:01,345 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-02-07 21:52:01,346 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-02-07 21:52:01,346 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-02-07 21:52:01,346 INFO L153 SettingsManager]: * sizeof long double=12 [2025-02-07 21:52:01,346 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-02-07 21:52:01,346 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-02-07 21:52:01,346 INFO L153 SettingsManager]: * Use constant arrays=true [2025-02-07 21:52:01,346 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-02-07 21:52:01,346 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-02-07 21:52:01,346 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-02-07 21:52:01,346 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-02-07 21:52:01,346 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-07 21:52:01,346 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-02-07 21:52:01,346 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-02-07 21:52:01,346 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-02-07 21:52:01,346 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-02-07 21:52:01,346 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-02-07 21:52:01,346 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-02-07 21:52:01,347 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-02-07 21:52:01,347 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-02-07 21:52:01,347 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-02-07 21:52:01,347 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-02-07 21:52:01,347 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 -> 131b2ae9424ecd75292a5889f04853eea3cca0c3e4c679243c4666d6f4003ffe [2025-02-07 21:52:01,634 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-02-07 21:52:01,647 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-02-07 21:52:01,649 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-02-07 21:52:01,649 INFO L270 PluginConnector]: Initializing CDTParser... [2025-02-07 21:52:01,654 INFO L274 PluginConnector]: CDTParser initialized [2025-02-07 21:52:01,654 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/combinations/gcd_4+newton_2_8.i [2025-02-07 21:52:02,866 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/95fa96904/57d87e15f4c649c28f3ccf917fd0e7cf/FLAG34cd8e62a [2025-02-07 21:52:03,079 INFO L384 CDTParser]: Found 1 translation units. [2025-02-07 21:52:03,080 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/combinations/gcd_4+newton_2_8.i [2025-02-07 21:52:03,087 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/95fa96904/57d87e15f4c649c28f3ccf917fd0e7cf/FLAG34cd8e62a [2025-02-07 21:52:03,101 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/95fa96904/57d87e15f4c649c28f3ccf917fd0e7cf [2025-02-07 21:52:03,105 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-02-07 21:52:03,106 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-02-07 21:52:03,106 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-02-07 21:52:03,107 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-02-07 21:52:03,109 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-02-07 21:52:03,110 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.02 09:52:03" (1/1) ... [2025-02-07 21:52:03,112 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@530ccfd0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:52:03, skipping insertion in model container [2025-02-07 21:52:03,112 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.02 09:52:03" (1/1) ... [2025-02-07 21:52:03,124 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-02-07 21:52:03,233 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/combinations/gcd_4+newton_2_8.i[1224,1237] [2025-02-07 21:52:03,262 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/combinations/gcd_4+newton_2_8.i[2827,2840] [2025-02-07 21:52:03,263 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-07 21:52:03,275 INFO L200 MainTranslator]: Completed pre-run [2025-02-07 21:52:03,287 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/combinations/gcd_4+newton_2_8.i[1224,1237] [2025-02-07 21:52:03,302 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/combinations/gcd_4+newton_2_8.i[2827,2840] [2025-02-07 21:52:03,303 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-07 21:52:03,321 INFO L204 MainTranslator]: Completed translation [2025-02-07 21:52:03,323 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:52:03 WrapperNode [2025-02-07 21:52:03,323 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-02-07 21:52:03,324 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-02-07 21:52:03,324 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-02-07 21:52:03,324 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-02-07 21:52:03,329 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:52:03" (1/1) ... [2025-02-07 21:52:03,342 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:52:03" (1/1) ... [2025-02-07 21:52:03,361 INFO L138 Inliner]: procedures = 28, calls = 26, calls flagged for inlining = 6, calls inlined = 6, statements flattened = 73 [2025-02-07 21:52:03,361 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-02-07 21:52:03,362 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-02-07 21:52:03,362 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-02-07 21:52:03,362 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-02-07 21:52:03,368 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:52:03" (1/1) ... [2025-02-07 21:52:03,368 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:52:03" (1/1) ... [2025-02-07 21:52:03,370 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:52:03" (1/1) ... [2025-02-07 21:52:03,383 INFO L175 MemorySlicer]: Split 10 memory accesses to 2 slices as follows [2, 8]. 80 percent of accesses are in the largest equivalence class. The 10 initializations are split as follows [2, 8]. The 0 writes are split as follows [0, 0]. [2025-02-07 21:52:03,384 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:52:03" (1/1) ... [2025-02-07 21:52:03,384 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:52:03" (1/1) ... [2025-02-07 21:52:03,389 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:52:03" (1/1) ... [2025-02-07 21:52:03,395 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:52:03" (1/1) ... [2025-02-07 21:52:03,396 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:52:03" (1/1) ... [2025-02-07 21:52:03,396 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:52:03" (1/1) ... [2025-02-07 21:52:03,401 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-02-07 21:52:03,402 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-02-07 21:52:03,402 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-02-07 21:52:03,402 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-02-07 21:52:03,403 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:52:03" (1/1) ... [2025-02-07 21:52:03,410 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-07 21:52:03,423 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-07 21:52:03,435 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-02-07 21:52:03,443 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-02-07 21:52:03,460 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-02-07 21:52:03,461 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-02-07 21:52:03,461 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#1 [2025-02-07 21:52:03,461 INFO L130 BoogieDeclarations]: Found specification of procedure fp [2025-02-07 21:52:03,461 INFO L138 BoogieDeclarations]: Found implementation of procedure fp [2025-02-07 21:52:03,461 INFO L130 BoogieDeclarations]: Found specification of procedure f [2025-02-07 21:52:03,461 INFO L138 BoogieDeclarations]: Found implementation of procedure f [2025-02-07 21:52:03,461 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-02-07 21:52:03,461 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-02-07 21:52:03,461 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2025-02-07 21:52:03,462 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2025-02-07 21:52:03,520 INFO L257 CfgBuilder]: Building ICFG [2025-02-07 21:52:03,525 INFO L287 CfgBuilder]: Building CFG for each procedure with an implementation [2025-02-07 21:52:11,942 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L64: main1_#res#1 := 0bv32; [2025-02-07 21:52:11,942 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L64-1: SUMMARY for call __VERIFIER_assert((if 9bv32 == main1_~g~0#1 then 1bv32 else 0bv32)); srcloc: null [2025-02-07 21:52:11,942 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L62: SUMMARY for call __VERIFIER_assert((if 0bv32 == ~bvsrem~32(main1_~x~0#1, main1_~g~0#1) then 1bv32 else 0bv32)); srcloc: null [2025-02-07 21:52:11,942 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L60: main1_#t~ret5#1 := gcd_test_#res#1;havoc gcd_test_~a#1, gcd_test_~b#1;havoc gcd_test_#in~a#1, gcd_test_#in~b#1;assume { :end_inline_gcd_test } true;main1_~g~0#1 := main1_#t~ret5#1;havoc main1_#t~ret5#1; [2025-02-07 21:52:11,943 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L118: main_#t~ret13#1 := main2_#res#1;havoc main2_#t~nondet6#1, main2_#t~ret7#1, main2_#t~ret8#1, main2_#t~ret9#1, main2_#t~ret10#1, main2_~IN~0#1, main2_~x~1#1;assume { :end_inline_main2 } true; [2025-02-07 21:52:11,943 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L116: main_#t~ret12#1 := main1_#res#1;havoc main1_#t~ret5#1, main1_~x~0#1, main1_~y~0#1, main1_~g~0#1;assume { :end_inline_main1 } true; [2025-02-07 21:52:11,943 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L-1: #t~ret14#1 := main_#res#1;havoc main_#t~nondet11#1, main_#t~ret12#1, main_#t~ret13#1;assume { :end_inline_main } true; [2025-02-07 21:52:11,943 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L63: SUMMARY for call __VERIFIER_assert((if 0bv32 == ~bvsrem~32(main1_~y~0#1, main1_~g~0#1) then 1bv32 else 0bv32)); srcloc: null [2025-02-07 21:52:11,943 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint ULTIMATE.startFINAL: assume true; [2025-02-07 21:52:16,086 INFO L? ?]: Removed 20 outVars from TransFormulas that were not future-live. [2025-02-07 21:52:16,087 INFO L308 CfgBuilder]: Performing block encoding [2025-02-07 21:52:16,092 INFO L332 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-02-07 21:52:16,092 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-02-07 21:52:16,092 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 07.02 09:52:16 BoogieIcfgContainer [2025-02-07 21:52:16,092 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-02-07 21:52:16,094 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-02-07 21:52:16,094 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-02-07 21:52:16,097 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-02-07 21:52:16,097 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.02 09:52:03" (1/3) ... [2025-02-07 21:52:16,097 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@52e1ffc8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.02 09:52:16, skipping insertion in model container [2025-02-07 21:52:16,098 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:52:03" (2/3) ... [2025-02-07 21:52:16,098 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@52e1ffc8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.02 09:52:16, skipping insertion in model container [2025-02-07 21:52:16,098 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 07.02 09:52:16" (3/3) ... [2025-02-07 21:52:16,098 INFO L128 eAbstractionObserver]: Analyzing ICFG gcd_4+newton_2_8.i [2025-02-07 21:52:16,107 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-02-07 21:52:16,108 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG gcd_4+newton_2_8.i that has 4 procedures, 34 locations, 1 initial locations, 1 loop locations, and 2 error locations. [2025-02-07 21:52:16,158 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-02-07 21:52:16,169 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;@5e767a05, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-02-07 21:52:16,170 INFO L334 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2025-02-07 21:52:16,173 INFO L276 IsEmpty]: Start isEmpty. Operand has 27 states, 18 states have (on average 1.5) internal successors, (27), 20 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2025-02-07 21:52:16,177 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2025-02-07 21:52:16,177 INFO L210 NwaCegarLoop]: Found error trace [2025-02-07 21:52:16,178 INFO L218 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-07 21:52:16,178 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-07 21:52:16,181 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-07 21:52:16,181 INFO L85 PathProgramCache]: Analyzing trace with hash 1092630587, now seen corresponding path program 1 times [2025-02-07 21:52:16,187 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-02-07 21:52:16,188 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1211694061] [2025-02-07 21:52:16,188 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-07 21:52:16,188 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-02-07 21:52:16,188 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-02-07 21:52:16,190 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-02-07 21:52:16,192 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-02-07 21:52:16,226 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-02-07 21:52:17,837 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-02-07 21:52:17,837 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-07 21:52:17,837 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-07 21:52:17,902 INFO L256 TraceCheckSpWp]: Trace formula consists of 58 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-02-07 21:52:17,905 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-07 21:52:17,936 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-02-07 21:52:17,937 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-02-07 21:52:17,937 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-02-07 21:52:17,937 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1211694061] [2025-02-07 21:52:17,938 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1211694061] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-07 21:52:17,939 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-07 21:52:17,939 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-02-07 21:52:17,941 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1718849675] [2025-02-07 21:52:17,941 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-07 21:52:17,944 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-02-07 21:52:17,944 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-02-07 21:52:17,963 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-02-07 21:52:17,964 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-02-07 21:52:17,965 INFO L87 Difference]: Start difference. First operand has 27 states, 18 states have (on average 1.5) internal successors, (27), 20 states have internal predecessors, (27), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 2 states, 2 states have (on average 6.0) internal successors, (12), 2 states have internal predecessors, (12), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2025-02-07 21:52:17,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-07 21:52:17,981 INFO L93 Difference]: Finished difference Result 45 states and 55 transitions. [2025-02-07 21:52:17,981 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-02-07 21:52:17,983 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.0) internal successors, (12), 2 states have internal predecessors, (12), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 24 [2025-02-07 21:52:17,983 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-07 21:52:17,987 INFO L225 Difference]: With dead ends: 45 [2025-02-07 21:52:17,988 INFO L226 Difference]: Without dead ends: 19 [2025-02-07 21:52:17,990 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 23 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-02-07 21:52:17,992 INFO L435 NwaCegarLoop]: 33 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, 33 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-02-07 21:52:17,993 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 33 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-02-07 21:52:18,004 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19 states. [2025-02-07 21:52:18,019 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19 to 19. [2025-02-07 21:52:18,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 12 states have (on average 1.0) internal successors, (12), 12 states have internal predecessors, (12), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2025-02-07 21:52:18,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 20 transitions. [2025-02-07 21:52:18,025 INFO L78 Accepts]: Start accepts. Automaton has 19 states and 20 transitions. Word has length 24 [2025-02-07 21:52:18,025 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-07 21:52:18,026 INFO L471 AbstractCegarLoop]: Abstraction has 19 states and 20 transitions. [2025-02-07 21:52:18,026 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 6.0) internal successors, (12), 2 states have internal predecessors, (12), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2025-02-07 21:52:18,026 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2025-02-07 21:52:18,028 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2025-02-07 21:52:18,028 INFO L210 NwaCegarLoop]: Found error trace [2025-02-07 21:52:18,028 INFO L218 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-07 21:52:18,094 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2025-02-07 21:52:18,230 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-02-07 21:52:18,230 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-07 21:52:18,231 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-07 21:52:18,232 INFO L85 PathProgramCache]: Analyzing trace with hash -945425702, now seen corresponding path program 1 times [2025-02-07 21:52:18,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-02-07 21:52:18,232 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1983277817] [2025-02-07 21:52:18,232 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-07 21:52:18,232 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-02-07 21:52:18,233 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-02-07 21:52:18,236 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-02-07 21:52:18,237 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-02-07 21:52:18,267 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-02-07 21:52:37,723 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-02-07 21:52:37,724 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-07 21:52:37,724 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-07 21:52:37,724 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-07 21:52:37,862 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-02-07 21:52:53,393 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-02-07 21:52:53,393 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-07 21:52:53,393 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-07 21:52:53,493 INFO L130 FreeRefinementEngine]: Strategy FOX found a feasible trace [2025-02-07 21:52:53,494 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-02-07 21:52:53,495 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (1 of 2 remaining) [2025-02-07 21:52:53,497 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2025-02-07 21:52:53,590 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (3)] Ended with exit code 0 [2025-02-07 21:52:53,697 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-02-07 21:52:53,700 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1] [2025-02-07 21:52:53,717 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-02-07 21:52:53,719 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.02 09:52:53 BoogieIcfgContainer [2025-02-07 21:52:53,719 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-02-07 21:52:53,720 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-02-07 21:52:53,720 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-02-07 21:52:53,720 INFO L274 PluginConnector]: Witness Printer initialized [2025-02-07 21:52:53,721 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 07.02 09:52:16" (3/4) ... [2025-02-07 21:52:53,721 INFO L140 WitnessPrinter]: Generating witness for reachability counterexample [2025-02-07 21:52:53,777 INFO L127 tionWitnessGenerator]: Generated YAML witness of length 15. [2025-02-07 21:52:53,819 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/witness.graphml [2025-02-07 21:52:53,820 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/witness.yml [2025-02-07 21:52:53,820 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-02-07 21:52:53,820 INFO L158 Benchmark]: Toolchain (without parser) took 50714.62ms. Allocated memory is still 117.4MB. Free memory was 90.7MB in the beginning and 85.2MB in the end (delta: 5.5MB). Peak memory consumption was 54.7MB. Max. memory is 16.1GB. [2025-02-07 21:52:53,820 INFO L158 Benchmark]: CDTParser took 0.27ms. Allocated memory is still 83.9MB. Free memory is still 61.1MB. There was no memory consumed. Max. memory is 16.1GB. [2025-02-07 21:52:53,821 INFO L158 Benchmark]: CACSL2BoogieTranslator took 216.76ms. Allocated memory is still 117.4MB. Free memory was 90.5MB in the beginning and 78.0MB in the end (delta: 12.5MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-02-07 21:52:53,821 INFO L158 Benchmark]: Boogie Procedure Inliner took 37.39ms. Allocated memory is still 117.4MB. Free memory was 78.0MB in the beginning and 76.6MB in the end (delta: 1.4MB). There was no memory consumed. Max. memory is 16.1GB. [2025-02-07 21:52:53,821 INFO L158 Benchmark]: Boogie Preprocessor took 39.33ms. Allocated memory is still 117.4MB. Free memory was 76.6MB in the beginning and 74.8MB in the end (delta: 1.7MB). There was no memory consumed. Max. memory is 16.1GB. [2025-02-07 21:52:53,821 INFO L158 Benchmark]: IcfgBuilder took 12690.64ms. Allocated memory is still 117.4MB. Free memory was 74.8MB in the beginning and 61.3MB in the end (delta: 13.5MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-02-07 21:52:53,821 INFO L158 Benchmark]: TraceAbstraction took 37625.36ms. Allocated memory is still 117.4MB. Free memory was 60.8MB in the beginning and 36.8MB in the end (delta: 24.0MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2025-02-07 21:52:53,821 INFO L158 Benchmark]: Witness Printer took 99.84ms. Allocated memory is still 117.4MB. Free memory was 36.8MB in the beginning and 85.2MB in the end (delta: -48.4MB). Peak memory consumption was 12.8MB. Max. memory is 16.1GB. [2025-02-07 21:52:53,822 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.27ms. Allocated memory is still 83.9MB. Free memory is still 61.1MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 216.76ms. Allocated memory is still 117.4MB. Free memory was 90.5MB in the beginning and 78.0MB in the end (delta: 12.5MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 37.39ms. Allocated memory is still 117.4MB. Free memory was 78.0MB in the beginning and 76.6MB in the end (delta: 1.4MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 39.33ms. Allocated memory is still 117.4MB. Free memory was 76.6MB in the beginning and 74.8MB in the end (delta: 1.7MB). There was no memory consumed. Max. memory is 16.1GB. * IcfgBuilder took 12690.64ms. Allocated memory is still 117.4MB. Free memory was 74.8MB in the beginning and 61.3MB in the end (delta: 13.5MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * TraceAbstraction took 37625.36ms. Allocated memory is still 117.4MB. Free memory was 60.8MB in the beginning and 36.8MB in the end (delta: 24.0MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. * Witness Printer took 99.84ms. Allocated memory is still 117.4MB. Free memory was 36.8MB in the beginning and 85.2MB in the end (delta: -48.4MB). Peak memory consumption was 12.8MB. 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 - CounterExampleResult [Line: 109]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L115] COND FALSE !(__VERIFIER_nondet_int()) [L118] CALL main2() [L97] float IN = __VERIFIER_nondet_float(); [L98] CALL assume_abort_if_not(IN > -2.0f && IN < 2.0f) [L82] COND FALSE !(!cond) [L98] RET assume_abort_if_not(IN > -2.0f && IN < 2.0f) [L100] CALL, EXPR f(IN) VAL [\old(x)=1.1523466110229492] [L87] return x - (x*x*x)/6.0f + (x*x*x*x*x)/120.0f + (x*x*x*x*x*x*x)/5040.0f; VAL [\old(x)=1.1523466110229492, \result=0.9147809743881226] [L100] RET, EXPR f(IN) VAL [IN=1.1523466110229492] [L100] CALL, EXPR fp(IN) VAL [\old(x)=1.1523466110229492] [L92] return 1 - (x*x)/2.0f + (x*x*x*x)/24.0f + (x*x*x*x*x*x)/720.0f; VAL [\old(x)=1.1523466110229492, \result=0.41277268528938293] [L100] RET, EXPR fp(IN) VAL [IN=1.1523466110229492] [L100] float x = IN - f(IN)/fp(IN); [L102] CALL, EXPR f(x) VAL [\old(x)=-1.0638391971588135] [L87] return x - (x*x*x)/6.0f + (x*x*x*x*x)/120.0f + (x*x*x*x*x*x*x)/5040.0f; VAL [\old(x)=-1.0638391971588135, \result=-0.8748331665992737] [L102] RET, EXPR f(x) VAL [x=-1.0638391971588135] [L102] CALL, EXPR fp(x) VAL [\old(x)=-1.0638391971588135] [L92] return 1 - (x*x)/2.0f + (x*x*x*x)/24.0f + (x*x*x*x*x*x)/720.0f; VAL [\old(x)=-1.0638391971588135, \result=0.48950591683387756] [L102] RET, EXPR fp(x) VAL [x=-1.0638391971588135] [L102] x = x - f(x)/fp(x) [L108] COND TRUE !(x < 0.1) [L109] reach_error() - UnprovableResult [Line: 27]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: Not analyzed. - StatisticsResult: Ultimate Automizer benchmark data CFG has 4 procedures, 34 locations, 2 error locations. Started 1 CEGAR loops. OverallTime: 37.6s, OverallIterations: 2, TraceHistogramMax: 2, 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, 33 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, 33 mSDtfsCounter, 0 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 23 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=27occurred 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, 21.1s SatisfiabilityAnalysisTime, 0.1s InterpolantComputationTime, 48 NumberOfCodeBlocks, 48 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 23 ConstructedInterpolants, 0 QuantifiedInterpolants, 23 SizeOfPredicates, 0 NumberOfNonLiveVariables, 58 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 6/6 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 proved your program to be incorrect! [2025-02-07 21:52:53,898 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE