
(FPCore (a b angle) :precision binary64 (let* ((t_0 (* (PI) (/ angle 180.0)))) (* (* (* 2.0 (- (pow b 2.0) (pow a 2.0))) (sin t_0)) (cos t_0))))
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \mathsf{PI}\left(\right) \cdot \frac{angle}{180}\\
\left(\left(2 \cdot \left({b}^{2} - {a}^{2}\right)\right) \cdot \sin t\_0\right) \cdot \cos t\_0
\end{array}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 28 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (a b angle) :precision binary64 (let* ((t_0 (* (PI) (/ angle 180.0)))) (* (* (* 2.0 (- (pow b 2.0) (pow a 2.0))) (sin t_0)) (cos t_0))))
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \mathsf{PI}\left(\right) \cdot \frac{angle}{180}\\
\left(\left(2 \cdot \left({b}^{2} - {a}^{2}\right)\right) \cdot \sin t\_0\right) \cdot \cos t\_0
\end{array}
\end{array}
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (* (* 0.005555555555555556 (PI)) angle_m))
(t_1 (sin t_0))
(t_2 (* (PI) (PI)))
(t_3 (* 0.5 (PI))))
(*
angle_s
(if (<= angle_m 1.9e+45)
(*
(* 2.0 (cos (* (* -0.005555555555555556 (PI)) angle_m)))
(* (* t_1 (+ a_m b_m)) (- b_m a_m)))
(if (<= angle_m 2e+155)
(*
(* (sin (* (* (PI) angle_m) 0.005555555555555556)) 2.0)
(*
(sin (/ (- (pow t_0 2.0) (* 0.25 t_2)) (- t_0 t_3)))
(* (- b_m a_m) (+ a_m b_m))))
(if (<= angle_m 1.5e+249)
(* (* (* (sin t_3) (* t_1 2.0)) (- b_m a_m)) (+ a_m b_m))
(*
(*
(* 2.0 (- (pow b_m 2.0) (pow a_m 2.0)))
(sin (* (PI) (/ angle_m 180.0))))
(fma (* -1.54320987654321e-5 (* angle_m angle_m)) t_2 1.0))))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \left(0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\\
t_1 := \sin t\_0\\
t_2 := \mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)\\
t_3 := 0.5 \cdot \mathsf{PI}\left(\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 1.9 \cdot 10^{+45}:\\
\;\;\;\;\left(2 \cdot \cos \left(\left(-0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right)\right) \cdot \left(\left(t\_1 \cdot \left(a\_m + b\_m\right)\right) \cdot \left(b\_m - a\_m\right)\right)\\
\mathbf{elif}\;angle\_m \leq 2 \cdot 10^{+155}:\\
\;\;\;\;\left(\sin \left(\left(\mathsf{PI}\left(\right) \cdot angle\_m\right) \cdot 0.005555555555555556\right) \cdot 2\right) \cdot \left(\sin \left(\frac{{t\_0}^{2} - 0.25 \cdot t\_2}{t\_0 - t\_3}\right) \cdot \left(\left(b\_m - a\_m\right) \cdot \left(a\_m + b\_m\right)\right)\right)\\
\mathbf{elif}\;angle\_m \leq 1.5 \cdot 10^{+249}:\\
\;\;\;\;\left(\left(\sin t\_3 \cdot \left(t\_1 \cdot 2\right)\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \left(a\_m + b\_m\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(2 \cdot \left({b\_m}^{2} - {a\_m}^{2}\right)\right) \cdot \sin \left(\mathsf{PI}\left(\right) \cdot \frac{angle\_m}{180}\right)\right) \cdot \mathsf{fma}\left(-1.54320987654321 \cdot 10^{-5} \cdot \left(angle\_m \cdot angle\_m\right), t\_2, 1\right)\\
\end{array}
\end{array}
\end{array}
if angle < 1.9000000000000001e45Initial program 57.7%
Taylor expanded in angle around 0
Applied rewrites59.5%
Applied rewrites72.5%
Taylor expanded in angle around inf
Applied rewrites59.1%
Taylor expanded in angle around inf
Applied rewrites72.2%
if 1.9000000000000001e45 < angle < 2.00000000000000001e155Initial program 24.5%
lift-cos.f64N/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-fma.f64N/A
lift-PI.f64N/A
lower-/.f6428.6
Applied rewrites28.6%
Taylor expanded in angle around inf
Applied rewrites28.5%
Applied rewrites37.0%
if 2.00000000000000001e155 < angle < 1.50000000000000008e249Initial program 53.8%
lift-cos.f64N/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-fma.f64N/A
lift-PI.f64N/A
lower-/.f6456.9
Applied rewrites56.9%
Taylor expanded in angle around inf
Applied rewrites56.9%
Applied rewrites58.3%
Taylor expanded in angle around 0
Applied rewrites57.4%
if 1.50000000000000008e249 < angle Initial program 19.5%
Taylor expanded in angle around 0
Applied rewrites33.6%
Final simplification64.9%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (exp (log b_m))) (t_1 (sin (* (PI) (/ angle_m 180.0)))))
(*
angle_s
(if (<= angle_m 1.9e+45)
(*
(* 2.0 (cos (* (* -0.005555555555555556 (PI)) angle_m)))
(*
(* (sin (* (* 0.005555555555555556 (PI)) angle_m)) (+ a_m b_m))
(- b_m a_m)))
(if (<= angle_m 2.6e+235)
(*
(* (* 2.0 (fma t_0 t_0 (* (- a_m) a_m))) t_1)
(sin (fma (/ angle_m 180.0) (PI) (/ (PI) 2.0))))
(*
(* (* 2.0 (- (pow b_m 2.0) (pow a_m 2.0))) t_1)
(fma
(* -1.54320987654321e-5 (* angle_m angle_m))
(* (PI) (PI))
1.0)))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := e^{\log b\_m}\\
t_1 := \sin \left(\mathsf{PI}\left(\right) \cdot \frac{angle\_m}{180}\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 1.9 \cdot 10^{+45}:\\
\;\;\;\;\left(2 \cdot \cos \left(\left(-0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right)\right) \cdot \left(\left(\sin \left(\left(0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right) \cdot \left(a\_m + b\_m\right)\right) \cdot \left(b\_m - a\_m\right)\right)\\
\mathbf{elif}\;angle\_m \leq 2.6 \cdot 10^{+235}:\\
\;\;\;\;\left(\left(2 \cdot \mathsf{fma}\left(t\_0, t\_0, \left(-a\_m\right) \cdot a\_m\right)\right) \cdot t\_1\right) \cdot \sin \left(\mathsf{fma}\left(\frac{angle\_m}{180}, \mathsf{PI}\left(\right), \frac{\mathsf{PI}\left(\right)}{2}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(2 \cdot \left({b\_m}^{2} - {a\_m}^{2}\right)\right) \cdot t\_1\right) \cdot \mathsf{fma}\left(-1.54320987654321 \cdot 10^{-5} \cdot \left(angle\_m \cdot angle\_m\right), \mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right), 1\right)\\
\end{array}
\end{array}
\end{array}
if angle < 1.9000000000000001e45Initial program 57.7%
Taylor expanded in angle around 0
Applied rewrites59.5%
Applied rewrites72.5%
Taylor expanded in angle around inf
Applied rewrites59.1%
Taylor expanded in angle around inf
Applied rewrites72.2%
if 1.9000000000000001e45 < angle < 2.5999999999999998e235Initial program 33.0%
lift-cos.f64N/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-fma.f64N/A
lift-PI.f64N/A
lower-/.f6436.8
Applied rewrites36.8%
lift--.f64N/A
lift-pow.f64N/A
pow2N/A
lift-*.f64N/A
lift-pow.f64N/A
pow2N/A
fp-cancel-sub-sign-invN/A
lift-*.f64N/A
pow2N/A
pow-to-expN/A
exp-lft-sqrN/A
lower-fma.f64N/A
lower-exp.f64N/A
lower-log.f64N/A
lower-exp.f64N/A
lower-log.f64N/A
lower-*.f64N/A
lower-neg.f6416.6
Applied rewrites16.6%
if 2.5999999999999998e235 < angle Initial program 24.2%
Taylor expanded in angle around 0
Applied rewrites37.5%
Final simplification60.6%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (* 2.0 (- (pow b_m 2.0) (pow a_m 2.0)))))
(*
angle_s
(if (<= t_0 (- INFINITY))
(* (- b_m a_m) (* (* 0.011111111111111112 angle_m) (* (PI) a_m)))
(if (<= t_0 2e+306)
(*
(* angle_m (* 0.011111111111111112 (PI)))
(* (+ b_m a_m) (- b_m a_m)))
(if (<= t_0 INFINITY)
(* (- b_m a_m) (* (* (* (PI) b_m) angle_m) 0.011111111111111112))
(* (* -0.011111111111111112 a_m) (* (* a_m angle_m) (PI)))))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := 2 \cdot \left({b\_m}^{2} - {a\_m}^{2}\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_0 \leq -\infty:\\
\;\;\;\;\left(b\_m - a\_m\right) \cdot \left(\left(0.011111111111111112 \cdot angle\_m\right) \cdot \left(\mathsf{PI}\left(\right) \cdot a\_m\right)\right)\\
\mathbf{elif}\;t\_0 \leq 2 \cdot 10^{+306}:\\
\;\;\;\;\left(angle\_m \cdot \left(0.011111111111111112 \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \left(\left(b\_m + a\_m\right) \cdot \left(b\_m - a\_m\right)\right)\\
\mathbf{elif}\;t\_0 \leq \infty:\\
\;\;\;\;\left(b\_m - a\_m\right) \cdot \left(\left(\left(\mathsf{PI}\left(\right) \cdot b\_m\right) \cdot angle\_m\right) \cdot 0.011111111111111112\right)\\
\mathbf{else}:\\
\;\;\;\;\left(-0.011111111111111112 \cdot a\_m\right) \cdot \left(\left(a\_m \cdot angle\_m\right) \cdot \mathsf{PI}\left(\right)\right)\\
\end{array}
\end{array}
\end{array}
if (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) < -inf.0Initial program 44.4%
Taylor expanded in angle around 0
Applied rewrites54.9%
Applied rewrites81.5%
Taylor expanded in a around inf
Applied rewrites81.5%
if -inf.0 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) < 2.00000000000000003e306Initial program 57.4%
Taylor expanded in angle around 0
Applied rewrites53.3%
if 2.00000000000000003e306 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) < +inf.0Initial program 54.8%
Taylor expanded in angle around 0
Applied rewrites54.8%
Applied rewrites71.4%
Taylor expanded in a around 0
Applied rewrites71.4%
if +inf.0 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) Initial program 0.0%
Taylor expanded in angle around 0
Applied rewrites21.8%
Taylor expanded in a around inf
Applied rewrites34.0%
Applied rewrites60.1%
Applied rewrites60.2%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (* 2.0 (- (pow b_m 2.0) (pow a_m 2.0)))))
(*
angle_s
(if (<= t_0 (- INFINITY))
(* (- b_m a_m) (* (* 0.011111111111111112 angle_m) (* (PI) a_m)))
(if (<= t_0 2e+144)
(*
(* (* (* (PI) (+ a_m b_m)) (- b_m a_m)) 0.011111111111111112)
angle_m)
(if (<= t_0 INFINITY)
(* (- b_m a_m) (* (* (* (PI) b_m) angle_m) 0.011111111111111112))
(* (* -0.011111111111111112 a_m) (* (* a_m angle_m) (PI)))))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := 2 \cdot \left({b\_m}^{2} - {a\_m}^{2}\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_0 \leq -\infty:\\
\;\;\;\;\left(b\_m - a\_m\right) \cdot \left(\left(0.011111111111111112 \cdot angle\_m\right) \cdot \left(\mathsf{PI}\left(\right) \cdot a\_m\right)\right)\\
\mathbf{elif}\;t\_0 \leq 2 \cdot 10^{+144}:\\
\;\;\;\;\left(\left(\left(\mathsf{PI}\left(\right) \cdot \left(a\_m + b\_m\right)\right) \cdot \left(b\_m - a\_m\right)\right) \cdot 0.011111111111111112\right) \cdot angle\_m\\
\mathbf{elif}\;t\_0 \leq \infty:\\
\;\;\;\;\left(b\_m - a\_m\right) \cdot \left(\left(\left(\mathsf{PI}\left(\right) \cdot b\_m\right) \cdot angle\_m\right) \cdot 0.011111111111111112\right)\\
\mathbf{else}:\\
\;\;\;\;\left(-0.011111111111111112 \cdot a\_m\right) \cdot \left(\left(a\_m \cdot angle\_m\right) \cdot \mathsf{PI}\left(\right)\right)\\
\end{array}
\end{array}
\end{array}
if (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) < -inf.0Initial program 44.4%
Taylor expanded in angle around 0
Applied rewrites54.9%
Applied rewrites81.5%
Taylor expanded in a around inf
Applied rewrites81.5%
if -inf.0 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) < 2.00000000000000005e144Initial program 58.6%
Taylor expanded in angle around 0
Applied rewrites52.9%
Taylor expanded in angle around 0
Applied rewrites54.5%
if 2.00000000000000005e144 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) < +inf.0Initial program 53.2%
Taylor expanded in angle around 0
Applied rewrites52.3%
Applied rewrites64.9%
Taylor expanded in a around 0
Applied rewrites65.0%
if +inf.0 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) Initial program 0.0%
Taylor expanded in angle around 0
Applied rewrites21.8%
Taylor expanded in a around inf
Applied rewrites34.0%
Applied rewrites60.1%
Applied rewrites60.2%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (* 2.0 (- (pow b_m 2.0) (pow a_m 2.0)))))
(*
angle_s
(if (<= t_0 2e-111)
(* (* (PI) a_m) (* angle_m (* -0.011111111111111112 a_m)))
(if (<= t_0 INFINITY)
(* (- b_m a_m) (* (* (* (PI) b_m) angle_m) 0.011111111111111112))
(* (* -0.011111111111111112 a_m) (* (* a_m angle_m) (PI))))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := 2 \cdot \left({b\_m}^{2} - {a\_m}^{2}\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_0 \leq 2 \cdot 10^{-111}:\\
\;\;\;\;\left(\mathsf{PI}\left(\right) \cdot a\_m\right) \cdot \left(angle\_m \cdot \left(-0.011111111111111112 \cdot a\_m\right)\right)\\
\mathbf{elif}\;t\_0 \leq \infty:\\
\;\;\;\;\left(b\_m - a\_m\right) \cdot \left(\left(\left(\mathsf{PI}\left(\right) \cdot b\_m\right) \cdot angle\_m\right) \cdot 0.011111111111111112\right)\\
\mathbf{else}:\\
\;\;\;\;\left(-0.011111111111111112 \cdot a\_m\right) \cdot \left(\left(a\_m \cdot angle\_m\right) \cdot \mathsf{PI}\left(\right)\right)\\
\end{array}
\end{array}
\end{array}
if (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) < 2.00000000000000018e-111Initial program 55.4%
Taylor expanded in angle around 0
Applied rewrites55.7%
Taylor expanded in a around inf
Applied rewrites54.7%
Applied rewrites61.0%
Applied rewrites61.0%
if 2.00000000000000018e-111 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) < +inf.0Initial program 53.9%
Taylor expanded in angle around 0
Applied rewrites51.7%
Applied rewrites60.3%
Taylor expanded in a around 0
Applied rewrites59.2%
if +inf.0 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) Initial program 0.0%
Taylor expanded in angle around 0
Applied rewrites21.8%
Taylor expanded in a around inf
Applied rewrites34.0%
Applied rewrites60.1%
Applied rewrites60.2%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (* 2.0 (- (pow b_m 2.0) (pow a_m 2.0)))))
(*
angle_s
(if (<= t_0 2e-111)
(* (* (PI) a_m) (* angle_m (* -0.011111111111111112 a_m)))
(if (<= t_0 INFINITY)
(* b_m (* (* 0.011111111111111112 angle_m) (* (PI) (+ a_m b_m))))
(* (* -0.011111111111111112 a_m) (* (* a_m angle_m) (PI))))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := 2 \cdot \left({b\_m}^{2} - {a\_m}^{2}\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_0 \leq 2 \cdot 10^{-111}:\\
\;\;\;\;\left(\mathsf{PI}\left(\right) \cdot a\_m\right) \cdot \left(angle\_m \cdot \left(-0.011111111111111112 \cdot a\_m\right)\right)\\
\mathbf{elif}\;t\_0 \leq \infty:\\
\;\;\;\;b\_m \cdot \left(\left(0.011111111111111112 \cdot angle\_m\right) \cdot \left(\mathsf{PI}\left(\right) \cdot \left(a\_m + b\_m\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(-0.011111111111111112 \cdot a\_m\right) \cdot \left(\left(a\_m \cdot angle\_m\right) \cdot \mathsf{PI}\left(\right)\right)\\
\end{array}
\end{array}
\end{array}
if (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) < 2.00000000000000018e-111Initial program 55.4%
Taylor expanded in angle around 0
Applied rewrites55.7%
Taylor expanded in a around inf
Applied rewrites54.7%
Applied rewrites61.0%
Applied rewrites61.0%
if 2.00000000000000018e-111 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) < +inf.0Initial program 53.9%
Taylor expanded in angle around 0
Applied rewrites51.7%
Applied rewrites60.3%
Taylor expanded in a around 0
Applied rewrites59.1%
if +inf.0 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) Initial program 0.0%
Taylor expanded in angle around 0
Applied rewrites21.8%
Taylor expanded in a around inf
Applied rewrites34.0%
Applied rewrites60.1%
Applied rewrites60.2%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (* 2.0 (- (pow b_m 2.0) (pow a_m 2.0)))))
(*
angle_s
(if (<= t_0 -4e-137)
(* (* (PI) a_m) (* angle_m (* -0.011111111111111112 a_m)))
(if (<= t_0 INFINITY)
(* (* (* (PI) (* b_m b_m)) angle_m) 0.011111111111111112)
(* (* -0.011111111111111112 a_m) (* (* a_m angle_m) (PI))))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := 2 \cdot \left({b\_m}^{2} - {a\_m}^{2}\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_0 \leq -4 \cdot 10^{-137}:\\
\;\;\;\;\left(\mathsf{PI}\left(\right) \cdot a\_m\right) \cdot \left(angle\_m \cdot \left(-0.011111111111111112 \cdot a\_m\right)\right)\\
\mathbf{elif}\;t\_0 \leq \infty:\\
\;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot \left(b\_m \cdot b\_m\right)\right) \cdot angle\_m\right) \cdot 0.011111111111111112\\
\mathbf{else}:\\
\;\;\;\;\left(-0.011111111111111112 \cdot a\_m\right) \cdot \left(\left(a\_m \cdot angle\_m\right) \cdot \mathsf{PI}\left(\right)\right)\\
\end{array}
\end{array}
\end{array}
if (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) < -3.99999999999999991e-137Initial program 51.3%
Taylor expanded in angle around 0
Applied rewrites52.4%
Taylor expanded in a around inf
Applied rewrites50.9%
Applied rewrites61.1%
Applied rewrites61.2%
if -3.99999999999999991e-137 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) < +inf.0Initial program 57.1%
Taylor expanded in angle around 0
Applied rewrites55.0%
Taylor expanded in a around 0
Applied rewrites54.8%
if +inf.0 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) Initial program 0.0%
Taylor expanded in angle around 0
Applied rewrites21.8%
Taylor expanded in a around inf
Applied rewrites34.0%
Applied rewrites60.1%
Applied rewrites60.2%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (fma (* -0.005555555555555556 (PI)) angle_m (/ (PI) 2.0)))
(t_1 (* (* 0.005555555555555556 (PI)) angle_m))
(t_2 (sqrt (PI))))
(*
angle_s
(if (<= angle_m 1e+26)
(*
(*
(*
(sin (* (PI) (fma 0.005555555555555556 angle_m 0.5)))
(* (sin t_1) 2.0))
(- b_m a_m))
(+ a_m b_m))
(if (<= angle_m 8.5e+171)
(*
(* (sin (* (* (PI) angle_m) 0.005555555555555556)) 2.0)
(*
(sin (* (* (fma 0.005555555555555556 angle_m 0.5) t_2) t_2))
(* (- b_m a_m) (+ a_m b_m))))
(if (<= angle_m 2.9e+235)
(*
(/
(-
(cos (- t_1 t_0))
(cos (fma (* 0.005555555555555556 angle_m) (PI) t_0)))
2.0)
(* (* (+ a_m b_m) (- b_m a_m)) 2.0))
(*
(*
(* 2.0 (- (pow b_m 2.0) (pow a_m 2.0)))
(sin (* (PI) (/ angle_m 180.0))))
(fma
(* -1.54320987654321e-5 (* angle_m angle_m))
(* (PI) (PI))
1.0))))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \mathsf{fma}\left(-0.005555555555555556 \cdot \mathsf{PI}\left(\right), angle\_m, \frac{\mathsf{PI}\left(\right)}{2}\right)\\
t_1 := \left(0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\\
t_2 := \sqrt{\mathsf{PI}\left(\right)}\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 10^{+26}:\\
\;\;\;\;\left(\left(\sin \left(\mathsf{PI}\left(\right) \cdot \mathsf{fma}\left(0.005555555555555556, angle\_m, 0.5\right)\right) \cdot \left(\sin t\_1 \cdot 2\right)\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \left(a\_m + b\_m\right)\\
\mathbf{elif}\;angle\_m \leq 8.5 \cdot 10^{+171}:\\
\;\;\;\;\left(\sin \left(\left(\mathsf{PI}\left(\right) \cdot angle\_m\right) \cdot 0.005555555555555556\right) \cdot 2\right) \cdot \left(\sin \left(\left(\mathsf{fma}\left(0.005555555555555556, angle\_m, 0.5\right) \cdot t\_2\right) \cdot t\_2\right) \cdot \left(\left(b\_m - a\_m\right) \cdot \left(a\_m + b\_m\right)\right)\right)\\
\mathbf{elif}\;angle\_m \leq 2.9 \cdot 10^{+235}:\\
\;\;\;\;\frac{\cos \left(t\_1 - t\_0\right) - \cos \left(\mathsf{fma}\left(0.005555555555555556 \cdot angle\_m, \mathsf{PI}\left(\right), t\_0\right)\right)}{2} \cdot \left(\left(\left(a\_m + b\_m\right) \cdot \left(b\_m - a\_m\right)\right) \cdot 2\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(2 \cdot \left({b\_m}^{2} - {a\_m}^{2}\right)\right) \cdot \sin \left(\mathsf{PI}\left(\right) \cdot \frac{angle\_m}{180}\right)\right) \cdot \mathsf{fma}\left(-1.54320987654321 \cdot 10^{-5} \cdot \left(angle\_m \cdot angle\_m\right), \mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right), 1\right)\\
\end{array}
\end{array}
\end{array}
if angle < 1.00000000000000005e26Initial program 58.7%
lift-cos.f64N/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-fma.f64N/A
lift-PI.f64N/A
lower-/.f6458.2
Applied rewrites58.2%
Taylor expanded in angle around inf
Applied rewrites60.6%
Applied rewrites75.7%
if 1.00000000000000005e26 < angle < 8.4999999999999995e171Initial program 24.3%
lift-cos.f64N/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-fma.f64N/A
lift-PI.f64N/A
lower-/.f6428.4
Applied rewrites28.4%
Taylor expanded in angle around inf
Applied rewrites28.8%
Applied rewrites34.7%
Applied rewrites31.7%
if 8.4999999999999995e171 < angle < 2.90000000000000021e235Initial program 50.3%
Taylor expanded in angle around 0
Applied rewrites50.8%
Applied rewrites34.9%
Taylor expanded in angle around inf
Applied rewrites42.0%
Applied rewrites63.7%
if 2.90000000000000021e235 < angle Initial program 24.2%
Taylor expanded in angle around 0
Applied rewrites37.5%
Final simplification66.6%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (* (* 0.005555555555555556 (PI)) angle_m))
(t_1 (sqrt (PI)))
(t_2 (fma (* -0.005555555555555556 (PI)) angle_m (/ (PI) 2.0))))
(*
angle_s
(if (<= angle_m 1e+26)
(*
(*
(*
(sin (* (PI) (fma 0.005555555555555556 angle_m 0.5)))
(* (sin t_0) 2.0))
(- b_m a_m))
(+ a_m b_m))
(if (<= angle_m 8.5e+171)
(*
(* (sin (* (* (PI) angle_m) 0.005555555555555556)) 2.0)
(*
(sin (* (* (fma 0.005555555555555556 angle_m 0.5) t_1) t_1))
(* (- b_m a_m) (+ a_m b_m))))
(*
(/
(-
(cos (- t_0 t_2))
(cos (fma (* 0.005555555555555556 angle_m) (PI) t_2)))
2.0)
(* (* (+ a_m b_m) (- b_m a_m)) 2.0)))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \left(0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\\
t_1 := \sqrt{\mathsf{PI}\left(\right)}\\
t_2 := \mathsf{fma}\left(-0.005555555555555556 \cdot \mathsf{PI}\left(\right), angle\_m, \frac{\mathsf{PI}\left(\right)}{2}\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 10^{+26}:\\
\;\;\;\;\left(\left(\sin \left(\mathsf{PI}\left(\right) \cdot \mathsf{fma}\left(0.005555555555555556, angle\_m, 0.5\right)\right) \cdot \left(\sin t\_0 \cdot 2\right)\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \left(a\_m + b\_m\right)\\
\mathbf{elif}\;angle\_m \leq 8.5 \cdot 10^{+171}:\\
\;\;\;\;\left(\sin \left(\left(\mathsf{PI}\left(\right) \cdot angle\_m\right) \cdot 0.005555555555555556\right) \cdot 2\right) \cdot \left(\sin \left(\left(\mathsf{fma}\left(0.005555555555555556, angle\_m, 0.5\right) \cdot t\_1\right) \cdot t\_1\right) \cdot \left(\left(b\_m - a\_m\right) \cdot \left(a\_m + b\_m\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\cos \left(t\_0 - t\_2\right) - \cos \left(\mathsf{fma}\left(0.005555555555555556 \cdot angle\_m, \mathsf{PI}\left(\right), t\_2\right)\right)}{2} \cdot \left(\left(\left(a\_m + b\_m\right) \cdot \left(b\_m - a\_m\right)\right) \cdot 2\right)\\
\end{array}
\end{array}
\end{array}
if angle < 1.00000000000000005e26Initial program 58.7%
lift-cos.f64N/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-fma.f64N/A
lift-PI.f64N/A
lower-/.f6458.2
Applied rewrites58.2%
Taylor expanded in angle around inf
Applied rewrites60.6%
Applied rewrites75.7%
if 1.00000000000000005e26 < angle < 8.4999999999999995e171Initial program 24.3%
lift-cos.f64N/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-fma.f64N/A
lift-PI.f64N/A
lower-/.f6428.4
Applied rewrites28.4%
Taylor expanded in angle around inf
Applied rewrites28.8%
Applied rewrites34.7%
Applied rewrites31.7%
if 8.4999999999999995e171 < angle Initial program 35.0%
Taylor expanded in angle around 0
Applied rewrites28.9%
Applied rewrites22.3%
Taylor expanded in angle around inf
Applied rewrites35.7%
Applied rewrites39.2%
Final simplification65.6%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (sqrt (PI))))
(*
angle_s
(if (<= angle_m 1e+26)
(*
(*
(*
(sin (* (PI) (fma 0.005555555555555556 angle_m 0.5)))
(* (sin (* (* 0.005555555555555556 (PI)) angle_m)) 2.0))
(- b_m a_m))
(+ a_m b_m))
(*
(* (sin (* (* (PI) angle_m) 0.005555555555555556)) 2.0)
(*
(sin (* (* (fma 0.005555555555555556 angle_m 0.5) t_0) t_0))
(* (- b_m a_m) (+ a_m b_m))))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \sqrt{\mathsf{PI}\left(\right)}\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 10^{+26}:\\
\;\;\;\;\left(\left(\sin \left(\mathsf{PI}\left(\right) \cdot \mathsf{fma}\left(0.005555555555555556, angle\_m, 0.5\right)\right) \cdot \left(\sin \left(\left(0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right) \cdot 2\right)\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \left(a\_m + b\_m\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\sin \left(\left(\mathsf{PI}\left(\right) \cdot angle\_m\right) \cdot 0.005555555555555556\right) \cdot 2\right) \cdot \left(\sin \left(\left(\mathsf{fma}\left(0.005555555555555556, angle\_m, 0.5\right) \cdot t\_0\right) \cdot t\_0\right) \cdot \left(\left(b\_m - a\_m\right) \cdot \left(a\_m + b\_m\right)\right)\right)\\
\end{array}
\end{array}
\end{array}
if angle < 1.00000000000000005e26Initial program 58.7%
lift-cos.f64N/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-fma.f64N/A
lift-PI.f64N/A
lower-/.f6458.2
Applied rewrites58.2%
Taylor expanded in angle around inf
Applied rewrites60.6%
Applied rewrites75.7%
if 1.00000000000000005e26 < angle Initial program 29.2%
lift-cos.f64N/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-fma.f64N/A
lift-PI.f64N/A
lower-/.f6430.5
Applied rewrites30.5%
Taylor expanded in angle around inf
Applied rewrites30.2%
Applied rewrites19.0%
Applied rewrites31.4%
Final simplification64.6%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (* (* (PI) angle_m) 0.005555555555555556))
(t_1 (sin (* (* 0.005555555555555556 (PI)) angle_m)))
(t_2 (* -0.005555555555555556 (PI))))
(*
angle_s
(if (<= angle_m 2.6e+107)
(* (* 2.0 (cos (* t_2 angle_m))) (* (* t_1 (+ a_m b_m)) (- b_m a_m)))
(if (<= angle_m 9.6e+207)
(*
(* (sin t_0) 2.0)
(* (sin (fma 0.5 (PI) t_0)) (* (- b_m a_m) (+ a_m b_m))))
(*
(* t_1 (sin (fma t_2 angle_m (/ (PI) 2.0))))
(* (* (+ a_m b_m) (- b_m a_m)) 2.0)))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \left(\mathsf{PI}\left(\right) \cdot angle\_m\right) \cdot 0.005555555555555556\\
t_1 := \sin \left(\left(0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right)\\
t_2 := -0.005555555555555556 \cdot \mathsf{PI}\left(\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 2.6 \cdot 10^{+107}:\\
\;\;\;\;\left(2 \cdot \cos \left(t\_2 \cdot angle\_m\right)\right) \cdot \left(\left(t\_1 \cdot \left(a\_m + b\_m\right)\right) \cdot \left(b\_m - a\_m\right)\right)\\
\mathbf{elif}\;angle\_m \leq 9.6 \cdot 10^{+207}:\\
\;\;\;\;\left(\sin t\_0 \cdot 2\right) \cdot \left(\sin \left(\mathsf{fma}\left(0.5, \mathsf{PI}\left(\right), t\_0\right)\right) \cdot \left(\left(b\_m - a\_m\right) \cdot \left(a\_m + b\_m\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(t\_1 \cdot \sin \left(\mathsf{fma}\left(t\_2, angle\_m, \frac{\mathsf{PI}\left(\right)}{2}\right)\right)\right) \cdot \left(\left(\left(a\_m + b\_m\right) \cdot \left(b\_m - a\_m\right)\right) \cdot 2\right)\\
\end{array}
\end{array}
\end{array}
if angle < 2.6000000000000001e107Initial program 55.6%
Taylor expanded in angle around 0
Applied rewrites57.1%
Applied rewrites68.6%
Taylor expanded in angle around inf
Applied rewrites57.9%
Taylor expanded in angle around inf
Applied rewrites70.1%
if 2.6000000000000001e107 < angle < 9.6000000000000004e207Initial program 31.2%
lift-cos.f64N/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-fma.f64N/A
lift-PI.f64N/A
lower-/.f6442.4
Applied rewrites42.4%
Taylor expanded in angle around inf
Applied rewrites42.5%
if 9.6000000000000004e207 < angle Initial program 29.8%
Taylor expanded in angle around 0
Applied rewrites18.2%
Applied rewrites10.3%
Taylor expanded in angle around inf
Applied rewrites34.8%
Applied rewrites41.6%
Final simplification65.2%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (sin (* (* 0.005555555555555556 (PI)) angle_m))))
(*
angle_s
(if (or (<= angle_m 8e+111) (not (<= angle_m 5e+262)))
(*
(* 2.0 (cos (* (* -0.005555555555555556 (PI)) angle_m)))
(* (* t_0 (+ a_m b_m)) (- b_m a_m)))
(* (* t_0 1.0) (* (* (+ a_m b_m) (- b_m a_m)) 2.0))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \sin \left(\left(0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 8 \cdot 10^{+111} \lor \neg \left(angle\_m \leq 5 \cdot 10^{+262}\right):\\
\;\;\;\;\left(2 \cdot \cos \left(\left(-0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right)\right) \cdot \left(\left(t\_0 \cdot \left(a\_m + b\_m\right)\right) \cdot \left(b\_m - a\_m\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(t\_0 \cdot 1\right) \cdot \left(\left(\left(a\_m + b\_m\right) \cdot \left(b\_m - a\_m\right)\right) \cdot 2\right)\\
\end{array}
\end{array}
\end{array}
if angle < 7.99999999999999965e111 or 5.00000000000000008e262 < angle Initial program 53.6%
Taylor expanded in angle around 0
Applied rewrites54.6%
Applied rewrites65.4%
Taylor expanded in angle around inf
Applied rewrites56.2%
Taylor expanded in angle around inf
Applied rewrites67.7%
if 7.99999999999999965e111 < angle < 5.00000000000000008e262Initial program 34.0%
Taylor expanded in angle around 0
Applied rewrites32.1%
Applied rewrites25.7%
Taylor expanded in angle around inf
Applied rewrites31.9%
Taylor expanded in angle around 0
Applied rewrites39.4%
Final simplification64.3%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (sin (* (* 0.005555555555555556 (PI)) angle_m))))
(*
angle_s
(if (<= angle_m 1.9e+45)
(*
(* 2.0 (cos (* (* -0.005555555555555556 (PI)) angle_m)))
(* (* t_0 (+ a_m b_m)) (- b_m a_m)))
(*
(* t_0 2.0)
(*
(sin (fma 0.5 (PI) (* (* (PI) angle_m) 0.005555555555555556)))
(* (- b_m a_m) (+ a_m b_m))))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \sin \left(\left(0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 1.9 \cdot 10^{+45}:\\
\;\;\;\;\left(2 \cdot \cos \left(\left(-0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right)\right) \cdot \left(\left(t\_0 \cdot \left(a\_m + b\_m\right)\right) \cdot \left(b\_m - a\_m\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(t\_0 \cdot 2\right) \cdot \left(\sin \left(\mathsf{fma}\left(0.5, \mathsf{PI}\left(\right), \left(\mathsf{PI}\left(\right) \cdot angle\_m\right) \cdot 0.005555555555555556\right)\right) \cdot \left(\left(b\_m - a\_m\right) \cdot \left(a\_m + b\_m\right)\right)\right)\\
\end{array}
\end{array}
\end{array}
if angle < 1.9000000000000001e45Initial program 57.7%
Taylor expanded in angle around 0
Applied rewrites59.5%
Applied rewrites72.5%
Taylor expanded in angle around inf
Applied rewrites59.1%
Taylor expanded in angle around inf
Applied rewrites72.2%
if 1.9000000000000001e45 < angle Initial program 30.5%
lift-cos.f64N/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-fma.f64N/A
lift-PI.f64N/A
lower-/.f6431.7
Applied rewrites31.7%
Taylor expanded in angle around inf
Applied rewrites31.2%
Applied rewrites29.9%
Final simplification62.3%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (sin (* (* 0.005555555555555556 (PI)) angle_m))))
(*
angle_s
(if (<= angle_m 1.9e+45)
(*
(* 2.0 (cos (* (* -0.005555555555555556 (PI)) angle_m)))
(* (* t_0 (+ a_m b_m)) (- b_m a_m)))
(*
(* (sin (* (* (PI) angle_m) 0.005555555555555556)) 2.0)
(* t_0 (* (- b_m a_m) (+ a_m b_m))))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \sin \left(\left(0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 1.9 \cdot 10^{+45}:\\
\;\;\;\;\left(2 \cdot \cos \left(\left(-0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right)\right) \cdot \left(\left(t\_0 \cdot \left(a\_m + b\_m\right)\right) \cdot \left(b\_m - a\_m\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\sin \left(\left(\mathsf{PI}\left(\right) \cdot angle\_m\right) \cdot 0.005555555555555556\right) \cdot 2\right) \cdot \left(t\_0 \cdot \left(\left(b\_m - a\_m\right) \cdot \left(a\_m + b\_m\right)\right)\right)\\
\end{array}
\end{array}
\end{array}
if angle < 1.9000000000000001e45Initial program 57.7%
Taylor expanded in angle around 0
Applied rewrites59.5%
Applied rewrites72.5%
Taylor expanded in angle around inf
Applied rewrites59.1%
Taylor expanded in angle around inf
Applied rewrites72.2%
if 1.9000000000000001e45 < angle Initial program 30.5%
lift-cos.f64N/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-fma.f64N/A
lift-PI.f64N/A
lower-/.f6431.7
Applied rewrites31.7%
Taylor expanded in angle around inf
Applied rewrites31.2%
Taylor expanded in angle around inf
Applied rewrites29.9%
Final simplification62.3%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (sin (* (* 0.005555555555555556 (PI)) angle_m))))
(*
angle_s
(if (<= angle_m 5e+262)
(* (* (* (sin (* 0.5 (PI))) (* t_0 2.0)) (- b_m a_m)) (+ a_m b_m))
(*
(*
t_0
(fma (* -1.54320987654321e-5 (* angle_m angle_m)) (* (PI) (PI)) 1.0))
(* (* (+ a_m b_m) (- b_m a_m)) 2.0))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \sin \left(\left(0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 5 \cdot 10^{+262}:\\
\;\;\;\;\left(\left(\sin \left(0.5 \cdot \mathsf{PI}\left(\right)\right) \cdot \left(t\_0 \cdot 2\right)\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \left(a\_m + b\_m\right)\\
\mathbf{else}:\\
\;\;\;\;\left(t\_0 \cdot \mathsf{fma}\left(-1.54320987654321 \cdot 10^{-5} \cdot \left(angle\_m \cdot angle\_m\right), \mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right), 1\right)\right) \cdot \left(\left(\left(a\_m + b\_m\right) \cdot \left(b\_m - a\_m\right)\right) \cdot 2\right)\\
\end{array}
\end{array}
\end{array}
if angle < 5.00000000000000008e262Initial program 52.6%
lift-cos.f64N/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-fma.f64N/A
lift-PI.f64N/A
lower-/.f6453.0
Applied rewrites53.0%
Taylor expanded in angle around inf
Applied rewrites54.9%
Applied rewrites66.2%
Taylor expanded in angle around 0
Applied rewrites65.6%
if 5.00000000000000008e262 < angle Initial program 24.3%
Taylor expanded in angle around 0
Applied rewrites10.3%
Applied rewrites10.3%
Taylor expanded in angle around inf
Applied rewrites34.2%
Taylor expanded in angle around 0
Applied rewrites19.3%
Final simplification63.5%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(*
angle_s
(if (<= angle_m 75000000000000.0)
(* (- b_m a_m) (* (* (PI) 0.011111111111111112) (* angle_m (+ a_m b_m))))
(*
(* (sin (* (* (PI) angle_m) 0.005555555555555556)) 2.0)
(* (sin (* 0.5 (PI))) (* (- b_m a_m) (+ a_m b_m)))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 75000000000000:\\
\;\;\;\;\left(b\_m - a\_m\right) \cdot \left(\left(\mathsf{PI}\left(\right) \cdot 0.011111111111111112\right) \cdot \left(angle\_m \cdot \left(a\_m + b\_m\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\sin \left(\left(\mathsf{PI}\left(\right) \cdot angle\_m\right) \cdot 0.005555555555555556\right) \cdot 2\right) \cdot \left(\sin \left(0.5 \cdot \mathsf{PI}\left(\right)\right) \cdot \left(\left(b\_m - a\_m\right) \cdot \left(a\_m + b\_m\right)\right)\right)\\
\end{array}
\end{array}
if angle < 7.5e13Initial program 59.2%
Taylor expanded in angle around 0
Applied rewrites61.2%
Applied rewrites74.5%
Applied rewrites74.6%
if 7.5e13 < angle Initial program 28.6%
lift-cos.f64N/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-fma.f64N/A
lift-PI.f64N/A
lower-/.f6430.1
Applied rewrites30.1%
Taylor expanded in angle around inf
Applied rewrites29.8%
Taylor expanded in angle around 0
Applied rewrites31.4%
Final simplification63.5%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(let* ((t_0 (sin (* (* 0.005555555555555556 (PI)) angle_m)))
(t_1 (* (* (+ a_m b_m) (- b_m a_m)) 2.0)))
(*
angle_s
(if (<= angle_m 75000000000000.0)
(* (- b_m a_m) (* (* (PI) 0.011111111111111112) (* angle_m (+ a_m b_m))))
(if (<= angle_m 5e+262)
(* (* t_0 1.0) t_1)
(*
(*
t_0
(fma (* -1.54320987654321e-5 (* angle_m angle_m)) (* (PI) (PI)) 1.0))
t_1))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \sin \left(\left(0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right)\\
t_1 := \left(\left(a\_m + b\_m\right) \cdot \left(b\_m - a\_m\right)\right) \cdot 2\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 75000000000000:\\
\;\;\;\;\left(b\_m - a\_m\right) \cdot \left(\left(\mathsf{PI}\left(\right) \cdot 0.011111111111111112\right) \cdot \left(angle\_m \cdot \left(a\_m + b\_m\right)\right)\right)\\
\mathbf{elif}\;angle\_m \leq 5 \cdot 10^{+262}:\\
\;\;\;\;\left(t\_0 \cdot 1\right) \cdot t\_1\\
\mathbf{else}:\\
\;\;\;\;\left(t\_0 \cdot \mathsf{fma}\left(-1.54320987654321 \cdot 10^{-5} \cdot \left(angle\_m \cdot angle\_m\right), \mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right), 1\right)\right) \cdot t\_1\\
\end{array}
\end{array}
\end{array}
if angle < 7.5e13Initial program 59.2%
Taylor expanded in angle around 0
Applied rewrites61.2%
Applied rewrites74.5%
Applied rewrites74.6%
if 7.5e13 < angle < 5.00000000000000008e262Initial program 29.5%
Taylor expanded in angle around 0
Applied rewrites28.5%
Applied rewrites23.3%
Taylor expanded in angle around inf
Applied rewrites33.8%
Taylor expanded in angle around 0
Applied rewrites34.4%
if 5.00000000000000008e262 < angle Initial program 24.3%
Taylor expanded in angle around 0
Applied rewrites10.3%
Applied rewrites10.3%
Taylor expanded in angle around inf
Applied rewrites34.2%
Taylor expanded in angle around 0
Applied rewrites19.3%
Final simplification63.5%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(*
angle_s
(if (<= angle_m 75000000000000.0)
(* (- b_m a_m) (* (* (PI) 0.011111111111111112) (* angle_m (+ a_m b_m))))
(if (<= angle_m 5.7e+268)
(*
(* (sin (* (* 0.005555555555555556 (PI)) angle_m)) 1.0)
(* (* (+ a_m b_m) (- b_m a_m)) 2.0))
(*
(*
(* angle_m (* 0.011111111111111112 (PI)))
(* (+ b_m a_m) (- b_m a_m)))
(cos (* (PI) (/ angle_m 180.0))))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 75000000000000:\\
\;\;\;\;\left(b\_m - a\_m\right) \cdot \left(\left(\mathsf{PI}\left(\right) \cdot 0.011111111111111112\right) \cdot \left(angle\_m \cdot \left(a\_m + b\_m\right)\right)\right)\\
\mathbf{elif}\;angle\_m \leq 5.7 \cdot 10^{+268}:\\
\;\;\;\;\left(\sin \left(\left(0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right) \cdot 1\right) \cdot \left(\left(\left(a\_m + b\_m\right) \cdot \left(b\_m - a\_m\right)\right) \cdot 2\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(angle\_m \cdot \left(0.011111111111111112 \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \left(\left(b\_m + a\_m\right) \cdot \left(b\_m - a\_m\right)\right)\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot \frac{angle\_m}{180}\right)\\
\end{array}
\end{array}
if angle < 7.5e13Initial program 59.2%
Taylor expanded in angle around 0
Applied rewrites61.2%
Applied rewrites74.5%
Applied rewrites74.6%
if 7.5e13 < angle < 5.7e268Initial program 29.4%
Taylor expanded in angle around 0
Applied rewrites28.1%
Applied rewrites22.9%
Taylor expanded in angle around inf
Applied rewrites33.6%
Taylor expanded in angle around 0
Applied rewrites34.1%
if 5.7e268 < angle Initial program 24.8%
Taylor expanded in angle around 0
Applied rewrites29.2%
Final simplification64.0%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(*
angle_s
(if (<= angle_m 75000000000000.0)
(* (- b_m a_m) (* (* (PI) 0.011111111111111112) (* angle_m (+ a_m b_m))))
(*
(* (sin (* (* 0.005555555555555556 (PI)) angle_m)) 1.0)
(* (* (+ a_m b_m) (- b_m a_m)) 2.0)))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 75000000000000:\\
\;\;\;\;\left(b\_m - a\_m\right) \cdot \left(\left(\mathsf{PI}\left(\right) \cdot 0.011111111111111112\right) \cdot \left(angle\_m \cdot \left(a\_m + b\_m\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\sin \left(\left(0.005555555555555556 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right) \cdot 1\right) \cdot \left(\left(\left(a\_m + b\_m\right) \cdot \left(b\_m - a\_m\right)\right) \cdot 2\right)\\
\end{array}
\end{array}
if angle < 7.5e13Initial program 59.2%
Taylor expanded in angle around 0
Applied rewrites61.2%
Applied rewrites74.5%
Applied rewrites74.6%
if 7.5e13 < angle Initial program 28.6%
Taylor expanded in angle around 0
Applied rewrites25.2%
Applied rewrites20.9%
Taylor expanded in angle around inf
Applied rewrites33.9%
Taylor expanded in angle around 0
Applied rewrites30.8%
Final simplification63.3%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(*
angle_s
(if (<= angle_m 9.6e+207)
(* (- b_m a_m) (* (* (PI) 0.011111111111111112) (* angle_m (+ a_m b_m))))
(*
(* (* 0.011111111111111112 angle_m) (* (* (+ a_m b_m) (PI)) (- b_m a_m)))
(fma (* -1.54320987654321e-5 (* angle_m angle_m)) (* (PI) (PI)) 1.0)))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 9.6 \cdot 10^{+207}:\\
\;\;\;\;\left(b\_m - a\_m\right) \cdot \left(\left(\mathsf{PI}\left(\right) \cdot 0.011111111111111112\right) \cdot \left(angle\_m \cdot \left(a\_m + b\_m\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(0.011111111111111112 \cdot angle\_m\right) \cdot \left(\left(\left(a\_m + b\_m\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \left(b\_m - a\_m\right)\right)\right) \cdot \mathsf{fma}\left(-1.54320987654321 \cdot 10^{-5} \cdot \left(angle\_m \cdot angle\_m\right), \mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right), 1\right)\\
\end{array}
\end{array}
if angle < 9.6000000000000004e207Initial program 53.5%
Taylor expanded in angle around 0
Applied rewrites55.4%
Applied rewrites65.9%
Applied rewrites66.0%
if 9.6000000000000004e207 < angle Initial program 29.8%
Taylor expanded in a around 0
Applied rewrites32.0%
Taylor expanded in angle around 0
Applied rewrites21.7%
Taylor expanded in angle around 0
Applied rewrites30.7%
Final simplification62.7%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a_m b_m angle_m)
:precision binary64
(*
angle_s
(if (<= b_m 2.5e+259)
(* (- b_m a_m) (* (* (PI) 0.011111111111111112) (* angle_m (+ a_m b_m))))
(*
(* (* (* (PI) (* b_m b_m)) angle_m) 0.011111111111111112)
(fma (* -1.54320987654321e-5 (* angle_m angle_m)) (* (PI) (PI)) 1.0)))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;b\_m \leq 2.5 \cdot 10^{+259}:\\
\;\;\;\;\left(b\_m - a\_m\right) \cdot \left(\left(\mathsf{PI}\left(\right) \cdot 0.011111111111111112\right) \cdot \left(angle\_m \cdot \left(a\_m + b\_m\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\mathsf{PI}\left(\right) \cdot \left(b\_m \cdot b\_m\right)\right) \cdot angle\_m\right) \cdot 0.011111111111111112\right) \cdot \mathsf{fma}\left(-1.54320987654321 \cdot 10^{-5} \cdot \left(angle\_m \cdot angle\_m\right), \mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right), 1\right)\\
\end{array}
\end{array}
if b < 2.50000000000000016e259Initial program 52.0%
Taylor expanded in angle around 0
Applied rewrites52.1%
Applied rewrites60.9%
Applied rewrites61.0%
if 2.50000000000000016e259 < b Initial program 33.3%
Taylor expanded in a around 0
Applied rewrites55.6%
Taylor expanded in angle around 0
Applied rewrites66.7%
Taylor expanded in angle around 0
Applied rewrites77.8%
Final simplification61.6%
b_m = (fabs.f64 b) a_m = (fabs.f64 a) angle\_m = (fabs.f64 angle) angle\_s = (copysign.f64 #s(literal 1 binary64) angle) (FPCore (angle_s a_m b_m angle_m) :precision binary64 (* angle_s (* (- b_m a_m) (* (* (PI) 0.011111111111111112) (* angle_m (+ a_m b_m))))))
\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \left(\left(b\_m - a\_m\right) \cdot \left(\left(\mathsf{PI}\left(\right) \cdot 0.011111111111111112\right) \cdot \left(angle\_m \cdot \left(a\_m + b\_m\right)\right)\right)\right)
\end{array}
Initial program 51.3%
Taylor expanded in angle around 0
Applied rewrites51.9%
Applied rewrites60.7%
Applied rewrites60.8%
b_m = (fabs.f64 b) a_m = (fabs.f64 a) angle\_m = (fabs.f64 angle) angle\_s = (copysign.f64 #s(literal 1 binary64) angle) (FPCore (angle_s a_m b_m angle_m) :precision binary64 (* angle_s (* (- b_m a_m) (* (* 0.011111111111111112 angle_m) (* (PI) (+ a_m b_m))))))
\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \left(\left(b\_m - a\_m\right) \cdot \left(\left(0.011111111111111112 \cdot angle\_m\right) \cdot \left(\mathsf{PI}\left(\right) \cdot \left(a\_m + b\_m\right)\right)\right)\right)
\end{array}
Initial program 51.3%
Taylor expanded in angle around 0
Applied rewrites51.9%
Applied rewrites60.7%
b_m = (fabs.f64 b) a_m = (fabs.f64 a) angle\_m = (fabs.f64 angle) angle\_s = (copysign.f64 #s(literal 1 binary64) angle) (FPCore (angle_s a_m b_m angle_m) :precision binary64 (* angle_s (* (+ a_m b_m) (* (- b_m a_m) (* (* 0.011111111111111112 (PI)) angle_m)))))
\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \left(\left(a\_m + b\_m\right) \cdot \left(\left(b\_m - a\_m\right) \cdot \left(\left(0.011111111111111112 \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right)\right)\right)
\end{array}
Initial program 51.3%
Taylor expanded in angle around 0
Applied rewrites51.9%
Applied rewrites60.7%
b_m = (fabs.f64 b) a_m = (fabs.f64 a) angle\_m = (fabs.f64 angle) angle\_s = (copysign.f64 #s(literal 1 binary64) angle) (FPCore (angle_s a_m b_m angle_m) :precision binary64 (* angle_s (* (* (* (* (- b_m a_m) angle_m) 0.011111111111111112) (+ a_m b_m)) (PI))))
\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \left(\left(\left(\left(\left(b\_m - a\_m\right) \cdot angle\_m\right) \cdot 0.011111111111111112\right) \cdot \left(a\_m + b\_m\right)\right) \cdot \mathsf{PI}\left(\right)\right)
\end{array}
Initial program 51.3%
Taylor expanded in angle around 0
Applied rewrites51.9%
Applied rewrites60.7%
Applied rewrites60.7%
b_m = (fabs.f64 b) a_m = (fabs.f64 a) angle\_m = (fabs.f64 angle) angle\_s = (copysign.f64 #s(literal 1 binary64) angle) (FPCore (angle_s a_m b_m angle_m) :precision binary64 (* angle_s (* (* (PI) a_m) (* angle_m (* -0.011111111111111112 a_m)))))
\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \left(\left(\mathsf{PI}\left(\right) \cdot a\_m\right) \cdot \left(angle\_m \cdot \left(-0.011111111111111112 \cdot a\_m\right)\right)\right)
\end{array}
Initial program 51.3%
Taylor expanded in angle around 0
Applied rewrites51.9%
Taylor expanded in a around inf
Applied rewrites33.2%
Applied rewrites38.1%
Applied rewrites38.1%
b_m = (fabs.f64 b) a_m = (fabs.f64 a) angle\_m = (fabs.f64 angle) angle\_s = (copysign.f64 #s(literal 1 binary64) angle) (FPCore (angle_s a_m b_m angle_m) :precision binary64 (* angle_s (* (* -0.011111111111111112 a_m) (* (* a_m angle_m) (PI)))))
\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \left(\left(-0.011111111111111112 \cdot a\_m\right) \cdot \left(\left(a\_m \cdot angle\_m\right) \cdot \mathsf{PI}\left(\right)\right)\right)
\end{array}
Initial program 51.3%
Taylor expanded in angle around 0
Applied rewrites51.9%
Taylor expanded in a around inf
Applied rewrites33.2%
Applied rewrites38.1%
Applied rewrites38.1%
b_m = (fabs.f64 b) a_m = (fabs.f64 a) angle\_m = (fabs.f64 angle) angle\_s = (copysign.f64 #s(literal 1 binary64) angle) (FPCore (angle_s a_m b_m angle_m) :precision binary64 (* angle_s (* (* -0.011111111111111112 a_m) (* a_m (* (PI) angle_m)))))
\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \left(\left(-0.011111111111111112 \cdot a\_m\right) \cdot \left(a\_m \cdot \left(\mathsf{PI}\left(\right) \cdot angle\_m\right)\right)\right)
\end{array}
Initial program 51.3%
Taylor expanded in angle around 0
Applied rewrites51.9%
Taylor expanded in a around inf
Applied rewrites33.2%
Applied rewrites38.1%
herbie shell --seed 2025019
(FPCore (a b angle)
:name "ab-angle->ABCF B"
:precision binary64
(* (* (* 2.0 (- (pow b 2.0) (pow a 2.0))) (sin (* (PI) (/ angle 180.0)))) (cos (* (PI) (/ angle 180.0)))))