<div dir="ltr"><div>2025/05/14: 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 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, Guy Davidson, Tue Ly, David Hough</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/n3553.pdf" target="_blank">https://wiki.edg.com/pub/CFP/WebHome/n3553.pdf</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://wiki.edg.com/pub/CFP/WebHome/n3552.pdf" target="_blank">https://wiki.edg.com/pub/CFP/WebHome/n3552.pdf</a></p><p class="MsoNormal"><br></p><p class="MsoNormal"><b>Study group logistics</b></p><p class="MsoNormal">    Next meeting: 11 June 2025, 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 N3550 May 2025 <a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3550.pdf" target="_blank">https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3550.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: No meeting recently due to Arith2025, where Jim Demmel won best paper.</p><p class="MsoNormal"> </p><p class="MsoNormal"><b>C++ liaison</b></p><p class="MsoNormal">    Jim: Guy Davidson sent a note about reproducible floating point, to be discussed below.</p><p class="MsoNormal"> </p><p class="MsoNormal"><b>WG14 update</b></p><p class="MsoNormal">    None</p>





<p class="MsoNormal"> </p><p class="MsoNormal"><b>TS-4 and TS-5 revisions</b></p><p class="MsoNormal">    Jim: MInor issue, to be discussed below.</p></div><div><p class="MsoNormal"><br></p><p class="MsoNormal"><u></u></p><p class="MsoNormal"><b>Carry-over action items from last meeting </b></p><p class="MsoNormal"><b>    </b>Damian: Update the proposal re. the wording of cimag() and creal().</p>(This is part 3 of Damian's larger effort.)</div><div>        Damian: Will post draft on wiki. Carry over.</div><div><br>    Ly: Send email to CFP about the next____() issues pertaining to the several functions inspired by nextafter().</div><div>        Ly is sending during the meeting, so the item will carry over.<br><p class="MsoNormal"><br></p></div><div><p class="MsoNormal"><b>Action items from last meeting </b></p><p class="MsoNormal">    Jim: Submit updated proposal re. frexp clarification.</p><p class="MsoNormal">        Done n3535.</p><p class="MsoNormal"><br></p>    Rajan: Propagate 3413 with wording just approved up to WG14, for expression evaluation at translation time.</div><div>        Done email link in agenda.</div><div><br>    Damian: Submit the cproj proposal with minor amendments discussed. Jim<br>to get a document number and help submit.</div><div>        Done, will send to WG14.</div><div><br></div><div>    Jim: Submit email about TS response re. domain and range errors. Rajan<br>to work with issue tracker when possible.</div><div>        Email sent. Carry over to monitor tracker.<br><br>    Jim & Damian: Jim to send to CFP an email with suggested wording<br>changes for complex.h. Damian to update the proposal based on these and<br>other suggestions. Jim to get a document number for Damian, then submit the<br>updated proposal.</div><div>        Done, Damian will post n3537 draft for email approval.<br><br>    Jerome: Write a proposal for powr() addressing Joseph's suggestion.</div><div>        Done, 3452.<br><br>    Damian: Will check the powr() language against his ongoing C2Y changes.</div><div>        Done and closed.</div><div><br>    Jim: Keep an agenda item re. the removal of “(also known as a<br>singularity or infinitary)” in post-N3467 draft of C2Y.<br>        Jim: Fixed in N3550 draft. Closed.</div><div><p class="MsoNormal"><br></p><p class="MsoNormal"><b>Discussion of issues:</b></p><p class="MsoNormal">    Reproducible floating point</p><p class="MsoNormal">        Guy: Summarizes key issues in the letter linked to in the agenda.</p><p class="MsoNormal">        Rajan: Suggests looking at Clause 9 in ISO/IEC TS 18661-5 for reproducible results.</p><p class="MsoNormal">        Jerome: Terminology complicates this discussion. (Please read as facts not criticism, in CFP tradition.) Guy refers to arithmetic operations and square root as "functions" not "operations". They are correctly rounded in 754, vs. the transcendental functions, whose correctly rounded variants are a different topic and not Guy's focus. "Reproducible" in the last decades has meant bit-for-bit (see Java, e.g.), while Guy is trying to defend against compiler abuse such as ignoring parentheses in "(a+b)+c".</p><p class="MsoNormal">        Ly: Introducing a new type (that presumably would require compilers not to commit dangerous optimizations) will be a pain, esp. in C++. Usually, it's a block of computation, so a pragma can localize the control. Maybe there could be some magic to disable certain optimizations.</p><p class="MsoNormal">        Jim: C doesn't allow value-changing optimizations. Compile flags might relax the rules, but the behavior Guy is reporting in non-conformant.</p><p class="MsoNormal">        Jerome: Is there a catalog of the different kinds of problems?</p><p class="MsoNormal">        Guy: Not yet. We have seen associative operations reordered. The "as if rule" governing code alteration may differ or not be honored in our contexts. Will send an updated version of the working paper for future discussion.</p><p class="MsoNormal"><br></p><p class="MsoNormal">    [[reproducible]] example in 6.7.13.8 ignores exceptions</p><div>        Jim: Side-effects like flags can be lost if a function is called twice with identical arguments, for example. If the flags are cleared between the calls and the second call is elided, then the presumed flags from the second call will be lost. Sent an example to JeanHeyd with a version of the function including save/restore of the state. </div><div>        Rajan: Suggests adding a comment to indicate why the flag operations are there. Action.</div><div>        Jim: Suggests changing the content example to use sqrt(fabs(x)) which does not overflow or underflow. Will draft a response to Jean-Heyd. Action.</div><div><br></div>    Domain and range errors in TS-4<br>        Jim: Wrote letter with a suggested fix, as linked in the agenda. Rajanwill track WG14 response. Action.</div><div><br></div><div>    powr(x,y) with x < 0<br>        Jerome: Reviews simple "including NaN" change.</div><div>        Jim: Suggests updating to latest C draft, checking all section numbers, and getting a document number. Action.</div><div><br></div><div>    cproj proposal<br>        Discussed above. Action.</div><div><br></div><div>    complex.h intro proposal<br>       Discussed above. Action.</div><div><br></div><div>    Return value vs return type<div>        Jim: Misuse of return value" occurs in other places. A bigger issue is an action to find all instances of "return value" when meaning "return type". </div><div>        Jerome: Offers to research and summarize. Action.</div><div><br></div></div><div>    Range error wording for atan2 and atan2pi<br>        Jim: Javier has proposed some clarification of the wording (with no technical change).</div><div>        Rajan: Suggests letting Javier take this, if he wants. Javier might choose to leave this to CFP. Action.</div><div><br></div><div>    Semantic rules for constant expression evaluation<br>        Jim: Suggests adding the comment, "unless otherwise specified", to highlight some subtlety. Action.<br></div><div><br></div><div>    Editorial suggestions incl wording for cimag and creal<br>        Discussed earlier in Carry-Over Action Items.</div><div><br></div><div>    Imaginary I macro and i suffix issues, N3390 update<br>        Rajan: No word yet, but expect paper to come. Carry-over discussion item.<br><br>    next____() issues<br>        Discussed under Carry-Over Action Items.</div><div><br></div><div>    More complex functions, e.g. ccbrt, csinpi<br>        Ly: Looking at expanding complex.h to the extent of math.h. Will send email. Action.</div><div><br></div><div>    CFP list of post C23 issues  <a href="https://wiki.edg.com/pub/CFP/WebHome/c26g.htm" target="_blank">https://wiki.edg.com/pub/CFP/WebHome/c26g.htm</a><br><p class="MsoNormal">        Jim: This list descends from the basis of CFP's original work. Interested in how to prioritize outstanding issues. WG14 is top of the list.</p><p class="MsoNormal"><br></p></div><div><p class="MsoNormal"></p></div><div><p class="MsoNormal"><b>Other issues:</b></p></div><div>    None</div></div><div dir="ltr"><div><br></div><div><b>Adjournment</b></div><div><p class="MsoNormal">    10:05 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">    Damian: Update the proposal re. the wording of cimag() and creal().</p><p class="MsoNormal"><br></p><p class="MsoNormal">    Ly: Send email to CFP about the next____() issues pertaining to the several functions inspired by nextafter().</p><p class="MsoNormal"><br></p><p class="MsoNormal">    Rajan: Monitor the new WG14 issue tracker re. TS 18661-4, the domain and range error issue.</p><p class="MsoNormal"><br></p><p class="MsoNormal"><b>New action items:<u></u><u></u></b></p><p class="MsoNormal">    Jim: Draft a note about the [[reproducible]] issue.</p><p class="MsoNormal"><br></p><p class="MsoNormal">    Jerome & Jim: Get a document # for the powr proposal , 3550, check the minor updates, and submit to WG14.</p><p class="MsoNormal"><br></p><p class="MsoNormal">    Damian & Jim: Get a document # and submit the cproj proposal with minor updates to WG14.</p><p class="MsoNormal"><br></p><p class="MsoNormal">    Jim: Review the complex.h proposal from Damian to confirm that the changes listed in CFP 3448 are correct, and there if are no other significant changes then submit it to WG14. Otherwise, CFP will review it again next month.</p><p class="MsoNormal"><br></p><p class="MsoNormal">    Jerome: Search C2Y for instances of "return value" vs. "return type" and summarize the usage across the whole document.</p><p class="MsoNormal"><br></p><p class="MsoNormal">    Rajan: Send note to WG14 supporting Javier's changes re. atan2 and atan2pi range errors, and encouraging Javier to proceed with his proposal.</p><p class="MsoNormal"><br></p><p class="MsoNormal">    Jim: Write up a suggestion re. semantic rules for constant evaluation.</p><p class="MsoNormal"><br></p><p class="MsoNormal">    Ly: Send email on expanded complex functions.</p><p class="MsoNormal"><br></p><p class="MsoNormal">    Jim & Group: Write a note about the priorities list while group ponders list. </p><p class="MsoNormal"><br></p></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div><b>Discussion issues to be carried over:</b></div><div><p class="MsoNormal">    Imaginary I macro and i suffix issues, N3390 update<br></p></div><div><br></div><div><br></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>