<div dir="ltr"><div>2026/04/15: 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 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 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, Joshua Cranmer, Fred Tydeman, David Hough, Ariel Burton, Guy Davidson</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://cfp-wiki.esi.com.au/pub/CFP/WebHome/CFP%20meeting%20agenda-20260415.pdf?_t=1776288481" target="_blank">https://cfp-wiki.esi.com.au/pub/CFP/WebHome/CFP%20meeting%20agenda-20260415.pdf?_t=1776288481</a> – These minutes should be read alongside the agenda, with its many reference links.</p><p class="MsoNormal"><b><br></b></p><p class="MsoNormal"><b>Previous meeting notes</b></p><p class="MsoNormal"> <a href="https://mailman.oakapple.net/pipermail/cfp-interest/2026-March/003840.html" target="_blank">https://mailman.oakapple.net/pipermail/cfp-interest/2026-March/003840.html</a> 2026/02/18 Meeting notes</p><p class="MsoNormal"><br></p><p class="MsoNormal"><b>Study group logistics</b></p><p class="MsoNormal"> Next meeting: 13 May 2026, 8:00 AM PDT/3: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 N3854 Mar. 2026 <a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3854.pdf" target="_blank">https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3854.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"> David: Still moving very slowly. Many new ideas, some not upward compatible.</p><p class="MsoNormal"> Damian: Has been voted official 754 liaison to WG14.</p><p class="MsoNormal"> </p><p class="MsoNormal"><b>C++ liaison</b></p><p class="MsoNormal"> Joshua: Has had committee meeting. Will rebase C++26 on C23. Discussion continues on the proposals listed in the March CFP minutes. Some topics: working on spelling of the functions like "fadd", that produce a narrower result (<a href="http://wg21.link/P3935" target="_blank">http://wg21.link/P3935</a>); subtleties with literal expressions (<a href="http://wg21.link/P3938" target="_blank">http://wg21.link/P3938</a>); the paper about naming correctly-rounded functions is withdrawn, pending further study; finally, the committee is looking at adopting Annex F bindings to 60559.</p>
<p class="MsoNormal"><b><br></b></p><p class="MsoNormal"><b>WG14 update</b></p><p class="MsoNormal"> Rajan: Next meeting, Ottawa, 17-21 August. Last meeting, approved a new wording study group. It is available for advice on proposals in development, and will provide review of the language of proposals approved by WG14.</p><p class="MsoNormal"> Jim: Will there be written recommendations from the group, like a study guide? It might be good for Damian to connect with group about the major Annex F update.</p><p class="MsoNormal"> Rajan: There is no stated plan for the study group to write guidelines.</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"> None</p><p class="MsoNormal"><br></p><p class="MsoNormal"><u></u></p><p class="MsoNormal"><b>Carryover action items from last meeting </b></p></div><div> Group: Think about where CFP is headed.</div><div> Discussion</div><div><br></div> Jerome & Damian: Write a proposal to repair fromfp and enhance Table F.2.</div><div dir="ltr"> Done<br><div><p class="MsoNormal"><br></p><p class="MsoNormal"><b>Action items from last meeting </b></p></div><div> Jim: Add agenda item to fix range bounds problem for complex fcns (as done for real functions in N3731).</div><div> Done</div><div><br></div> Jerome: Research usage of "occur(s)" and how it applies to proposal n3737.<br> Done</div><div dir="ltr"><br></div><div dir="ltr"> Jim: Submit double_t proposal.<br> Done, n3843</div><div dir="ltr"><br></div><div dir="ltr"> Damian: In the Annex F special cases paper, add the function header to the code examples (which will clarify the usage of the parameters).<br> Done</div><div dir="ltr"><br></div><div dir="ltr"> Jim & Damian: Review the wording of F.10.4.7 and F.10.4.9 and propose any changes.<br> Done</div><div dir="ltr"><br></div><div dir="ltr"> Damian: Update the Annex F Special Cases paper as technical plus editorial.<br> Done</div><div dir="ltr"><br></div><div dir="ltr"> Damian & Jerome: Send a note to CFP about the usage of "current rounding direction".<br> Done</div><div dir="ltr"><br></div><div dir="ltr"> Damian: Draft a proposal for a new table (F.3) in Annex F mapping the rounding direction attributes from 60559 to the language of C2Y.</div><div dir="ltr"><div> Done</div><div><br></div></div><div dir="ltr"><div><b>Discussion of issues</b></div><div><b> </b>Annex F table numbering</div><div> Damian: We noticed that there is no Table F.1, leading to potential naming issues if current table names are shifted down one. Also an error slipped into C2Y, where an editorial change led to a typo. Table F.3 became F.2 in F.10.1#16.</div><div> Rajan: Suggests note to JeanHeyd to fix. No need for a paper.</div><div><br></div><div> Sign of zero from fromfp functions</div><div> Jerome: Discusses the proposal, after much wordsmithing with Jim, based on prior discussions around the need to specify the sign of (floating) zero results in fromfp. Because this change fills a gap in the specification, there is the chance to break an existing implementation. (a) Given that the next step after fromfp is to convert to an integer format unlikely to support signed zero, this specification is unlikely to be noticed. (b) As Rajan has pointed out, in such instances WG14 prefers a complete specification over undefined results.</div><div> Group: Submit to WG14. Action.</div><div dir="ltr"><br></div> Range bounds problem for complex fcns<br> Jim: This fix is a request from WG14. A correctly rounded implementation might round a result outside the a mathematical bound such as pi, which lies between representable floating values. This was fixed in the real domain but the problem arises for complex functions, too. The changes in the wording emphasize the mathematical range, apart from the representable result values. A NOTE illustrates the issue, but is not repeated in every instance.</div><div> Jim & Rajan: Typo: "arc sine" in the Description should be "arc cosine".</div><div> Group: Write a proposal. Action</div><div dir="ltr"><br></div><div dir="ltr"> Usage of "occur(s)" with regard to proposal n3737<br> Jerome: Summarizes the review of 420 instances of "occur", concluding that the usage in n3737 is consistent with C2Y as a whole.</div><div dir="ltr"><br></div><div dir="ltr"> Annex F special cases<br> Damian: Takes a summary pass through the special cases in Annex F. Describes the locution for the trickiest cases, such as "all values, including NaN". The only mention of signaling NaN is when it is specifically included in a specification, such as for fabs.</div><div> Jim: The use of "forgotten" in the discussion when some connection or specification has been "omitted" is not best. </div><div> Jim: Discusses item (c) in the "Inconsistencies" discussion. When an italicized parameter x is used, it refers to the value passed to the function. </div><div> Fred: Distinguishes "argument" -- the expression whose value is to be passed to a function -- from "parameter" -- the declared object in function receiving the argument value.</div><div> Jim, Fred, et al.: The subtlety is whatever conversion might be required to match the argument value to the parameter type.</div><div> Damian: Discusses the modf (thanks, Fred) and scalbn special cases.</div><div> Jim & Rajan: We need to emphasize the technical changes for WG14. Suggest references to the changes early in the document, with some elaboration from current content.</div><div> Damian: Notes changes to replace the unfortunate name "value" as a parameter. Notes that code examples have been expanded to include a full function definition and to explicitly mention FENV_ACCESS when needed.</div><div> Damian: Uses "result" consistently, where a mix of "result", "return value", and even "return" appear.</div><div> Group: This attention to the language in Annex F is consistent with the mission of the WG14 wording study group.</div><div> Damian: Notes the change to the ldexp comment, that now applies to all radixes.</div><div> Fred & Joshua: Returning to the argument/parameter theme, present a vintage 32-bit x86 sidebar. With 80-bit floating stack on 80x87 math processors, the API states that floating values are passed in memory while results are returned on the 80-bit stack. SThe means signaling nans can be passed as arguments without triggering a change to a quiet version.</div><div> Group: A quick review of totalorder led to the simplification to stick to the wording needed for Annex and defer the specifics of the function to a simple reference, via language like, "For the detailed spec.."</div><div> Action to revise the paper, converging toward a proposal.</div><div dir="ltr"><br></div><div dir="ltr"> Rounding terminology<br> Damian: Reviews the detailed email of dozens of instances, mostly in Section 7, that need repair. The discussion of the language issues is in the rationale of the Annex F proposal.</div><div> Jim: This large set of small changes needs a volunteer. Carry over</div><div dir="ltr"><br></div><div> Fixes to symbols: minus signs and hyphens, etc.<br> Jim: Discusses his paper on editorial changes to F.9.3 and F.9.4. What used to be C symbols became mathematical symbols during an edit. This came as a surprise. But the context is beyond the level of C expressions and into mathematical transformations within the compiler. The typography is correct, because it is mathematical computations that are being transformed, not C expressions.</div><div> Jim: Suggests changing the first sentence in F.9.3 #2 to “The discussion of transformations in this subclause applies to computations involving standard floating types.”</div><div> Jerome et al.: Given that it's computations not expressions that are being transformed, the section name "Expression transformations" is inappropriate and needs to be changed, perhaps to "Computation transformations".</div><div> Jim: Another issue is that "true" and "false" are used where 1 and 0 would be more appropriate because the operator is computing a value of type int, not bool.</div><div> Jim: Carry over</div><div dir="ltr"><br></div><div dir="ltr"> CFP future<br></div><div> Jim: Announces that he is retiring from CFP. Has been chair sInce the first meeting in Sept 2009. Expresses appreciation of all the support throughout CFP and WG14. Rajan is taking over as CFP chair. He's been, "outstandingly effective with WG14." This all started with NCEG (Numerical C Extensions Group), a 10 year effort to reach C99. </div><div> Fred: The first NCEG meeting was in 1991.</div><div> David: Rex Jaeschke was the first convener, now at a higher level. NCEG was broader then. Rex's web page explains some history.</div><div> Rajan: Got his own start with 754-2008 binding. Then on to 754-2019.</div><div dir="ltr"><br></div><div dir="ltr"><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:00 AM PDT</p><p class="MsoNormal">-----------------------------------------------</p><p class="MsoNormal"><br></p><p class="MsoNormal"><b>Action items to be carried over</b></p><div dir="ltr"> Group: Think about where CFP is headed</div><div dir="ltr"><br></div><p class="MsoNormal"><b>New action items</b></p><p class="MsoNormal"> Jerome: Submit the fromfp paper.</p><p class="MsoNormal"><br></p><p class="MsoNormal"> Rajan & Jerome: Write a proposal to fix complex range bounds.</p><p class="MsoNormal"><br></p><p class="MsoNormal"> Damian: Update Annex F proposal for discussion at next meeting.</p><p class="MsoNormal"><br></p><p class="MsoNormal"><b>Carryover discussion items</b></p><div dir="ltr"><div dir="ltr"><div dir="ltr"> Rounding terminology</div><div dir="ltr"><br></div><div dir="ltr"> Fixes to symbols: minus signs and hyphens, etc.</div><div dir="ltr"><br></div><div dir="ltr"> Complex and signaling NaNs<br></div><div dir="ltr"><br></div><div dir="ltr"> INFINITY and _Float16<br></div><div dir="ltr"><br></div><div dir="ltr"> Annex F 2.2, 3.0, 10.1<br></div></div></div></div><div dir="ltr"><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div><div><b>Signoff</b></div></div><div> Respectfully submitted.</div><div><br></div><div dir="ltr">-Jerome Coonen<div><br></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>
</div></div>
</div>
</div></div>
</div></div>
</div>
</div></div>
</div></div>
</div>
</div></div>
</div></div>
</div></div>
</div></div>
</div></div>