<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:12.0pt;
        font-family:"Aptos",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Aptos",sans-serif;
        color:#0070C0;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-GB link=blue vlink=purple style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal><span style='color:#0070C0;mso-fareast-language:EN-US'>And for those who maybe unaware of the subtleties of such things, I put together this:<o:p></o:p></span></p><p class=MsoNormal><span style='color:#0070C0;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#0070C0;mso-fareast-language:EN-US'>  <a href="https://speleotrove.com/decimal/decifaq2.html#minuses">https://speleotrove.com/decimal/decifaq2.html#minuses</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:#0070C0;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#0070C0;mso-fareast-language:EN-US'>forty or so years ago (copied to the  URL above 25 years ago).<o:p></o:p></span></p><p class=MsoNormal><span style='color:#0070C0;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#0070C0;mso-fareast-language:EN-US'>Mike<o:p></o:p></span></p><p class=MsoNormal><span style='color:#0070C0;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#0070C0;mso-fareast-language:EN-US'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm;font-size:pt'><p class=MsoNormal style='margin-left:36.0pt'><b><span style='font-family:"Calibri",sans-serif'>From:</span></b><span style='font-family:"Calibri",sans-serif'> cfp-interest <b>On Behalf Of </b>Jim Thomas<br><b>Sent:</b> 03 January 2026 17:47<br><b>To:</b> CFP <cfp-interest@ucbtest.org><br><b>Subject:</b> [cfp-interest 3751] Minus signs and hyphens<o:p></o:p></span></p></div></div><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><div><div><div><p class=MsoNormal style='margin-left:36.0pt'>Use of minus signs vs hyphens has been a continuing issue in math and floating-point specification in C documents. This note is based on off line discussion about this issue in the Annex F Special Cases proposal. In the current version of the proposal linked from <a href="https://wiki.edg.com/pub/CFP/WebHome/C2Y-F-SpecialCases-20251030.pdf">https://wiki.edg.com/pub/CFP/WebHome/C2Y-F-SpecialCases-20251030.pdf</a>, the cases mentioned in this note are correct (per comments below). This note is just to document off line discussion. C references are to N3685.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-left:36.0pt'>The basic idea is to use minus signs for value negation and to use hyphens for the C unary - and subtraction operators. The minus sign is a mathematical symbol, the hyphen is a C language element.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-left:36.0pt'>The purpose of the first bullet -0- for atan2 is to state an equivalence property of the C atan2 function, not an equivalence of C expressions per se. We’re saying an evaluation of the C expression composing the unary - operator and the C atan2 function is equivalent, WRT result value and side effects, to the evaluation of the C atan2 function but with the value of the first argument negated. <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-left:36.0pt'>The unary - operator is properly represented by a hyphen. Use of a minus sign (value negation) would indicate that the statement to be just about values.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-left:36.0pt'>The value negation for the first argument is properly represented by a minus sign. <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-left:36.0pt'>Similarly for atan2pi.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-left:36.0pt'>- Jim Thomas<o:p></o:p></p></div><div><div><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p></div></div></div></div></div></body></html>