./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/float-newlib/float_req_bl_1210.c --full-output --witness-type violation_witness --validate ./svcomp-yaml-violation-generation.2024-08-01_14-26-22.files/Default/float_req_bl_1210.yml/witness.yml --preprocessor.replace.while.statements.and.if-then-else.statements false --icfgbuilder.size.of.a.code.block SequenceOfStatements --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 0a70ae82 Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/float-newlib/float_req_bl_1210.c ./svcomp-yaml-violation-generation.2024-08-01_14-26-22.files/Default/float_req_bl_1210.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --traceabstraction.compute.hoare.annotation.of.negated.interpolant.automaton,.abstraction.and.cfg false --preprocessor.replace.while.statements.and.if-then-else.statements false --icfgbuilder.size.of.a.code.block SequenceOfStatements --- Real Ultimate output --- This is Ultimate 0.2.4-wip.fs.yaml-violation-witnesses-0a70ae8-m [2024-08-07 14:04:31,682 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-08-07 14:04:31,762 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-08-07 14:04:31,768 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-08-07 14:04:31,768 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-08-07 14:04:31,802 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-08-07 14:04:31,803 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-08-07 14:04:31,803 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-08-07 14:04:31,804 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-08-07 14:04:31,804 INFO L153 SettingsManager]: * Use memory slicer=true [2024-08-07 14:04:31,805 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-08-07 14:04:31,805 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-08-07 14:04:31,806 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-08-07 14:04:31,807 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-08-07 14:04:31,807 INFO L153 SettingsManager]: * Use SBE=true [2024-08-07 14:04:31,808 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-08-07 14:04:31,808 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-08-07 14:04:31,808 INFO L153 SettingsManager]: * sizeof long=4 [2024-08-07 14:04:31,809 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-08-07 14:04:31,809 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-08-07 14:04:31,809 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-08-07 14:04:31,812 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-08-07 14:04:31,813 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-08-07 14:04:31,819 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-08-07 14:04:31,820 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-08-07 14:04:31,820 INFO L153 SettingsManager]: * sizeof long double=12 [2024-08-07 14:04:31,820 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-08-07 14:04:31,820 INFO L153 SettingsManager]: * Use constant arrays=true [2024-08-07 14:04:31,821 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-08-07 14:04:31,821 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-08-07 14:04:31,821 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-08-07 14:04:31,821 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-08-07 14:04:31,821 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-08-07 14:04:31,822 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-08-07 14:04:31,822 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-08-07 14:04:31,822 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-08-07 14:04:31,822 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-08-07 14:04:31,823 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-08-07 14:04:31,823 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-08-07 14:04:31,823 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-08-07 14:04:31,824 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-08-07 14:04:31,825 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-08-07 14:04:31,825 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-08-07 14:04:31,825 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.boogie.preprocessor: Replace while statements and if-then-else statements -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder: Size of a code block -> SequenceOfStatements [2024-08-07 14:04:32,155 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-08-07 14:04:32,182 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-08-07 14:04:32,188 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-08-07 14:04:32,189 INFO L270 PluginConnector]: Initializing CDTParser... [2024-08-07 14:04:32,190 INFO L274 PluginConnector]: CDTParser initialized [2024-08-07 14:04:32,191 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/float-newlib/float_req_bl_1210.c [2024-08-07 14:04:33,701 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-08-07 14:04:33,942 INFO L384 CDTParser]: Found 1 translation units. [2024-08-07 14:04:33,943 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/float-newlib/float_req_bl_1210.c [2024-08-07 14:04:33,954 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e72817e71/cccfa920323443ac8799deb12414e6c7/FLAG6fcec4403 [2024-08-07 14:04:33,973 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e72817e71/cccfa920323443ac8799deb12414e6c7 [2024-08-07 14:04:33,978 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-08-07 14:04:33,978 INFO L274 PluginConnector]: Witness Parser initialized [2024-08-07 14:04:33,979 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/./svcomp-yaml-violation-generation.2024-08-01_14-26-22.files/Default/float_req_bl_1210.yml/witness.yml [2024-08-07 14:04:34,068 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-08-07 14:04:34,069 INFO L133 ToolchainWalker]: Walking toolchain with 4 elements. [2024-08-07 14:04:34,072 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-08-07 14:04:34,072 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-08-07 14:04:34,076 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-08-07 14:04:34,077 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.08 02:04:33" (1/2) ... [2024-08-07 14:04:34,079 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3c7a495f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.08 02:04:34, skipping insertion in model container [2024-08-07 14:04:34,079 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.08 02:04:33" (1/2) ... [2024-08-07 14:04:34,080 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@5c7c824d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.08 02:04:34, skipping insertion in model container [2024-08-07 14:04:34,081 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser VIOLATION_WITNESS 07.08 02:04:34" (2/2) ... [2024-08-07 14:04:34,081 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3c7a495f and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 07.08 02:04:34, skipping insertion in model container [2024-08-07 14:04:34,081 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser VIOLATION_WITNESS 07.08 02:04:34" (2/2) ... [2024-08-07 14:04:34,108 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-08-07 14:04:34,317 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/float-newlib/float_req_bl_1210.c[2159,2172] [2024-08-07 14:04:34,326 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-07 14:04:34,344 INFO L200 MainTranslator]: Completed pre-run [2024-08-07 14:04:34,380 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/float-newlib/float_req_bl_1210.c[2159,2172] [2024-08-07 14:04:34,383 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-07 14:04:34,406 INFO L204 MainTranslator]: Completed translation [2024-08-07 14:04:34,408 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 07.08 02:04:34 WrapperNode [2024-08-07 14:04:34,408 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-08-07 14:04:34,410 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-08-07 14:04:34,410 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-08-07 14:04:34,410 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-08-07 14:04:34,423 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 07.08 02:04:34" (1/1) ... [2024-08-07 14:04:34,423 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 07.08 02:04:34" (1/1) ... [2024-08-07 14:04:34,432 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 07.08 02:04:34" (1/1) ... [2024-08-07 14:04:34,453 INFO L175 MemorySlicer]: Split 22 memory accesses to 9 slices as follows [2, 2, 2, 2, 2, 2, 6, 2, 2]. 27 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0, 0, 0, 0, 0, 0, 0, 0]. The 11 writes are split as follows [0, 1, 1, 1, 1, 1, 4, 1, 1]. [2024-08-07 14:04:34,457 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 07.08 02:04:34" (1/1) ... [2024-08-07 14:04:34,458 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 07.08 02:04:34" (1/1) ... [2024-08-07 14:04:34,471 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 07.08 02:04:34" (1/1) ... [2024-08-07 14:04:34,474 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 07.08 02:04:34" (1/1) ... [2024-08-07 14:04:34,475 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 07.08 02:04:34" (1/1) ... [2024-08-07 14:04:34,479 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-08-07 14:04:34,480 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2024-08-07 14:04:34,480 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2024-08-07 14:04:34,480 INFO L274 PluginConnector]: IcfgBuilder initialized [2024-08-07 14:04:34,481 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 07.08 02:04:34" (1/1) ... [2024-08-07 14:04:34,488 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-08-07 14:04:34,499 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-08-07 14:04:34,521 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-08-07 14:04:34,524 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2024-08-07 14:04:34,563 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2024-08-07 14:04:34,563 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-08-07 14:04:34,563 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2024-08-07 14:04:34,563 INFO L138 BoogieDeclarations]: Found implementation of procedure modf_float [2024-08-07 14:04:34,564 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_float [2024-08-07 14:04:34,564 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2024-08-07 14:04:34,564 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2024-08-07 14:04:34,564 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2024-08-07 14:04:34,564 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2024-08-07 14:04:34,564 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-08-07 14:04:34,565 INFO L130 BoogieDeclarations]: Found specification of procedure modf_float [2024-08-07 14:04:34,565 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-08-07 14:04:34,565 INFO L130 BoogieDeclarations]: Found specification of procedure write~real#0 [2024-08-07 14:04:34,565 INFO L130 BoogieDeclarations]: Found specification of procedure write~real#1 [2024-08-07 14:04:34,565 INFO L130 BoogieDeclarations]: Found specification of procedure write~real#2 [2024-08-07 14:04:34,565 INFO L130 BoogieDeclarations]: Found specification of procedure write~real#3 [2024-08-07 14:04:34,566 INFO L130 BoogieDeclarations]: Found specification of procedure write~real#4 [2024-08-07 14:04:34,566 INFO L130 BoogieDeclarations]: Found specification of procedure write~real#5 [2024-08-07 14:04:34,566 INFO L130 BoogieDeclarations]: Found specification of procedure write~real#6 [2024-08-07 14:04:34,566 INFO L130 BoogieDeclarations]: Found specification of procedure write~real#7 [2024-08-07 14:04:34,566 INFO L130 BoogieDeclarations]: Found specification of procedure write~real#8 [2024-08-07 14:04:34,566 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-08-07 14:04:34,566 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-08-07 14:04:34,567 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-08-07 14:04:34,567 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2024-08-07 14:04:34,567 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#4 [2024-08-07 14:04:34,567 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#5 [2024-08-07 14:04:34,567 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#6 [2024-08-07 14:04:34,567 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#7 [2024-08-07 14:04:34,568 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#8 [2024-08-07 14:04:34,568 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-08-07 14:04:34,568 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-08-07 14:04:34,568 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-08-07 14:04:34,568 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-08-07 14:04:34,568 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2024-08-07 14:04:34,568 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2024-08-07 14:04:34,568 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#5 [2024-08-07 14:04:34,569 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#6 [2024-08-07 14:04:34,569 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#7 [2024-08-07 14:04:34,569 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#8 [2024-08-07 14:04:34,569 INFO L130 BoogieDeclarations]: Found specification of procedure read~real#0 [2024-08-07 14:04:34,569 INFO L130 BoogieDeclarations]: Found specification of procedure read~real#1 [2024-08-07 14:04:34,569 INFO L130 BoogieDeclarations]: Found specification of procedure read~real#2 [2024-08-07 14:04:34,570 INFO L130 BoogieDeclarations]: Found specification of procedure read~real#3 [2024-08-07 14:04:34,570 INFO L130 BoogieDeclarations]: Found specification of procedure read~real#4 [2024-08-07 14:04:34,570 INFO L130 BoogieDeclarations]: Found specification of procedure read~real#5 [2024-08-07 14:04:34,570 INFO L130 BoogieDeclarations]: Found specification of procedure read~real#6 [2024-08-07 14:04:34,570 INFO L130 BoogieDeclarations]: Found specification of procedure read~real#7 [2024-08-07 14:04:34,570 INFO L130 BoogieDeclarations]: Found specification of procedure read~real#8 [2024-08-07 14:04:34,570 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_float [2024-08-07 14:04:34,570 INFO L130 BoogieDeclarations]: Found specification of procedure main [2024-08-07 14:04:34,571 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2024-08-07 14:04:34,571 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-08-07 14:04:34,571 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-08-07 14:04:34,571 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-08-07 14:04:34,571 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2024-08-07 14:04:34,571 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2024-08-07 14:04:34,571 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#5 [2024-08-07 14:04:34,572 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#6 [2024-08-07 14:04:34,572 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#7 [2024-08-07 14:04:34,572 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#8 [2024-08-07 14:04:34,572 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-08-07 14:04:34,707 INFO L273 CfgBuilder]: Building ICFG [2024-08-07 14:04:34,709 INFO L304 CfgBuilder]: Building CFG for each procedure with an implementation [2024-08-07 14:04:34,811 INFO L1251 $ProcedureCfgBuilder]: dead code at ProgramPoint L83: call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset; [2024-08-07 14:04:35,010 INFO L1251 $ProcedureCfgBuilder]: dead code at ProgramPoint L54: havoc #t~mem12; [2024-08-07 14:04:35,011 INFO L1251 $ProcedureCfgBuilder]: dead code at ProgramPoint L34: havoc ~ix~0; [2024-08-07 14:04:35,011 INFO L1251 $ProcedureCfgBuilder]: dead code at ProgramPoint L57: havoc ~ix~1; [2024-08-07 14:04:35,058 INFO L? ?]: Removed 17 outVars from TransFormulas that were not future-live. [2024-08-07 14:04:35,058 INFO L327 CfgBuilder]: Performing block encoding [2024-08-07 14:04:35,071 INFO L349 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-08-07 14:04:35,072 INFO L354 CfgBuilder]: Removed 0 assume(true) statements. [2024-08-07 14:04:35,072 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 07.08 02:04:35 BoogieIcfgContainer [2024-08-07 14:04:35,073 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2024-08-07 14:04:35,074 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-08-07 14:04:35,074 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-08-07 14:04:35,079 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-08-07 14:04:35,079 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.08 02:04:33" (1/4) ... [2024-08-07 14:04:35,080 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6e62839b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.08 02:04:35, skipping insertion in model container [2024-08-07 14:04:35,080 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser VIOLATION_WITNESS 07.08 02:04:34" (2/4) ... [2024-08-07 14:04:35,081 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6e62839b and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction VIOLATION_WITNESS 07.08 02:04:35, skipping insertion in model container [2024-08-07 14:04:35,081 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 07.08 02:04:34" (3/4) ... [2024-08-07 14:04:35,082 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6e62839b and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction VIOLATION_WITNESS 07.08 02:04:35, skipping insertion in model container [2024-08-07 14:04:35,082 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 07.08 02:04:35" (4/4) ... [2024-08-07 14:04:35,083 INFO L119 eAbstractionObserver]: Analyzing ICFG float_req_bl_1210.c [2024-08-07 14:04:35,083 WARN L130 eAbstractionObserver]: Found a witness in the YAML format. I will only consider traces that are accepted by the witness [2024-08-07 14:04:35,104 INFO L221 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-08-07 14:04:35,105 INFO L180 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-08-07 14:04:35,160 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:35,161 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:35,161 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real#7(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int#7(~#gf_u~0.base, ~#gf_u~0.offset, 4);~i0~0 := (if #t~mem4 % 4294967296 % 4294967296 <= 2147483647 then #t~mem4 % 4294967296 % 4294967296 else #t~mem4 % 4294967296 % 4294967296 - 4294967296);call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;, isNegated false [2024-08-07 14:04:35,161 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:35,162 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:35,162 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:35,162 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real#7(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int#7(~#gf_u~0.base, ~#gf_u~0.offset, 4);~i0~0 := (if #t~mem4 % 4294967296 % 4294967296 <= 2147483647 then #t~mem4 % 4294967296 % 4294967296 else #t~mem4 % 4294967296 % 4294967296 - 4294967296);call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;, isNegated false [2024-08-07 14:04:35,162 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:35,163 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:35,163 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:35,163 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real#7(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int#7(~#gf_u~0.base, ~#gf_u~0.offset, 4);~i0~0 := (if #t~mem4 % 4294967296 % 4294967296 <= 2147483647 then #t~mem4 % 4294967296 % 4294967296 else #t~mem4 % 4294967296 % 4294967296 - 4294967296);call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;, isNegated false [2024-08-07 14:04:35,167 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:35,167 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,167 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,168 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,170 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,171 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:35,171 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:35,172 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~2.base, ~#gf_u~2.offset := #Ultimate.allocOnStack(4);call write~real#2(~x, ~#gf_u~2.base, ~#gf_u~2.offset, 4);call #t~mem13 := read~int#2(~#gf_u~2.base, ~#gf_u~2.offset, 4);~ix~1 := #t~mem13;call ULTIMATE.dealloc(~#gf_u~2.base, ~#gf_u~2.offset);havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc #t~mem13;, isNegated false [2024-08-07 14:04:35,172 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:35,172 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,172 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,173 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:35,173 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:35,173 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~2.base, ~#gf_u~2.offset := #Ultimate.allocOnStack(4);call write~real#2(~x, ~#gf_u~2.base, ~#gf_u~2.offset, 4);call #t~mem13 := read~int#2(~#gf_u~2.base, ~#gf_u~2.offset, 4);~ix~1 := #t~mem13;call ULTIMATE.dealloc(~#gf_u~2.base, ~#gf_u~2.offset);havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc #t~mem13;, isNegated false [2024-08-07 14:04:35,173 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:35,173 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:35,173 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:35,174 WARN L283 nessProductAutomaton]: assume true;call ~#sf_u~3.base, ~#sf_u~3.offset := #Ultimate.allocOnStack(4);call write~int#3(~ix~1 - ~ix~1 % 2147483648, ~#sf_u~3.base, ~#sf_u~3.offset, 4);call #t~mem14 := read~real#3(~#sf_u~3.base, ~#sf_u~3.offset, 4);~x := #t~mem14;call ULTIMATE.dealloc(~#sf_u~3.base, ~#sf_u~3.offset);havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc #t~mem14;, isNegated false [2024-08-07 14:04:35,174 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:35,174 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,174 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,174 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,175 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,175 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:35,175 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:35,175 WARN L283 nessProductAutomaton]: assume true;call ~#sf_u~3.base, ~#sf_u~3.offset := #Ultimate.allocOnStack(4);call write~int#3(~ix~1 - ~ix~1 % 2147483648, ~#sf_u~3.base, ~#sf_u~3.offset, 4);call #t~mem14 := read~real#3(~#sf_u~3.base, ~#sf_u~3.offset, 4);~x := #t~mem14;call ULTIMATE.dealloc(~#sf_u~3.base, ~#sf_u~3.offset);havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc #t~mem14;, isNegated false [2024-08-07 14:04:35,175 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:35,176 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,176 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,176 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,177 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,178 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,178 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,179 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,179 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,179 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,180 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,180 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,181 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,181 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,181 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,182 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,182 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,183 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,183 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,183 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,183 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,183 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,184 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,184 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,185 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,185 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,185 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,186 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,187 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,187 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,187 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,187 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,187 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,189 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,189 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,189 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,190 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,191 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,191 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,192 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,192 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,192 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,193 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,194 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,194 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,194 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,194 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,195 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,195 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,195 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,195 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,196 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,196 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,197 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,197 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,197 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,197 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,213 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,213 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,214 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,214 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,216 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,216 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,217 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,217 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,217 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,217 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,218 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,218 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,219 WARN L283 nessProductAutomaton]: assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated false [2024-08-07 14:04:35,219 WARN L283 nessProductAutomaton]: assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated true [2024-08-07 14:04:35,219 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,219 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,220 WARN L283 nessProductAutomaton]: assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated false [2024-08-07 14:04:35,222 WARN L283 nessProductAutomaton]: assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated true [2024-08-07 14:04:35,223 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,223 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,223 WARN L283 nessProductAutomaton]: assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated false [2024-08-07 14:04:35,223 WARN L283 nessProductAutomaton]: assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated true [2024-08-07 14:04:35,224 WARN L283 nessProductAutomaton]: assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated false [2024-08-07 14:04:35,224 WARN L283 nessProductAutomaton]: assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated true [2024-08-07 14:04:35,224 WARN L283 nessProductAutomaton]: assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated false [2024-08-07 14:04:35,224 WARN L283 nessProductAutomaton]: assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated true [2024-08-07 14:04:35,224 WARN L283 nessProductAutomaton]: assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated false [2024-08-07 14:04:35,224 WARN L283 nessProductAutomaton]: assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated true [2024-08-07 14:04:35,225 WARN L283 nessProductAutomaton]: assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated false [2024-08-07 14:04:35,225 WARN L283 nessProductAutomaton]: assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated true [2024-08-07 14:04:35,229 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,230 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,239 INFO L90 WitnessUtils]: NestedWordAutomaton nwa = ( callAlphabet = {"call #t~ret18 := isnan_float(~res~0);" "call #t~ret17 := isnan_float(#t~mem16);" "call #t~ret15 := modf_float(~x~0, ~#iptr~0.base, ~#iptr~0.offset);" "call #t~ret20 := main();" "call ULTIMATE.init();" }, internalAlphabet = {"#res := 0;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "#res := 1;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "assume false;" "assume !false;" "assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;" "assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;" "assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647;#t~short19 := 0 == #t~ret18;" "SUMMARY for call #t~ret18 := isnan_float(~res~0); srcloc: L87-2" "assume #t~short19;" "assume !#t~short19;" "assume -2147483648 <= #t~ret17 && #t~ret17 <= 2147483647;#t~short19 := 0 != #t~ret17;" "SUMMARY for call #t~ret17 := isnan_float(#t~mem16); srcloc: L87-5" "~res~0 := #t~ret15;havoc #t~ret15;call #t~mem16 := read~real#6(~#iptr~0.base, ~#iptr~0.offset, 4);" "SUMMARY for call #t~ret15 := modf_float(~x~0, ~#iptr~0.base, ~#iptr~0.offset); srcloc: L84-1" "~x~0 := ~someBinaryArithmeticFLOAToperation(0.0, 0.0);call ~#iptr~0.base, ~#iptr~0.offset := #Ultimate.allocOnStack(4);" "assume true;" "#res := ~x;" "assume false;" "assume !false;" "assume true;call ~#sf_u~0.base, ~#sf_u~0.offset := #Ultimate.allocOnStack(4);call write~int#4(~i0~0 - ~i0~0 % 2147483648, ~#sf_u~0.base, ~#sf_u~0.offset, 4);call #t~mem5 := read~real#4(~#sf_u~0.base, ~#sf_u~0.offset, 4);call write~real#6(#t~mem5, ~iptr.base, ~iptr.offset, 4);call ULTIMATE.dealloc(~#sf_u~0.base, ~#sf_u~0.offset);havoc ~#sf_u~0.base, ~#sf_u~0.offset;havoc ~#sf_u~0.base, ~#sf_u~0.offset;havoc #t~mem5;" "assume !true;" "#res := ~x;" "assume false;" "assume !false;" "assume true;call ~#sf_u~1.base, ~#sf_u~1.offset := #Ultimate.allocOnStack(4);call write~int#8(~ix~0 - ~ix~0 % 2147483648, ~#sf_u~1.base, ~#sf_u~1.offset, 4);call #t~mem9 := read~real#8(~#sf_u~1.base, ~#sf_u~1.offset, 4);~x := #t~mem9;call ULTIMATE.dealloc(~#sf_u~1.base, ~#sf_u~1.offset);havoc ~#sf_u~1.base, ~#sf_u~1.offset;havoc ~#sf_u~1.base, ~#sf_u~1.offset;havoc #t~mem9;" "assume !true;" "assume false;" "assume !false;" "assume true;call ~#gf_u~1.base, ~#gf_u~1.offset := #Ultimate.allocOnStack(4);call write~real#5(~x, ~#gf_u~1.base, ~#gf_u~1.offset, 4);call #t~mem8 := read~int#5(~#gf_u~1.base, ~#gf_u~1.offset, 4);~ix~0 := #t~mem8;call ULTIMATE.dealloc(~#gf_u~1.base, ~#gf_u~1.offset);havoc ~#gf_u~1.base, ~#gf_u~1.offset;havoc ~#gf_u~1.base, ~#gf_u~1.offset;havoc #t~mem8;" "assume !true;" "assume 0 == #t~bitwise7 % 4294967296;havoc #t~bitwise7;havoc ~ix~0;call write~real#6(~x, ~iptr.base, ~iptr.offset, 4);" "call #t~mem12 := read~real#6(~iptr.base, ~iptr.offset, 4);#res := ~someBinaryArithmeticFLOAToperation(~x, #t~mem12);havoc #t~mem12;" "assume false;" "assume !false;" "call write~int#1(#t~bitwise10, ~#sf_u~2.base, ~#sf_u~2.offset, 4);havoc #t~bitwise10;call #t~mem11 := read~real#1(~#sf_u~2.base, ~#sf_u~2.offset, 4);call write~real#6(#t~mem11, ~iptr.base, ~iptr.offset, 4);call ULTIMATE.dealloc(~#sf_u~2.base, ~#sf_u~2.offset);havoc ~#sf_u~2.base, ~#sf_u~2.offset;havoc ~#sf_u~2.base, ~#sf_u~2.offset;havoc #t~mem11;" "assume 0 == ~i0~0 % 4294967296 || 0 == (4294967295 - ~i~0) % 4294967296;#t~bitwise10 := 0;" "assume ~i0~0 % 4294967296 == (4294967295 - ~i~0) % 4294967296;#t~bitwise10 := ~i0~0;" "assume !(~i0~0 % 4294967296 == (4294967295 - ~i~0) % 4294967296);assume #t~bitwise10 % 4294967296 <= ~i0~0 % 4294967296 && #t~bitwise10 % 4294967296 <= (4294967295 - ~i~0) % 4294967296;" "assume !(0 == ~i0~0 % 4294967296 || 0 == (4294967295 - ~i~0) % 4294967296);" "assume true;call ~#sf_u~2.base, ~#sf_u~2.offset := #Ultimate.allocOnStack(4);" "assume !true;" "assume !(0 == #t~bitwise7 % 4294967296);havoc #t~bitwise7;" "assume 0 == ~i0~0 % 4294967296 || 0 == ~i~0 % 4294967296;#t~bitwise7 := 0;" "assume ~i0~0 % 4294967296 == ~i~0 % 4294967296;#t~bitwise7 := ~i0~0;" "assume !(~i0~0 % 4294967296 == ~i~0 % 4294967296);assume #t~bitwise7 % 4294967296 <= ~i0~0 % 4294967296 && #t~bitwise7 % 4294967296 <= ~i~0 % 4294967296;" "assume !(0 == ~i0~0 % 4294967296 || 0 == ~i~0 % 4294967296);" "~i~0 := #t~bitwise6;havoc #t~bitwise6;" "assume 0 == ~j0~0;#t~bitwise6 := 8388607;" "assume !(0 == ~j0~0);assume #t~bitwise6 < 8388607;" "assume ~j0~0 < 0;" "assume !(~j0~0 < 0);" "#res := ~x;" "assume false;" "assume !false;" "assume true;call ~#sf_u~3.base, ~#sf_u~3.offset := #Ultimate.allocOnStack(4);call write~int#3(~ix~1 - ~ix~1 % 2147483648, ~#sf_u~3.base, ~#sf_u~3.offset, 4);call #t~mem14 := read~real#3(~#sf_u~3.base, ~#sf_u~3.offset, 4);~x := #t~mem14;call ULTIMATE.dealloc(~#sf_u~3.base, ~#sf_u~3.offset);havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc #t~mem14;" "assume !true;" "assume false;" "assume !false;" "assume true;call ~#gf_u~2.base, ~#gf_u~2.offset := #Ultimate.allocOnStack(4);call write~real#2(~x, ~#gf_u~2.base, ~#gf_u~2.offset, 4);call #t~mem13 := read~int#2(~#gf_u~2.base, ~#gf_u~2.offset, 4);~ix~1 := #t~mem13;call ULTIMATE.dealloc(~#gf_u~2.base, ~#gf_u~2.offset);havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc #t~mem13;" "assume !true;" "assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);" "assume ~j0~0 < 23;" "~j0~0 := ~i0~0 / 8388608 % 256 - 127;" "assume false;" "assume !false;" "assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real#7(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int#7(~#gf_u~0.base, ~#gf_u~0.offset, 4);~i0~0 := (if #t~mem4 % 4294967296 % 4294967296 <= 2147483647 then #t~mem4 % 4294967296 % 4294967296 else #t~mem4 % 4294967296 % 4294967296 - 4294967296);call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;" "assume !true;" "~x := #in~x;~iptr.base, ~iptr.offset := #in~iptr.base, #in~iptr.offset;havoc ~i0~0;havoc ~j0~0;havoc ~i~0;" "assume true;" "~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0);" "assume true;" "assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(20, 2);call #Ultimate.allocInit(12, 3);~one_modf~0 := 1.0;" "assume true;" "SUMMARY for call #t~ret20 := main(); srcloc: L-1" "SUMMARY for call ULTIMATE.init(); srcloc: ULTIMATE.startENTRY" "assume true;" }, returnAlphabet = {"#83#return;" "#85#return;" "#87#return;" "#89#return;" "#91#return;" }, states = {"CountingPredicate [underlying: 26#isnan_floatFINALtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 19#Loop~3true, annotation: [2, 0]]" "CountingPredicate [underlying: 8#L51-1true, annotation: [2, 0]]" "CountingPredicate [underlying: 37#isnan_floatENTRYtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 36#modf_floatFINALtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 41#isnan_floatEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 52#modf_floatEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 6#L70true, annotation: [5, 0]]" "CountingPredicate [underlying: 43#L51-2true, annotation: [2, 0]]" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [12, 0]]" "CountingPredicate [underlying: 5#L23true, annotation: [2, 0]]" "CountingPredicate [underlying: 34#L34-1true, annotation: [2, 0]]" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [10, 0]]" "CountingPredicate [underlying: 27#L84-1true, annotation: [0, 0]]" "CountingPredicate [underlying: 31#ULTIMATE.initEXITtrue, annotation: [0, 0]]" "CountingPredicate [underlying: 28#L87-1true, annotation: [2, 0]]" "CountingPredicate [underlying: 13#mainENTRYtrue, annotation: [0, 0]]" "CountingPredicate [underlying: 55#Loop~6true, annotation: [4, 0]]" "CountingPredicate [underlying: 17#L87-5true, annotation: [6, 0]]" "CountingPredicate [underlying: 17#L87-5true, annotation: [2, 0]]" "CountingPredicate [underlying: 35#Loop~2true, annotation: [2, 0]]" "CountingPredicate [underlying: 56#L87-4true, annotation: [8, 0]]" "CountingPredicate [underlying: 20#mainErr0ASSERT_VIOLATIONERROR_FUNCTIONtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 24#L51true, annotation: [2, 0]]" "CountingPredicate [underlying: 42#L87true, annotation: [2, 0]]" "CountingPredicate [underlying: 56#L87-4true, annotation: [2, 0]]" "CountingPredicate [underlying: 42#L87true, annotation: [8, 0]]" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 47#Loop~4true, annotation: [2, 0]]" "CountingPredicate [underlying: 42#L87true, annotation: [10, 0]]" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [8, 0]]" "CountingPredicate [underlying: 30#L65true, annotation: [4, 0]]" "CountingPredicate [underlying: 58#ULTIMATE.startFINALtrue, annotation: [10, 0]]" "CountingPredicate [underlying: 58#ULTIMATE.startFINALtrue, annotation: [8, 0]]" "CountingPredicate [underlying: 15#L34-2true, annotation: [2, 0]]" "CountingPredicate [underlying: 39#ULTIMATE.initENTRYtrue, annotation: [0, 0]]" "CountingPredicate [underlying: 46#L33-1true, annotation: [2, 0]]" "CountingPredicate [underlying: 58#ULTIMATE.startFINALtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 20#mainErr0ASSERT_VIOLATIONERROR_FUNCTIONtrue, annotation: [12, 0]]" "CountingPredicate [underlying: 44#L31true, annotation: [2, 0]]" "CountingPredicate [underlying: 23#Loop~1true, annotation: [2, 0]]" "CountingPredicate [underlying: 20#mainErr0ASSERT_VIOLATIONERROR_FUNCTIONtrue, annotation: [8, 0]]" "CountingPredicate [underlying: 9#L37true, annotation: [2, 0]]" "CountingPredicate [underlying: 41#isnan_floatEXITtrue, annotation: [9, 0]]" "CountingPredicate [underlying: 49#L88true, annotation: [11, 0]]" "CountingPredicate [underlying: 37#isnan_floatENTRYtrue, annotation: [7, 0]]" "CountingPredicate [underlying: 14#L89true, annotation: [2, 0]]" "CountingPredicate [underlying: 29#L-1true, annotation: [0, 0]]" "CountingPredicate [underlying: 22#L18true, annotation: [1, 0]]" "CountingPredicate [underlying: 41#isnan_floatEXITtrue, annotation: [7, 0]]" "CountingPredicate [underlying: 52#modf_floatEXITtrue, annotation: [5, 0]]" "CountingPredicate [underlying: 3#Loop~0true, annotation: [1, 0]]" "CountingPredicate [underlying: 53#L87-2true, annotation: [2, 0]]" "CountingPredicate [underlying: 10#L87-3true, annotation: [2, 0]]" "CountingPredicate [underlying: 36#modf_floatFINALtrue, annotation: [5, 0]]" "CountingPredicate [underlying: 58#ULTIMATE.startFINALtrue, annotation: [12, 0]]" "CountingPredicate [underlying: 40#ULTIMATE.startENTRYtrue, annotation: [0, 0]]" "CountingPredicate [underlying: 38#L26true, annotation: [2, 0]]" "CountingPredicate [underlying: 25#L84true, annotation: [6, 0]]" "CountingPredicate [underlying: 11#L24true, annotation: [2, 0]]" "CountingPredicate [underlying: 57#L42true, annotation: [2, 0]]" "CountingPredicate [underlying: 25#L84true, annotation: [2, 0]]" "CountingPredicate [underlying: 4#L54-1true, annotation: [2, 0]]" "CountingPredicate [underlying: 26#isnan_floatFINALtrue, annotation: [9, 0]]" "CountingPredicate [underlying: 14#L89true, annotation: [12, 0]]" "CountingPredicate [underlying: 26#isnan_floatFINALtrue, annotation: [7, 0]]" "CountingPredicate [underlying: 16#Loop~5true, annotation: [3, 0]]" "CountingPredicate [underlying: 14#L89true, annotation: [8, 0]]" "CountingPredicate [underlying: 12#L25true, annotation: [2, 0]]" "CountingPredicate [underlying: 28#L87-1true, annotation: [10, 0]]" "CountingPredicate [underlying: 18#ULTIMATE.initFINALtrue, annotation: [0, 0]]" "CountingPredicate [underlying: 33#L47true, annotation: [2, 0]]" "CountingPredicate [underlying: 48#L91true, annotation: [2, 0]]" "CountingPredicate [underlying: 32#modf_floatENTRYtrue, annotation: [1, 0]]" "CountingPredicate [underlying: 54#L34-3true, annotation: [2, 0]]" "CountingPredicate [underlying: 48#L91true, annotation: [8, 0]]" "CountingPredicate [underlying: 50#L60true, annotation: [3, 0]]" "CountingPredicate [underlying: 48#L91true, annotation: [10, 0]]" "CountingPredicate [underlying: 21#mainEXITtrue, annotation: [10, 0]]" "CountingPredicate [underlying: 53#L87-2true, annotation: [8, 0]]" "CountingPredicate [underlying: 21#mainEXITtrue, annotation: [8, 0]]" "CountingPredicate [underlying: 7#L49true, annotation: [2, 0]]" "CountingPredicate [underlying: 21#mainEXITtrue, annotation: [12, 0]]" "CountingPredicate [underlying: 10#L87-3true, annotation: [8, 0]]" "CountingPredicate [underlying: 51#mainFINALtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 21#mainEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 49#L88true, annotation: [2, 0]]" "CountingPredicate [underlying: 51#mainFINALtrue, annotation: [8, 0]]" "CountingPredicate [underlying: 37#isnan_floatENTRYtrue, annotation: [9, 0]]" "CountingPredicate [underlying: 45#L33true, annotation: [2, 0]]" "CountingPredicate [underlying: 51#mainFINALtrue, annotation: [12, 0]]" "CountingPredicate [underlying: 49#L88true, annotation: [8, 0]]" "CountingPredicate [underlying: 51#mainFINALtrue, annotation: [10, 0]]" }, initialStates = {"CountingPredicate [underlying: 40#ULTIMATE.startENTRYtrue, annotation: [0, 0]]" }, finalStates = {"CountingPredicate [underlying: 20#mainErr0ASSERT_VIOLATIONERROR_FUNCTIONtrue, annotation: [12, 0]]" }, callTransitions = { ("CountingPredicate [underlying: 27#L84-1true, annotation: [0, 0]]" "call #t~ret15 := modf_float(~x~0, ~#iptr~0.base, ~#iptr~0.offset);" "CountingPredicate [underlying: 32#modf_floatENTRYtrue, annotation: [1, 0]]") ("CountingPredicate [underlying: 17#L87-5true, annotation: [6, 0]]" "call #t~ret17 := isnan_float(#t~mem16);" "CountingPredicate [underlying: 37#isnan_floatENTRYtrue, annotation: [7, 0]]") ("CountingPredicate [underlying: 17#L87-5true, annotation: [2, 0]]" "call #t~ret17 := isnan_float(#t~mem16);" "CountingPredicate [underlying: 37#isnan_floatENTRYtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 29#L-1true, annotation: [0, 0]]" "call #t~ret20 := main();" "CountingPredicate [underlying: 13#mainENTRYtrue, annotation: [0, 0]]") ("CountingPredicate [underlying: 53#L87-2true, annotation: [2, 0]]" "call #t~ret18 := isnan_float(~res~0);" "CountingPredicate [underlying: 37#isnan_floatENTRYtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 40#ULTIMATE.startENTRYtrue, annotation: [0, 0]]" "call ULTIMATE.init();" "CountingPredicate [underlying: 39#ULTIMATE.initENTRYtrue, annotation: [0, 0]]") ("CountingPredicate [underlying: 53#L87-2true, annotation: [8, 0]]" "call #t~ret18 := isnan_float(~res~0);" "CountingPredicate [underlying: 37#isnan_floatENTRYtrue, annotation: [9, 0]]") }, internalTransitions = { ("CountingPredicate [underlying: 26#isnan_floatFINALtrue, annotation: [2, 0]]" "assume true;" "CountingPredicate [underlying: 41#isnan_floatEXITtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 19#Loop~3true, annotation: [2, 0]]" "assume false;" "CountingPredicate [underlying: 57#L42true, annotation: [2, 0]]") ("CountingPredicate [underlying: 19#Loop~3true, annotation: [2, 0]]" "assume !false;" "CountingPredicate [underlying: 33#L47true, annotation: [2, 0]]") ("CountingPredicate [underlying: 8#L51-1true, annotation: [2, 0]]" "assume ~i0~0 % 4294967296 == (4294967295 - ~i~0) % 4294967296;#t~bitwise10 := ~i0~0;" "CountingPredicate [underlying: 24#L51true, annotation: [2, 0]]") ("CountingPredicate [underlying: 8#L51-1true, annotation: [2, 0]]" "assume !(~i0~0 % 4294967296 == (4294967295 - ~i~0) % 4294967296);assume #t~bitwise10 % 4294967296 <= ~i0~0 % 4294967296 && #t~bitwise10 % 4294967296 <= (4294967295 - ~i~0) % 4294967296;" "CountingPredicate [underlying: 24#L51true, annotation: [2, 0]]") ("CountingPredicate [underlying: 37#isnan_floatENTRYtrue, annotation: [2, 0]]" "~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0);" "CountingPredicate [underlying: 26#isnan_floatFINALtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 36#modf_floatFINALtrue, annotation: [2, 0]]" "assume true;" "CountingPredicate [underlying: 52#modf_floatEXITtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 6#L70true, annotation: [5, 0]]" "#res := ~x;" "CountingPredicate [underlying: 36#modf_floatFINALtrue, annotation: [5, 0]]") ("CountingPredicate [underlying: 43#L51-2true, annotation: [2, 0]]" "assume 0 == ~i0~0 % 4294967296 || 0 == (4294967295 - ~i~0) % 4294967296;#t~bitwise10 := 0;" "CountingPredicate [underlying: 24#L51true, annotation: [2, 0]]") ("CountingPredicate [underlying: 43#L51-2true, annotation: [2, 0]]" "assume !(0 == ~i0~0 % 4294967296 || 0 == (4294967295 - ~i~0) % 4294967296);" "CountingPredicate [underlying: 8#L51-1true, annotation: [2, 0]]") ("CountingPredicate [underlying: 5#L23true, annotation: [2, 0]]" "~j0~0 := ~i0~0 / 8388608 % 256 - 127;" "CountingPredicate [underlying: 11#L24true, annotation: [2, 0]]") ("CountingPredicate [underlying: 34#L34-1true, annotation: [2, 0]]" "assume 0 == #t~bitwise7 % 4294967296;havoc #t~bitwise7;havoc ~ix~0;call write~real#6(~x, ~iptr.base, ~iptr.offset, 4);" "CountingPredicate [underlying: 9#L37true, annotation: [2, 0]]") ("CountingPredicate [underlying: 34#L34-1true, annotation: [2, 0]]" "assume !(0 == #t~bitwise7 % 4294967296);havoc #t~bitwise7;" "CountingPredicate [underlying: 7#L49true, annotation: [2, 0]]") ("CountingPredicate [underlying: 28#L87-1true, annotation: [2, 0]]" "assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647;#t~short19 := 0 == #t~ret18;" "CountingPredicate [underlying: 42#L87true, annotation: [2, 0]]") ("CountingPredicate [underlying: 13#mainENTRYtrue, annotation: [0, 0]]" "~x~0 := ~someBinaryArithmeticFLOAToperation(0.0, 0.0);call ~#iptr~0.base, ~#iptr~0.offset := #Ultimate.allocOnStack(4);" "CountingPredicate [underlying: 27#L84-1true, annotation: [0, 0]]") ("CountingPredicate [underlying: 55#Loop~6true, annotation: [4, 0]]" "assume false;" "CountingPredicate [underlying: 30#L65true, annotation: [4, 0]]") ("CountingPredicate [underlying: 55#Loop~6true, annotation: [4, 0]]" "assume !false;" "CountingPredicate [underlying: 6#L70true, annotation: [5, 0]]") ("CountingPredicate [underlying: 35#Loop~2true, annotation: [2, 0]]" "assume false;" "CountingPredicate [underlying: 9#L37true, annotation: [2, 0]]") ("CountingPredicate [underlying: 35#Loop~2true, annotation: [2, 0]]" "assume !false;" "CountingPredicate [underlying: 57#L42true, annotation: [2, 0]]") ("CountingPredicate [underlying: 56#L87-4true, annotation: [8, 0]]" "assume -2147483648 <= #t~ret17 && #t~ret17 <= 2147483647;#t~short19 := 0 != #t~ret17;" "CountingPredicate [underlying: 10#L87-3true, annotation: [8, 0]]") ("CountingPredicate [underlying: 24#L51true, annotation: [2, 0]]" "call write~int#1(#t~bitwise10, ~#sf_u~2.base, ~#sf_u~2.offset, 4);havoc #t~bitwise10;call #t~mem11 := read~real#1(~#sf_u~2.base, ~#sf_u~2.offset, 4);call write~real#6(#t~mem11, ~iptr.base, ~iptr.offset, 4);call ULTIMATE.dealloc(~#sf_u~2.base, ~#sf_u~2.offset);havoc ~#sf_u~2.base, ~#sf_u~2.offset;havoc ~#sf_u~2.base, ~#sf_u~2.offset;havoc #t~mem11;" "CountingPredicate [underlying: 47#Loop~4true, annotation: [2, 0]]") ("CountingPredicate [underlying: 42#L87true, annotation: [2, 0]]" "assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;" "CountingPredicate [underlying: 49#L88true, annotation: [2, 0]]") ("CountingPredicate [underlying: 42#L87true, annotation: [2, 0]]" "assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;" "CountingPredicate [underlying: 48#L91true, annotation: [2, 0]]") ("CountingPredicate [underlying: 56#L87-4true, annotation: [2, 0]]" "assume -2147483648 <= #t~ret17 && #t~ret17 <= 2147483647;#t~short19 := 0 != #t~ret17;" "CountingPredicate [underlying: 10#L87-3true, annotation: [2, 0]]") ("CountingPredicate [underlying: 42#L87true, annotation: [8, 0]]" "assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;" "CountingPredicate [underlying: 49#L88true, annotation: [8, 0]]") ("CountingPredicate [underlying: 42#L87true, annotation: [8, 0]]" "assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;" "CountingPredicate [underlying: 48#L91true, annotation: [8, 0]]") ("CountingPredicate [underlying: 47#Loop~4true, annotation: [2, 0]]" "assume false;" "CountingPredicate [underlying: 7#L49true, annotation: [2, 0]]") ("CountingPredicate [underlying: 47#Loop~4true, annotation: [2, 0]]" "assume !false;" "CountingPredicate [underlying: 4#L54-1true, annotation: [2, 0]]") ("CountingPredicate [underlying: 42#L87true, annotation: [10, 0]]" "assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;" "CountingPredicate [underlying: 49#L88true, annotation: [11, 0]]") ("CountingPredicate [underlying: 42#L87true, annotation: [10, 0]]" "assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;" "CountingPredicate [underlying: 48#L91true, annotation: [10, 0]]") ("CountingPredicate [underlying: 30#L65true, annotation: [4, 0]]" "assume true;call ~#sf_u~3.base, ~#sf_u~3.offset := #Ultimate.allocOnStack(4);call write~int#3(~ix~1 - ~ix~1 % 2147483648, ~#sf_u~3.base, ~#sf_u~3.offset, 4);call #t~mem14 := read~real#3(~#sf_u~3.base, ~#sf_u~3.offset, 4);~x := #t~mem14;call ULTIMATE.dealloc(~#sf_u~3.base, ~#sf_u~3.offset);havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc #t~mem14;" "CountingPredicate [underlying: 55#Loop~6true, annotation: [4, 0]]") ("CountingPredicate [underlying: 30#L65true, annotation: [4, 0]]" "assume !true;" "CountingPredicate [underlying: 6#L70true, annotation: [5, 0]]") ("CountingPredicate [underlying: 58#ULTIMATE.startFINALtrue, annotation: [10, 0]]" "assume true;" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [10, 0]]") ("CountingPredicate [underlying: 58#ULTIMATE.startFINALtrue, annotation: [8, 0]]" "assume true;" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [8, 0]]") ("CountingPredicate [underlying: 15#L34-2true, annotation: [2, 0]]" "assume ~i0~0 % 4294967296 == ~i~0 % 4294967296;#t~bitwise7 := ~i0~0;" "CountingPredicate [underlying: 34#L34-1true, annotation: [2, 0]]") ("CountingPredicate [underlying: 15#L34-2true, annotation: [2, 0]]" "assume !(~i0~0 % 4294967296 == ~i~0 % 4294967296);assume #t~bitwise7 % 4294967296 <= ~i0~0 % 4294967296 && #t~bitwise7 % 4294967296 <= ~i~0 % 4294967296;" "CountingPredicate [underlying: 34#L34-1true, annotation: [2, 0]]") ("CountingPredicate [underlying: 39#ULTIMATE.initENTRYtrue, annotation: [0, 0]]" "assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(20, 2);call #Ultimate.allocInit(12, 3);~one_modf~0 := 1.0;" "CountingPredicate [underlying: 18#ULTIMATE.initFINALtrue, annotation: [0, 0]]") ("CountingPredicate [underlying: 46#L33-1true, annotation: [2, 0]]" "assume 0 == ~j0~0;#t~bitwise6 := 8388607;" "CountingPredicate [underlying: 45#L33true, annotation: [2, 0]]") ("CountingPredicate [underlying: 46#L33-1true, annotation: [2, 0]]" "assume !(0 == ~j0~0);assume #t~bitwise6 < 8388607;" "CountingPredicate [underlying: 45#L33true, annotation: [2, 0]]") ("CountingPredicate [underlying: 58#ULTIMATE.startFINALtrue, annotation: [2, 0]]" "assume true;" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 44#L31true, annotation: [2, 0]]" "#res := ~x;" "CountingPredicate [underlying: 36#modf_floatFINALtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 23#Loop~1true, annotation: [2, 0]]" "assume false;" "CountingPredicate [underlying: 38#L26true, annotation: [2, 0]]") ("CountingPredicate [underlying: 23#Loop~1true, annotation: [2, 0]]" "assume !false;" "CountingPredicate [underlying: 44#L31true, annotation: [2, 0]]") ("CountingPredicate [underlying: 9#L37true, annotation: [2, 0]]" "assume true;call ~#gf_u~1.base, ~#gf_u~1.offset := #Ultimate.allocOnStack(4);call write~real#5(~x, ~#gf_u~1.base, ~#gf_u~1.offset, 4);call #t~mem8 := read~int#5(~#gf_u~1.base, ~#gf_u~1.offset, 4);~ix~0 := #t~mem8;call ULTIMATE.dealloc(~#gf_u~1.base, ~#gf_u~1.offset);havoc ~#gf_u~1.base, ~#gf_u~1.offset;havoc ~#gf_u~1.base, ~#gf_u~1.offset;havoc #t~mem8;" "CountingPredicate [underlying: 35#Loop~2true, annotation: [2, 0]]") ("CountingPredicate [underlying: 9#L37true, annotation: [2, 0]]" "assume !true;" "CountingPredicate [underlying: 57#L42true, annotation: [2, 0]]") ("CountingPredicate [underlying: 49#L88true, annotation: [11, 0]]" "assume false;" "CountingPredicate [underlying: 14#L89true, annotation: [12, 0]]") ("CountingPredicate [underlying: 49#L88true, annotation: [11, 0]]" "assume !false;" "CountingPredicate [underlying: 20#mainErr0ASSERT_VIOLATIONERROR_FUNCTIONtrue, annotation: [12, 0]]") ("CountingPredicate [underlying: 37#isnan_floatENTRYtrue, annotation: [7, 0]]" "~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0);" "CountingPredicate [underlying: 26#isnan_floatFINALtrue, annotation: [7, 0]]") ("CountingPredicate [underlying: 14#L89true, annotation: [2, 0]]" "#res := 1;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "CountingPredicate [underlying: 51#mainFINALtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 22#L18true, annotation: [1, 0]]" "assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real#7(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int#7(~#gf_u~0.base, ~#gf_u~0.offset, 4);~i0~0 := (if #t~mem4 % 4294967296 % 4294967296 <= 2147483647 then #t~mem4 % 4294967296 % 4294967296 else #t~mem4 % 4294967296 % 4294967296 - 4294967296);call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;" "CountingPredicate [underlying: 3#Loop~0true, annotation: [1, 0]]") ("CountingPredicate [underlying: 22#L18true, annotation: [1, 0]]" "assume !true;" "CountingPredicate [underlying: 5#L23true, annotation: [2, 0]]") ("CountingPredicate [underlying: 3#Loop~0true, annotation: [1, 0]]" "assume false;" "CountingPredicate [underlying: 22#L18true, annotation: [1, 0]]") ("CountingPredicate [underlying: 3#Loop~0true, annotation: [1, 0]]" "assume !false;" "CountingPredicate [underlying: 5#L23true, annotation: [2, 0]]") ("CountingPredicate [underlying: 10#L87-3true, annotation: [2, 0]]" "assume #t~short19;" "CountingPredicate [underlying: 53#L87-2true, annotation: [2, 0]]") ("CountingPredicate [underlying: 10#L87-3true, annotation: [2, 0]]" "assume !#t~short19;" "CountingPredicate [underlying: 42#L87true, annotation: [2, 0]]") ("CountingPredicate [underlying: 36#modf_floatFINALtrue, annotation: [5, 0]]" "assume true;" "CountingPredicate [underlying: 52#modf_floatEXITtrue, annotation: [5, 0]]") ("CountingPredicate [underlying: 58#ULTIMATE.startFINALtrue, annotation: [12, 0]]" "assume true;" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [12, 0]]") ("CountingPredicate [underlying: 38#L26true, annotation: [2, 0]]" "assume true;call ~#sf_u~0.base, ~#sf_u~0.offset := #Ultimate.allocOnStack(4);call write~int#4(~i0~0 - ~i0~0 % 2147483648, ~#sf_u~0.base, ~#sf_u~0.offset, 4);call #t~mem5 := read~real#4(~#sf_u~0.base, ~#sf_u~0.offset, 4);call write~real#6(#t~mem5, ~iptr.base, ~iptr.offset, 4);call ULTIMATE.dealloc(~#sf_u~0.base, ~#sf_u~0.offset);havoc ~#sf_u~0.base, ~#sf_u~0.offset;havoc ~#sf_u~0.base, ~#sf_u~0.offset;havoc #t~mem5;" "CountingPredicate [underlying: 23#Loop~1true, annotation: [2, 0]]") ("CountingPredicate [underlying: 38#L26true, annotation: [2, 0]]" "assume !true;" "CountingPredicate [underlying: 44#L31true, annotation: [2, 0]]") ("CountingPredicate [underlying: 25#L84true, annotation: [6, 0]]" "~res~0 := #t~ret15;havoc #t~ret15;call #t~mem16 := read~real#6(~#iptr~0.base, ~#iptr~0.offset, 4);" "CountingPredicate [underlying: 17#L87-5true, annotation: [6, 0]]") ("CountingPredicate [underlying: 11#L24true, annotation: [2, 0]]" "assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);" "CountingPredicate [underlying: 50#L60true, annotation: [3, 0]]") ("CountingPredicate [underlying: 11#L24true, annotation: [2, 0]]" "assume ~j0~0 < 23;" "CountingPredicate [underlying: 12#L25true, annotation: [2, 0]]") ("CountingPredicate [underlying: 57#L42true, annotation: [2, 0]]" "assume true;call ~#sf_u~1.base, ~#sf_u~1.offset := #Ultimate.allocOnStack(4);call write~int#8(~ix~0 - ~ix~0 % 2147483648, ~#sf_u~1.base, ~#sf_u~1.offset, 4);call #t~mem9 := read~real#8(~#sf_u~1.base, ~#sf_u~1.offset, 4);~x := #t~mem9;call ULTIMATE.dealloc(~#sf_u~1.base, ~#sf_u~1.offset);havoc ~#sf_u~1.base, ~#sf_u~1.offset;havoc ~#sf_u~1.base, ~#sf_u~1.offset;havoc #t~mem9;" "CountingPredicate [underlying: 19#Loop~3true, annotation: [2, 0]]") ("CountingPredicate [underlying: 57#L42true, annotation: [2, 0]]" "assume !true;" "CountingPredicate [underlying: 33#L47true, annotation: [2, 0]]") ("CountingPredicate [underlying: 25#L84true, annotation: [2, 0]]" "~res~0 := #t~ret15;havoc #t~ret15;call #t~mem16 := read~real#6(~#iptr~0.base, ~#iptr~0.offset, 4);" "CountingPredicate [underlying: 17#L87-5true, annotation: [2, 0]]") ("CountingPredicate [underlying: 4#L54-1true, annotation: [2, 0]]" "call #t~mem12 := read~real#6(~iptr.base, ~iptr.offset, 4);#res := ~someBinaryArithmeticFLOAToperation(~x, #t~mem12);havoc #t~mem12;" "CountingPredicate [underlying: 36#modf_floatFINALtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 26#isnan_floatFINALtrue, annotation: [9, 0]]" "assume true;" "CountingPredicate [underlying: 41#isnan_floatEXITtrue, annotation: [9, 0]]") ("CountingPredicate [underlying: 14#L89true, annotation: [12, 0]]" "#res := 1;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "CountingPredicate [underlying: 51#mainFINALtrue, annotation: [12, 0]]") ("CountingPredicate [underlying: 26#isnan_floatFINALtrue, annotation: [7, 0]]" "assume true;" "CountingPredicate [underlying: 41#isnan_floatEXITtrue, annotation: [7, 0]]") ("CountingPredicate [underlying: 16#Loop~5true, annotation: [3, 0]]" "assume false;" "CountingPredicate [underlying: 50#L60true, annotation: [3, 0]]") ("CountingPredicate [underlying: 16#Loop~5true, annotation: [3, 0]]" "assume !false;" "CountingPredicate [underlying: 30#L65true, annotation: [4, 0]]") ("CountingPredicate [underlying: 14#L89true, annotation: [8, 0]]" "#res := 1;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "CountingPredicate [underlying: 51#mainFINALtrue, annotation: [8, 0]]") ("CountingPredicate [underlying: 12#L25true, annotation: [2, 0]]" "assume ~j0~0 < 0;" "CountingPredicate [underlying: 38#L26true, annotation: [2, 0]]") ("CountingPredicate [underlying: 12#L25true, annotation: [2, 0]]" "assume !(~j0~0 < 0);" "CountingPredicate [underlying: 46#L33-1true, annotation: [2, 0]]") ("CountingPredicate [underlying: 28#L87-1true, annotation: [10, 0]]" "assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647;#t~short19 := 0 == #t~ret18;" "CountingPredicate [underlying: 42#L87true, annotation: [10, 0]]") ("CountingPredicate [underlying: 18#ULTIMATE.initFINALtrue, annotation: [0, 0]]" "assume true;" "CountingPredicate [underlying: 31#ULTIMATE.initEXITtrue, annotation: [0, 0]]") ("CountingPredicate [underlying: 33#L47true, annotation: [2, 0]]" "#res := ~x;" "CountingPredicate [underlying: 36#modf_floatFINALtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 48#L91true, annotation: [2, 0]]" "#res := 0;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "CountingPredicate [underlying: 51#mainFINALtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 32#modf_floatENTRYtrue, annotation: [1, 0]]" "~x := #in~x;~iptr.base, ~iptr.offset := #in~iptr.base, #in~iptr.offset;havoc ~i0~0;havoc ~j0~0;havoc ~i~0;" "CountingPredicate [underlying: 22#L18true, annotation: [1, 0]]") ("CountingPredicate [underlying: 54#L34-3true, annotation: [2, 0]]" "assume 0 == ~i0~0 % 4294967296 || 0 == ~i~0 % 4294967296;#t~bitwise7 := 0;" "CountingPredicate [underlying: 34#L34-1true, annotation: [2, 0]]") ("CountingPredicate [underlying: 54#L34-3true, annotation: [2, 0]]" "assume !(0 == ~i0~0 % 4294967296 || 0 == ~i~0 % 4294967296);" "CountingPredicate [underlying: 15#L34-2true, annotation: [2, 0]]") ("CountingPredicate [underlying: 48#L91true, annotation: [8, 0]]" "#res := 0;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "CountingPredicate [underlying: 51#mainFINALtrue, annotation: [8, 0]]") ("CountingPredicate [underlying: 50#L60true, annotation: [3, 0]]" "assume true;call ~#gf_u~2.base, ~#gf_u~2.offset := #Ultimate.allocOnStack(4);call write~real#2(~x, ~#gf_u~2.base, ~#gf_u~2.offset, 4);call #t~mem13 := read~int#2(~#gf_u~2.base, ~#gf_u~2.offset, 4);~ix~1 := #t~mem13;call ULTIMATE.dealloc(~#gf_u~2.base, ~#gf_u~2.offset);havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc #t~mem13;" "CountingPredicate [underlying: 16#Loop~5true, annotation: [3, 0]]") ("CountingPredicate [underlying: 50#L60true, annotation: [3, 0]]" "assume !true;" "CountingPredicate [underlying: 30#L65true, annotation: [4, 0]]") ("CountingPredicate [underlying: 48#L91true, annotation: [10, 0]]" "#res := 0;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "CountingPredicate [underlying: 51#mainFINALtrue, annotation: [10, 0]]") ("CountingPredicate [underlying: 7#L49true, annotation: [2, 0]]" "assume true;call ~#sf_u~2.base, ~#sf_u~2.offset := #Ultimate.allocOnStack(4);" "CountingPredicate [underlying: 43#L51-2true, annotation: [2, 0]]") ("CountingPredicate [underlying: 7#L49true, annotation: [2, 0]]" "assume !true;" "CountingPredicate [underlying: 4#L54-1true, annotation: [2, 0]]") ("CountingPredicate [underlying: 10#L87-3true, annotation: [8, 0]]" "assume #t~short19;" "CountingPredicate [underlying: 53#L87-2true, annotation: [8, 0]]") ("CountingPredicate [underlying: 10#L87-3true, annotation: [8, 0]]" "assume !#t~short19;" "CountingPredicate [underlying: 42#L87true, annotation: [8, 0]]") ("CountingPredicate [underlying: 51#mainFINALtrue, annotation: [2, 0]]" "assume true;" "CountingPredicate [underlying: 21#mainEXITtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 49#L88true, annotation: [2, 0]]" "assume false;" "CountingPredicate [underlying: 14#L89true, annotation: [2, 0]]") ("CountingPredicate [underlying: 49#L88true, annotation: [2, 0]]" "assume !false;" "CountingPredicate [underlying: 20#mainErr0ASSERT_VIOLATIONERROR_FUNCTIONtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 51#mainFINALtrue, annotation: [8, 0]]" "assume true;" "CountingPredicate [underlying: 21#mainEXITtrue, annotation: [8, 0]]") ("CountingPredicate [underlying: 37#isnan_floatENTRYtrue, annotation: [9, 0]]" "~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0);" "CountingPredicate [underlying: 26#isnan_floatFINALtrue, annotation: [9, 0]]") ("CountingPredicate [underlying: 45#L33true, annotation: [2, 0]]" "~i~0 := #t~bitwise6;havoc #t~bitwise6;" "CountingPredicate [underlying: 54#L34-3true, annotation: [2, 0]]") ("CountingPredicate [underlying: 51#mainFINALtrue, annotation: [12, 0]]" "assume true;" "CountingPredicate [underlying: 21#mainEXITtrue, annotation: [12, 0]]") ("CountingPredicate [underlying: 49#L88true, annotation: [8, 0]]" "assume false;" "CountingPredicate [underlying: 14#L89true, annotation: [8, 0]]") ("CountingPredicate [underlying: 49#L88true, annotation: [8, 0]]" "assume !false;" "CountingPredicate [underlying: 20#mainErr0ASSERT_VIOLATIONERROR_FUNCTIONtrue, annotation: [8, 0]]") ("CountingPredicate [underlying: 51#mainFINALtrue, annotation: [10, 0]]" "assume true;" "CountingPredicate [underlying: 21#mainEXITtrue, annotation: [10, 0]]") }, returnTransitions = { ("CountingPredicate [underlying: 41#isnan_floatEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 53#L87-2true, annotation: [2, 0]]" "#83#return;" "CountingPredicate [underlying: 28#L87-1true, annotation: [2, 0]]") ("CountingPredicate [underlying: 41#isnan_floatEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 17#L87-5true, annotation: [2, 0]]" "#85#return;" "CountingPredicate [underlying: 56#L87-4true, annotation: [2, 0]]") ("CountingPredicate [underlying: 52#modf_floatEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 27#L84-1true, annotation: [0, 0]]" "#87#return;" "CountingPredicate [underlying: 25#L84true, annotation: [2, 0]]") ("CountingPredicate [underlying: 31#ULTIMATE.initEXITtrue, annotation: [0, 0]]" "CountingPredicate [underlying: 40#ULTIMATE.startENTRYtrue, annotation: [0, 0]]" "#91#return;" "CountingPredicate [underlying: 29#L-1true, annotation: [0, 0]]") ("CountingPredicate [underlying: 41#isnan_floatEXITtrue, annotation: [9, 0]]" "CountingPredicate [underlying: 53#L87-2true, annotation: [8, 0]]" "#83#return;" "CountingPredicate [underlying: 28#L87-1true, annotation: [10, 0]]") ("CountingPredicate [underlying: 41#isnan_floatEXITtrue, annotation: [7, 0]]" "CountingPredicate [underlying: 17#L87-5true, annotation: [6, 0]]" "#85#return;" "CountingPredicate [underlying: 56#L87-4true, annotation: [8, 0]]") ("CountingPredicate [underlying: 52#modf_floatEXITtrue, annotation: [5, 0]]" "CountingPredicate [underlying: 27#L84-1true, annotation: [0, 0]]" "#87#return;" "CountingPredicate [underlying: 25#L84true, annotation: [6, 0]]") ("CountingPredicate [underlying: 21#mainEXITtrue, annotation: [10, 0]]" "CountingPredicate [underlying: 29#L-1true, annotation: [0, 0]]" "#89#return;" "CountingPredicate [underlying: 58#ULTIMATE.startFINALtrue, annotation: [10, 0]]") ("CountingPredicate [underlying: 21#mainEXITtrue, annotation: [8, 0]]" "CountingPredicate [underlying: 29#L-1true, annotation: [0, 0]]" "#89#return;" "CountingPredicate [underlying: 58#ULTIMATE.startFINALtrue, annotation: [8, 0]]") ("CountingPredicate [underlying: 21#mainEXITtrue, annotation: [12, 0]]" "CountingPredicate [underlying: 29#L-1true, annotation: [0, 0]]" "#89#return;" "CountingPredicate [underlying: 58#ULTIMATE.startFINALtrue, annotation: [12, 0]]") ("CountingPredicate [underlying: 21#mainEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 29#L-1true, annotation: [0, 0]]" "#89#return;" "CountingPredicate [underlying: 58#ULTIMATE.startFINALtrue, annotation: [2, 0]]") } ); [2024-08-07 14:04:35,250 INFO L82 GeneralOperation]: Start removeDeadEnds. Operand has 57 states, 46 states have (on average 1.5434782608695652) internal successors, (71), 47 states have internal predecessors, (71), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2024-08-07 14:04:35,252 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:35,252 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:35,252 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real#7(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int#7(~#gf_u~0.base, ~#gf_u~0.offset, 4);~i0~0 := (if #t~mem4 % 4294967296 % 4294967296 <= 2147483647 then #t~mem4 % 4294967296 % 4294967296 else #t~mem4 % 4294967296 % 4294967296 - 4294967296);call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;, isNegated false [2024-08-07 14:04:35,252 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:35,252 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:35,253 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:35,253 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real#7(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int#7(~#gf_u~0.base, ~#gf_u~0.offset, 4);~i0~0 := (if #t~mem4 % 4294967296 % 4294967296 <= 2147483647 then #t~mem4 % 4294967296 % 4294967296 else #t~mem4 % 4294967296 % 4294967296 - 4294967296);call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;, isNegated false [2024-08-07 14:04:35,253 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:35,254 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:35,254 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:35,254 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4);call write~real#7(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem4 := read~int#7(~#gf_u~0.base, ~#gf_u~0.offset, 4);~i0~0 := (if #t~mem4 % 4294967296 % 4294967296 <= 2147483647 then #t~mem4 % 4294967296 % 4294967296 else #t~mem4 % 4294967296 % 4294967296 - 4294967296);call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;, isNegated false [2024-08-07 14:04:35,254 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:35,255 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,255 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,255 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,255 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,255 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:35,255 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:35,255 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~2.base, ~#gf_u~2.offset := #Ultimate.allocOnStack(4);call write~real#2(~x, ~#gf_u~2.base, ~#gf_u~2.offset, 4);call #t~mem13 := read~int#2(~#gf_u~2.base, ~#gf_u~2.offset, 4);~ix~1 := #t~mem13;call ULTIMATE.dealloc(~#gf_u~2.base, ~#gf_u~2.offset);havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc #t~mem13;, isNegated false [2024-08-07 14:04:35,256 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:35,256 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,256 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,256 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:35,256 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:35,256 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~2.base, ~#gf_u~2.offset := #Ultimate.allocOnStack(4);call write~real#2(~x, ~#gf_u~2.base, ~#gf_u~2.offset, 4);call #t~mem13 := read~int#2(~#gf_u~2.base, ~#gf_u~2.offset, 4);~ix~1 := #t~mem13;call ULTIMATE.dealloc(~#gf_u~2.base, ~#gf_u~2.offset);havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc #t~mem13;, isNegated false [2024-08-07 14:04:35,256 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:35,257 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:35,257 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:35,257 WARN L283 nessProductAutomaton]: assume true;call ~#sf_u~3.base, ~#sf_u~3.offset := #Ultimate.allocOnStack(4);call write~int#3(~ix~1 - ~ix~1 % 2147483648, ~#sf_u~3.base, ~#sf_u~3.offset, 4);call #t~mem14 := read~real#3(~#sf_u~3.base, ~#sf_u~3.offset, 4);~x := #t~mem14;call ULTIMATE.dealloc(~#sf_u~3.base, ~#sf_u~3.offset);havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc #t~mem14;, isNegated false [2024-08-07 14:04:35,257 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:35,259 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,260 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,261 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,261 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,261 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:35,261 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:35,261 WARN L283 nessProductAutomaton]: assume true;call ~#sf_u~3.base, ~#sf_u~3.offset := #Ultimate.allocOnStack(4);call write~int#3(~ix~1 - ~ix~1 % 2147483648, ~#sf_u~3.base, ~#sf_u~3.offset, 4);call #t~mem14 := read~real#3(~#sf_u~3.base, ~#sf_u~3.offset, 4);~x := #t~mem14;call ULTIMATE.dealloc(~#sf_u~3.base, ~#sf_u~3.offset);havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc #t~mem14;, isNegated false [2024-08-07 14:04:35,262 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:35,262 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,262 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,262 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,262 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,263 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,263 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,263 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,263 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,263 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,263 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,264 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,264 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,268 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,268 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,268 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,269 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,269 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,269 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,269 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,269 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,269 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,270 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,270 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,270 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,270 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,270 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,271 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,271 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,271 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,271 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,274 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,274 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,274 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,277 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,277 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,277 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,278 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,278 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,278 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,278 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,278 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,279 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,279 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,279 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,279 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,279 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,280 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,280 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,280 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,281 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,281 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,281 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,282 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,283 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,284 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,284 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,284 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,285 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,285 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,285 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,286 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,286 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,286 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,287 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,287 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,287 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,287 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,288 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,288 WARN L283 nessProductAutomaton]: assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated false [2024-08-07 14:04:35,288 WARN L283 nessProductAutomaton]: assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated true [2024-08-07 14:04:35,288 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,288 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,289 WARN L283 nessProductAutomaton]: assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated false [2024-08-07 14:04:35,289 WARN L283 nessProductAutomaton]: assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated true [2024-08-07 14:04:35,289 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,289 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,290 WARN L283 nessProductAutomaton]: assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated false [2024-08-07 14:04:35,290 WARN L283 nessProductAutomaton]: assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated true [2024-08-07 14:04:35,291 WARN L283 nessProductAutomaton]: assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated false [2024-08-07 14:04:35,291 WARN L283 nessProductAutomaton]: assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated true [2024-08-07 14:04:35,292 WARN L283 nessProductAutomaton]: assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated false [2024-08-07 14:04:35,292 WARN L283 nessProductAutomaton]: assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated true [2024-08-07 14:04:35,292 WARN L283 nessProductAutomaton]: assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated false [2024-08-07 14:04:35,292 WARN L283 nessProductAutomaton]: assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated true [2024-08-07 14:04:35,292 WARN L283 nessProductAutomaton]: assume #t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated false [2024-08-07 14:04:35,293 WARN L283 nessProductAutomaton]: assume !#t~short19;havoc #t~mem16;havoc #t~ret17;havoc #t~ret18;havoc #t~short19;, isNegated true [2024-08-07 14:04:35,293 WARN L283 nessProductAutomaton]: assume !(~j0~0 < 23);havoc ~ix~1;call write~real#6(~someBinaryArithmeticFLOAToperation(~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4);, isNegated true [2024-08-07 14:04:35,294 WARN L283 nessProductAutomaton]: assume ~j0~0 < 23;, isNegated false [2024-08-07 14:04:35,300 INFO L88 GeneralOperation]: Finished removeDeadEnds. Reduced from 93 states to 34 states. [2024-08-07 14:04:35,332 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-08-07 14:04:35,342 INFO L357 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, mHoare=false, 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;@38bb8917, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-08-07 14:04:35,343 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2024-08-07 14:04:35,345 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states. [2024-08-07 14:04:35,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2024-08-07 14:04:35,350 INFO L187 NwaCegarLoop]: Found error trace [2024-08-07 14:04:35,351 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-08-07 14:04:35,351 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting mainErr0ASSERT_VIOLATIONERROR_FUNCTION === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2024-08-07 14:04:35,356 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-07 14:04:35,356 INFO L85 PathProgramCache]: Analyzing trace with hash -439704020, now seen corresponding path program 1 times [2024-08-07 14:04:35,366 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-08-07 14:04:35,367 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [440135274] [2024-08-07 14:04:35,367 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-07 14:04:35,367 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-08-07 14:04:35,498 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-07 14:04:35,555 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2024-08-07 14:04:35,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-07 14:04:35,673 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2024-08-07 14:04:35,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-07 14:04:35,703 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2024-08-07 14:04:35,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-07 14:04:35,716 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2024-08-07 14:04:35,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-07 14:04:35,737 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-08-07 14:04:35,737 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-08-07 14:04:35,737 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [440135274] [2024-08-07 14:04:35,742 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [440135274] provided 1 perfect and 0 imperfect interpolant sequences [2024-08-07 14:04:35,742 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-08-07 14:04:35,743 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-08-07 14:04:35,744 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1112583582] [2024-08-07 14:04:35,745 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-08-07 14:04:35,750 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-08-07 14:04:35,750 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-08-07 14:04:35,792 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-08-07 14:04:35,793 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-08-07 14:04:35,794 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 2 states have internal predecessors, (19), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2024-08-07 14:04:36,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-08-07 14:04:36,036 INFO L93 Difference]: Finished difference Result 34 states and 33 transitions. [2024-08-07 14:04:36,037 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-08-07 14:04:36,039 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 2 states have internal predecessors, (19), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2024-08-07 14:04:36,039 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2024-08-07 14:04:36,040 INFO L225 Difference]: With dead ends: 34 [2024-08-07 14:04:36,040 INFO L226 Difference]: Without dead ends: 34 [2024-08-07 14:04:36,042 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2024-08-07 14:04:36,045 INFO L413 NwaCegarLoop]: 3 mSDtfsCounter, 28 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 3 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2024-08-07 14:04:36,045 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 3 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2024-08-07 14:04:36,061 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2024-08-07 14:04:36,075 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2024-08-07 14:04:36,076 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 24 states have (on average 1.0) internal successors, (24), 24 states have internal predecessors, (24), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2024-08-07 14:04:36,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 33 transitions. [2024-08-07 14:04:36,079 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 33 transitions. Word has length 30 [2024-08-07 14:04:36,079 INFO L84 Accepts]: Finished accepts. word is rejected. [2024-08-07 14:04:36,079 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 33 transitions. [2024-08-07 14:04:36,079 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 2 states have internal predecessors, (19), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2024-08-07 14:04:36,080 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 33 transitions. [2024-08-07 14:04:36,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2024-08-07 14:04:36,081 INFO L187 NwaCegarLoop]: Found error trace [2024-08-07 14:04:36,081 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-08-07 14:04:36,082 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-08-07 14:04:36,082 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting mainErr0ASSERT_VIOLATIONERROR_FUNCTION === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2024-08-07 14:04:36,083 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-07 14:04:36,083 INFO L85 PathProgramCache]: Analyzing trace with hash -578721447, now seen corresponding path program 1 times [2024-08-07 14:04:36,083 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-08-07 14:04:36,084 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [416281994] [2024-08-07 14:04:36,084 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-07 14:04:36,085 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-08-07 14:04:36,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-08-07 14:04:36,207 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-08-07 14:04:36,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-08-07 14:04:36,311 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-08-07 14:04:36,311 INFO L360 BasicCegarLoop]: Counterexample is feasible [2024-08-07 14:04:36,314 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location mainErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2024-08-07 14:04:36,317 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-08-07 14:04:36,320 INFO L445 BasicCegarLoop]: Path program histogram: [1, 1] [2024-08-07 14:04:36,324 INFO L196 ceAbstractionStarter]: Computing trace abstraction results [2024-08-07 14:04:36,339 WARN L915 BoogieBacktranslator]: Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not [2024-08-07 14:04:36,340 WARN L915 BoogieBacktranslator]: Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not [2024-08-07 14:04:36,340 WARN L915 BoogieBacktranslator]: Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not [2024-08-07 14:04:36,341 WARN L915 BoogieBacktranslator]: Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not [2024-08-07 14:04:36,341 WARN L915 BoogieBacktranslator]: Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not [2024-08-07 14:04:36,341 WARN L915 BoogieBacktranslator]: Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not [2024-08-07 14:04:36,344 WARN L915 BoogieBacktranslator]: Unfinished Backtranslation: The program execution was not completely translated back. [2024-08-07 14:04:36,351 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.08 02:04:36 BoogieIcfgContainer [2024-08-07 14:04:36,352 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2024-08-07 14:04:36,354 INFO L158 Benchmark]: Toolchain (without parser) took 2283.17ms. Allocated memory was 50.3MB in the beginning and 73.4MB in the end (delta: 23.1MB). Free memory was 22.3MB in the beginning and 40.1MB in the end (delta: -17.8MB). Peak memory consumption was 4.9MB. Max. memory is 16.1GB. [2024-08-07 14:04:36,355 INFO L158 Benchmark]: CDTParser took 0.21ms. Allocated memory is still 39.8MB. Free memory is still 23.0MB. There was no memory consumed. Max. memory is 16.1GB. [2024-08-07 14:04:36,355 INFO L158 Benchmark]: Witness Parser took 0.09ms. Allocated memory is still 50.3MB. Free memory is still 24.7MB. There was no memory consumed. Max. memory is 16.1GB. [2024-08-07 14:04:36,355 INFO L158 Benchmark]: CACSL2BoogieTranslator took 336.81ms. Allocated memory was 50.3MB in the beginning and 60.8MB in the end (delta: 10.5MB). Free memory was 22.1MB in the beginning and 31.8MB in the end (delta: -9.7MB). Peak memory consumption was 4.9MB. Max. memory is 16.1GB. [2024-08-07 14:04:36,355 INFO L158 Benchmark]: Boogie Preprocessor took 69.06ms. Allocated memory is still 60.8MB. Free memory was 31.8MB in the beginning and 28.6MB in the end (delta: 3.2MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2024-08-07 14:04:36,356 INFO L158 Benchmark]: IcfgBuilder took 592.87ms. Allocated memory is still 60.8MB. Free memory was 28.6MB in the beginning and 35.6MB in the end (delta: -7.0MB). Peak memory consumption was 7.5MB. Max. memory is 16.1GB. [2024-08-07 14:04:36,358 INFO L158 Benchmark]: TraceAbstraction took 1277.38ms. Allocated memory was 60.8MB in the beginning and 73.4MB in the end (delta: 12.6MB). Free memory was 35.1MB in the beginning and 40.1MB in the end (delta: -5.1MB). Peak memory consumption was 7.5MB. Max. memory is 16.1GB. [2024-08-07 14:04:36,360 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 39.8MB. Free memory is still 23.0MB. There was no memory consumed. Max. memory is 16.1GB. * Witness Parser took 0.09ms. Allocated memory is still 50.3MB. Free memory is still 24.7MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 336.81ms. Allocated memory was 50.3MB in the beginning and 60.8MB in the end (delta: 10.5MB). Free memory was 22.1MB in the beginning and 31.8MB in the end (delta: -9.7MB). Peak memory consumption was 4.9MB. Max. memory is 16.1GB. * Boogie Preprocessor took 69.06ms. Allocated memory is still 60.8MB. Free memory was 31.8MB in the beginning and 28.6MB in the end (delta: 3.2MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * IcfgBuilder took 592.87ms. Allocated memory is still 60.8MB. Free memory was 28.6MB in the beginning and 35.6MB in the end (delta: -7.0MB). Peak memory consumption was 7.5MB. Max. memory is 16.1GB. * TraceAbstraction took 1277.38ms. Allocated memory was 60.8MB in the beginning and 73.4MB in the end (delta: 12.6MB). Free memory was 35.1MB in the beginning and 40.1MB in the end (delta: -5.1MB). Peak memory consumption was 7.5MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: The program execution was not completely translated back. * 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: 88]: 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 75, overapproximation of someBinaryArithmeticFLOAToperation at line 59. Possible FailurePath: [L13] static const float one_modf = 1.0; VAL [\old(one_modf)=1258291201, one_modf=1] [L82] float x = 0.0f / 0.0f; [L83] float iptr; VAL [iptr={6:0}, one_modf=1] [L84] CALL, EXPR modf_float(x, &iptr) VAL [\old(iptr)={6:0}, \old(x)=1258291203, one_modf=1] [L16] __int32_t i0, j0; [L17] __uint32_t i; VAL [\old(iptr)={6:0}, \old(x)=1258291203, iptr={6:0}, one_modf=1, x=1258291203] [L19] ieee_float_shape_type gf_u; [L20] gf_u.value = (x) [L21] EXPR gf_u.word [L21] (i0) = gf_u.word [L23] j0 = ((i0 >> 23) & 0xff) - 0x7f VAL [\old(iptr)={6:0}, \old(x)=1258291203, i0=1258291200, iptr={6:0}, j0=23, one_modf=1, x=1258291203] [L24] j0 < 23 [L58] __uint32_t ix; [L59] *iptr = x * one_modf VAL [\old(iptr)={6:0}, \old(x)=1258291203, i0=1258291200, one_modf=1, x=1258291203] [L61] ieee_float_shape_type gf_u; [L62] gf_u.value = (x) [L63] EXPR gf_u.word [L63] (ix) = gf_u.word [L66] ieee_float_shape_type sf_u; [L67] sf_u.word = (ix & 0x80000000) [L68] EXPR sf_u.value [L68] (x) = sf_u.value [L70] return x; VAL [\old(iptr)={6:0}, \old(x)=1258291203, \result=1258291202, i0=1258291200, ix=9, one_modf=1] [L84] RET, EXPR modf_float(x, &iptr) VAL [iptr={6:0}, one_modf=1, x=1258291203] [L84] float res = modf_float(x, &iptr); [L87] EXPR \read(iptr) VAL [one_modf=1, res=1258291202, x=1258291203] [L87] CALL, EXPR isnan_float(iptr) VAL [\old(x)=1258291204, one_modf=1] [L75] return x != x; VAL [\old(x)=1258291204, \result=1, one_modf=1] [L87] RET, EXPR isnan_float(iptr) VAL [one_modf=1, res=1258291202, x=1258291203] [L87] isnan_float(iptr) && !isnan_float(res) VAL [one_modf=1, res=1258291202, x=1258291203] [L87] isnan_float(iptr) && !isnan_float(res) VAL [one_modf=1, res=1258291202, x=1258291203] [L87] CALL, EXPR isnan_float(res) VAL [\old(x)=1258291202, one_modf=1] [L75] return x != x; VAL [\old(x)=1258291202, \result=0, one_modf=1] [L87] RET, EXPR isnan_float(res) VAL [one_modf=1, res=1258291202, x=1258291203] [L87] isnan_float(iptr) && !isnan_float(res) VAL [one_modf=1, res=1258291202, x=1258291203] [L87] isnan_float(iptr) && !isnan_float(res) [L88] reach_error() VAL [one_modf=1, res=1258291202, x=1258291203] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 60 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 1.2s, OverallIterations: 2, TraceHistogramMax: 2, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.2s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 31 SdHoareTripleChecker+Valid, 0.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 28 mSDsluCounter, 3 SdHoareTripleChecker+Invalid, 0.1s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 0 mSDsCounter, 5 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 52 IncrementalHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 5 mSolverCounterUnsat, 3 mSDtfsCounter, 52 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 13 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=34occurred in iteration=0, InterpolantAutomatonStates: 5, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 0.2s InterpolantComputationTime, 63 NumberOfCodeBlocks, 63 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 29 ConstructedInterpolants, 0 QuantifiedInterpolants, 85 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 3/3 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 RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces [2024-08-07 14:04:36,398 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Forceful destruction successful, 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/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/float-newlib/float_req_bl_1210.c ./svcomp-yaml-violation-generation.2024-08-01_14-26-22.files/Default/float_req_bl_1210.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --traceabstraction.compute.hoare.annotation.of.negated.interpolant.automaton,.abstraction.and.cfg false --preprocessor.replace.while.statements.and.if-then-else.statements false --icfgbuilder.size.of.a.code.block SequenceOfStatements --- Real Ultimate output --- This is Ultimate 0.2.4-wip.fs.yaml-violation-witnesses-0a70ae8-m [2024-08-07 14:04:38,567 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-08-07 14:04:38,645 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2024-08-07 14:04:38,650 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-08-07 14:04:38,652 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-08-07 14:04:38,691 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-08-07 14:04:38,692 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-08-07 14:04:38,693 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-08-07 14:04:38,694 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-08-07 14:04:38,695 INFO L153 SettingsManager]: * Use memory slicer=true [2024-08-07 14:04:38,695 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-08-07 14:04:38,696 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-08-07 14:04:38,696 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-08-07 14:04:38,697 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-08-07 14:04:38,698 INFO L153 SettingsManager]: * Use SBE=true [2024-08-07 14:04:38,699 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-08-07 14:04:38,699 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-08-07 14:04:38,700 INFO L153 SettingsManager]: * sizeof long=4 [2024-08-07 14:04:38,700 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-08-07 14:04:38,700 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-08-07 14:04:38,704 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-08-07 14:04:38,705 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-08-07 14:04:38,705 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-08-07 14:04:38,705 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2024-08-07 14:04:38,705 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2024-08-07 14:04:38,706 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-08-07 14:04:38,706 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2024-08-07 14:04:38,706 INFO L153 SettingsManager]: * sizeof long double=12 [2024-08-07 14:04:38,706 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-08-07 14:04:38,707 INFO L153 SettingsManager]: * Use constant arrays=true [2024-08-07 14:04:38,707 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-08-07 14:04:38,707 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-08-07 14:04:38,707 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-08-07 14:04:38,708 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-08-07 14:04:38,708 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-08-07 14:04:38,708 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-08-07 14:04:38,708 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-08-07 14:04:38,709 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-08-07 14:04:38,709 INFO L153 SettingsManager]: * Trace refinement strategy=WOLF [2024-08-07 14:04:38,709 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2024-08-07 14:04:38,709 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-08-07 14:04:38,710 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-08-07 14:04:38,710 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-08-07 14:04:38,710 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-08-07 14:04:38,710 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-08-07 14:04:38,711 INFO L153 SettingsManager]: * Logic for external solver=AUFBV [2024-08-07 14:04:38,711 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.boogie.preprocessor: Replace while statements and if-then-else statements -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder: Size of a code block -> SequenceOfStatements [2024-08-07 14:04:39,040 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-08-07 14:04:39,060 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-08-07 14:04:39,063 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-08-07 14:04:39,064 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-08-07 14:04:39,065 INFO L274 PluginConnector]: Witness Parser initialized [2024-08-07 14:04:39,067 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/./svcomp-yaml-violation-generation.2024-08-01_14-26-22.files/Default/float_req_bl_1210.yml/witness.yml [2024-08-07 14:04:39,144 INFO L270 PluginConnector]: Initializing CDTParser... [2024-08-07 14:04:39,145 INFO L274 PluginConnector]: CDTParser initialized [2024-08-07 14:04:39,145 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/float-newlib/float_req_bl_1210.c [2024-08-07 14:04:40,750 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-08-07 14:04:40,946 INFO L384 CDTParser]: Found 1 translation units. [2024-08-07 14:04:40,947 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/float-newlib/float_req_bl_1210.c [2024-08-07 14:04:40,964 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ef0d0ad79/ead81e59220f49d08041b5f5debd9ba4/FLAG73cf58611 [2024-08-07 14:04:41,342 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ef0d0ad79/ead81e59220f49d08041b5f5debd9ba4 [2024-08-07 14:04:41,343 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-08-07 14:04:41,346 INFO L133 ToolchainWalker]: Walking toolchain with 4 elements. [2024-08-07 14:04:41,348 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-08-07 14:04:41,348 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-08-07 14:04:41,353 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-08-07 14:04:41,354 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser VIOLATION_WITNESS 07.08 02:04:39" (1/2) ... [2024-08-07 14:04:41,355 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@497aa691 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 07.08 02:04:41, skipping insertion in model container [2024-08-07 14:04:41,356 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser VIOLATION_WITNESS 07.08 02:04:39" (1/2) ... [2024-08-07 14:04:41,358 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@77633e5b and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 07.08 02:04:41, skipping insertion in model container [2024-08-07 14:04:41,358 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.08 02:04:41" (2/2) ... [2024-08-07 14:04:41,359 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@497aa691 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.08 02:04:41, skipping insertion in model container [2024-08-07 14:04:41,359 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.08 02:04:41" (2/2) ... [2024-08-07 14:04:41,387 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-08-07 14:04:41,592 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/float-newlib/float_req_bl_1210.c[2159,2172] [2024-08-07 14:04:41,605 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-07 14:04:41,620 INFO L200 MainTranslator]: Completed pre-run [2024-08-07 14:04:41,663 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/float-newlib/float_req_bl_1210.c[2159,2172] [2024-08-07 14:04:41,664 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-07 14:04:41,688 INFO L204 MainTranslator]: Completed translation [2024-08-07 14:04:41,690 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.08 02:04:41 WrapperNode [2024-08-07 14:04:41,690 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-08-07 14:04:41,691 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-08-07 14:04:41,691 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-08-07 14:04:41,691 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-08-07 14:04:41,704 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.08 02:04:41" (1/1) ... [2024-08-07 14:04:41,704 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.08 02:04:41" (1/1) ... [2024-08-07 14:04:41,718 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.08 02:04:41" (1/1) ... [2024-08-07 14:04:41,752 INFO L175 MemorySlicer]: Split 22 memory accesses to 9 slices as follows [2, 6, 2, 2, 2, 2, 2, 2, 2]. 27 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0, 0, 0, 0, 0, 0, 0, 0]. The 11 writes are split as follows [0, 4, 1, 1, 1, 1, 1, 1, 1]. [2024-08-07 14:04:41,753 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.08 02:04:41" (1/1) ... [2024-08-07 14:04:41,753 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.08 02:04:41" (1/1) ... [2024-08-07 14:04:41,777 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.08 02:04:41" (1/1) ... [2024-08-07 14:04:41,781 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.08 02:04:41" (1/1) ... [2024-08-07 14:04:41,787 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.08 02:04:41" (1/1) ... [2024-08-07 14:04:41,799 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-08-07 14:04:41,802 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2024-08-07 14:04:41,803 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2024-08-07 14:04:41,804 INFO L274 PluginConnector]: IcfgBuilder initialized [2024-08-07 14:04:41,805 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.08 02:04:41" (1/1) ... [2024-08-07 14:04:41,810 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-08-07 14:04:41,822 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-08-07 14:04:41,841 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-08-07 14:04:41,845 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2024-08-07 14:04:41,889 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2024-08-07 14:04:41,890 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-08-07 14:04:41,890 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.setCurrentRoundingMode [2024-08-07 14:04:41,890 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2024-08-07 14:04:41,890 INFO L138 BoogieDeclarations]: Found implementation of procedure modf_float [2024-08-07 14:04:41,891 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_float [2024-08-07 14:04:41,892 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2024-08-07 14:04:41,892 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2024-08-07 14:04:41,892 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2024-08-07 14:04:41,892 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2024-08-07 14:04:41,892 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-08-07 14:04:41,892 INFO L130 BoogieDeclarations]: Found specification of procedure modf_float [2024-08-07 14:04:41,892 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-08-07 14:04:41,893 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4#0 [2024-08-07 14:04:41,893 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4#1 [2024-08-07 14:04:41,893 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4#2 [2024-08-07 14:04:41,893 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4#3 [2024-08-07 14:04:41,893 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4#4 [2024-08-07 14:04:41,893 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4#5 [2024-08-07 14:04:41,893 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4#6 [2024-08-07 14:04:41,893 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4#7 [2024-08-07 14:04:41,894 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4#8 [2024-08-07 14:04:41,894 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#0 [2024-08-07 14:04:41,894 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#1 [2024-08-07 14:04:41,894 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#2 [2024-08-07 14:04:41,894 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#3 [2024-08-07 14:04:41,894 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#4 [2024-08-07 14:04:41,894 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#5 [2024-08-07 14:04:41,894 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#6 [2024-08-07 14:04:41,894 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#7 [2024-08-07 14:04:41,894 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#8 [2024-08-07 14:04:41,894 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-08-07 14:04:41,895 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#0 [2024-08-07 14:04:41,895 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#1 [2024-08-07 14:04:41,895 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#2 [2024-08-07 14:04:41,895 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#3 [2024-08-07 14:04:41,895 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#4 [2024-08-07 14:04:41,895 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#5 [2024-08-07 14:04:41,895 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#6 [2024-08-07 14:04:41,895 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#7 [2024-08-07 14:04:41,895 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#8 [2024-08-07 14:04:41,895 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4#0 [2024-08-07 14:04:41,895 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4#1 [2024-08-07 14:04:41,895 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4#2 [2024-08-07 14:04:41,896 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4#3 [2024-08-07 14:04:41,896 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4#4 [2024-08-07 14:04:41,896 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4#5 [2024-08-07 14:04:41,896 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4#6 [2024-08-07 14:04:41,896 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4#7 [2024-08-07 14:04:41,898 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4#8 [2024-08-07 14:04:41,899 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_float [2024-08-07 14:04:41,899 INFO L130 BoogieDeclarations]: Found specification of procedure main [2024-08-07 14:04:41,899 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2024-08-07 14:04:41,899 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2024-08-07 14:04:41,899 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#1 [2024-08-07 14:04:41,899 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#2 [2024-08-07 14:04:41,900 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#3 [2024-08-07 14:04:41,900 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#4 [2024-08-07 14:04:41,900 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#5 [2024-08-07 14:04:41,900 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#6 [2024-08-07 14:04:41,900 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#7 [2024-08-07 14:04:41,900 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#8 [2024-08-07 14:04:41,901 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-08-07 14:04:41,901 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.setCurrentRoundingMode [2024-08-07 14:04:41,901 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#0 [2024-08-07 14:04:41,901 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#1 [2024-08-07 14:04:41,902 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#2 [2024-08-07 14:04:41,902 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#3 [2024-08-07 14:04:41,902 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#4 [2024-08-07 14:04:41,902 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#5 [2024-08-07 14:04:41,902 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#6 [2024-08-07 14:04:41,903 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#7 [2024-08-07 14:04:41,903 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1#8 [2024-08-07 14:04:41,903 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#0 [2024-08-07 14:04:41,903 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#1 [2024-08-07 14:04:41,903 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#2 [2024-08-07 14:04:41,903 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#3 [2024-08-07 14:04:41,904 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#4 [2024-08-07 14:04:41,904 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#5 [2024-08-07 14:04:41,904 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#6 [2024-08-07 14:04:41,904 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#7 [2024-08-07 14:04:41,904 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1#8 [2024-08-07 14:04:42,074 INFO L273 CfgBuilder]: Building ICFG [2024-08-07 14:04:42,077 INFO L304 CfgBuilder]: Building CFG for each procedure with an implementation [2024-08-07 14:04:42,211 INFO L1251 $ProcedureCfgBuilder]: dead code at ProgramPoint L83: call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset; [2024-08-07 14:04:42,492 INFO L1251 $ProcedureCfgBuilder]: dead code at ProgramPoint L54: havoc #t~mem9; [2024-08-07 14:04:42,492 INFO L1251 $ProcedureCfgBuilder]: dead code at ProgramPoint L34: havoc ~ix~0; [2024-08-07 14:04:42,492 INFO L1251 $ProcedureCfgBuilder]: dead code at ProgramPoint L57: havoc ~ix~1; [2024-08-07 14:04:42,548 INFO L? ?]: Removed 26 outVars from TransFormulas that were not future-live. [2024-08-07 14:04:42,549 INFO L327 CfgBuilder]: Performing block encoding [2024-08-07 14:04:42,562 INFO L349 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-08-07 14:04:42,563 INFO L354 CfgBuilder]: Removed 0 assume(true) statements. [2024-08-07 14:04:42,563 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 07.08 02:04:42 BoogieIcfgContainer [2024-08-07 14:04:42,564 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2024-08-07 14:04:42,566 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-08-07 14:04:42,567 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-08-07 14:04:42,570 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-08-07 14:04:42,571 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser VIOLATION_WITNESS 07.08 02:04:39" (1/4) ... [2024-08-07 14:04:42,572 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@85ab146 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction VIOLATION_WITNESS 07.08 02:04:42, skipping insertion in model container [2024-08-07 14:04:42,572 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.08 02:04:41" (2/4) ... [2024-08-07 14:04:42,572 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@85ab146 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.08 02:04:42, skipping insertion in model container [2024-08-07 14:04:42,573 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.08 02:04:41" (3/4) ... [2024-08-07 14:04:42,574 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@85ab146 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.08 02:04:42, skipping insertion in model container [2024-08-07 14:04:42,574 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 07.08 02:04:42" (4/4) ... [2024-08-07 14:04:42,575 INFO L119 eAbstractionObserver]: Analyzing ICFG float_req_bl_1210.c [2024-08-07 14:04:42,576 WARN L130 eAbstractionObserver]: Found a witness in the YAML format. I will only consider traces that are accepted by the witness [2024-08-07 14:04:42,594 INFO L221 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-08-07 14:04:42,594 INFO L180 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-08-07 14:04:42,638 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:42,639 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:42,639 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#5(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4#5(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~i0~0 := #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;, isNegated false [2024-08-07 14:04:42,639 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:42,640 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:42,640 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:42,640 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#5(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4#5(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~i0~0 := #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;, isNegated false [2024-08-07 14:04:42,640 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:42,641 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:42,641 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:42,642 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#5(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4#5(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~i0~0 := #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;, isNegated false [2024-08-07 14:04:42,642 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:42,643 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,643 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,644 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,644 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,644 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:42,645 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:42,645 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~2.base, ~#gf_u~2.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#3(~x, ~#gf_u~2.base, ~#gf_u~2.offset, 4bv32);call #t~mem10 := read~intINTTYPE4#3(~#gf_u~2.base, ~#gf_u~2.offset, 4bv32);~ix~1 := #t~mem10;call ULTIMATE.dealloc(~#gf_u~2.base, ~#gf_u~2.offset);havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc #t~mem10;, isNegated false [2024-08-07 14:04:42,645 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:42,646 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,646 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,647 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:42,647 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:42,647 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~2.base, ~#gf_u~2.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#3(~x, ~#gf_u~2.base, ~#gf_u~2.offset, 4bv32);call #t~mem10 := read~intINTTYPE4#3(~#gf_u~2.base, ~#gf_u~2.offset, 4bv32);~ix~1 := #t~mem10;call ULTIMATE.dealloc(~#gf_u~2.base, ~#gf_u~2.offset);havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc #t~mem10;, isNegated false [2024-08-07 14:04:42,647 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:42,648 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:42,648 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:42,648 WARN L283 nessProductAutomaton]: assume true;call ~#sf_u~3.base, ~#sf_u~3.offset := #Ultimate.allocOnStack(4bv32);call write~intINTTYPE4#8(~bvand~32(2147483648bv32, ~ix~1), ~#sf_u~3.base, ~#sf_u~3.offset, 4bv32);call #t~mem11 := read~intFLOATTYPE4#8(~#sf_u~3.base, ~#sf_u~3.offset, 4bv32);~x := #t~mem11;call ULTIMATE.dealloc(~#sf_u~3.base, ~#sf_u~3.offset);havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc #t~mem11;, isNegated false [2024-08-07 14:04:42,649 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:42,649 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,649 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,650 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,650 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,651 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:42,651 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:42,651 WARN L283 nessProductAutomaton]: assume true;call ~#sf_u~3.base, ~#sf_u~3.offset := #Ultimate.allocOnStack(4bv32);call write~intINTTYPE4#8(~bvand~32(2147483648bv32, ~ix~1), ~#sf_u~3.base, ~#sf_u~3.offset, 4bv32);call #t~mem11 := read~intFLOATTYPE4#8(~#sf_u~3.base, ~#sf_u~3.offset, 4bv32);~x := #t~mem11;call ULTIMATE.dealloc(~#sf_u~3.base, ~#sf_u~3.offset);havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc #t~mem11;, isNegated false [2024-08-07 14:04:42,651 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:42,652 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,652 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,653 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,653 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,653 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,653 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,654 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,654 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,655 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,655 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,656 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,656 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,656 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,656 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,657 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,657 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,659 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,659 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,660 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,660 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,660 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,660 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,661 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,661 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,661 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,661 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,662 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,664 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,664 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,665 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,666 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,667 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,668 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,668 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,669 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,669 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,670 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,670 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,671 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,671 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,672 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,672 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,674 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,676 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,676 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,677 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,677 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,678 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,678 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,678 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,678 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,678 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,680 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,680 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,681 WARN L283 nessProductAutomaton]: assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated false [2024-08-07 14:04:42,681 WARN L283 nessProductAutomaton]: assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated true [2024-08-07 14:04:42,682 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,682 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,682 WARN L283 nessProductAutomaton]: assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated false [2024-08-07 14:04:42,683 WARN L283 nessProductAutomaton]: assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated true [2024-08-07 14:04:42,683 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,683 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,684 WARN L283 nessProductAutomaton]: assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated false [2024-08-07 14:04:42,684 WARN L283 nessProductAutomaton]: assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated true [2024-08-07 14:04:42,686 WARN L283 nessProductAutomaton]: assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated false [2024-08-07 14:04:42,686 WARN L283 nessProductAutomaton]: assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated true [2024-08-07 14:04:42,687 WARN L283 nessProductAutomaton]: assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated false [2024-08-07 14:04:42,688 WARN L283 nessProductAutomaton]: assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated true [2024-08-07 14:04:42,688 WARN L283 nessProductAutomaton]: assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated false [2024-08-07 14:04:42,689 WARN L283 nessProductAutomaton]: assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated true [2024-08-07 14:04:42,689 WARN L283 nessProductAutomaton]: assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated false [2024-08-07 14:04:42,689 WARN L283 nessProductAutomaton]: assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated true [2024-08-07 14:04:42,691 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,691 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,709 INFO L90 WitnessUtils]: NestedWordAutomaton nwa = ( callAlphabet = {"call #t~ret14 := isnan_float(#t~mem13);" "call #t~ret12 := modf_float(~x~0, ~#iptr~0.base, ~#iptr~0.offset);" "call #t~ret17 := main();" "call ULTIMATE.init();" "call #t~ret15 := isnan_float(~res~0);" }, internalAlphabet = {"#res := 0bv32;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "#res := 1bv32;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "assume false;" "assume !false;" "assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;" "assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;" "#t~short16 := 0bv32 == #t~ret15;" "SUMMARY for call #t~ret15 := isnan_float(~res~0); srcloc: L87-2" "assume #t~short16;" "assume !#t~short16;" "#t~short16 := 0bv32 != #t~ret14;" "SUMMARY for call #t~ret14 := isnan_float(#t~mem13); srcloc: L87-5" "~res~0 := #t~ret12;havoc #t~ret12;call #t~mem13 := read~intFLOATTYPE4#1(~#iptr~0.base, ~#iptr~0.offset, 4bv32);" "SUMMARY for call #t~ret12 := modf_float(~x~0, ~#iptr~0.base, ~#iptr~0.offset); srcloc: L84-1" "~x~0 := ~fp.div~32(currentRoundingMode, ~Pluszero~32(), ~Pluszero~32());call ~#iptr~0.base, ~#iptr~0.offset := #Ultimate.allocOnStack(4bv32);" "assume true;" "#res := ~x;" "assume false;" "assume !false;" "assume true;call ~#sf_u~0.base, ~#sf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intINTTYPE4#2(~bvand~32(2147483648bv32, ~i0~0), ~#sf_u~0.base, ~#sf_u~0.offset, 4bv32);call #t~mem5 := read~intFLOATTYPE4#2(~#sf_u~0.base, ~#sf_u~0.offset, 4bv32);call write~intFLOATTYPE4#1(#t~mem5, ~iptr.base, ~iptr.offset, 4bv32);call ULTIMATE.dealloc(~#sf_u~0.base, ~#sf_u~0.offset);havoc ~#sf_u~0.base, ~#sf_u~0.offset;havoc ~#sf_u~0.base, ~#sf_u~0.offset;havoc #t~mem5;" "assume !true;" "#res := ~x;" "assume false;" "assume !false;" "assume true;call ~#sf_u~1.base, ~#sf_u~1.offset := #Ultimate.allocOnStack(4bv32);call write~intINTTYPE4#4(~bvand~32(2147483648bv32, ~ix~0), ~#sf_u~1.base, ~#sf_u~1.offset, 4bv32);call #t~mem7 := read~intFLOATTYPE4#4(~#sf_u~1.base, ~#sf_u~1.offset, 4bv32);~x := #t~mem7;call ULTIMATE.dealloc(~#sf_u~1.base, ~#sf_u~1.offset);havoc ~#sf_u~1.base, ~#sf_u~1.offset;havoc ~#sf_u~1.base, ~#sf_u~1.offset;havoc #t~mem7;" "assume !true;" "assume false;" "assume !false;" "assume true;call ~#gf_u~1.base, ~#gf_u~1.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#7(~x, ~#gf_u~1.base, ~#gf_u~1.offset, 4bv32);call #t~mem6 := read~intINTTYPE4#7(~#gf_u~1.base, ~#gf_u~1.offset, 4bv32);~ix~0 := #t~mem6;call ULTIMATE.dealloc(~#gf_u~1.base, ~#gf_u~1.offset);havoc ~#gf_u~1.base, ~#gf_u~1.offset;havoc ~#gf_u~1.base, ~#gf_u~1.offset;havoc #t~mem6;" "assume !true;" "assume 0bv32 == ~bvand~32(~i0~0, ~i~0);havoc ~ix~0;call write~intFLOATTYPE4#1(~x, ~iptr.base, ~iptr.offset, 4bv32);" "call #t~mem9 := read~intFLOATTYPE4#1(~iptr.base, ~iptr.offset, 4bv32);#res := ~fp.sub~32(currentRoundingMode, ~x, #t~mem9);havoc #t~mem9;" "assume false;" "assume !false;" "assume true;call ~#sf_u~2.base, ~#sf_u~2.offset := #Ultimate.allocOnStack(4bv32);call write~intINTTYPE4#6(~bvand~32(~i0~0, ~bvnot~32(~i~0)), ~#sf_u~2.base, ~#sf_u~2.offset, 4bv32);call #t~mem8 := read~intFLOATTYPE4#6(~#sf_u~2.base, ~#sf_u~2.offset, 4bv32);call write~intFLOATTYPE4#1(#t~mem8, ~iptr.base, ~iptr.offset, 4bv32);call ULTIMATE.dealloc(~#sf_u~2.base, ~#sf_u~2.offset);havoc ~#sf_u~2.base, ~#sf_u~2.offset;havoc ~#sf_u~2.base, ~#sf_u~2.offset;havoc #t~mem8;" "assume !true;" "assume !(0bv32 == ~bvand~32(~i0~0, ~i~0));" "assume !~bvslt~32(~j0~0, 0bv32);~i~0 := ~bvashr~32(8388607bv32, ~j0~0);" "assume ~bvslt~32(~j0~0, 0bv32);" "#res := ~x;" "assume false;" "assume !false;" "assume true;call ~#sf_u~3.base, ~#sf_u~3.offset := #Ultimate.allocOnStack(4bv32);call write~intINTTYPE4#8(~bvand~32(2147483648bv32, ~ix~1), ~#sf_u~3.base, ~#sf_u~3.offset, 4bv32);call #t~mem11 := read~intFLOATTYPE4#8(~#sf_u~3.base, ~#sf_u~3.offset, 4bv32);~x := #t~mem11;call ULTIMATE.dealloc(~#sf_u~3.base, ~#sf_u~3.offset);havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc #t~mem11;" "assume !true;" "assume false;" "assume !false;" "assume true;call ~#gf_u~2.base, ~#gf_u~2.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#3(~x, ~#gf_u~2.base, ~#gf_u~2.offset, 4bv32);call #t~mem10 := read~intINTTYPE4#3(~#gf_u~2.base, ~#gf_u~2.offset, 4bv32);~ix~1 := #t~mem10;call ULTIMATE.dealloc(~#gf_u~2.base, ~#gf_u~2.offset);havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc #t~mem10;" "assume !true;" "assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);" "assume ~bvslt~32(~j0~0, 23bv32);" "~j0~0 := ~bvsub~32(~bvand~32(255bv32, ~bvashr~32(~i0~0, 23bv32)), 127bv32);" "assume false;" "assume !false;" "assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#5(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4#5(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~i0~0 := #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;" "assume !true;" "~x := #in~x;~iptr.base, ~iptr.offset := #in~iptr.base, #in~iptr.offset;havoc ~i0~0;havoc ~j0~0;havoc ~i~0;" "assume true;" "~x := #in~x;#res := (if !~fp.eq~32(~x, ~x) then 1bv32 else 0bv32);" "assume true;" "assume 0bv1 == #valid[0bv32];assume ~bvult~32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1#0(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1#0(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32);~one_modf~0 := ~convertDOUBLEToFLOAT(currentRoundingMode, ~to_fp~64(currentRoundingMode, 1.0));" "assume true;" "SUMMARY for call #t~ret17 := main(); srcloc: L-1" "SUMMARY for call ULTIMATE.init(); srcloc: ULTIMATE.startENTRY" "assume true;" }, returnAlphabet = {"#80#return;" "#82#return;" "#84#return;" "#86#return;" "#88#return;" }, states = {"CountingPredicate [underlying: 43#L88true, annotation: [8, 0]]" "CountingPredicate [underlying: 29#modf_floatENTRYtrue, annotation: [1, 0]]" "CountingPredicate [underlying: 19#mainEXITtrue, annotation: [8, 0]]" "CountingPredicate [underlying: 26#L-1true, annotation: [0, 0]]" "CountingPredicate [underlying: 14#Loop~5true, annotation: [3, 0]]" "CountingPredicate [underlying: 22#L84true, annotation: [6, 0]]" "CountingPredicate [underlying: 8#L37true, annotation: [2, 0]]" "CountingPredicate [underlying: 19#mainEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 37#ULTIMATE.startENTRYtrue, annotation: [0, 0]]" "CountingPredicate [underlying: 16#ULTIMATE.initFINALtrue, annotation: [0, 0]]" "CountingPredicate [underlying: 22#L84true, annotation: [2, 0]]" "CountingPredicate [underlying: 31#L34-1true, annotation: [2, 0]]" "CountingPredicate [underlying: 41#Loop~4true, annotation: [2, 0]]" "CountingPredicate [underlying: 36#ULTIMATE.initENTRYtrue, annotation: [0, 0]]" "CountingPredicate [underlying: 6#L70true, annotation: [5, 0]]" "CountingPredicate [underlying: 19#mainEXITtrue, annotation: [10, 0]]" "CountingPredicate [underlying: 43#L88true, annotation: [2, 0]]" "CountingPredicate [underlying: 19#mainEXITtrue, annotation: [12, 0]]" "CountingPredicate [underlying: 27#L65true, annotation: [4, 0]]" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [12, 0]]" "CountingPredicate [underlying: 5#L23true, annotation: [2, 0]]" "CountingPredicate [underlying: 34#isnan_floatENTRYtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 13#L89true, annotation: [8, 0]]" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [10, 0]]" "CountingPredicate [underlying: 13#L89true, annotation: [12, 0]]" "CountingPredicate [underlying: 13#L89true, annotation: [2, 0]]" "CountingPredicate [underlying: 28#ULTIMATE.initEXITtrue, annotation: [0, 0]]" "CountingPredicate [underlying: 35#L26true, annotation: [2, 0]]" "CountingPredicate [underlying: 17#Loop~3true, annotation: [2, 0]]" "CountingPredicate [underlying: 30#L47true, annotation: [2, 0]]" "CountingPredicate [underlying: 33#modf_floatFINALtrue, annotation: [5, 0]]" "CountingPredicate [underlying: 47#L87-2true, annotation: [8, 0]]" "CountingPredicate [underlying: 24#L84-1true, annotation: [0, 0]]" "CountingPredicate [underlying: 32#Loop~2true, annotation: [2, 0]]" "CountingPredicate [underlying: 42#L91true, annotation: [2, 0]]" "CountingPredicate [underlying: 15#L87-5true, annotation: [6, 0]]" "CountingPredicate [underlying: 42#L91true, annotation: [8, 0]]" "CountingPredicate [underlying: 39#L87true, annotation: [10, 0]]" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 47#L87-2true, annotation: [2, 0]]" "CountingPredicate [underlying: 50#L42true, annotation: [2, 0]]" "CountingPredicate [underlying: 39#L87true, annotation: [8, 0]]" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [8, 0]]" "CountingPredicate [underlying: 42#L91true, annotation: [10, 0]]" "CountingPredicate [underlying: 39#L87true, annotation: [2, 0]]" "CountingPredicate [underlying: 15#L87-5true, annotation: [2, 0]]" "CountingPredicate [underlying: 46#modf_floatEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 23#isnan_floatFINALtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 9#L87-3true, annotation: [2, 0]]" "CountingPredicate [underlying: 43#L88true, annotation: [11, 0]]" "CountingPredicate [underlying: 3#Loop~0true, annotation: [1, 0]]" "CountingPredicate [underlying: 34#isnan_floatENTRYtrue, annotation: [7, 0]]" "CountingPredicate [underlying: 34#isnan_floatENTRYtrue, annotation: [9, 0]]" "CountingPredicate [underlying: 10#L24true, annotation: [2, 0]]" "CountingPredicate [underlying: 38#isnan_floatEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 40#L31true, annotation: [2, 0]]" "CountingPredicate [underlying: 11#L25true, annotation: [2, 0]]" "CountingPredicate [underlying: 4#L54-1true, annotation: [2, 0]]" "CountingPredicate [underlying: 18#mainErr0ASSERT_VIOLATIONERROR_FUNCTIONtrue, annotation: [12, 0]]" "CountingPredicate [underlying: 25#L87-1true, annotation: [2, 0]]" "CountingPredicate [underlying: 12#mainENTRYtrue, annotation: [0, 0]]" "CountingPredicate [underlying: 9#L87-3true, annotation: [8, 0]]" "CountingPredicate [underlying: 18#mainErr0ASSERT_VIOLATIONERROR_FUNCTIONtrue, annotation: [8, 0]]" "CountingPredicate [underlying: 18#mainErr0ASSERT_VIOLATIONERROR_FUNCTIONtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 20#L18true, annotation: [1, 0]]" "CountingPredicate [underlying: 33#modf_floatFINALtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 48#Loop~6true, annotation: [4, 0]]" "CountingPredicate [underlying: 38#isnan_floatEXITtrue, annotation: [7, 0]]" "CountingPredicate [underlying: 38#isnan_floatEXITtrue, annotation: [9, 0]]" "CountingPredicate [underlying: 25#L87-1true, annotation: [10, 0]]" "CountingPredicate [underlying: 45#mainFINALtrue, annotation: [8, 0]]" "CountingPredicate [underlying: 45#mainFINALtrue, annotation: [10, 0]]" "CountingPredicate [underlying: 23#isnan_floatFINALtrue, annotation: [9, 0]]" "CountingPredicate [underlying: 7#L49true, annotation: [2, 0]]" "CountingPredicate [underlying: 23#isnan_floatFINALtrue, annotation: [7, 0]]" "CountingPredicate [underlying: 45#mainFINALtrue, annotation: [12, 0]]" "CountingPredicate [underlying: 51#ULTIMATE.startFINALtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 21#Loop~1true, annotation: [2, 0]]" "CountingPredicate [underlying: 44#L60true, annotation: [3, 0]]" "CountingPredicate [underlying: 49#L87-4true, annotation: [2, 0]]" "CountingPredicate [underlying: 51#ULTIMATE.startFINALtrue, annotation: [8, 0]]" "CountingPredicate [underlying: 45#mainFINALtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 51#ULTIMATE.startFINALtrue, annotation: [12, 0]]" "CountingPredicate [underlying: 46#modf_floatEXITtrue, annotation: [5, 0]]" "CountingPredicate [underlying: 49#L87-4true, annotation: [8, 0]]" "CountingPredicate [underlying: 51#ULTIMATE.startFINALtrue, annotation: [10, 0]]" }, initialStates = {"CountingPredicate [underlying: 37#ULTIMATE.startENTRYtrue, annotation: [0, 0]]" }, finalStates = {"CountingPredicate [underlying: 18#mainErr0ASSERT_VIOLATIONERROR_FUNCTIONtrue, annotation: [12, 0]]" }, callTransitions = { ("CountingPredicate [underlying: 26#L-1true, annotation: [0, 0]]" "call #t~ret17 := main();" "CountingPredicate [underlying: 12#mainENTRYtrue, annotation: [0, 0]]") ("CountingPredicate [underlying: 37#ULTIMATE.startENTRYtrue, annotation: [0, 0]]" "call ULTIMATE.init();" "CountingPredicate [underlying: 36#ULTIMATE.initENTRYtrue, annotation: [0, 0]]") ("CountingPredicate [underlying: 47#L87-2true, annotation: [8, 0]]" "call #t~ret15 := isnan_float(~res~0);" "CountingPredicate [underlying: 34#isnan_floatENTRYtrue, annotation: [9, 0]]") ("CountingPredicate [underlying: 24#L84-1true, annotation: [0, 0]]" "call #t~ret12 := modf_float(~x~0, ~#iptr~0.base, ~#iptr~0.offset);" "CountingPredicate [underlying: 29#modf_floatENTRYtrue, annotation: [1, 0]]") ("CountingPredicate [underlying: 15#L87-5true, annotation: [6, 0]]" "call #t~ret14 := isnan_float(#t~mem13);" "CountingPredicate [underlying: 34#isnan_floatENTRYtrue, annotation: [7, 0]]") ("CountingPredicate [underlying: 47#L87-2true, annotation: [2, 0]]" "call #t~ret15 := isnan_float(~res~0);" "CountingPredicate [underlying: 34#isnan_floatENTRYtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 15#L87-5true, annotation: [2, 0]]" "call #t~ret14 := isnan_float(#t~mem13);" "CountingPredicate [underlying: 34#isnan_floatENTRYtrue, annotation: [2, 0]]") }, internalTransitions = { ("CountingPredicate [underlying: 43#L88true, annotation: [8, 0]]" "assume false;" "CountingPredicate [underlying: 13#L89true, annotation: [8, 0]]") ("CountingPredicate [underlying: 43#L88true, annotation: [8, 0]]" "assume !false;" "CountingPredicate [underlying: 18#mainErr0ASSERT_VIOLATIONERROR_FUNCTIONtrue, annotation: [8, 0]]") ("CountingPredicate [underlying: 29#modf_floatENTRYtrue, annotation: [1, 0]]" "~x := #in~x;~iptr.base, ~iptr.offset := #in~iptr.base, #in~iptr.offset;havoc ~i0~0;havoc ~j0~0;havoc ~i~0;" "CountingPredicate [underlying: 20#L18true, annotation: [1, 0]]") ("CountingPredicate [underlying: 14#Loop~5true, annotation: [3, 0]]" "assume false;" "CountingPredicate [underlying: 44#L60true, annotation: [3, 0]]") ("CountingPredicate [underlying: 14#Loop~5true, annotation: [3, 0]]" "assume !false;" "CountingPredicate [underlying: 27#L65true, annotation: [4, 0]]") ("CountingPredicate [underlying: 22#L84true, annotation: [6, 0]]" "~res~0 := #t~ret12;havoc #t~ret12;call #t~mem13 := read~intFLOATTYPE4#1(~#iptr~0.base, ~#iptr~0.offset, 4bv32);" "CountingPredicate [underlying: 15#L87-5true, annotation: [6, 0]]") ("CountingPredicate [underlying: 8#L37true, annotation: [2, 0]]" "assume true;call ~#gf_u~1.base, ~#gf_u~1.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#7(~x, ~#gf_u~1.base, ~#gf_u~1.offset, 4bv32);call #t~mem6 := read~intINTTYPE4#7(~#gf_u~1.base, ~#gf_u~1.offset, 4bv32);~ix~0 := #t~mem6;call ULTIMATE.dealloc(~#gf_u~1.base, ~#gf_u~1.offset);havoc ~#gf_u~1.base, ~#gf_u~1.offset;havoc ~#gf_u~1.base, ~#gf_u~1.offset;havoc #t~mem6;" "CountingPredicate [underlying: 32#Loop~2true, annotation: [2, 0]]") ("CountingPredicate [underlying: 8#L37true, annotation: [2, 0]]" "assume !true;" "CountingPredicate [underlying: 50#L42true, annotation: [2, 0]]") ("CountingPredicate [underlying: 16#ULTIMATE.initFINALtrue, annotation: [0, 0]]" "assume true;" "CountingPredicate [underlying: 28#ULTIMATE.initEXITtrue, annotation: [0, 0]]") ("CountingPredicate [underlying: 22#L84true, annotation: [2, 0]]" "~res~0 := #t~ret12;havoc #t~ret12;call #t~mem13 := read~intFLOATTYPE4#1(~#iptr~0.base, ~#iptr~0.offset, 4bv32);" "CountingPredicate [underlying: 15#L87-5true, annotation: [2, 0]]") ("CountingPredicate [underlying: 31#L34-1true, annotation: [2, 0]]" "assume 0bv32 == ~bvand~32(~i0~0, ~i~0);havoc ~ix~0;call write~intFLOATTYPE4#1(~x, ~iptr.base, ~iptr.offset, 4bv32);" "CountingPredicate [underlying: 8#L37true, annotation: [2, 0]]") ("CountingPredicate [underlying: 31#L34-1true, annotation: [2, 0]]" "assume !(0bv32 == ~bvand~32(~i0~0, ~i~0));" "CountingPredicate [underlying: 7#L49true, annotation: [2, 0]]") ("CountingPredicate [underlying: 41#Loop~4true, annotation: [2, 0]]" "assume false;" "CountingPredicate [underlying: 7#L49true, annotation: [2, 0]]") ("CountingPredicate [underlying: 41#Loop~4true, annotation: [2, 0]]" "assume !false;" "CountingPredicate [underlying: 4#L54-1true, annotation: [2, 0]]") ("CountingPredicate [underlying: 36#ULTIMATE.initENTRYtrue, annotation: [0, 0]]" "assume 0bv1 == #valid[0bv32];assume ~bvult~32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1#0(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1#0(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(20bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32);~one_modf~0 := ~convertDOUBLEToFLOAT(currentRoundingMode, ~to_fp~64(currentRoundingMode, 1.0));" "CountingPredicate [underlying: 16#ULTIMATE.initFINALtrue, annotation: [0, 0]]") ("CountingPredicate [underlying: 6#L70true, annotation: [5, 0]]" "#res := ~x;" "CountingPredicate [underlying: 33#modf_floatFINALtrue, annotation: [5, 0]]") ("CountingPredicate [underlying: 43#L88true, annotation: [2, 0]]" "assume false;" "CountingPredicate [underlying: 13#L89true, annotation: [2, 0]]") ("CountingPredicate [underlying: 43#L88true, annotation: [2, 0]]" "assume !false;" "CountingPredicate [underlying: 18#mainErr0ASSERT_VIOLATIONERROR_FUNCTIONtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 27#L65true, annotation: [4, 0]]" "assume true;call ~#sf_u~3.base, ~#sf_u~3.offset := #Ultimate.allocOnStack(4bv32);call write~intINTTYPE4#8(~bvand~32(2147483648bv32, ~ix~1), ~#sf_u~3.base, ~#sf_u~3.offset, 4bv32);call #t~mem11 := read~intFLOATTYPE4#8(~#sf_u~3.base, ~#sf_u~3.offset, 4bv32);~x := #t~mem11;call ULTIMATE.dealloc(~#sf_u~3.base, ~#sf_u~3.offset);havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc #t~mem11;" "CountingPredicate [underlying: 48#Loop~6true, annotation: [4, 0]]") ("CountingPredicate [underlying: 27#L65true, annotation: [4, 0]]" "assume !true;" "CountingPredicate [underlying: 6#L70true, annotation: [5, 0]]") ("CountingPredicate [underlying: 5#L23true, annotation: [2, 0]]" "~j0~0 := ~bvsub~32(~bvand~32(255bv32, ~bvashr~32(~i0~0, 23bv32)), 127bv32);" "CountingPredicate [underlying: 10#L24true, annotation: [2, 0]]") ("CountingPredicate [underlying: 34#isnan_floatENTRYtrue, annotation: [2, 0]]" "~x := #in~x;#res := (if !~fp.eq~32(~x, ~x) then 1bv32 else 0bv32);" "CountingPredicate [underlying: 23#isnan_floatFINALtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 13#L89true, annotation: [8, 0]]" "#res := 1bv32;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "CountingPredicate [underlying: 45#mainFINALtrue, annotation: [8, 0]]") ("CountingPredicate [underlying: 13#L89true, annotation: [12, 0]]" "#res := 1bv32;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "CountingPredicate [underlying: 45#mainFINALtrue, annotation: [12, 0]]") ("CountingPredicate [underlying: 13#L89true, annotation: [2, 0]]" "#res := 1bv32;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "CountingPredicate [underlying: 45#mainFINALtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 35#L26true, annotation: [2, 0]]" "assume true;call ~#sf_u~0.base, ~#sf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intINTTYPE4#2(~bvand~32(2147483648bv32, ~i0~0), ~#sf_u~0.base, ~#sf_u~0.offset, 4bv32);call #t~mem5 := read~intFLOATTYPE4#2(~#sf_u~0.base, ~#sf_u~0.offset, 4bv32);call write~intFLOATTYPE4#1(#t~mem5, ~iptr.base, ~iptr.offset, 4bv32);call ULTIMATE.dealloc(~#sf_u~0.base, ~#sf_u~0.offset);havoc ~#sf_u~0.base, ~#sf_u~0.offset;havoc ~#sf_u~0.base, ~#sf_u~0.offset;havoc #t~mem5;" "CountingPredicate [underlying: 21#Loop~1true, annotation: [2, 0]]") ("CountingPredicate [underlying: 35#L26true, annotation: [2, 0]]" "assume !true;" "CountingPredicate [underlying: 40#L31true, annotation: [2, 0]]") ("CountingPredicate [underlying: 17#Loop~3true, annotation: [2, 0]]" "assume false;" "CountingPredicate [underlying: 50#L42true, annotation: [2, 0]]") ("CountingPredicate [underlying: 17#Loop~3true, annotation: [2, 0]]" "assume !false;" "CountingPredicate [underlying: 30#L47true, annotation: [2, 0]]") ("CountingPredicate [underlying: 30#L47true, annotation: [2, 0]]" "#res := ~x;" "CountingPredicate [underlying: 33#modf_floatFINALtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 33#modf_floatFINALtrue, annotation: [5, 0]]" "assume true;" "CountingPredicate [underlying: 46#modf_floatEXITtrue, annotation: [5, 0]]") ("CountingPredicate [underlying: 32#Loop~2true, annotation: [2, 0]]" "assume false;" "CountingPredicate [underlying: 8#L37true, annotation: [2, 0]]") ("CountingPredicate [underlying: 32#Loop~2true, annotation: [2, 0]]" "assume !false;" "CountingPredicate [underlying: 50#L42true, annotation: [2, 0]]") ("CountingPredicate [underlying: 42#L91true, annotation: [2, 0]]" "#res := 0bv32;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "CountingPredicate [underlying: 45#mainFINALtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 42#L91true, annotation: [8, 0]]" "#res := 0bv32;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "CountingPredicate [underlying: 45#mainFINALtrue, annotation: [8, 0]]") ("CountingPredicate [underlying: 39#L87true, annotation: [10, 0]]" "assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;" "CountingPredicate [underlying: 43#L88true, annotation: [11, 0]]") ("CountingPredicate [underlying: 39#L87true, annotation: [10, 0]]" "assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;" "CountingPredicate [underlying: 42#L91true, annotation: [10, 0]]") ("CountingPredicate [underlying: 50#L42true, annotation: [2, 0]]" "assume true;call ~#sf_u~1.base, ~#sf_u~1.offset := #Ultimate.allocOnStack(4bv32);call write~intINTTYPE4#4(~bvand~32(2147483648bv32, ~ix~0), ~#sf_u~1.base, ~#sf_u~1.offset, 4bv32);call #t~mem7 := read~intFLOATTYPE4#4(~#sf_u~1.base, ~#sf_u~1.offset, 4bv32);~x := #t~mem7;call ULTIMATE.dealloc(~#sf_u~1.base, ~#sf_u~1.offset);havoc ~#sf_u~1.base, ~#sf_u~1.offset;havoc ~#sf_u~1.base, ~#sf_u~1.offset;havoc #t~mem7;" "CountingPredicate [underlying: 17#Loop~3true, annotation: [2, 0]]") ("CountingPredicate [underlying: 50#L42true, annotation: [2, 0]]" "assume !true;" "CountingPredicate [underlying: 30#L47true, annotation: [2, 0]]") ("CountingPredicate [underlying: 39#L87true, annotation: [8, 0]]" "assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;" "CountingPredicate [underlying: 43#L88true, annotation: [8, 0]]") ("CountingPredicate [underlying: 39#L87true, annotation: [8, 0]]" "assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;" "CountingPredicate [underlying: 42#L91true, annotation: [8, 0]]") ("CountingPredicate [underlying: 42#L91true, annotation: [10, 0]]" "#res := 0bv32;call ULTIMATE.dealloc(~#iptr~0.base, ~#iptr~0.offset);havoc ~#iptr~0.base, ~#iptr~0.offset;" "CountingPredicate [underlying: 45#mainFINALtrue, annotation: [10, 0]]") ("CountingPredicate [underlying: 39#L87true, annotation: [2, 0]]" "assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;" "CountingPredicate [underlying: 43#L88true, annotation: [2, 0]]") ("CountingPredicate [underlying: 39#L87true, annotation: [2, 0]]" "assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;" "CountingPredicate [underlying: 42#L91true, annotation: [2, 0]]") ("CountingPredicate [underlying: 23#isnan_floatFINALtrue, annotation: [2, 0]]" "assume true;" "CountingPredicate [underlying: 38#isnan_floatEXITtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 9#L87-3true, annotation: [2, 0]]" "assume #t~short16;" "CountingPredicate [underlying: 47#L87-2true, annotation: [2, 0]]") ("CountingPredicate [underlying: 9#L87-3true, annotation: [2, 0]]" "assume !#t~short16;" "CountingPredicate [underlying: 39#L87true, annotation: [2, 0]]") ("CountingPredicate [underlying: 43#L88true, annotation: [11, 0]]" "assume false;" "CountingPredicate [underlying: 13#L89true, annotation: [12, 0]]") ("CountingPredicate [underlying: 43#L88true, annotation: [11, 0]]" "assume !false;" "CountingPredicate [underlying: 18#mainErr0ASSERT_VIOLATIONERROR_FUNCTIONtrue, annotation: [12, 0]]") ("CountingPredicate [underlying: 3#Loop~0true, annotation: [1, 0]]" "assume false;" "CountingPredicate [underlying: 20#L18true, annotation: [1, 0]]") ("CountingPredicate [underlying: 3#Loop~0true, annotation: [1, 0]]" "assume !false;" "CountingPredicate [underlying: 5#L23true, annotation: [2, 0]]") ("CountingPredicate [underlying: 34#isnan_floatENTRYtrue, annotation: [7, 0]]" "~x := #in~x;#res := (if !~fp.eq~32(~x, ~x) then 1bv32 else 0bv32);" "CountingPredicate [underlying: 23#isnan_floatFINALtrue, annotation: [7, 0]]") ("CountingPredicate [underlying: 34#isnan_floatENTRYtrue, annotation: [9, 0]]" "~x := #in~x;#res := (if !~fp.eq~32(~x, ~x) then 1bv32 else 0bv32);" "CountingPredicate [underlying: 23#isnan_floatFINALtrue, annotation: [9, 0]]") ("CountingPredicate [underlying: 10#L24true, annotation: [2, 0]]" "assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);" "CountingPredicate [underlying: 44#L60true, annotation: [3, 0]]") ("CountingPredicate [underlying: 10#L24true, annotation: [2, 0]]" "assume ~bvslt~32(~j0~0, 23bv32);" "CountingPredicate [underlying: 11#L25true, annotation: [2, 0]]") ("CountingPredicate [underlying: 40#L31true, annotation: [2, 0]]" "#res := ~x;" "CountingPredicate [underlying: 33#modf_floatFINALtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 11#L25true, annotation: [2, 0]]" "assume !~bvslt~32(~j0~0, 0bv32);~i~0 := ~bvashr~32(8388607bv32, ~j0~0);" "CountingPredicate [underlying: 31#L34-1true, annotation: [2, 0]]") ("CountingPredicate [underlying: 11#L25true, annotation: [2, 0]]" "assume ~bvslt~32(~j0~0, 0bv32);" "CountingPredicate [underlying: 35#L26true, annotation: [2, 0]]") ("CountingPredicate [underlying: 4#L54-1true, annotation: [2, 0]]" "call #t~mem9 := read~intFLOATTYPE4#1(~iptr.base, ~iptr.offset, 4bv32);#res := ~fp.sub~32(currentRoundingMode, ~x, #t~mem9);havoc #t~mem9;" "CountingPredicate [underlying: 33#modf_floatFINALtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 25#L87-1true, annotation: [2, 0]]" "#t~short16 := 0bv32 == #t~ret15;" "CountingPredicate [underlying: 39#L87true, annotation: [2, 0]]") ("CountingPredicate [underlying: 12#mainENTRYtrue, annotation: [0, 0]]" "~x~0 := ~fp.div~32(currentRoundingMode, ~Pluszero~32(), ~Pluszero~32());call ~#iptr~0.base, ~#iptr~0.offset := #Ultimate.allocOnStack(4bv32);" "CountingPredicate [underlying: 24#L84-1true, annotation: [0, 0]]") ("CountingPredicate [underlying: 9#L87-3true, annotation: [8, 0]]" "assume #t~short16;" "CountingPredicate [underlying: 47#L87-2true, annotation: [8, 0]]") ("CountingPredicate [underlying: 9#L87-3true, annotation: [8, 0]]" "assume !#t~short16;" "CountingPredicate [underlying: 39#L87true, annotation: [8, 0]]") ("CountingPredicate [underlying: 20#L18true, annotation: [1, 0]]" "assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#5(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4#5(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~i0~0 := #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;" "CountingPredicate [underlying: 3#Loop~0true, annotation: [1, 0]]") ("CountingPredicate [underlying: 20#L18true, annotation: [1, 0]]" "assume !true;" "CountingPredicate [underlying: 5#L23true, annotation: [2, 0]]") ("CountingPredicate [underlying: 33#modf_floatFINALtrue, annotation: [2, 0]]" "assume true;" "CountingPredicate [underlying: 46#modf_floatEXITtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 48#Loop~6true, annotation: [4, 0]]" "assume false;" "CountingPredicate [underlying: 27#L65true, annotation: [4, 0]]") ("CountingPredicate [underlying: 48#Loop~6true, annotation: [4, 0]]" "assume !false;" "CountingPredicate [underlying: 6#L70true, annotation: [5, 0]]") ("CountingPredicate [underlying: 25#L87-1true, annotation: [10, 0]]" "#t~short16 := 0bv32 == #t~ret15;" "CountingPredicate [underlying: 39#L87true, annotation: [10, 0]]") ("CountingPredicate [underlying: 45#mainFINALtrue, annotation: [8, 0]]" "assume true;" "CountingPredicate [underlying: 19#mainEXITtrue, annotation: [8, 0]]") ("CountingPredicate [underlying: 45#mainFINALtrue, annotation: [10, 0]]" "assume true;" "CountingPredicate [underlying: 19#mainEXITtrue, annotation: [10, 0]]") ("CountingPredicate [underlying: 23#isnan_floatFINALtrue, annotation: [9, 0]]" "assume true;" "CountingPredicate [underlying: 38#isnan_floatEXITtrue, annotation: [9, 0]]") ("CountingPredicate [underlying: 7#L49true, annotation: [2, 0]]" "assume true;call ~#sf_u~2.base, ~#sf_u~2.offset := #Ultimate.allocOnStack(4bv32);call write~intINTTYPE4#6(~bvand~32(~i0~0, ~bvnot~32(~i~0)), ~#sf_u~2.base, ~#sf_u~2.offset, 4bv32);call #t~mem8 := read~intFLOATTYPE4#6(~#sf_u~2.base, ~#sf_u~2.offset, 4bv32);call write~intFLOATTYPE4#1(#t~mem8, ~iptr.base, ~iptr.offset, 4bv32);call ULTIMATE.dealloc(~#sf_u~2.base, ~#sf_u~2.offset);havoc ~#sf_u~2.base, ~#sf_u~2.offset;havoc ~#sf_u~2.base, ~#sf_u~2.offset;havoc #t~mem8;" "CountingPredicate [underlying: 41#Loop~4true, annotation: [2, 0]]") ("CountingPredicate [underlying: 7#L49true, annotation: [2, 0]]" "assume !true;" "CountingPredicate [underlying: 4#L54-1true, annotation: [2, 0]]") ("CountingPredicate [underlying: 23#isnan_floatFINALtrue, annotation: [7, 0]]" "assume true;" "CountingPredicate [underlying: 38#isnan_floatEXITtrue, annotation: [7, 0]]") ("CountingPredicate [underlying: 45#mainFINALtrue, annotation: [12, 0]]" "assume true;" "CountingPredicate [underlying: 19#mainEXITtrue, annotation: [12, 0]]") ("CountingPredicate [underlying: 51#ULTIMATE.startFINALtrue, annotation: [2, 0]]" "assume true;" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 21#Loop~1true, annotation: [2, 0]]" "assume false;" "CountingPredicate [underlying: 35#L26true, annotation: [2, 0]]") ("CountingPredicate [underlying: 21#Loop~1true, annotation: [2, 0]]" "assume !false;" "CountingPredicate [underlying: 40#L31true, annotation: [2, 0]]") ("CountingPredicate [underlying: 44#L60true, annotation: [3, 0]]" "assume true;call ~#gf_u~2.base, ~#gf_u~2.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#3(~x, ~#gf_u~2.base, ~#gf_u~2.offset, 4bv32);call #t~mem10 := read~intINTTYPE4#3(~#gf_u~2.base, ~#gf_u~2.offset, 4bv32);~ix~1 := #t~mem10;call ULTIMATE.dealloc(~#gf_u~2.base, ~#gf_u~2.offset);havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc #t~mem10;" "CountingPredicate [underlying: 14#Loop~5true, annotation: [3, 0]]") ("CountingPredicate [underlying: 44#L60true, annotation: [3, 0]]" "assume !true;" "CountingPredicate [underlying: 27#L65true, annotation: [4, 0]]") ("CountingPredicate [underlying: 49#L87-4true, annotation: [2, 0]]" "#t~short16 := 0bv32 != #t~ret14;" "CountingPredicate [underlying: 9#L87-3true, annotation: [2, 0]]") ("CountingPredicate [underlying: 51#ULTIMATE.startFINALtrue, annotation: [8, 0]]" "assume true;" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [8, 0]]") ("CountingPredicate [underlying: 45#mainFINALtrue, annotation: [2, 0]]" "assume true;" "CountingPredicate [underlying: 19#mainEXITtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 51#ULTIMATE.startFINALtrue, annotation: [12, 0]]" "assume true;" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [12, 0]]") ("CountingPredicate [underlying: 49#L87-4true, annotation: [8, 0]]" "#t~short16 := 0bv32 != #t~ret14;" "CountingPredicate [underlying: 9#L87-3true, annotation: [8, 0]]") ("CountingPredicate [underlying: 51#ULTIMATE.startFINALtrue, annotation: [10, 0]]" "assume true;" "CountingPredicate [underlying: 2#ULTIMATE.startEXITtrue, annotation: [10, 0]]") }, returnTransitions = { ("CountingPredicate [underlying: 19#mainEXITtrue, annotation: [8, 0]]" "CountingPredicate [underlying: 26#L-1true, annotation: [0, 0]]" "#86#return;" "CountingPredicate [underlying: 51#ULTIMATE.startFINALtrue, annotation: [8, 0]]") ("CountingPredicate [underlying: 19#mainEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 26#L-1true, annotation: [0, 0]]" "#86#return;" "CountingPredicate [underlying: 51#ULTIMATE.startFINALtrue, annotation: [2, 0]]") ("CountingPredicate [underlying: 19#mainEXITtrue, annotation: [10, 0]]" "CountingPredicate [underlying: 26#L-1true, annotation: [0, 0]]" "#86#return;" "CountingPredicate [underlying: 51#ULTIMATE.startFINALtrue, annotation: [10, 0]]") ("CountingPredicate [underlying: 19#mainEXITtrue, annotation: [12, 0]]" "CountingPredicate [underlying: 26#L-1true, annotation: [0, 0]]" "#86#return;" "CountingPredicate [underlying: 51#ULTIMATE.startFINALtrue, annotation: [12, 0]]") ("CountingPredicate [underlying: 28#ULTIMATE.initEXITtrue, annotation: [0, 0]]" "CountingPredicate [underlying: 37#ULTIMATE.startENTRYtrue, annotation: [0, 0]]" "#88#return;" "CountingPredicate [underlying: 26#L-1true, annotation: [0, 0]]") ("CountingPredicate [underlying: 46#modf_floatEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 24#L84-1true, annotation: [0, 0]]" "#84#return;" "CountingPredicate [underlying: 22#L84true, annotation: [2, 0]]") ("CountingPredicate [underlying: 38#isnan_floatEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 15#L87-5true, annotation: [2, 0]]" "#82#return;" "CountingPredicate [underlying: 49#L87-4true, annotation: [2, 0]]") ("CountingPredicate [underlying: 38#isnan_floatEXITtrue, annotation: [2, 0]]" "CountingPredicate [underlying: 47#L87-2true, annotation: [2, 0]]" "#80#return;" "CountingPredicate [underlying: 25#L87-1true, annotation: [2, 0]]") ("CountingPredicate [underlying: 38#isnan_floatEXITtrue, annotation: [7, 0]]" "CountingPredicate [underlying: 15#L87-5true, annotation: [6, 0]]" "#82#return;" "CountingPredicate [underlying: 49#L87-4true, annotation: [8, 0]]") ("CountingPredicate [underlying: 38#isnan_floatEXITtrue, annotation: [9, 0]]" "CountingPredicate [underlying: 47#L87-2true, annotation: [8, 0]]" "#80#return;" "CountingPredicate [underlying: 25#L87-1true, annotation: [10, 0]]") ("CountingPredicate [underlying: 46#modf_floatEXITtrue, annotation: [5, 0]]" "CountingPredicate [underlying: 24#L84-1true, annotation: [0, 0]]" "#84#return;" "CountingPredicate [underlying: 22#L84true, annotation: [6, 0]]") } ); [2024-08-07 14:04:42,721 INFO L82 GeneralOperation]: Start removeDeadEnds. Operand has 50 states, 39 states have (on average 1.5128205128205128) internal successors, (59), 40 states have internal predecessors, (59), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2024-08-07 14:04:42,723 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:42,723 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:42,723 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#5(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4#5(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~i0~0 := #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;, isNegated false [2024-08-07 14:04:42,723 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:42,724 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:42,724 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:42,725 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#5(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4#5(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~i0~0 := #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;, isNegated false [2024-08-07 14:04:42,725 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:42,726 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:42,726 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:42,726 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#5(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);call #t~mem4 := read~intINTTYPE4#5(~#gf_u~0.base, ~#gf_u~0.offset, 4bv32);~i0~0 := #t~mem4;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc ~#gf_u~0.base, ~#gf_u~0.offset;havoc #t~mem4;, isNegated false [2024-08-07 14:04:42,726 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:42,727 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,727 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,727 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,727 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,728 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:42,728 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:42,728 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~2.base, ~#gf_u~2.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#3(~x, ~#gf_u~2.base, ~#gf_u~2.offset, 4bv32);call #t~mem10 := read~intINTTYPE4#3(~#gf_u~2.base, ~#gf_u~2.offset, 4bv32);~ix~1 := #t~mem10;call ULTIMATE.dealloc(~#gf_u~2.base, ~#gf_u~2.offset);havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc #t~mem10;, isNegated false [2024-08-07 14:04:42,728 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:42,729 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,729 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,730 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:42,730 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:42,730 WARN L283 nessProductAutomaton]: assume true;call ~#gf_u~2.base, ~#gf_u~2.offset := #Ultimate.allocOnStack(4bv32);call write~intFLOATTYPE4#3(~x, ~#gf_u~2.base, ~#gf_u~2.offset, 4bv32);call #t~mem10 := read~intINTTYPE4#3(~#gf_u~2.base, ~#gf_u~2.offset, 4bv32);~ix~1 := #t~mem10;call ULTIMATE.dealloc(~#gf_u~2.base, ~#gf_u~2.offset);havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc ~#gf_u~2.base, ~#gf_u~2.offset;havoc #t~mem10;, isNegated false [2024-08-07 14:04:42,731 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:42,731 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:42,731 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:42,732 WARN L283 nessProductAutomaton]: assume true;call ~#sf_u~3.base, ~#sf_u~3.offset := #Ultimate.allocOnStack(4bv32);call write~intINTTYPE4#8(~bvand~32(2147483648bv32, ~ix~1), ~#sf_u~3.base, ~#sf_u~3.offset, 4bv32);call #t~mem11 := read~intFLOATTYPE4#8(~#sf_u~3.base, ~#sf_u~3.offset, 4bv32);~x := #t~mem11;call ULTIMATE.dealloc(~#sf_u~3.base, ~#sf_u~3.offset);havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc #t~mem11;, isNegated false [2024-08-07 14:04:42,732 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:42,732 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,733 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,733 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,734 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,734 WARN L283 nessProductAutomaton]: assume false;, isNegated false [2024-08-07 14:04:42,734 WARN L283 nessProductAutomaton]: assume !false;, isNegated true [2024-08-07 14:04:42,734 WARN L283 nessProductAutomaton]: assume true;call ~#sf_u~3.base, ~#sf_u~3.offset := #Ultimate.allocOnStack(4bv32);call write~intINTTYPE4#8(~bvand~32(2147483648bv32, ~ix~1), ~#sf_u~3.base, ~#sf_u~3.offset, 4bv32);call #t~mem11 := read~intFLOATTYPE4#8(~#sf_u~3.base, ~#sf_u~3.offset, 4bv32);~x := #t~mem11;call ULTIMATE.dealloc(~#sf_u~3.base, ~#sf_u~3.offset);havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc ~#sf_u~3.base, ~#sf_u~3.offset;havoc #t~mem11;, isNegated false [2024-08-07 14:04:42,734 WARN L283 nessProductAutomaton]: assume !true;, isNegated true [2024-08-07 14:04:42,735 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,735 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,736 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,736 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,736 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,737 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,737 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,737 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,738 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,739 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,739 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,739 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,739 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,740 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,740 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,741 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,741 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,741 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,743 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,743 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,743 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,744 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,744 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,744 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,746 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,746 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,746 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,749 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,750 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,750 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,750 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,750 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,751 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,751 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,751 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,751 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,752 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,752 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,752 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,752 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,752 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,753 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,753 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,753 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,754 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,754 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,755 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,776 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,777 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,777 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,777 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,777 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,778 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,778 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,778 WARN L283 nessProductAutomaton]: assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated false [2024-08-07 14:04:42,778 WARN L283 nessProductAutomaton]: assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated true [2024-08-07 14:04:42,779 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,779 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,779 WARN L283 nessProductAutomaton]: assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated false [2024-08-07 14:04:42,779 WARN L283 nessProductAutomaton]: assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated true [2024-08-07 14:04:42,780 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,780 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,780 WARN L283 nessProductAutomaton]: assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated false [2024-08-07 14:04:42,780 WARN L283 nessProductAutomaton]: assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated true [2024-08-07 14:04:42,780 WARN L283 nessProductAutomaton]: assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated false [2024-08-07 14:04:42,781 WARN L283 nessProductAutomaton]: assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated true [2024-08-07 14:04:42,781 WARN L283 nessProductAutomaton]: assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated false [2024-08-07 14:04:42,781 WARN L283 nessProductAutomaton]: assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated true [2024-08-07 14:04:42,781 WARN L283 nessProductAutomaton]: assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated false [2024-08-07 14:04:42,781 WARN L283 nessProductAutomaton]: assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated true [2024-08-07 14:04:42,782 WARN L283 nessProductAutomaton]: assume #t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated false [2024-08-07 14:04:42,783 WARN L283 nessProductAutomaton]: assume !#t~short16;havoc #t~mem13;havoc #t~ret14;havoc #t~ret15;havoc #t~short16;, isNegated true [2024-08-07 14:04:42,783 WARN L283 nessProductAutomaton]: assume !~bvslt~32(~j0~0, 23bv32);havoc ~ix~1;call write~intFLOATTYPE4#1(~fp.mul~32(currentRoundingMode, ~x, ~one_modf~0), ~iptr.base, ~iptr.offset, 4bv32);, isNegated true [2024-08-07 14:04:42,783 WARN L283 nessProductAutomaton]: assume ~bvslt~32(~j0~0, 23bv32);, isNegated false [2024-08-07 14:04:42,789 INFO L88 GeneralOperation]: Finished removeDeadEnds. Reduced from 86 states to 34 states. [2024-08-07 14:04:42,812 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-08-07 14:04:42,818 INFO L357 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, mHoare=false, 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;@5be6edef, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-08-07 14:04:42,818 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2024-08-07 14:04:42,821 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states. [2024-08-07 14:04:42,826 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2024-08-07 14:04:42,827 INFO L187 NwaCegarLoop]: Found error trace [2024-08-07 14:04:42,827 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-08-07 14:04:42,828 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting mainErr0ASSERT_VIOLATIONERROR_FUNCTION === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2024-08-07 14:04:42,834 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-07 14:04:42,834 INFO L85 PathProgramCache]: Analyzing trace with hash -1749449448, now seen corresponding path program 1 times [2024-08-07 14:04:42,847 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-08-07 14:04:42,848 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [740834840] [2024-08-07 14:04:42,848 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-07 14:04:42,849 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 [2024-08-07 14:04:42,849 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2024-08-07 14:04:42,852 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/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) [2024-08-07 14:04:42,854 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/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 [2024-08-07 14:04:43,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-07 14:04:43,035 INFO L262 TraceCheckSpWp]: Trace formula consists of 110 conjuncts, 1 conjunts are in the unsatisfiable core [2024-08-07 14:04:43,040 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-08-07 14:04:43,057 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-08-07 14:04:43,060 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-08-07 14:04:43,061 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-08-07 14:04:43,061 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [740834840] [2024-08-07 14:04:43,061 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [740834840] provided 1 perfect and 0 imperfect interpolant sequences [2024-08-07 14:04:43,062 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-08-07 14:04:43,062 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-08-07 14:04:43,064 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [615126615] [2024-08-07 14:04:43,065 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-08-07 14:04:43,069 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2024-08-07 14:04:43,070 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-08-07 14:04:43,104 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2024-08-07 14:04:43,105 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2024-08-07 14:04:43,107 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 2 states, 2 states have (on average 9.5) internal successors, (19), 2 states have internal predecessors, (19), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2024-08-07 14:04:43,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-08-07 14:04:43,114 INFO L93 Difference]: Finished difference Result 34 states and 33 transitions. [2024-08-07 14:04:43,115 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-08-07 14:04:43,117 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 9.5) internal successors, (19), 2 states have internal predecessors, (19), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2024-08-07 14:04:43,117 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2024-08-07 14:04:43,117 INFO L225 Difference]: With dead ends: 34 [2024-08-07 14:04:43,118 INFO L226 Difference]: Without dead ends: 34 [2024-08-07 14:04:43,119 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2024-08-07 14:04:43,122 INFO L413 NwaCegarLoop]: 31 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, 31 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 [2024-08-07 14:04:43,123 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2024-08-07 14:04:43,139 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2024-08-07 14:04:43,150 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2024-08-07 14:04:43,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 24 states have (on average 1.0) internal successors, (24), 24 states have internal predecessors, (24), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2024-08-07 14:04:43,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 33 transitions. [2024-08-07 14:04:43,153 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 33 transitions. Word has length 30 [2024-08-07 14:04:43,155 INFO L84 Accepts]: Finished accepts. word is rejected. [2024-08-07 14:04:43,155 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 33 transitions. [2024-08-07 14:04:43,155 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 9.5) internal successors, (19), 2 states have internal predecessors, (19), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2024-08-07 14:04:43,156 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 33 transitions. [2024-08-07 14:04:43,158 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2024-08-07 14:04:43,158 INFO L187 NwaCegarLoop]: Found error trace [2024-08-07 14:04:43,158 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-08-07 14:04:43,165 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/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 [2024-08-07 14:04:43,359 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/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 [2024-08-07 14:04:43,359 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting mainErr0ASSERT_VIOLATIONERROR_FUNCTION === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2024-08-07 14:04:43,360 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-07 14:04:43,360 INFO L85 PathProgramCache]: Analyzing trace with hash 1445378122, now seen corresponding path program 1 times [2024-08-07 14:04:43,360 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-08-07 14:04:43,361 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1838293000] [2024-08-07 14:04:43,361 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-07 14:04:43,361 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 [2024-08-07 14:04:43,361 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2024-08-07 14:04:43,362 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/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) [2024-08-07 14:04:43,364 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/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 [2024-08-07 14:04:43,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-08-07 14:04:43,598 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-08-07 14:04:43,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-08-07 14:04:43,773 INFO L130 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2024-08-07 14:04:43,774 INFO L360 BasicCegarLoop]: Counterexample is feasible [2024-08-07 14:04:43,777 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location mainErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2024-08-07 14:04:43,787 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/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 [2024-08-07 14:04:43,979 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/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 [2024-08-07 14:04:43,982 INFO L445 BasicCegarLoop]: Path program histogram: [1, 1] [2024-08-07 14:04:43,992 INFO L196 ceAbstractionStarter]: Computing trace abstraction results [2024-08-07 14:04:44,005 WARN L915 BoogieBacktranslator]: Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not [2024-08-07 14:04:44,009 WARN L915 BoogieBacktranslator]: Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not [2024-08-07 14:04:44,011 WARN L915 BoogieBacktranslator]: Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not [2024-08-07 14:04:44,012 WARN L915 BoogieBacktranslator]: Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not [2024-08-07 14:04:44,012 WARN L915 BoogieBacktranslator]: Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not [2024-08-07 14:04:44,012 WARN L915 BoogieBacktranslator]: Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not [2024-08-07 14:04:44,024 WARN L915 BoogieBacktranslator]: Unfinished Backtranslation: The program execution was not completely translated back. [2024-08-07 14:04:44,030 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.08 02:04:44 BoogieIcfgContainer [2024-08-07 14:04:44,031 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2024-08-07 14:04:44,031 INFO L158 Benchmark]: Toolchain (without parser) took 2685.73ms. Allocated memory is still 88.1MB. Free memory was 66.9MB in the beginning and 61.8MB in the end (delta: 5.1MB). Peak memory consumption was 40.2MB. Max. memory is 16.1GB. [2024-08-07 14:04:44,031 INFO L158 Benchmark]: Witness Parser took 1.38ms. Allocated memory is still 67.1MB. Free memory is still 35.7MB. There was no memory consumed. Max. memory is 16.1GB. [2024-08-07 14:04:44,032 INFO L158 Benchmark]: CDTParser took 0.17ms. Allocated memory is still 67.1MB. Free memory is still 48.2MB. There was no memory consumed. Max. memory is 16.1GB. [2024-08-07 14:04:44,032 INFO L158 Benchmark]: CACSL2BoogieTranslator took 342.50ms. Allocated memory is still 88.1MB. Free memory was 66.6MB in the beginning and 53.4MB in the end (delta: 13.2MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. [2024-08-07 14:04:44,033 INFO L158 Benchmark]: Boogie Preprocessor took 110.39ms. Allocated memory is still 88.1MB. Free memory was 53.4MB in the beginning and 49.9MB in the end (delta: 3.6MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2024-08-07 14:04:44,033 INFO L158 Benchmark]: IcfgBuilder took 761.68ms. Allocated memory is still 88.1MB. Free memory was 49.9MB in the beginning and 53.5MB in the end (delta: -3.6MB). Peak memory consumption was 15.2MB. Max. memory is 16.1GB. [2024-08-07 14:04:44,033 INFO L158 Benchmark]: TraceAbstraction took 1464.88ms. Allocated memory is still 88.1MB. Free memory was 52.9MB in the beginning and 61.8MB in the end (delta: -8.9MB). Peak memory consumption was 27.0MB. Max. memory is 16.1GB. [2024-08-07 14:04:44,035 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Witness Parser took 1.38ms. Allocated memory is still 67.1MB. Free memory is still 35.7MB. There was no memory consumed. Max. memory is 16.1GB. * CDTParser took 0.17ms. Allocated memory is still 67.1MB. Free memory is still 48.2MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 342.50ms. Allocated memory is still 88.1MB. Free memory was 66.6MB in the beginning and 53.4MB in the end (delta: 13.2MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. * Boogie Preprocessor took 110.39ms. Allocated memory is still 88.1MB. Free memory was 53.4MB in the beginning and 49.9MB in the end (delta: 3.6MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * IcfgBuilder took 761.68ms. Allocated memory is still 88.1MB. Free memory was 49.9MB in the beginning and 53.5MB in the end (delta: -3.6MB). Peak memory consumption was 15.2MB. Max. memory is 16.1GB. * TraceAbstraction took 1464.88ms. Allocated memory is still 88.1MB. Free memory was 52.9MB in the beginning and 61.8MB in the end (delta: -8.9MB). Peak memory consumption was 27.0MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expected StepInfo for loop construct to contain Condition, but it did not - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: The program execution was not completely translated back. * 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: 88]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L13] static const float one_modf = 1.0; VAL [\old(one_modf)=0.000000000000000000000000000000000000000000012611686178923354, one_modf=1.0] [L82] float x = 0.0f / 0.0f; [L83] float iptr; VAL [iptr={7:0}, one_modf=1.0, x=NaN] [L84] CALL, EXPR modf_float(x, &iptr) VAL [\old(iptr)={7:0}, \old(x)=NaN, one_modf=1.0] [L16] __int32_t i0, j0; [L17] __uint32_t i; VAL [\old(iptr)={7:0}, \old(x)=NaN, iptr={7:0}, one_modf=1.0, x=NaN] [L19] ieee_float_shape_type gf_u; [L20] gf_u.value = (x) [L21] EXPR gf_u.word [L21] (i0) = gf_u.word [L23] j0 = ((i0 >> 23) & 0xff) - 0x7f VAL [\old(iptr)={7:0}, \old(x)=NaN, i0=2143289344, iptr={7:0}, j0=128, one_modf=1.0, x=NaN] [L24] j0 < 23 [L58] __uint32_t ix; [L59] *iptr = x * one_modf VAL [\old(iptr)={7:0}, \old(x)=NaN, i0=2143289344, one_modf=1.0, x=NaN] [L61] ieee_float_shape_type gf_u; [L62] gf_u.value = (x) [L63] EXPR gf_u.word [L63] (ix) = gf_u.word [L66] ieee_float_shape_type sf_u; [L67] sf_u.word = (ix & 0x80000000) [L68] EXPR sf_u.value [L68] (x) = sf_u.value [L70] return x; VAL [\old(iptr)={7:0}, \old(x)=NaN, \result=0.0, i0=2143289344, ix=2143289344, one_modf=1.0] [L84] RET, EXPR modf_float(x, &iptr) VAL [iptr={7:0}, one_modf=1.0, x=NaN] [L84] float res = modf_float(x, &iptr); [L87] EXPR \read(iptr) VAL [one_modf=1.0, res=0.0, x=NaN] [L87] CALL, EXPR isnan_float(iptr) VAL [\old(x)=NaN, one_modf=1.0] [L75] return x != x; VAL [\old(x)=NaN, \result=1, one_modf=1.0] [L87] RET, EXPR isnan_float(iptr) VAL [one_modf=1.0, res=0.0, x=NaN] [L87] isnan_float(iptr) && !isnan_float(res) VAL [one_modf=1.0, res=0.0, x=NaN] [L87] isnan_float(iptr) && !isnan_float(res) VAL [one_modf=1.0, res=0.0, x=NaN] [L87] CALL, EXPR isnan_float(res) VAL [\old(x)=0.0, one_modf=1.0] [L75] return x != x; VAL [\old(x)=0.0, \result=0, one_modf=1.0] [L87] RET, EXPR isnan_float(res) VAL [one_modf=1.0, res=0.0, x=NaN] [L87] isnan_float(iptr) && !isnan_float(res) VAL [one_modf=1.0, res=0.0, x=NaN] [L87] isnan_float(iptr) && !isnan_float(res) [L88] reach_error() VAL [one_modf=1.0, res=0.0, x=NaN] - StatisticsResult: Ultimate Automizer benchmark data CFG has 7 procedures, 59 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 1.4s, OverallIterations: 2, TraceHistogramMax: 2, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.2s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 0 SdHoareTripleChecker+Valid, 0.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 0 mSDsluCounter, 31 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, 31 mSDtfsCounter, 0 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 29 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=34occurred in iteration=0, InterpolantAutomatonStates: 2, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 63 NumberOfCodeBlocks, 63 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 29 ConstructedInterpolants, 0 QuantifiedInterpolants, 29 SizeOfPredicates, 0 NumberOfNonLiveVariables, 110 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 3/3 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 RESULT: Ultimate proved your program to be incorrect! [2024-08-07 14:04:44,068 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Ended with 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