
(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 15 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}
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a b angle_m)
:precision binary64
(let* ((t_0 (* (PI) angle_m))
(t_1 (/ (PI) 2.0))
(t_2 (fma (PI) (/ angle_m 180.0) t_1))
(t_3 (* (PI) (/ angle_m 180.0))))
(*
angle_s
(if (<= angle_m 7.2e+43)
(*
(* (+ b a) (+ (sin (* t_0 0.011111111111111112)) (sin (* t_0 0.0))))
(- b a))
(if (<= angle_m 3.2e+178)
(*
(* (* (+ b a) (- b a)) 2.0)
(/ (- (cos (- t_2 t_3)) (cos (+ t_2 t_3))) 2.0))
(*
(* (+ a b) (* (- b a) 2.0))
(*
(sin (* (* 0.005555555555555556 angle_m) (PI)))
(sin (+ (- (* t_0 0.005555555555555556)) t_1)))))))))\begin{array}{l}
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \mathsf{PI}\left(\right) \cdot angle\_m\\
t_1 := \frac{\mathsf{PI}\left(\right)}{2}\\
t_2 := \mathsf{fma}\left(\mathsf{PI}\left(\right), \frac{angle\_m}{180}, t\_1\right)\\
t_3 := \mathsf{PI}\left(\right) \cdot \frac{angle\_m}{180}\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 7.2 \cdot 10^{+43}:\\
\;\;\;\;\left(\left(b + a\right) \cdot \left(\sin \left(t\_0 \cdot 0.011111111111111112\right) + \sin \left(t\_0 \cdot 0\right)\right)\right) \cdot \left(b - a\right)\\
\mathbf{elif}\;angle\_m \leq 3.2 \cdot 10^{+178}:\\
\;\;\;\;\left(\left(\left(b + a\right) \cdot \left(b - a\right)\right) \cdot 2\right) \cdot \frac{\cos \left(t\_2 - t\_3\right) - \cos \left(t\_2 + t\_3\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\left(\left(a + b\right) \cdot \left(\left(b - a\right) \cdot 2\right)\right) \cdot \left(\sin \left(\left(0.005555555555555556 \cdot angle\_m\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sin \left(\left(-t\_0 \cdot 0.005555555555555556\right) + t\_1\right)\right)\\
\end{array}
\end{array}
\end{array}
if angle < 7.2000000000000002e43Initial program 64.6%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-sin.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
Applied rewrites69.3%
lift-*.f64N/A
lift-sin.f64N/A
lift-cos.f64N/A
cos-neg-revN/A
lift-neg.f64N/A
sin-cos-multN/A
lower-/.f64N/A
Applied rewrites69.7%
Taylor expanded in angle around inf
Applied rewrites78.4%
if 7.2000000000000002e43 < angle < 3.2e178Initial program 24.6%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-sin.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
Applied rewrites28.0%
lift-*.f64N/A
lift-sin.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
*-commutativeN/A
lift-/.f64N/A
lift-*.f64N/A
lift-PI.f64N/A
sin-+PI/2-revN/A
lift-/.f64N/A
lift-*.f64N/A
lift-PI.f64N/A
Applied rewrites38.0%
if 3.2e178 < angle Initial program 36.1%
Taylor expanded in angle around 0
lower-*.f6436.6
Applied rewrites36.6%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l*N/A
Applied rewrites36.6%
Taylor expanded in angle around 0
*-commutativeN/A
*-commutativeN/A
lower-*.f64N/A
lower-*.f64N/A
lift-PI.f6440.1
Applied rewrites40.1%
lift-cos.f64N/A
cos-neg-revN/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lower-+.f64N/A
lower-neg.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
lift-PI.f64N/A
lift-PI.f64N/A
lift-PI.f64N/A
Applied rewrites41.6%
Final simplification69.7%
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a b angle_m)
:precision binary64
(let* ((t_0 (* (PI) angle_m)) (t_1 (* 2.0 (- (pow b 2.0) (pow a 2.0)))))
(*
angle_s
(if (<= t_1 -1e-194)
(* (* -0.011111111111111112 a) (* t_0 a))
(if (<= t_1 INFINITY)
(* (* (* (PI) (* b b)) angle_m) 0.011111111111111112)
(* (* t_0 (* a (- b a))) 0.011111111111111112))))))\begin{array}{l}
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \mathsf{PI}\left(\right) \cdot angle\_m\\
t_1 := 2 \cdot \left({b}^{2} - {a}^{2}\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_1 \leq -1 \cdot 10^{-194}:\\
\;\;\;\;\left(-0.011111111111111112 \cdot a\right) \cdot \left(t\_0 \cdot a\right)\\
\mathbf{elif}\;t\_1 \leq \infty:\\
\;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot \left(b \cdot b\right)\right) \cdot angle\_m\right) \cdot 0.011111111111111112\\
\mathbf{else}:\\
\;\;\;\;\left(t\_0 \cdot \left(a \cdot \left(b - a\right)\right)\right) \cdot 0.011111111111111112\\
\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)))) < -1.00000000000000002e-194Initial program 65.9%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6461.3
Applied rewrites61.3%
Taylor expanded in a around inf
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
lift-PI.f6461.4
Applied rewrites61.4%
lift-*.f64N/A
lift-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f6461.4
Applied rewrites61.4%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lower-*.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
lift-PI.f6466.4
Applied rewrites66.4%
if -1.00000000000000002e-194 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) < +inf.0Initial program 56.8%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6453.7
Applied rewrites53.7%
Taylor expanded in a around 0
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
pow2N/A
lift-*.f6454.2
Applied rewrites54.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
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6466.2
Applied rewrites66.2%
Taylor expanded in a around inf
Applied rewrites53.9%
Final simplification59.3%
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a b angle_m)
:precision binary64
(let* ((t_0 (* 2.0 (- (pow b 2.0) (pow a 2.0)))))
(*
angle_s
(if (or (<= t_0 -1e-194) (not (<= t_0 INFINITY)))
(* (* -0.011111111111111112 a) (* (* (PI) angle_m) a))
(* (* (* (PI) (* b b)) angle_m) 0.011111111111111112)))))\begin{array}{l}
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := 2 \cdot \left({b}^{2} - {a}^{2}\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_0 \leq -1 \cdot 10^{-194} \lor \neg \left(t\_0 \leq \infty\right):\\
\;\;\;\;\left(-0.011111111111111112 \cdot a\right) \cdot \left(\left(\mathsf{PI}\left(\right) \cdot angle\_m\right) \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot \left(b \cdot b\right)\right) \cdot angle\_m\right) \cdot 0.011111111111111112\\
\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)))) < -1.00000000000000002e-194 or +inf.0 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) Initial program 56.9%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6462.0
Applied rewrites62.0%
Taylor expanded in a around inf
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
lift-PI.f6461.1
Applied rewrites61.1%
lift-*.f64N/A
lift-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f6461.1
Applied rewrites61.1%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lower-*.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
lift-PI.f6466.2
Applied rewrites66.2%
if -1.00000000000000002e-194 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) < +inf.0Initial program 56.8%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6453.7
Applied rewrites53.7%
Taylor expanded in a around 0
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
pow2N/A
lift-*.f6454.2
Applied rewrites54.2%
Final simplification60.0%
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a b angle_m)
:precision binary64
(let* ((t_0 (* (PI) angle_m)) (t_1 (/ (PI) 2.0)))
(*
angle_s
(if (<= angle_m 7.2e+43)
(*
(* (+ b a) (+ (sin (* t_0 0.011111111111111112)) (sin (* t_0 0.0))))
(- b a))
(if (<= angle_m 3.2e+178)
(*
(* (* (+ b a) (- b a)) 2.0)
(*
(sin (* (PI) (/ angle_m 180.0)))
(sin (fma (PI) (/ angle_m 180.0) t_1))))
(*
(* (+ a b) (* (- b a) 2.0))
(*
(sin (* (* 0.005555555555555556 angle_m) (PI)))
(sin (+ (- (* t_0 0.005555555555555556)) t_1)))))))))\begin{array}{l}
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \mathsf{PI}\left(\right) \cdot angle\_m\\
t_1 := \frac{\mathsf{PI}\left(\right)}{2}\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 7.2 \cdot 10^{+43}:\\
\;\;\;\;\left(\left(b + a\right) \cdot \left(\sin \left(t\_0 \cdot 0.011111111111111112\right) + \sin \left(t\_0 \cdot 0\right)\right)\right) \cdot \left(b - a\right)\\
\mathbf{elif}\;angle\_m \leq 3.2 \cdot 10^{+178}:\\
\;\;\;\;\left(\left(\left(b + a\right) \cdot \left(b - a\right)\right) \cdot 2\right) \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot \frac{angle\_m}{180}\right) \cdot \sin \left(\mathsf{fma}\left(\mathsf{PI}\left(\right), \frac{angle\_m}{180}, t\_1\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(a + b\right) \cdot \left(\left(b - a\right) \cdot 2\right)\right) \cdot \left(\sin \left(\left(0.005555555555555556 \cdot angle\_m\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sin \left(\left(-t\_0 \cdot 0.005555555555555556\right) + t\_1\right)\right)\\
\end{array}
\end{array}
\end{array}
if angle < 7.2000000000000002e43Initial program 64.6%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-sin.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
Applied rewrites69.3%
lift-*.f64N/A
lift-sin.f64N/A
lift-cos.f64N/A
cos-neg-revN/A
lift-neg.f64N/A
sin-cos-multN/A
lower-/.f64N/A
Applied rewrites69.7%
Taylor expanded in angle around inf
Applied rewrites78.4%
if 7.2000000000000002e43 < angle < 3.2e178Initial program 24.6%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-sin.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
Applied rewrites28.0%
lift-cos.f64N/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
lift-PI.f64N/A
lower-fma.f64N/A
lift-PI.f6438.0
Applied rewrites38.0%
if 3.2e178 < angle Initial program 36.1%
Taylor expanded in angle around 0
lower-*.f6436.6
Applied rewrites36.6%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l*N/A
Applied rewrites36.6%
Taylor expanded in angle around 0
*-commutativeN/A
*-commutativeN/A
lower-*.f64N/A
lower-*.f64N/A
lift-PI.f6440.1
Applied rewrites40.1%
lift-cos.f64N/A
cos-neg-revN/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lower-+.f64N/A
lower-neg.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
lift-PI.f64N/A
lift-PI.f64N/A
lift-PI.f64N/A
Applied rewrites41.6%
Final simplification69.7%
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a b angle_m)
:precision binary64
(let* ((t_0 (* (* (PI) angle_m) 0.005555555555555556))
(t_1 (* (* 0.005555555555555556 angle_m) (PI))))
(*
angle_s
(if (<= angle_m 2.9e+167)
(* (* 2.0 (cos t_1)) (* (* (sin t_0) (+ a b)) (- b a)))
(*
(* (+ a b) (* (- b a) 2.0))
(* (sin t_1) (sin (+ (- t_0) (/ (PI) 2.0)))))))))\begin{array}{l}
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 := \left(0.005555555555555556 \cdot angle\_m\right) \cdot \mathsf{PI}\left(\right)\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 2.9 \cdot 10^{+167}:\\
\;\;\;\;\left(2 \cdot \cos t\_1\right) \cdot \left(\left(\sin t\_0 \cdot \left(a + b\right)\right) \cdot \left(b - a\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(a + b\right) \cdot \left(\left(b - a\right) \cdot 2\right)\right) \cdot \left(\sin t\_1 \cdot \sin \left(\left(-t\_0\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)\right)\\
\end{array}
\end{array}
\end{array}
if angle < 2.89999999999999975e167Initial program 59.9%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-sin.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
Applied rewrites64.5%
Taylor expanded in angle around inf
+-commutativeN/A
difference-of-squares-revN/A
pow2N/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
Applied rewrites73.0%
lift-*.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*r*N/A
lower-*.f64N/A
lift-*.f64N/A
lift-PI.f6473.1
Applied rewrites73.1%
if 2.89999999999999975e167 < angle Initial program 36.3%
Taylor expanded in angle around 0
lower-*.f6439.8
Applied rewrites39.8%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l*N/A
Applied rewrites39.8%
Taylor expanded in angle around 0
*-commutativeN/A
*-commutativeN/A
lower-*.f64N/A
lower-*.f64N/A
lift-PI.f6442.9
Applied rewrites42.9%
lift-cos.f64N/A
cos-neg-revN/A
sin-+PI/2-revN/A
lower-sin.f64N/A
lower-+.f64N/A
lower-neg.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
lift-PI.f64N/A
lift-PI.f64N/A
lift-PI.f64N/A
Applied rewrites47.2%
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a b angle_m)
:precision binary64
(*
angle_s
(if (<= a 2.4e+255)
(*
(+ a b)
(*
(* 2.0 (- b a))
(*
(sin (* (* 0.005555555555555556 angle_m) (PI)))
(cos (* (/ angle_m 180.0) (PI))))))
(*
(* (* -2.0 (* a a)) (sin (* (* (PI) angle_m) 0.005555555555555556)))
(cos (* (PI) (/ angle_m 180.0)))))))\begin{array}{l}
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;a \leq 2.4 \cdot 10^{+255}:\\
\;\;\;\;\left(a + b\right) \cdot \left(\left(2 \cdot \left(b - a\right)\right) \cdot \left(\sin \left(\left(0.005555555555555556 \cdot angle\_m\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \cos \left(\frac{angle\_m}{180} \cdot \mathsf{PI}\left(\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(-2 \cdot \left(a \cdot a\right)\right) \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot angle\_m\right) \cdot 0.005555555555555556\right)\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot \frac{angle\_m}{180}\right)\\
\end{array}
\end{array}
if a < 2.40000000000000006e255Initial program 57.6%
Taylor expanded in angle around 0
lower-*.f6458.9
Applied rewrites58.9%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l*N/A
Applied rewrites61.1%
lift-*.f64N/A
lift-+.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-*.f64N/A
associate-*l*N/A
lower-*.f64N/A
lift-+.f64N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift--.f6468.3
Applied rewrites68.3%
if 2.40000000000000006e255 < a Initial program 48.2%
Taylor expanded in a around inf
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
lower-sin.f64N/A
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f6481.6
Applied rewrites81.6%
angle\_m = (fabs.f64 angle) angle\_s = (copysign.f64 #s(literal 1 binary64) angle) (FPCore (angle_s a b angle_m) :precision binary64 (* angle_s (* (* 2.0 (cos (* (* 0.005555555555555556 angle_m) (PI)))) (* (* (sin (* (* (PI) angle_m) 0.005555555555555556)) (+ a b)) (- b a)))))
\begin{array}{l}
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \left(\left(2 \cdot \cos \left(\left(0.005555555555555556 \cdot angle\_m\right) \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \left(\left(\sin \left(\left(\mathsf{PI}\left(\right) \cdot angle\_m\right) \cdot 0.005555555555555556\right) \cdot \left(a + b\right)\right) \cdot \left(b - a\right)\right)\right)
\end{array}
Initial program 56.9%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-sin.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
Applied rewrites60.9%
Taylor expanded in angle around inf
+-commutativeN/A
difference-of-squares-revN/A
pow2N/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
Applied rewrites68.3%
lift-*.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
*-commutativeN/A
*-commutativeN/A
associate-*r*N/A
lower-*.f64N/A
lift-*.f64N/A
lift-PI.f6468.4
Applied rewrites68.4%
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a b angle_m)
:precision binary64
(let* ((t_0 (* (PI) angle_m)))
(*
angle_s
(if (<= (* 2.0 (- (pow b 2.0) (pow a 2.0))) -1e-194)
(* (* -0.011111111111111112 a) (* t_0 a))
(* (* t_0 (* b (- b a))) 0.011111111111111112)))))\begin{array}{l}
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \mathsf{PI}\left(\right) \cdot angle\_m\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;2 \cdot \left({b}^{2} - {a}^{2}\right) \leq -1 \cdot 10^{-194}:\\
\;\;\;\;\left(-0.011111111111111112 \cdot a\right) \cdot \left(t\_0 \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;\left(t\_0 \cdot \left(b \cdot \left(b - a\right)\right)\right) \cdot 0.011111111111111112\\
\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)))) < -1.00000000000000002e-194Initial program 65.9%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6461.3
Applied rewrites61.3%
Taylor expanded in a around inf
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
lift-PI.f6461.4
Applied rewrites61.4%
lift-*.f64N/A
lift-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f6461.4
Applied rewrites61.4%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lower-*.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
lift-PI.f6466.4
Applied rewrites66.4%
if -1.00000000000000002e-194 < (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) Initial program 50.3%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6455.1
Applied rewrites55.1%
Taylor expanded in a around 0
Applied rewrites53.5%
Final simplification58.9%
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a b angle_m)
:precision binary64
(let* ((t_0 (* (PI) angle_m)))
(*
angle_s
(*
(* (+ b a) (+ (sin (* t_0 0.011111111111111112)) (sin (* t_0 0.0))))
(- b a)))))\begin{array}{l}
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \mathsf{PI}\left(\right) \cdot angle\_m\\
angle\_s \cdot \left(\left(\left(b + a\right) \cdot \left(\sin \left(t\_0 \cdot 0.011111111111111112\right) + \sin \left(t\_0 \cdot 0\right)\right)\right) \cdot \left(b - a\right)\right)
\end{array}
\end{array}
Initial program 56.9%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-sin.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
Applied rewrites60.9%
lift-*.f64N/A
lift-sin.f64N/A
lift-cos.f64N/A
cos-neg-revN/A
lift-neg.f64N/A
sin-cos-multN/A
lower-/.f64N/A
Applied rewrites60.7%
Taylor expanded in angle around inf
Applied rewrites68.3%
Final simplification68.3%
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a b angle_m)
:precision binary64
(*
angle_s
(if (<= angle_m 1.05e-22)
(*
(+ a b)
(*
(* 2.0 (- b a))
(*
(fma
(* (pow (PI) 3.0) -1.1431184270690443e-7)
(* angle_m angle_m)
(* (PI) 0.005555555555555556))
angle_m)))
(* (* (- b a) (+ a b)) (sin (* 2.0 (* (PI) (/ angle_m 180.0))))))))\begin{array}{l}
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 1.05 \cdot 10^{-22}:\\
\;\;\;\;\left(a + b\right) \cdot \left(\left(2 \cdot \left(b - a\right)\right) \cdot \left(\mathsf{fma}\left({\mathsf{PI}\left(\right)}^{3} \cdot -1.1431184270690443 \cdot 10^{-7}, angle\_m \cdot angle\_m, \mathsf{PI}\left(\right) \cdot 0.005555555555555556\right) \cdot angle\_m\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(b - a\right) \cdot \left(a + b\right)\right) \cdot \sin \left(2 \cdot \left(\mathsf{PI}\left(\right) \cdot \frac{angle\_m}{180}\right)\right)\\
\end{array}
\end{array}
if angle < 1.05000000000000004e-22Initial program 64.1%
Taylor expanded in angle around 0
lower-*.f6464.6
Applied rewrites64.6%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l*N/A
Applied rewrites69.8%
lift-*.f64N/A
lift-+.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-*.f64N/A
associate-*l*N/A
lower-*.f64N/A
lift-+.f64N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift--.f6479.7
Applied rewrites79.7%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites71.5%
if 1.05000000000000004e-22 < angle Initial program 40.7%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-sin.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
Applied rewrites43.2%
lift-*.f64N/A
lift-*.f64N/A
lift-+.f64N/A
lift--.f64N/A
lift-*.f64N/A
difference-of-squares-revN/A
pow2N/A
unpow2N/A
lift-*.f64N/A
lift-sin.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
Applied rewrites43.2%
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a b angle_m)
:precision binary64
(*
angle_s
(if (<= angle_m 1e-23)
(* (+ a b) (* (* (* (- b a) (PI)) angle_m) 0.011111111111111112))
(* (* (- b a) (+ a b)) (sin (* 2.0 (* (PI) (/ angle_m 180.0))))))))\begin{array}{l}
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 10^{-23}:\\
\;\;\;\;\left(a + b\right) \cdot \left(\left(\left(\left(b - a\right) \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right) \cdot 0.011111111111111112\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(b - a\right) \cdot \left(a + b\right)\right) \cdot \sin \left(2 \cdot \left(\mathsf{PI}\left(\right) \cdot \frac{angle\_m}{180}\right)\right)\\
\end{array}
\end{array}
if angle < 9.9999999999999996e-24Initial program 64.1%
Taylor expanded in angle around 0
lower-*.f6464.6
Applied rewrites64.6%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l*N/A
Applied rewrites69.8%
lift-*.f64N/A
lift-+.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-*.f64N/A
associate-*l*N/A
lower-*.f64N/A
lift-+.f64N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift--.f6479.7
Applied rewrites79.7%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift--.f64N/A
lift-PI.f6477.2
Applied rewrites77.2%
if 9.9999999999999996e-24 < angle Initial program 40.7%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-sin.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
Applied rewrites43.2%
lift-*.f64N/A
lift-*.f64N/A
lift-+.f64N/A
lift--.f64N/A
lift-*.f64N/A
difference-of-squares-revN/A
pow2N/A
unpow2N/A
lift-*.f64N/A
lift-sin.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
Applied rewrites43.2%
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a b angle_m)
:precision binary64
(*
angle_s
(if (<= angle_m 4.5e+221)
(* (+ a b) (* (* (* (- b a) (PI)) angle_m) 0.011111111111111112))
(* (* (* (PI) angle_m) (* (+ b a) (- a))) 0.011111111111111112))))\begin{array}{l}
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 4.5 \cdot 10^{+221}:\\
\;\;\;\;\left(a + b\right) \cdot \left(\left(\left(\left(b - a\right) \cdot \mathsf{PI}\left(\right)\right) \cdot angle\_m\right) \cdot 0.011111111111111112\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot angle\_m\right) \cdot \left(\left(b + a\right) \cdot \left(-a\right)\right)\right) \cdot 0.011111111111111112\\
\end{array}
\end{array}
if angle < 4.5000000000000002e221Initial program 58.0%
Taylor expanded in angle around 0
lower-*.f6458.7
Applied rewrites58.7%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-pow.f64N/A
lift-pow.f64N/A
lift-cos.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l*N/A
Applied rewrites63.3%
lift-*.f64N/A
lift-+.f64N/A
lift-*.f64N/A
lift--.f64N/A
lift-*.f64N/A
associate-*l*N/A
lower-*.f64N/A
lift-+.f64N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift--.f6470.6
Applied rewrites70.6%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift--.f64N/A
lift-PI.f6467.2
Applied rewrites67.2%
if 4.5000000000000002e221 < angle Initial program 39.2%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f648.4
Applied rewrites8.4%
Taylor expanded in a around inf
mul-1-negN/A
lower-neg.f6416.0
Applied rewrites16.0%
Final simplification64.2%
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a b angle_m)
:precision binary64
(let* ((t_0 (* (PI) angle_m)))
(*
angle_s
(if (<= angle_m 4.5e+221)
(* (* (* t_0 (+ a b)) (- b a)) 0.011111111111111112)
(* (* t_0 (* (+ b a) (- a))) 0.011111111111111112)))))\begin{array}{l}
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \mathsf{PI}\left(\right) \cdot angle\_m\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 4.5 \cdot 10^{+221}:\\
\;\;\;\;\left(\left(t\_0 \cdot \left(a + b\right)\right) \cdot \left(b - a\right)\right) \cdot 0.011111111111111112\\
\mathbf{else}:\\
\;\;\;\;\left(t\_0 \cdot \left(\left(b + a\right) \cdot \left(-a\right)\right)\right) \cdot 0.011111111111111112\\
\end{array}
\end{array}
\end{array}
if angle < 4.5000000000000002e221Initial program 58.0%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6460.8
Applied rewrites60.8%
lift-*.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
lift-+.f64N/A
lift--.f64N/A
lift-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
lift-PI.f64N/A
+-commutativeN/A
lower-+.f64N/A
lift--.f6467.2
Applied rewrites67.2%
if 4.5000000000000002e221 < angle Initial program 39.2%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f648.4
Applied rewrites8.4%
Taylor expanded in a around inf
mul-1-negN/A
lower-neg.f6416.0
Applied rewrites16.0%
Final simplification64.2%
angle\_m = (fabs.f64 angle)
angle\_s = (copysign.f64 #s(literal 1 binary64) angle)
(FPCore (angle_s a b angle_m)
:precision binary64
(let* ((t_0 (* (PI) angle_m)))
(*
angle_s
(if (<= angle_m 9.5e+221)
(* (* t_0 (* (+ b a) (- b a))) 0.011111111111111112)
(* (* t_0 (* (+ b a) (- a))) 0.011111111111111112)))))\begin{array}{l}
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
\begin{array}{l}
t_0 := \mathsf{PI}\left(\right) \cdot angle\_m\\
angle\_s \cdot \begin{array}{l}
\mathbf{if}\;angle\_m \leq 9.5 \cdot 10^{+221}:\\
\;\;\;\;\left(t\_0 \cdot \left(\left(b + a\right) \cdot \left(b - a\right)\right)\right) \cdot 0.011111111111111112\\
\mathbf{else}:\\
\;\;\;\;\left(t\_0 \cdot \left(\left(b + a\right) \cdot \left(-a\right)\right)\right) \cdot 0.011111111111111112\\
\end{array}
\end{array}
\end{array}
if angle < 9.50000000000000044e221Initial program 58.0%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6460.8
Applied rewrites60.8%
if 9.50000000000000044e221 < angle Initial program 39.2%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f648.4
Applied rewrites8.4%
Taylor expanded in a around inf
mul-1-negN/A
lower-neg.f6416.0
Applied rewrites16.0%
Final simplification58.2%
angle\_m = (fabs.f64 angle) angle\_s = (copysign.f64 #s(literal 1 binary64) angle) (FPCore (angle_s a b angle_m) :precision binary64 (* angle_s (* (* -0.011111111111111112 a) (* (* (PI) angle_m) a))))
\begin{array}{l}
angle\_m = \left|angle\right|
\\
angle\_s = \mathsf{copysign}\left(1, angle\right)
\\
angle\_s \cdot \left(\left(-0.011111111111111112 \cdot a\right) \cdot \left(\left(\mathsf{PI}\left(\right) \cdot angle\_m\right) \cdot a\right)\right)
\end{array}
Initial program 56.9%
Taylor expanded in angle around 0
*-commutativeN/A
lower-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
lift-PI.f64N/A
unpow2N/A
unpow2N/A
difference-of-squaresN/A
lower-*.f64N/A
lower-+.f64N/A
lower--.f6457.8
Applied rewrites57.8%
Taylor expanded in a around inf
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
lift-PI.f6442.5
Applied rewrites42.5%
lift-*.f64N/A
lift-*.f64N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f6442.5
Applied rewrites42.5%
lift-*.f64N/A
lift-*.f64N/A
lift-*.f64N/A
lift-PI.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lower-*.f64N/A
lift-*.f64N/A
*-commutativeN/A
lower-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
lift-PI.f6444.5
Applied rewrites44.5%
Final simplification44.5%
herbie shell --seed 2025073
(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)))))