<div dir="ltr"><div>2025/10/29: 8:00 AM PDT/3:00 PM UTC</div><div class="gmail_quote gmail_quote_container"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div>[Please submit proposed changes to these minutes to Jerome or to the group. Revision changes appear at the bottom.]</div><div><br></div><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div><p class="MsoNormal"><b>Attendees</b></p><p class="MsoNormal"> Jim Thomas, Rajan Bhakta, Jerome Coonen, Damian McGuckin, David Hough, Joshua Cranmer</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><b>Updated agenda plus new items</b></p><p class="MsoNormal"> <a href="https://wiki.edg.com/pub/CFP/WebHome/CFP%20meeting%20agenda-20251029-update.pdf" target="_blank">https://wiki.edg.com/pub/CFP/WebHome/CFP%20meeting%20agenda-20251029-update.pdf</a> – These minutes should be read alongside the agenda, with its many reference links.</p><p class="MsoNormal">#2</p><p class="MsoNormal"><b><br></b></p><p class="MsoNormal"><b>Previous meeting notes</b></p><p class="MsoNormal"> <a href="https://wiki.edg.com/pub/CFP/WebHome/n3729.pdf" target="_blank">https://wiki.edg.com/pub/CFP/WebHome/n3729.pdf</a> 2025/10/15 Meeting notes</p><p class="MsoNormal"><br></p><p class="MsoNormal"><b>Study group logistics</b></p><p class="MsoNormal"> Next meeting: 12 November 2025, 8:00 AM PST/4:00 PM UTC</p><p class="MsoNormal"> ISO Zoom teleconference</p><p class="MsoNormal"> Please notify the group if this time slot does not work.</p><p class="MsoNormal"><br></p></div><div><p class="MsoNormal"></p><p class="MsoNormal"><b>C documents</b></p><p class="MsoNormal"> The latest C2Y draft is N3685 Sept. 2025 <a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3685.pdf" target="_blank">https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3685.pdf</a></p><p class="MsoNormal"> C23 has been published ISO/IEC 9899, available for purchase. <a href="https://www.iso.org/standard/82075.html" target="_blank">https://www.iso.org/standard/82075.html</a></p><p class="MsoNormal"> </p><p class="MsoNormal"><b>IEEE 754 liaison</b></p><p class="MsoNormal"> Damian: Further discussion of the wording re. formats. </p><p class="MsoNormal"> </p><p class="MsoNormal"><b>C++ liaison</b></p><p class="MsoNormal"> Joshua: Next meeting first week of 3 Nov. Two papers on floating point topics: defining fastmath semantics is hard and reproducibility.</p><p class="MsoNormal"><br></p><p class="MsoNormal"><b>WG14 update</b></p><p class="MsoNormal"> Rajan: Next meetings 2-6 Feb 2026.</p>
<p class="MsoNormal"> </p><p class="MsoNormal"><b>TS-4 and TS-5 revisions</b></p><p class="MsoNormal"> None.</p></div><div><p class="MsoNormal"><br></p><p class="MsoNormal"><b>News</b></p><p class="MsoNormal"> Jerome: 754-1984 40th anniversary meeting is hastily moved from Sat 1 Nov to Sun 2 Nov to avoid collision with Cal football game.</p><p class="MsoNormal"><br></p><p class="MsoNormal"><u></u></p><p class="MsoNormal"><b>Carryover action items from last meeting </b></p><p class="MsoNormal"> Jim & Jerome: Look further into the language around when errors "occur" in the sense of C2Y and how the setting of errno fits in. Draft a proposal, if appropriate.</p><p class="MsoNormal"> Done</p><p class="MsoNormal"><br></p><p class="MsoNormal"><b>Action items from last meeting </b></p></div><div> Rajan: Submit the proposal regarding translation time expression evaluation.</div><div> Done n3732</div><div><br></div> Jim: Submit the proposal regarding output bounds for math functions.</div><div> Done n3731<br><br></div><div dir="ltr"> Jim: Draft a proposal for the language of quantum exponent in nextafterdN.</div><div> Done</div><div dir="ltr"> <br> Damian: Draft Annex F change proposal in two flavors, with modifiers and with double-ended bounds.</div><div> Done <br><br></div><div dir="ltr"> Jerome: Follow up on cfp3618 to see whether snan issues apply to more than signbit, and what to do about it.</div><div> Carry-over, after much offline discussion with Jim.<br><br></div><div dir="ltr"> Jim: Write a note about the locution of "result" vs. "result value" vs. "return value" in some problematical functions where the language is not best today.</div><div> Done, in discussion.<br><br></div><div dir="ltr"> Jim: Add strtodN to list of low-priority issues.</div><div> Done, in discussion.</div><div dir="ltr"><div><br></div><div><b>Discussion of issues</b></div></div><div dir="ltr"><div><p class="MsoNormal"> Preferred quantum exponent for nextafterdN</p><p class="MsoNormal"> Jim: Reviews the language emphasizing the numerical value (vs. representation), in order to bring out the preferred quantum exponent.</p><p class="MsoNormal"> Rajan: As mentioned last time, this breaks breaks an implementation that just returns y.</p><p class="MsoNormal"> Jim: Action to add mention of the breaking-implementations issue, for purposes of WG14 clarification, and then submit if no objection.</p><p class="MsoNormal"><br></p> F.3 #7 quiet/signaling NaNs</div><div> Jerome: Will follow up on cfp3618 to see whether signaling nan issues apply to more than just signbit, and what to do about it. (NOTE: By popular demand, will start using the "cfp" prefix on CFP-specific docs like the email cfp3618 in this item. This removes ambiguity with WG14 docs precede by n".)<br><br></div><div> Overflow, non-default rounding, errno</div><div> Jerome: Summarizes the changes to (a) emphasize the notion of "error occurs"; (b) consolidate the specification allowing implementation-dependent error reporting; (c) clarifies that the language of over/underflow applies only when the exception is reported.</div><div> Jim: Shows how footnote 275 about exceptions involving infinite operands is not required in the specification.</div><div> Jerome & Jim: Action to submit. <br><br></div><div> Annex F changes discussion paper</div><div> Damian: Walks through the options for pure inequalities vs. mixed modifiers and inequalities</div><div> Group: Much discussion of the issues. Prevailing sentiment was that arguably verbose expressions like</div><div> -inf <= x <= +inf</div><div>to express "all numbers, finite or infinite" is better than the more terse expressions with cryptic absolute values. The rare cases of "all values, even NaNs" necessarily require some verbiage.</div><div> Rajan: WG14 sometimes gets big changes, so it won't be problematical to get a possible update to Annex F with many update.</div><div> Group: The issue of footnotes being specific to a single item leads to the suggestion that we use a Note in the body text for matters that pertain to multiple items.</div><div> Damian: The cases atan2(y,0) and atan2(0,0) are problematical because atan2 is described as computing "the arc tangent of y/x". I've added language such as "...and raises no "divide-by-zero" floating-point exception to emphasize the case for atan2(y,0) for finite, nonzero y.</div><div> Jim: The standard normally describes when errors DO occur, not when they don't.</div><div> Damian: In frexp, based on suggestion, propose removing an existing line about raising not floating-point exceptions if the result is not a signaling NaN.</div><div> Jim That might be tied to double double. Best to leave it.</div><div> Damian: The change to ilogb is just a reordering of the current language. </div><div> Group: Deemed good.</div><div> Jim compoundn should not mention "integer" because that implied by the argument n.</div><div> Damian: The hypot(NaN, NaN) case is subsumed into the case hypot(x,NaN) with |x| != inf.</div><div> Damian: Actions.</div><div><br></div><div> Rounding modes, terminology<br> Damian: Suggest change across C2Y to be consistent about "rounding direction mode" terminology, given that there is also a "rounding precision mode".</div><div> Rajan and group: Yes, good idea.</div><div> Jim: Do we really need to define "result format", a phrase in the current 3.14 (ed. note -- using the numbering in C2Y n3685)?</div><div> Jim: After much back and forth, suggest changing the expression to eliminate the usage "result format".</div><div> Jim & Damian: Actions.</div><div><br></div><div><b>Other issues</b></div></div><div dir="ltr"><div> None.</div><div><br></div></div><div dir="ltr"><div><b>Adjournment</b></div><div><p class="MsoNormal"> 10:02 AM PDT</p><p class="MsoNormal">-----------------------------------------------</p><p class="MsoNormal"><br></p><p class="MsoNormal"><b>Action items to be carried over</b></p><p class="MsoNormal"> None</p><p class="MsoNormal"><br></p><p class="MsoNormal"><b>New action items<u></u></b></p><p class="MsoNormal"> Jim: Amend the nextafterd proposal with language about the breaking-implementations issue, share with CFP, and then submit if there's no objection.</p><p class="MsoNormal"><br></p><p class="MsoNormal"> Jerome & Jim: Submit proposal about error handling and errno.</p><p class="MsoNormal"><br></p><p class="MsoNormal"> Damian: Update paper on Annex F, based on long (converging) discussion of the several alternatives, plus the specific discussions of atan2, frexp, ilogb, hypot, compoundn, etc.</p><p class="MsoNormal"><br></p><p class="MsoNormal"> Group: Review Damian's coming Annex F changes and study pow and others which weren't covered in the meeting, for lack of time.</p><p class="MsoNormal"><br></p><p class="MsoNormal"> Damian: Clean up 3.14 "correctly rounded result" and research any other usage of that or similar language.</p><p class="MsoNormal"><br></p><p class="MsoNormal"> Jim: Draft change to references to rounding precision mode. Circulate to new ad hoc rounding precision mode subcommittee: David, Damian, Jerome, Jim.</p><p class="MsoNormal"><b><br></b></p><p class="MsoNormal"><b>Discussion issues to be carried over</b></p></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div><div> hypot(x, y) - C2Y F.10.5.4</div><div><br></div><div> Occurs vs shall occur for math errors<br><br></div><div> "result" vs. "result value" vs. "return value"<br><br></div><div> SNAN macro location change</div><div><br></div><div> hypot(x, NAN) in Annex F<br><br></div><div> F.10.1#14 editorial issue<br><br></div><div> canonicalize() in AnnexF - F.10.9.7<br><br></div><div> Consistency in paragraphs using NaNs<br><br></div><div> Preferred Style in Annex F - fromfp/fromfpx or nearbyint/rint<br><br></div><div> Sign of NaN not interpreted<br><br></div><div> Editorial issues with F.3#6<br></div><div></div><div><p class="MsoNormal"></p></div><p class="MsoNormal"><br></p></div><div><b>Signoff</b></div><div> Respectfully submitted.</div><div><br></div><div dir="ltr">-Jerome Coonen<div> 650.996.4738</div><div> <a href="mailto:jcoonen@gmail.com" target="_blank">jcoonen@gmail.com</a></div></div></div></div></div>
</div></div>
</div></div>
</div></div>
</div></div>
</div></div>
</div></div>
</div>
</div></div>
</div></div>
</div>
</div></div>
</div></div>
</div></div>
</div></div>
</div></div>
</div></div>
</div>
</div></div>
</div></div>
</div></div>
</div></div>
</div></div>
</div></div>
</div></div>
</div></div>
</div></div>
</div></div>
</div>
</div></div>
</div></div>
</div>
</div></div>
</div>
</div></div>
</div></div>
</div>
</div></div>
</div></div>
</div></div>
</div></div>
</div></div>