<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/libc/src/math/generic/acos.cpp, branch users/nico/python-1</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[libc][math] Implement double precision acos correctly rounded for all rounding modes. (#138308)</title>
<updated>2025-05-09T03:23:09+00:00</updated>
<author>
<name>lntue</name>
<email>lntue@google.com</email>
</author>
<published>2025-05-09T03:23:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=78cc822aa6f5af0eda55089d22ba915b6d8e0216'/>
<id>78cc822aa6f5af0eda55089d22ba915b6d8e0216</id>
<content type='text'>
We reduce computation of `acos` to `asin` as follow:

When `|x| &lt; 0.5`:
```math
acos(x) = \frac{\pi}{2} - asin(x).
```
For `0.5 &lt;= |x| &lt; 1`, let
```math
u = \frac{1 - \left| x \right|}{2},
```
then
```math
acos(x) = \begin{cases}
  2 \cdot asin \left( \sqrt{u} \right) &amp;, 0.5 \leq x &lt; 1 \\
  \pi - 2 \cdot asin \left( \sqrt{u} \right) &amp;, -1 &lt; x \leq 0.5 
\end{cases}
```</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We reduce computation of `acos` to `asin` as follow:

When `|x| &lt; 0.5`:
```math
acos(x) = \frac{\pi}{2} - asin(x).
```
For `0.5 &lt;= |x| &lt; 1`, let
```math
u = \frac{1 - \left| x \right|}{2},
```
then
```math
acos(x) = \begin{cases}
  2 \cdot asin \left( \sqrt{u} \right) &amp;, 0.5 \leq x &lt; 1 \\
  \pi - 2 \cdot asin \left( \sqrt{u} \right) &amp;, -1 &lt; x \leq 0.5 
\end{cases}
```</pre>
</div>
</content>
</entry>
</feed>
