
(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 17 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)
(FPCore (a_m b_m angle)
:precision binary64
(if (<= b_m 6.5e+218)
(*
(*
(sin (* (* (cbrt (* (* (PI) (PI)) (PI))) angle) 0.011111111111111112))
(- b_m a_m))
(+ b_m a_m))
(if (<= b_m 2.6e+238)
(* (* (* (* (PI) (- b_m a_m)) 0.011111111111111112) angle) (+ b_m a_m))
(*
(*
(*
(fma
(* (* angle angle) -2.2862368541380886e-7)
(pow (PI) 3.0)
(* (PI) 0.011111111111111112))
angle)
(- b_m a_m))
(+ b_m a_m)))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
\mathbf{if}\;b\_m \leq 6.5 \cdot 10^{+218}:\\
\;\;\;\;\left(\sin \left(\left(\sqrt[3]{\left(\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \mathsf{PI}\left(\right)} \cdot angle\right) \cdot 0.011111111111111112\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \left(b\_m + a\_m\right)\\
\mathbf{elif}\;b\_m \leq 2.6 \cdot 10^{+238}:\\
\;\;\;\;\left(\left(\left(\mathsf{PI}\left(\right) \cdot \left(b\_m - a\_m\right)\right) \cdot 0.011111111111111112\right) \cdot angle\right) \cdot \left(b\_m + a\_m\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\mathsf{fma}\left(\left(angle \cdot angle\right) \cdot -2.2862368541380886 \cdot 10^{-7}, {\mathsf{PI}\left(\right)}^{3}, \mathsf{PI}\left(\right) \cdot 0.011111111111111112\right) \cdot angle\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \left(b\_m + a\_m\right)\\
\end{array}
\end{array}
if b < 6.4999999999999999e218Initial program 49.9%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lift--.f64N/A
lift-pow.f64N/A
unpow2N/A
lift-pow.f64N/A
unpow2N/A
difference-of-squaresN/A
associate-*l*N/A
lower-*.f64N/A
Applied rewrites62.9%
lift-PI.f64N/A
add-cbrt-cubeN/A
lower-cbrt.f64N/A
rem-cube-cbrtN/A
add-cbrt-cubeN/A
lift-PI.f64N/A
lower-pow.f6466.0
Applied rewrites66.0%
lift-pow.f64N/A
unpow3N/A
lower-*.f64N/A
lower-*.f6466.0
Applied rewrites66.0%
if 6.4999999999999999e218 < b < 2.6e238Initial program 25.0%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lift--.f64N/A
lift-pow.f64N/A
unpow2N/A
lift-pow.f64N/A
unpow2N/A
difference-of-squaresN/A
associate-*l*N/A
lower-*.f64N/A
Applied rewrites49.6%
lift-PI.f64N/A
add-cbrt-cubeN/A
lower-cbrt.f64N/A
rem-cube-cbrtN/A
add-cbrt-cubeN/A
lift-PI.f64N/A
lower-pow.f6449.6
Applied rewrites49.6%
lift-*.f64N/A
lift-*.f64N/A
lift-cbrt.f64N/A
lift-pow.f64N/A
rem-cbrt-cubeN/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
lift-PI.f64N/A
add-cube-cbrtN/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
pow2N/A
lower-pow.f64N/A
lift-PI.f64N/A
lower-cbrt.f64N/A
lift-PI.f64N/A
lower-cbrt.f6474.4
Applied rewrites74.4%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lower--.f64N/A
lower-PI.f64100.0
Applied rewrites100.0%
if 2.6e238 < b Initial program 50.0%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lift--.f64N/A
lift-pow.f64N/A
unpow2N/A
lift-pow.f64N/A
unpow2N/A
difference-of-squaresN/A
associate-*l*N/A
lower-*.f64N/A
Applied rewrites79.8%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-fma.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
lower-pow.f64N/A
lower-PI.f64N/A
lower-*.f64N/A
lower-PI.f6499.8
Applied rewrites99.8%
Final simplification67.8%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
(FPCore (a_m b_m angle)
:precision binary64
(if (<= (/ angle 180.0) 2e+146)
(*
(*
(sin
(*
(cbrt (PI))
(*
(pow (pow (pow (PI) 0.16666666666666666) 2.0) 2.0)
(* 0.011111111111111112 angle))))
(- b_m a_m))
(+ b_m a_m))
(*
1.0
(*
(/ 2.0 (pow (+ b_m a_m) -1.0))
(/
(sin (* (* (PI) angle) 0.005555555555555556))
(pow (- b_m a_m) -1.0))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
\mathbf{if}\;\frac{angle}{180} \leq 2 \cdot 10^{+146}:\\
\;\;\;\;\left(\sin \left(\sqrt[3]{\mathsf{PI}\left(\right)} \cdot \left({\left({\left({\mathsf{PI}\left(\right)}^{0.16666666666666666}\right)}^{2}\right)}^{2} \cdot \left(0.011111111111111112 \cdot angle\right)\right)\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \left(b\_m + a\_m\right)\\
\mathbf{else}:\\
\;\;\;\;1 \cdot \left(\frac{2}{{\left(b\_m + a\_m\right)}^{-1}} \cdot \frac{\sin \left(\left(\mathsf{PI}\left(\right) \cdot angle\right) \cdot 0.005555555555555556\right)}{{\left(b\_m - a\_m\right)}^{-1}}\right)\\
\end{array}
\end{array}
if (/.f64 angle #s(literal 180 binary64)) < 1.99999999999999987e146Initial program 55.7%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lift--.f64N/A
lift-pow.f64N/A
unpow2N/A
lift-pow.f64N/A
unpow2N/A
difference-of-squaresN/A
associate-*l*N/A
lower-*.f64N/A
Applied rewrites71.1%
lift-PI.f64N/A
add-cbrt-cubeN/A
lower-cbrt.f64N/A
rem-cube-cbrtN/A
add-cbrt-cubeN/A
lift-PI.f64N/A
lower-pow.f6473.9
Applied rewrites73.9%
lift-*.f64N/A
lift-*.f64N/A
lift-cbrt.f64N/A
lift-pow.f64N/A
rem-cbrt-cubeN/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
lift-PI.f64N/A
add-cube-cbrtN/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
pow2N/A
lower-pow.f64N/A
lift-PI.f64N/A
lower-cbrt.f64N/A
lift-PI.f64N/A
lower-cbrt.f6473.0
Applied rewrites73.0%
unpow1N/A
metadata-evalN/A
pow-sqrN/A
pow2N/A
lower-pow.f64N/A
lift-cbrt.f64N/A
pow1/3N/A
pow-powN/A
lower-pow.f64N/A
metadata-eval74.0
Applied rewrites74.0%
if 1.99999999999999987e146 < (/.f64 angle #s(literal 180 binary64)) Initial program 14.0%
lift-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
associate-*r*N/A
lift--.f64N/A
flip--N/A
clear-numN/A
un-div-invN/A
lower-/.f64N/A
Applied rewrites20.4%
lift-/.f64N/A
lift-*.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-*.f64N/A
*-commutativeN/A
metadata-evalN/A
div-invN/A
lift-/.f64N/A
lift-pow.f64N/A
lift-*.f64N/A
unpow-prod-downN/A
times-fracN/A
lower-*.f64N/A
Applied rewrites19.3%
Taylor expanded in angle around 0
Applied rewrites38.4%
Final simplification68.7%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
(FPCore (a_m b_m angle)
:precision binary64
(let* ((t_0 (- (pow b_m 2.0) (pow a_m 2.0))) (t_1 (* (* (PI) angle) a_m)))
(if (<= t_0 -1e-105)
(* (* t_1 a_m) -0.011111111111111112)
(if (<= t_0 INFINITY)
(* (* (* (* b_m b_m) (PI)) angle) 0.011111111111111112)
(* (* -0.011111111111111112 a_m) t_1)))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
t_0 := {b\_m}^{2} - {a\_m}^{2}\\
t_1 := \left(\mathsf{PI}\left(\right) \cdot angle\right) \cdot a\_m\\
\mathbf{if}\;t\_0 \leq -1 \cdot 10^{-105}:\\
\;\;\;\;\left(t\_1 \cdot a\_m\right) \cdot -0.011111111111111112\\
\mathbf{elif}\;t\_0 \leq \infty:\\
\;\;\;\;\left(\left(\left(b\_m \cdot b\_m\right) \cdot \mathsf{PI}\left(\right)\right) \cdot angle\right) \cdot 0.011111111111111112\\
\mathbf{else}:\\
\;\;\;\;\left(-0.011111111111111112 \cdot a\_m\right) \cdot t\_1\\
\end{array}
\end{array}
if (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))) < -9.99999999999999965e-106Initial program 49.2%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6448.4
Applied rewrites48.4%
Taylor expanded in a around inf
Applied rewrites48.4%
Applied rewrites64.1%
Taylor expanded in a around inf
Applied rewrites64.1%
if -9.99999999999999965e-106 < (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))) < +inf.0Initial program 55.4%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6455.0
Applied rewrites55.0%
Taylor expanded in a around 0
Applied rewrites55.1%
if +inf.0 < (-.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
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6446.5
Applied rewrites46.5%
Taylor expanded in a around inf
Applied rewrites44.2%
Applied rewrites50.1%
Final simplification58.4%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
(FPCore (a_m b_m angle)
:precision binary64
(let* ((t_0 (- (pow b_m 2.0) (pow a_m 2.0)))
(t_1 (* (* -0.011111111111111112 a_m) (* (* (PI) angle) a_m))))
(if (<= t_0 -1e-105)
t_1
(if (<= t_0 INFINITY)
(* (* (* (* b_m b_m) (PI)) angle) 0.011111111111111112)
t_1))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
t_0 := {b\_m}^{2} - {a\_m}^{2}\\
t_1 := \left(-0.011111111111111112 \cdot a\_m\right) \cdot \left(\left(\mathsf{PI}\left(\right) \cdot angle\right) \cdot a\_m\right)\\
\mathbf{if}\;t\_0 \leq -1 \cdot 10^{-105}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t\_0 \leq \infty:\\
\;\;\;\;\left(\left(\left(b\_m \cdot b\_m\right) \cdot \mathsf{PI}\left(\right)\right) \cdot angle\right) \cdot 0.011111111111111112\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))) < -9.99999999999999965e-106 or +inf.0 < (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))) Initial program 42.5%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6448.2
Applied rewrites48.2%
Taylor expanded in a around inf
Applied rewrites47.9%
Applied rewrites62.2%
if -9.99999999999999965e-106 < (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))) < +inf.0Initial program 55.4%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6455.0
Applied rewrites55.0%
Taylor expanded in a around 0
Applied rewrites55.1%
Final simplification58.4%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
(FPCore (a_m b_m angle)
:precision binary64
(if (<= (/ angle 180.0) 2e+142)
(*
(*
(sin (* (* (cbrt (pow (PI) 3.0)) angle) 0.011111111111111112))
(- b_m a_m))
(/ -1.0 (/ -1.0 (+ b_m a_m))))
(*
1.0
(*
(/ 2.0 (pow (+ b_m a_m) -1.0))
(/
(sin (* (* (PI) angle) 0.005555555555555556))
(pow (- b_m a_m) -1.0))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
\mathbf{if}\;\frac{angle}{180} \leq 2 \cdot 10^{+142}:\\
\;\;\;\;\left(\sin \left(\left(\sqrt[3]{{\mathsf{PI}\left(\right)}^{3}} \cdot angle\right) \cdot 0.011111111111111112\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \frac{-1}{\frac{-1}{b\_m + a\_m}}\\
\mathbf{else}:\\
\;\;\;\;1 \cdot \left(\frac{2}{{\left(b\_m + a\_m\right)}^{-1}} \cdot \frac{\sin \left(\left(\mathsf{PI}\left(\right) \cdot angle\right) \cdot 0.005555555555555556\right)}{{\left(b\_m - a\_m\right)}^{-1}}\right)\\
\end{array}
\end{array}
if (/.f64 angle #s(literal 180 binary64)) < 2.0000000000000001e142Initial program 55.6%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lift--.f64N/A
lift-pow.f64N/A
unpow2N/A
lift-pow.f64N/A
unpow2N/A
difference-of-squaresN/A
associate-*l*N/A
lower-*.f64N/A
Applied rewrites71.7%
lift-PI.f64N/A
add-cbrt-cubeN/A
lower-cbrt.f64N/A
rem-cube-cbrtN/A
add-cbrt-cubeN/A
lift-PI.f64N/A
lower-pow.f6474.6
Applied rewrites74.6%
lift-+.f64N/A
+-commutativeN/A
lift-+.f6474.6
remove-double-divN/A
unpow-1N/A
lift-pow.f64N/A
frac-2negN/A
metadata-evalN/A
lower-/.f64N/A
lift-pow.f64N/A
unpow-1N/A
distribute-neg-fracN/A
metadata-evalN/A
lower-/.f6474.6
Applied rewrites74.6%
if 2.0000000000000001e142 < (/.f64 angle #s(literal 180 binary64)) Initial program 16.4%
lift-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
associate-*r*N/A
lift--.f64N/A
flip--N/A
clear-numN/A
un-div-invN/A
lower-/.f64N/A
Applied rewrites20.0%
lift-/.f64N/A
lift-*.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-*.f64N/A
*-commutativeN/A
metadata-evalN/A
div-invN/A
lift-/.f64N/A
lift-pow.f64N/A
lift-*.f64N/A
unpow-prod-downN/A
times-fracN/A
lower-*.f64N/A
Applied rewrites21.4%
Taylor expanded in angle around 0
Applied rewrites36.5%
Final simplification68.7%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
(FPCore (a_m b_m angle)
:precision binary64
(if (<= (/ angle 180.0) 5e+145)
(*
(*
(sin (* (* (cbrt (pow (PI) 3.0)) angle) 0.011111111111111112))
(- b_m a_m))
(/ -1.0 (/ -1.0 (+ b_m a_m))))
(*
(/
(* (sin (* (* 0.005555555555555556 angle) (PI))) 2.0)
(pow (* (- b_m a_m) (+ b_m a_m)) -1.0))
1.0)))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
\mathbf{if}\;\frac{angle}{180} \leq 5 \cdot 10^{+145}:\\
\;\;\;\;\left(\sin \left(\left(\sqrt[3]{{\mathsf{PI}\left(\right)}^{3}} \cdot angle\right) \cdot 0.011111111111111112\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \frac{-1}{\frac{-1}{b\_m + a\_m}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sin \left(\left(0.005555555555555556 \cdot angle\right) \cdot \mathsf{PI}\left(\right)\right) \cdot 2}{{\left(\left(b\_m - a\_m\right) \cdot \left(b\_m + a\_m\right)\right)}^{-1}} \cdot 1\\
\end{array}
\end{array}
if (/.f64 angle #s(literal 180 binary64)) < 4.99999999999999967e145Initial program 55.5%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lift--.f64N/A
lift-pow.f64N/A
unpow2N/A
lift-pow.f64N/A
unpow2N/A
difference-of-squaresN/A
associate-*l*N/A
lower-*.f64N/A
Applied rewrites71.4%
lift-PI.f64N/A
add-cbrt-cubeN/A
lower-cbrt.f64N/A
rem-cube-cbrtN/A
add-cbrt-cubeN/A
lift-PI.f64N/A
lower-pow.f6474.3
Applied rewrites74.3%
lift-+.f64N/A
+-commutativeN/A
lift-+.f6474.3
remove-double-divN/A
unpow-1N/A
lift-pow.f64N/A
frac-2negN/A
metadata-evalN/A
lower-/.f64N/A
lift-pow.f64N/A
unpow-1N/A
distribute-neg-fracN/A
metadata-evalN/A
lower-/.f6474.3
Applied rewrites74.3%
if 4.99999999999999967e145 < (/.f64 angle #s(literal 180 binary64)) Initial program 16.2%
lift-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
associate-*r*N/A
lift--.f64N/A
flip--N/A
clear-numN/A
un-div-invN/A
lower-/.f64N/A
Applied rewrites19.9%
Taylor expanded in angle around 0
Applied rewrites40.8%
Final simplification69.2%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
(FPCore (a_m b_m angle)
:precision binary64
(if (<= (/ angle 180.0) 5e+145)
(*
(*
(sin (* (* (cbrt (* (* (PI) (PI)) (PI))) angle) 0.011111111111111112))
(- b_m a_m))
(+ b_m a_m))
(*
(/
(* (sin (* (* 0.005555555555555556 angle) (PI))) 2.0)
(pow (* (- b_m a_m) (+ b_m a_m)) -1.0))
1.0)))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
\mathbf{if}\;\frac{angle}{180} \leq 5 \cdot 10^{+145}:\\
\;\;\;\;\left(\sin \left(\left(\sqrt[3]{\left(\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \mathsf{PI}\left(\right)} \cdot angle\right) \cdot 0.011111111111111112\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \left(b\_m + a\_m\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\sin \left(\left(0.005555555555555556 \cdot angle\right) \cdot \mathsf{PI}\left(\right)\right) \cdot 2}{{\left(\left(b\_m - a\_m\right) \cdot \left(b\_m + a\_m\right)\right)}^{-1}} \cdot 1\\
\end{array}
\end{array}
if (/.f64 angle #s(literal 180 binary64)) < 4.99999999999999967e145Initial program 55.5%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lift--.f64N/A
lift-pow.f64N/A
unpow2N/A
lift-pow.f64N/A
unpow2N/A
difference-of-squaresN/A
associate-*l*N/A
lower-*.f64N/A
Applied rewrites71.4%
lift-PI.f64N/A
add-cbrt-cubeN/A
lower-cbrt.f64N/A
rem-cube-cbrtN/A
add-cbrt-cubeN/A
lift-PI.f64N/A
lower-pow.f6474.3
Applied rewrites74.3%
lift-pow.f64N/A
unpow3N/A
lower-*.f64N/A
lower-*.f6474.3
Applied rewrites74.3%
if 4.99999999999999967e145 < (/.f64 angle #s(literal 180 binary64)) Initial program 16.2%
lift-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
associate-*r*N/A
lift--.f64N/A
flip--N/A
clear-numN/A
un-div-invN/A
lower-/.f64N/A
Applied rewrites19.9%
Taylor expanded in angle around 0
Applied rewrites40.8%
Final simplification69.2%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
(FPCore (a_m b_m angle)
:precision binary64
(let* ((t_0 (* (PI) 0.011111111111111112)) (t_1 (sqrt (PI))))
(if (<= a_m 4.3e+145)
(*
(* (sin (* (* t_1 (* 0.011111111111111112 angle)) t_1)) (- b_m a_m))
(+ b_m a_m))
(if (<= a_m 2e+236)
(*
(*
(*
(fma (* (* angle angle) -2.2862368541380886e-7) (pow (PI) 3.0) t_0)
angle)
(- b_m a_m))
(+ b_m a_m))
(* (* (* t_0 angle) (- b_m a_m)) (+ b_m a_m))))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
t_0 := \mathsf{PI}\left(\right) \cdot 0.011111111111111112\\
t_1 := \sqrt{\mathsf{PI}\left(\right)}\\
\mathbf{if}\;a\_m \leq 4.3 \cdot 10^{+145}:\\
\;\;\;\;\left(\sin \left(\left(t\_1 \cdot \left(0.011111111111111112 \cdot angle\right)\right) \cdot t\_1\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \left(b\_m + a\_m\right)\\
\mathbf{elif}\;a\_m \leq 2 \cdot 10^{+236}:\\
\;\;\;\;\left(\left(\mathsf{fma}\left(\left(angle \cdot angle\right) \cdot -2.2862368541380886 \cdot 10^{-7}, {\mathsf{PI}\left(\right)}^{3}, t\_0\right) \cdot angle\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \left(b\_m + a\_m\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(t\_0 \cdot angle\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \left(b\_m + a\_m\right)\\
\end{array}
\end{array}
if a < 4.29999999999999998e145Initial program 51.6%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lift--.f64N/A
lift-pow.f64N/A
unpow2N/A
lift-pow.f64N/A
unpow2N/A
difference-of-squaresN/A
associate-*l*N/A
lower-*.f64N/A
Applied rewrites60.4%
lift-PI.f64N/A
add-cbrt-cubeN/A
lower-cbrt.f64N/A
rem-cube-cbrtN/A
add-cbrt-cubeN/A
lift-PI.f64N/A
lower-pow.f6462.9
Applied rewrites62.9%
lift-*.f64N/A
lift-*.f64N/A
lift-cbrt.f64N/A
lift-pow.f64N/A
rem-cbrt-cubeN/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
lift-PI.f64N/A
add-sqr-sqrtN/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
lower-sqrt.f64N/A
lift-PI.f64N/A
lower-sqrt.f6461.0
Applied rewrites61.0%
if 4.29999999999999998e145 < a < 2.00000000000000011e236Initial program 27.9%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lift--.f64N/A
lift-pow.f64N/A
unpow2N/A
lift-pow.f64N/A
unpow2N/A
difference-of-squaresN/A
associate-*l*N/A
lower-*.f64N/A
Applied rewrites82.2%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-fma.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
lower-pow.f64N/A
lower-PI.f64N/A
lower-*.f64N/A
lower-PI.f6486.7
Applied rewrites86.7%
if 2.00000000000000011e236 < a Initial program 50.9%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6469.0
Applied rewrites69.0%
Applied rewrites99.7%
Final simplification64.2%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
(FPCore (a_m b_m angle)
:precision binary64
(if (<= b_m 1.32e+125)
(*
(* (sin (* (PI) (* 0.011111111111111112 angle))) (+ b_m a_m))
(- b_m a_m))
(if (<= b_m 2.6e+238)
(* (* (* (* (PI) (- b_m a_m)) 0.011111111111111112) angle) (+ b_m a_m))
(*
(*
(*
(fma
(* (* angle angle) -2.2862368541380886e-7)
(pow (PI) 3.0)
(* (PI) 0.011111111111111112))
angle)
(- b_m a_m))
(+ b_m a_m)))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
\mathbf{if}\;b\_m \leq 1.32 \cdot 10^{+125}:\\
\;\;\;\;\left(\sin \left(\mathsf{PI}\left(\right) \cdot \left(0.011111111111111112 \cdot angle\right)\right) \cdot \left(b\_m + a\_m\right)\right) \cdot \left(b\_m - a\_m\right)\\
\mathbf{elif}\;b\_m \leq 2.6 \cdot 10^{+238}:\\
\;\;\;\;\left(\left(\left(\mathsf{PI}\left(\right) \cdot \left(b\_m - a\_m\right)\right) \cdot 0.011111111111111112\right) \cdot angle\right) \cdot \left(b\_m + a\_m\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\mathsf{fma}\left(\left(angle \cdot angle\right) \cdot -2.2862368541380886 \cdot 10^{-7}, {\mathsf{PI}\left(\right)}^{3}, \mathsf{PI}\left(\right) \cdot 0.011111111111111112\right) \cdot angle\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \left(b\_m + a\_m\right)\\
\end{array}
\end{array}
if b < 1.32000000000000006e125Initial program 50.0%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lift--.f64N/A
lift-pow.f64N/A
unpow2N/A
lift-pow.f64N/A
unpow2N/A
difference-of-squaresN/A
associate-*l*N/A
lower-*.f64N/A
Applied rewrites62.2%
lift-PI.f64N/A
add-cbrt-cubeN/A
lower-cbrt.f64N/A
rem-cube-cbrtN/A
add-cbrt-cubeN/A
lift-PI.f64N/A
lower-pow.f6464.6
Applied rewrites64.6%
lift-*.f64N/A
lift-+.f64N/A
+-commutativeN/A
lift-+.f64N/A
lift-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
lift-cbrt.f64N/A
lift-pow.f64N/A
rem-cbrt-cubeN/A
*-commutativeN/A
associate-*l*N/A
lift-*.f64N/A
lift-*.f64N/A
lower-*.f64N/A
associate-*r*N/A
Applied rewrites61.8%
if 1.32000000000000006e125 < b < 2.6e238Initial program 42.6%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lift--.f64N/A
lift-pow.f64N/A
unpow2N/A
lift-pow.f64N/A
unpow2N/A
difference-of-squaresN/A
associate-*l*N/A
lower-*.f64N/A
Applied rewrites68.0%
lift-PI.f64N/A
add-cbrt-cubeN/A
lower-cbrt.f64N/A
rem-cube-cbrtN/A
add-cbrt-cubeN/A
lift-PI.f64N/A
lower-pow.f6478.4
Applied rewrites78.4%
lift-*.f64N/A
lift-*.f64N/A
lift-cbrt.f64N/A
lift-pow.f64N/A
rem-cbrt-cubeN/A
associate-*l*N/A
*-commutativeN/A
associate-*r*N/A
lift-PI.f64N/A
add-cube-cbrtN/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
pow2N/A
lower-pow.f64N/A
lift-PI.f64N/A
lower-cbrt.f64N/A
lift-PI.f64N/A
lower-cbrt.f6473.8
Applied rewrites73.8%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lower--.f64N/A
lower-PI.f6484.5
Applied rewrites84.5%
if 2.6e238 < b Initial program 50.0%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lift--.f64N/A
lift-pow.f64N/A
unpow2N/A
lift-pow.f64N/A
unpow2N/A
difference-of-squaresN/A
associate-*l*N/A
lower-*.f64N/A
Applied rewrites79.8%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-fma.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
lower-pow.f64N/A
lower-PI.f64N/A
lower-*.f64N/A
lower-PI.f6499.8
Applied rewrites99.8%
Final simplification65.0%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
(FPCore (a_m b_m angle)
:precision binary64
(if (<= (/ angle 180.0) 5e+145)
(*
(* (sin (* (* (PI) angle) 0.011111111111111112)) (- b_m a_m))
(+ b_m a_m))
(* (* (- a_m) (+ b_m a_m)) (* (* (PI) 0.011111111111111112) angle))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
\mathbf{if}\;\frac{angle}{180} \leq 5 \cdot 10^{+145}:\\
\;\;\;\;\left(\sin \left(\left(\mathsf{PI}\left(\right) \cdot angle\right) \cdot 0.011111111111111112\right) \cdot \left(b\_m - a\_m\right)\right) \cdot \left(b\_m + a\_m\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(-a\_m\right) \cdot \left(b\_m + a\_m\right)\right) \cdot \left(\left(\mathsf{PI}\left(\right) \cdot 0.011111111111111112\right) \cdot angle\right)\\
\end{array}
\end{array}
if (/.f64 angle #s(literal 180 binary64)) < 4.99999999999999967e145Initial program 55.5%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lift--.f64N/A
lift-pow.f64N/A
unpow2N/A
lift-pow.f64N/A
unpow2N/A
difference-of-squaresN/A
associate-*l*N/A
lower-*.f64N/A
Applied rewrites71.4%
if 4.99999999999999967e145 < (/.f64 angle #s(literal 180 binary64)) Initial program 16.2%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6422.5
Applied rewrites22.5%
Taylor expanded in a around inf
Applied rewrites17.8%
Final simplification63.2%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
(FPCore (a_m b_m angle)
:precision binary64
(if (<= b_m 1.32e+125)
(*
(* (sin (* (PI) (* 0.011111111111111112 angle))) (+ b_m a_m))
(- b_m a_m))
(* (* (* (* (PI) (- b_m a_m)) angle) 0.011111111111111112) (+ b_m a_m))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
\mathbf{if}\;b\_m \leq 1.32 \cdot 10^{+125}:\\
\;\;\;\;\left(\sin \left(\mathsf{PI}\left(\right) \cdot \left(0.011111111111111112 \cdot angle\right)\right) \cdot \left(b\_m + a\_m\right)\right) \cdot \left(b\_m - a\_m\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\mathsf{PI}\left(\right) \cdot \left(b\_m - a\_m\right)\right) \cdot angle\right) \cdot 0.011111111111111112\right) \cdot \left(b\_m + a\_m\right)\\
\end{array}
\end{array}
if b < 1.32000000000000006e125Initial program 50.0%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lift--.f64N/A
lift-pow.f64N/A
unpow2N/A
lift-pow.f64N/A
unpow2N/A
difference-of-squaresN/A
associate-*l*N/A
lower-*.f64N/A
Applied rewrites62.2%
lift-PI.f64N/A
add-cbrt-cubeN/A
lower-cbrt.f64N/A
rem-cube-cbrtN/A
add-cbrt-cubeN/A
lift-PI.f64N/A
lower-pow.f6464.6
Applied rewrites64.6%
lift-*.f64N/A
lift-+.f64N/A
+-commutativeN/A
lift-+.f64N/A
lift-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
lift-cbrt.f64N/A
lift-pow.f64N/A
rem-cbrt-cubeN/A
*-commutativeN/A
associate-*l*N/A
lift-*.f64N/A
lift-*.f64N/A
lower-*.f64N/A
associate-*r*N/A
Applied rewrites61.8%
if 1.32000000000000006e125 < b Initial program 45.2%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lift--.f64N/A
lift-pow.f64N/A
unpow2N/A
lift-pow.f64N/A
unpow2N/A
difference-of-squaresN/A
associate-*l*N/A
lower-*.f64N/A
Applied rewrites72.1%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lower--.f64N/A
lower-PI.f6479.3
Applied rewrites79.3%
Final simplification63.8%
b_m = (fabs.f64 b) a_m = (fabs.f64 a) (FPCore (a_m b_m angle) :precision binary64 (if (<= (pow a_m 2.0) 1e+251) (* (* (* a_m a_m) -0.011111111111111112) (* (PI) angle)) (* (* (* a_m angle) (* -0.011111111111111112 a_m)) (PI))))
\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
\mathbf{if}\;{a\_m}^{2} \leq 10^{+251}:\\
\;\;\;\;\left(\left(a\_m \cdot a\_m\right) \cdot -0.011111111111111112\right) \cdot \left(\mathsf{PI}\left(\right) \cdot angle\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(a\_m \cdot angle\right) \cdot \left(-0.011111111111111112 \cdot a\_m\right)\right) \cdot \mathsf{PI}\left(\right)\\
\end{array}
\end{array}
if (pow.f64 a #s(literal 2 binary64)) < 1e251Initial program 56.1%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6453.5
Applied rewrites53.5%
Taylor expanded in a around inf
Applied rewrites29.4%
if 1e251 < (pow.f64 a #s(literal 2 binary64)) Initial program 33.4%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6447.7
Applied rewrites47.7%
Taylor expanded in a around inf
Applied rewrites43.2%
Applied rewrites65.7%
Applied rewrites65.7%
Final simplification40.0%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
(FPCore (a_m b_m angle)
:precision binary64
(let* ((t_0 (* (PI) angle)))
(if (<= (pow a_m 2.0) 5e+246)
(* (* (* a_m a_m) -0.011111111111111112) t_0)
(* (* -0.011111111111111112 a_m) (* t_0 a_m)))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
t_0 := \mathsf{PI}\left(\right) \cdot angle\\
\mathbf{if}\;{a\_m}^{2} \leq 5 \cdot 10^{+246}:\\
\;\;\;\;\left(\left(a\_m \cdot a\_m\right) \cdot -0.011111111111111112\right) \cdot t\_0\\
\mathbf{else}:\\
\;\;\;\;\left(-0.011111111111111112 \cdot a\_m\right) \cdot \left(t\_0 \cdot a\_m\right)\\
\end{array}
\end{array}
if (pow.f64 a #s(literal 2 binary64)) < 4.99999999999999976e246Initial program 55.9%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6453.3
Applied rewrites53.3%
Taylor expanded in a around inf
Applied rewrites29.0%
if 4.99999999999999976e246 < (pow.f64 a #s(literal 2 binary64)) Initial program 34.2%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6448.4
Applied rewrites48.4%
Taylor expanded in a around inf
Applied rewrites43.9%
Applied rewrites66.2%
Final simplification40.0%
b_m = (fabs.f64 b)
a_m = (fabs.f64 a)
(FPCore (a_m b_m angle)
:precision binary64
(let* ((t_0 (* (* (PI) 0.011111111111111112) angle)))
(if (<= (/ angle 180.0) 1e+143)
(* (* t_0 (- b_m a_m)) (+ b_m a_m))
(* (* (- a_m) (+ b_m a_m)) t_0))))\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
t_0 := \left(\mathsf{PI}\left(\right) \cdot 0.011111111111111112\right) \cdot angle\\
\mathbf{if}\;\frac{angle}{180} \leq 10^{+143}:\\
\;\;\;\;\left(t\_0 \cdot \left(b\_m - a\_m\right)\right) \cdot \left(b\_m + a\_m\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(-a\_m\right) \cdot \left(b\_m + a\_m\right)\right) \cdot t\_0\\
\end{array}
\end{array}
if (/.f64 angle #s(literal 180 binary64)) < 1e143Initial program 55.6%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6457.4
Applied rewrites57.4%
Applied rewrites68.3%
if 1e143 < (/.f64 angle #s(literal 180 binary64)) Initial program 16.4%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6422.0
Applied rewrites22.0%
Taylor expanded in a around inf
Applied rewrites17.4%
Final simplification60.3%
b_m = (fabs.f64 b) a_m = (fabs.f64 a) (FPCore (a_m b_m angle) :precision binary64 (if (<= a_m 2.4e+148) (* (* (* (- b_m a_m) (+ b_m a_m)) (* (PI) 0.011111111111111112)) angle) (* (* -0.011111111111111112 (* (* (PI) angle) a_m)) a_m)))
\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
\mathbf{if}\;a\_m \leq 2.4 \cdot 10^{+148}:\\
\;\;\;\;\left(\left(\left(b\_m - a\_m\right) \cdot \left(b\_m + a\_m\right)\right) \cdot \left(\mathsf{PI}\left(\right) \cdot 0.011111111111111112\right)\right) \cdot angle\\
\mathbf{else}:\\
\;\;\;\;\left(-0.011111111111111112 \cdot \left(\left(\mathsf{PI}\left(\right) \cdot angle\right) \cdot a\_m\right)\right) \cdot a\_m\\
\end{array}
\end{array}
if a < 2.39999999999999995e148Initial program 51.6%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6452.7
Applied rewrites52.7%
Applied rewrites52.8%
if 2.39999999999999995e148 < a Initial program 32.6%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6444.8
Applied rewrites44.8%
Taylor expanded in a around inf
Applied rewrites40.4%
Applied rewrites72.6%
Applied rewrites72.6%
Final simplification55.0%
b_m = (fabs.f64 b) a_m = (fabs.f64 a) (FPCore (a_m b_m angle) :precision binary64 (if (<= a_m 1.35e+154) (* (* (- b_m a_m) (+ b_m a_m)) (* (* (PI) 0.011111111111111112) angle)) (* (* (* (* (PI) angle) a_m) a_m) -0.011111111111111112)))
\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\begin{array}{l}
\mathbf{if}\;a\_m \leq 1.35 \cdot 10^{+154}:\\
\;\;\;\;\left(\left(b\_m - a\_m\right) \cdot \left(b\_m + a\_m\right)\right) \cdot \left(\left(\mathsf{PI}\left(\right) \cdot 0.011111111111111112\right) \cdot angle\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\mathsf{PI}\left(\right) \cdot angle\right) \cdot a\_m\right) \cdot a\_m\right) \cdot -0.011111111111111112\\
\end{array}
\end{array}
if a < 1.35000000000000003e154Initial program 51.8%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6453.0
Applied rewrites53.0%
if 1.35000000000000003e154 < a Initial program 28.8%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6441.7
Applied rewrites41.7%
Taylor expanded in a around inf
Applied rewrites36.8%
Applied rewrites72.8%
Taylor expanded in a around inf
Applied rewrites72.8%
Final simplification55.0%
b_m = (fabs.f64 b) a_m = (fabs.f64 a) (FPCore (a_m b_m angle) :precision binary64 (* (* -0.011111111111111112 a_m) (* (* (PI) angle) a_m)))
\begin{array}{l}
b_m = \left|b\right|
\\
a_m = \left|a\right|
\\
\left(-0.011111111111111112 \cdot a\_m\right) \cdot \left(\left(\mathsf{PI}\left(\right) \cdot angle\right) \cdot a\_m\right)
\end{array}
Initial program 49.5%
Taylor expanded in angle around 0
*-commutativeN/A
associate-*r*N/A
*-commutativeN/A
associate-*r*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-*.f64N/A
lower-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6451.8
Applied rewrites51.8%
Taylor expanded in a around inf
Applied rewrites33.4%
Applied rewrites37.6%
Final simplification37.6%
herbie shell --seed 2024296
(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)))))