ab-angle->ABCF C

Percentage Accurate: 79.7% → 79.7%
Time: 19.0s
Alternatives: 16
Speedup: 1.3×

Specification

?
\[\begin{array}{l} \\ \begin{array}{l} t_0 := \pi \cdot \frac{angle}{180}\\ {\left(a \cdot \cos t\_0\right)}^{2} + {\left(b \cdot \sin t\_0\right)}^{2} \end{array} \end{array} \]
(FPCore (a b angle)
 :precision binary64
 (let* ((t_0 (* PI (/ angle 180.0))))
   (+ (pow (* a (cos t_0)) 2.0) (pow (* b (sin t_0)) 2.0))))
double code(double a, double b, double angle) {
	double t_0 = ((double) M_PI) * (angle / 180.0);
	return pow((a * cos(t_0)), 2.0) + pow((b * sin(t_0)), 2.0);
}
public static double code(double a, double b, double angle) {
	double t_0 = Math.PI * (angle / 180.0);
	return Math.pow((a * Math.cos(t_0)), 2.0) + Math.pow((b * Math.sin(t_0)), 2.0);
}
def code(a, b, angle):
	t_0 = math.pi * (angle / 180.0)
	return math.pow((a * math.cos(t_0)), 2.0) + math.pow((b * math.sin(t_0)), 2.0)
function code(a, b, angle)
	t_0 = Float64(pi * Float64(angle / 180.0))
	return Float64((Float64(a * cos(t_0)) ^ 2.0) + (Float64(b * sin(t_0)) ^ 2.0))
end
function tmp = code(a, b, angle)
	t_0 = pi * (angle / 180.0);
	tmp = ((a * cos(t_0)) ^ 2.0) + ((b * sin(t_0)) ^ 2.0);
end
code[a_, b_, angle_] := Block[{t$95$0 = N[(Pi * N[(angle / 180.0), $MachinePrecision]), $MachinePrecision]}, N[(N[Power[N[(a * N[Cos[t$95$0], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(b * N[Sin[t$95$0], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \pi \cdot \frac{angle}{180}\\
{\left(a \cdot \cos t\_0\right)}^{2} + {\left(b \cdot \sin t\_0\right)}^{2}
\end{array}
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 16 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Initial Program: 79.7% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \pi \cdot \frac{angle}{180}\\ {\left(a \cdot \cos t\_0\right)}^{2} + {\left(b \cdot \sin t\_0\right)}^{2} \end{array} \end{array} \]
(FPCore (a b angle)
 :precision binary64
 (let* ((t_0 (* PI (/ angle 180.0))))
   (+ (pow (* a (cos t_0)) 2.0) (pow (* b (sin t_0)) 2.0))))
double code(double a, double b, double angle) {
	double t_0 = ((double) M_PI) * (angle / 180.0);
	return pow((a * cos(t_0)), 2.0) + pow((b * sin(t_0)), 2.0);
}
public static double code(double a, double b, double angle) {
	double t_0 = Math.PI * (angle / 180.0);
	return Math.pow((a * Math.cos(t_0)), 2.0) + Math.pow((b * Math.sin(t_0)), 2.0);
}
def code(a, b, angle):
	t_0 = math.pi * (angle / 180.0)
	return math.pow((a * math.cos(t_0)), 2.0) + math.pow((b * math.sin(t_0)), 2.0)
function code(a, b, angle)
	t_0 = Float64(pi * Float64(angle / 180.0))
	return Float64((Float64(a * cos(t_0)) ^ 2.0) + (Float64(b * sin(t_0)) ^ 2.0))
end
function tmp = code(a, b, angle)
	t_0 = pi * (angle / 180.0);
	tmp = ((a * cos(t_0)) ^ 2.0) + ((b * sin(t_0)) ^ 2.0);
end
code[a_, b_, angle_] := Block[{t$95$0 = N[(Pi * N[(angle / 180.0), $MachinePrecision]), $MachinePrecision]}, N[(N[Power[N[(a * N[Cos[t$95$0], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(b * N[Sin[t$95$0], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \pi \cdot \frac{angle}{180}\\
{\left(a \cdot \cos t\_0\right)}^{2} + {\left(b \cdot \sin t\_0\right)}^{2}
\end{array}
\end{array}

Alternative 1: 79.7% accurate, 0.4× speedup?

\[\begin{array}{l} \\ {\left(a \cdot \cos \left({\left(\sqrt[3]{{\left({\left(\sqrt[3]{\sqrt{\pi}}\right)}^{3}\right)}^{2} \cdot \left(angle \cdot 0.005555555555555556\right)}\right)}^{3}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \end{array} \]
(FPCore (a b angle)
 :precision binary64
 (+
  (pow
   (*
    a
    (cos
     (pow
      (cbrt
       (* (pow (pow (cbrt (sqrt PI)) 3.0) 2.0) (* angle 0.005555555555555556)))
      3.0)))
   2.0)
  (pow (* b (sin (* PI (* angle 0.005555555555555556)))) 2.0)))
double code(double a, double b, double angle) {
	return pow((a * cos(pow(cbrt((pow(pow(cbrt(sqrt(((double) M_PI))), 3.0), 2.0) * (angle * 0.005555555555555556))), 3.0))), 2.0) + pow((b * sin((((double) M_PI) * (angle * 0.005555555555555556)))), 2.0);
}
public static double code(double a, double b, double angle) {
	return Math.pow((a * Math.cos(Math.pow(Math.cbrt((Math.pow(Math.pow(Math.cbrt(Math.sqrt(Math.PI)), 3.0), 2.0) * (angle * 0.005555555555555556))), 3.0))), 2.0) + Math.pow((b * Math.sin((Math.PI * (angle * 0.005555555555555556)))), 2.0);
}
function code(a, b, angle)
	return Float64((Float64(a * cos((cbrt(Float64(((cbrt(sqrt(pi)) ^ 3.0) ^ 2.0) * Float64(angle * 0.005555555555555556))) ^ 3.0))) ^ 2.0) + (Float64(b * sin(Float64(pi * Float64(angle * 0.005555555555555556)))) ^ 2.0))
end
code[a_, b_, angle_] := N[(N[Power[N[(a * N[Cos[N[Power[N[Power[N[(N[Power[N[Power[N[Power[N[Sqrt[Pi], $MachinePrecision], 1/3], $MachinePrecision], 3.0], $MachinePrecision], 2.0], $MachinePrecision] * N[(angle * 0.005555555555555556), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision], 3.0], $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(b * N[Sin[N[(Pi * N[(angle * 0.005555555555555556), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
{\left(a \cdot \cos \left({\left(\sqrt[3]{{\left({\left(\sqrt[3]{\sqrt{\pi}}\right)}^{3}\right)}^{2} \cdot \left(angle \cdot 0.005555555555555556\right)}\right)}^{3}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}
\end{array}
Derivation
  1. Initial program 80.8%

    \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
  2. Step-by-step derivation
    1. Simplified80.8%

      \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. metadata-eval80.8%

        \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot \color{blue}{\frac{1}{180}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
      2. div-inv80.8%

        \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \color{blue}{\frac{angle}{180}}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
      3. add-cube-cbrt81.0%

        \[\leadsto {\left(a \cdot \cos \color{blue}{\left(\left(\sqrt[3]{\pi \cdot \frac{angle}{180}} \cdot \sqrt[3]{\pi \cdot \frac{angle}{180}}\right) \cdot \sqrt[3]{\pi \cdot \frac{angle}{180}}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
      4. pow381.0%

        \[\leadsto {\left(a \cdot \cos \color{blue}{\left({\left(\sqrt[3]{\pi \cdot \frac{angle}{180}}\right)}^{3}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
      5. div-inv80.9%

        \[\leadsto {\left(a \cdot \cos \left({\left(\sqrt[3]{\pi \cdot \color{blue}{\left(angle \cdot \frac{1}{180}\right)}}\right)}^{3}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
      6. metadata-eval80.9%

        \[\leadsto {\left(a \cdot \cos \left({\left(\sqrt[3]{\pi \cdot \left(angle \cdot \color{blue}{0.005555555555555556}\right)}\right)}^{3}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
    4. Applied egg-rr80.9%

      \[\leadsto {\left(a \cdot \cos \color{blue}{\left({\left(\sqrt[3]{\pi \cdot \left(angle \cdot 0.005555555555555556\right)}\right)}^{3}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
    5. Step-by-step derivation
      1. add-sqr-sqrt80.9%

        \[\leadsto {\left(a \cdot \cos \left({\left(\sqrt[3]{\color{blue}{\left(\sqrt{\pi} \cdot \sqrt{\pi}\right)} \cdot \left(angle \cdot 0.005555555555555556\right)}\right)}^{3}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
      2. pow280.9%

        \[\leadsto {\left(a \cdot \cos \left({\left(\sqrt[3]{\color{blue}{{\left(\sqrt{\pi}\right)}^{2}} \cdot \left(angle \cdot 0.005555555555555556\right)}\right)}^{3}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
    6. Applied egg-rr80.9%

      \[\leadsto {\left(a \cdot \cos \left({\left(\sqrt[3]{\color{blue}{{\left(\sqrt{\pi}\right)}^{2}} \cdot \left(angle \cdot 0.005555555555555556\right)}\right)}^{3}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
    7. Step-by-step derivation
      1. add-cube-cbrt80.8%

        \[\leadsto {\left(a \cdot \cos \left({\left(\sqrt[3]{{\color{blue}{\left(\left(\sqrt[3]{\sqrt{\pi}} \cdot \sqrt[3]{\sqrt{\pi}}\right) \cdot \sqrt[3]{\sqrt{\pi}}\right)}}^{2} \cdot \left(angle \cdot 0.005555555555555556\right)}\right)}^{3}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
      2. pow381.0%

        \[\leadsto {\left(a \cdot \cos \left({\left(\sqrt[3]{{\color{blue}{\left({\left(\sqrt[3]{\sqrt{\pi}}\right)}^{3}\right)}}^{2} \cdot \left(angle \cdot 0.005555555555555556\right)}\right)}^{3}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
    8. Applied egg-rr81.0%

      \[\leadsto {\left(a \cdot \cos \left({\left(\sqrt[3]{{\color{blue}{\left({\left(\sqrt[3]{\sqrt{\pi}}\right)}^{3}\right)}}^{2} \cdot \left(angle \cdot 0.005555555555555556\right)}\right)}^{3}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
    9. Add Preprocessing

    Alternative 2: 79.6% accurate, 0.6× speedup?

    \[\begin{array}{l} \\ \mathsf{fma}\left({a}^{2}, {\cos \left(angle \cdot \left(\pi \cdot \sqrt[3]{1.7146776406035666 \cdot 10^{-7}}\right)\right)}^{2}, {\left(b \cdot \sin \left(angle \cdot \left(\pi \cdot 0.005555555555555556\right)\right)\right)}^{2}\right) \end{array} \]
    (FPCore (a b angle)
     :precision binary64
     (fma
      (pow a 2.0)
      (pow (cos (* angle (* PI (cbrt 1.7146776406035666e-7)))) 2.0)
      (pow (* b (sin (* angle (* PI 0.005555555555555556)))) 2.0)))
    double code(double a, double b, double angle) {
    	return fma(pow(a, 2.0), pow(cos((angle * (((double) M_PI) * cbrt(1.7146776406035666e-7)))), 2.0), pow((b * sin((angle * (((double) M_PI) * 0.005555555555555556)))), 2.0));
    }
    
    function code(a, b, angle)
    	return fma((a ^ 2.0), (cos(Float64(angle * Float64(pi * cbrt(1.7146776406035666e-7)))) ^ 2.0), (Float64(b * sin(Float64(angle * Float64(pi * 0.005555555555555556)))) ^ 2.0))
    end
    
    code[a_, b_, angle_] := N[(N[Power[a, 2.0], $MachinePrecision] * N[Power[N[Cos[N[(angle * N[(Pi * N[Power[1.7146776406035666e-7, 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(b * N[Sin[N[(angle * N[(Pi * 0.005555555555555556), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]
    
    \begin{array}{l}
    
    \\
    \mathsf{fma}\left({a}^{2}, {\cos \left(angle \cdot \left(\pi \cdot \sqrt[3]{1.7146776406035666 \cdot 10^{-7}}\right)\right)}^{2}, {\left(b \cdot \sin \left(angle \cdot \left(\pi \cdot 0.005555555555555556\right)\right)\right)}^{2}\right)
    \end{array}
    
    Derivation
    1. Initial program 80.8%

      \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    2. Step-by-step derivation
      1. Simplified80.8%

        \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
      2. Add Preprocessing
      3. Step-by-step derivation
        1. metadata-eval80.8%

          \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot \color{blue}{\frac{1}{180}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
        2. div-inv80.8%

          \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \color{blue}{\frac{angle}{180}}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
        3. add-cbrt-cube62.2%

          \[\leadsto {\left(a \cdot \cos \color{blue}{\left(\sqrt[3]{\left(\left(\pi \cdot \frac{angle}{180}\right) \cdot \left(\pi \cdot \frac{angle}{180}\right)\right) \cdot \left(\pi \cdot \frac{angle}{180}\right)}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
        4. pow1/347.5%

          \[\leadsto {\left(a \cdot \cos \color{blue}{\left({\left(\left(\left(\pi \cdot \frac{angle}{180}\right) \cdot \left(\pi \cdot \frac{angle}{180}\right)\right) \cdot \left(\pi \cdot \frac{angle}{180}\right)\right)}^{0.3333333333333333}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
        5. pow347.5%

          \[\leadsto {\left(a \cdot \cos \left({\color{blue}{\left({\left(\pi \cdot \frac{angle}{180}\right)}^{3}\right)}}^{0.3333333333333333}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
        6. div-inv47.5%

          \[\leadsto {\left(a \cdot \cos \left({\left({\left(\pi \cdot \color{blue}{\left(angle \cdot \frac{1}{180}\right)}\right)}^{3}\right)}^{0.3333333333333333}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
        7. metadata-eval47.5%

          \[\leadsto {\left(a \cdot \cos \left({\left({\left(\pi \cdot \left(angle \cdot \color{blue}{0.005555555555555556}\right)\right)}^{3}\right)}^{0.3333333333333333}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
      4. Applied egg-rr47.5%

        \[\leadsto {\left(a \cdot \cos \color{blue}{\left({\left({\left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)}^{3}\right)}^{0.3333333333333333}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
      5. Taylor expanded in a around 0 68.1%

        \[\leadsto \color{blue}{{a}^{2} \cdot {\cos \left(angle \cdot \left(\pi \cdot \sqrt[3]{1.7146776406035666 \cdot 10^{-7}}\right)\right)}^{2} + {b}^{2} \cdot {\sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}^{2}} \]
      6. Step-by-step derivation
        1. fma-define68.1%

          \[\leadsto \color{blue}{\mathsf{fma}\left({a}^{2}, {\cos \left(angle \cdot \left(\pi \cdot \sqrt[3]{1.7146776406035666 \cdot 10^{-7}}\right)\right)}^{2}, {b}^{2} \cdot {\sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}^{2}\right)} \]
        2. unpow268.1%

          \[\leadsto \mathsf{fma}\left({a}^{2}, {\cos \left(angle \cdot \left(\pi \cdot \sqrt[3]{1.7146776406035666 \cdot 10^{-7}}\right)\right)}^{2}, \color{blue}{\left(b \cdot b\right)} \cdot {\sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}^{2}\right) \]
        3. unpow268.1%

          \[\leadsto \mathsf{fma}\left({a}^{2}, {\cos \left(angle \cdot \left(\pi \cdot \sqrt[3]{1.7146776406035666 \cdot 10^{-7}}\right)\right)}^{2}, \left(b \cdot b\right) \cdot \color{blue}{\left(\sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right) \cdot \sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)\right)}\right) \]
        4. swap-sqr80.9%

          \[\leadsto \mathsf{fma}\left({a}^{2}, {\cos \left(angle \cdot \left(\pi \cdot \sqrt[3]{1.7146776406035666 \cdot 10^{-7}}\right)\right)}^{2}, \color{blue}{\left(b \cdot \sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)\right) \cdot \left(b \cdot \sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)\right)}\right) \]
        5. unpow280.9%

          \[\leadsto \mathsf{fma}\left({a}^{2}, {\cos \left(angle \cdot \left(\pi \cdot \sqrt[3]{1.7146776406035666 \cdot 10^{-7}}\right)\right)}^{2}, \color{blue}{{\left(b \cdot \sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)\right)}^{2}}\right) \]
        6. *-commutative80.9%

          \[\leadsto \mathsf{fma}\left({a}^{2}, {\cos \left(angle \cdot \left(\pi \cdot \sqrt[3]{1.7146776406035666 \cdot 10^{-7}}\right)\right)}^{2}, {\left(b \cdot \sin \left(0.005555555555555556 \cdot \color{blue}{\left(\pi \cdot angle\right)}\right)\right)}^{2}\right) \]
        7. associate-*r*80.9%

          \[\leadsto \mathsf{fma}\left({a}^{2}, {\cos \left(angle \cdot \left(\pi \cdot \sqrt[3]{1.7146776406035666 \cdot 10^{-7}}\right)\right)}^{2}, {\left(b \cdot \sin \color{blue}{\left(\left(0.005555555555555556 \cdot \pi\right) \cdot angle\right)}\right)}^{2}\right) \]
        8. *-commutative80.9%

          \[\leadsto \mathsf{fma}\left({a}^{2}, {\cos \left(angle \cdot \left(\pi \cdot \sqrt[3]{1.7146776406035666 \cdot 10^{-7}}\right)\right)}^{2}, {\left(b \cdot \sin \left(\color{blue}{\left(\pi \cdot 0.005555555555555556\right)} \cdot angle\right)\right)}^{2}\right) \]
        9. *-commutative80.9%

          \[\leadsto \mathsf{fma}\left({a}^{2}, {\cos \left(angle \cdot \left(\pi \cdot \sqrt[3]{1.7146776406035666 \cdot 10^{-7}}\right)\right)}^{2}, {\left(b \cdot \sin \color{blue}{\left(angle \cdot \left(\pi \cdot 0.005555555555555556\right)\right)}\right)}^{2}\right) \]
      7. Simplified80.9%

        \[\leadsto \color{blue}{\mathsf{fma}\left({a}^{2}, {\cos \left(angle \cdot \left(\pi \cdot \sqrt[3]{1.7146776406035666 \cdot 10^{-7}}\right)\right)}^{2}, {\left(b \cdot \sin \left(angle \cdot \left(\pi \cdot 0.005555555555555556\right)\right)\right)}^{2}\right)} \]
      8. Add Preprocessing

      Alternative 3: 79.6% accurate, 0.7× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_0 := \pi \cdot \left(angle \cdot 0.005555555555555556\right)\\ {\left(b \cdot \sin t\_0\right)}^{2} + {\left(a \cdot \cos \left({\left(\sqrt[3]{t\_0}\right)}^{3}\right)\right)}^{2} \end{array} \end{array} \]
      (FPCore (a b angle)
       :precision binary64
       (let* ((t_0 (* PI (* angle 0.005555555555555556))))
         (+ (pow (* b (sin t_0)) 2.0) (pow (* a (cos (pow (cbrt t_0) 3.0))) 2.0))))
      double code(double a, double b, double angle) {
      	double t_0 = ((double) M_PI) * (angle * 0.005555555555555556);
      	return pow((b * sin(t_0)), 2.0) + pow((a * cos(pow(cbrt(t_0), 3.0))), 2.0);
      }
      
      public static double code(double a, double b, double angle) {
      	double t_0 = Math.PI * (angle * 0.005555555555555556);
      	return Math.pow((b * Math.sin(t_0)), 2.0) + Math.pow((a * Math.cos(Math.pow(Math.cbrt(t_0), 3.0))), 2.0);
      }
      
      function code(a, b, angle)
      	t_0 = Float64(pi * Float64(angle * 0.005555555555555556))
      	return Float64((Float64(b * sin(t_0)) ^ 2.0) + (Float64(a * cos((cbrt(t_0) ^ 3.0))) ^ 2.0))
      end
      
      code[a_, b_, angle_] := Block[{t$95$0 = N[(Pi * N[(angle * 0.005555555555555556), $MachinePrecision]), $MachinePrecision]}, N[(N[Power[N[(b * N[Sin[t$95$0], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(a * N[Cos[N[Power[N[Power[t$95$0, 1/3], $MachinePrecision], 3.0], $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_0 := \pi \cdot \left(angle \cdot 0.005555555555555556\right)\\
      {\left(b \cdot \sin t\_0\right)}^{2} + {\left(a \cdot \cos \left({\left(\sqrt[3]{t\_0}\right)}^{3}\right)\right)}^{2}
      \end{array}
      \end{array}
      
      Derivation
      1. Initial program 80.8%

        \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
      2. Step-by-step derivation
        1. Simplified80.8%

          \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
        2. Add Preprocessing
        3. Step-by-step derivation
          1. metadata-eval80.8%

            \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot \color{blue}{\frac{1}{180}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
          2. div-inv80.8%

            \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \color{blue}{\frac{angle}{180}}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
          3. add-cube-cbrt81.0%

            \[\leadsto {\left(a \cdot \cos \color{blue}{\left(\left(\sqrt[3]{\pi \cdot \frac{angle}{180}} \cdot \sqrt[3]{\pi \cdot \frac{angle}{180}}\right) \cdot \sqrt[3]{\pi \cdot \frac{angle}{180}}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
          4. pow381.0%

            \[\leadsto {\left(a \cdot \cos \color{blue}{\left({\left(\sqrt[3]{\pi \cdot \frac{angle}{180}}\right)}^{3}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
          5. div-inv80.9%

            \[\leadsto {\left(a \cdot \cos \left({\left(\sqrt[3]{\pi \cdot \color{blue}{\left(angle \cdot \frac{1}{180}\right)}}\right)}^{3}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
          6. metadata-eval80.9%

            \[\leadsto {\left(a \cdot \cos \left({\left(\sqrt[3]{\pi \cdot \left(angle \cdot \color{blue}{0.005555555555555556}\right)}\right)}^{3}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
        4. Applied egg-rr80.9%

          \[\leadsto {\left(a \cdot \cos \color{blue}{\left({\left(\sqrt[3]{\pi \cdot \left(angle \cdot 0.005555555555555556\right)}\right)}^{3}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
        5. Final simplification80.9%

          \[\leadsto {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(a \cdot \cos \left({\left(\sqrt[3]{\pi \cdot \left(angle \cdot 0.005555555555555556\right)}\right)}^{3}\right)\right)}^{2} \]
        6. Add Preprocessing

        Alternative 4: 79.6% accurate, 1.0× speedup?

        \[\begin{array}{l} \\ {\left(a \cdot \cos \left(\frac{1}{\frac{180}{\pi \cdot angle}}\right)\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} \end{array} \]
        (FPCore (a b angle)
         :precision binary64
         (+
          (pow (* a (cos (/ 1.0 (/ 180.0 (* PI angle))))) 2.0)
          (pow (* b (sin (/ PI (/ 180.0 angle)))) 2.0)))
        double code(double a, double b, double angle) {
        	return pow((a * cos((1.0 / (180.0 / (((double) M_PI) * angle))))), 2.0) + pow((b * sin((((double) M_PI) / (180.0 / angle)))), 2.0);
        }
        
        public static double code(double a, double b, double angle) {
        	return Math.pow((a * Math.cos((1.0 / (180.0 / (Math.PI * angle))))), 2.0) + Math.pow((b * Math.sin((Math.PI / (180.0 / angle)))), 2.0);
        }
        
        def code(a, b, angle):
        	return math.pow((a * math.cos((1.0 / (180.0 / (math.pi * angle))))), 2.0) + math.pow((b * math.sin((math.pi / (180.0 / angle)))), 2.0)
        
        function code(a, b, angle)
        	return Float64((Float64(a * cos(Float64(1.0 / Float64(180.0 / Float64(pi * angle))))) ^ 2.0) + (Float64(b * sin(Float64(pi / Float64(180.0 / angle)))) ^ 2.0))
        end
        
        function tmp = code(a, b, angle)
        	tmp = ((a * cos((1.0 / (180.0 / (pi * angle))))) ^ 2.0) + ((b * sin((pi / (180.0 / angle)))) ^ 2.0);
        end
        
        code[a_, b_, angle_] := N[(N[Power[N[(a * N[Cos[N[(1.0 / N[(180.0 / N[(Pi * angle), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(b * N[Sin[N[(Pi / N[(180.0 / angle), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]
        
        \begin{array}{l}
        
        \\
        {\left(a \cdot \cos \left(\frac{1}{\frac{180}{\pi \cdot angle}}\right)\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2}
        \end{array}
        
        Derivation
        1. Initial program 80.8%

          \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
        2. Step-by-step derivation
          1. Simplified80.8%

            \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
          2. Add Preprocessing
          3. Step-by-step derivation
            1. metadata-eval80.8%

              \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot \color{blue}{\frac{1}{180}}\right)\right)\right)}^{2} \]
            2. div-inv80.8%

              \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \color{blue}{\frac{angle}{180}}\right)\right)}^{2} \]
            3. clear-num80.8%

              \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \color{blue}{\frac{1}{\frac{180}{angle}}}\right)\right)}^{2} \]
            4. un-div-inv80.9%

              \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(\frac{\pi}{\frac{180}{angle}}\right)}\right)}^{2} \]
          4. Applied egg-rr80.9%

            \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(\frac{\pi}{\frac{180}{angle}}\right)}\right)}^{2} \]
          5. Step-by-step derivation
            1. metadata-eval80.9%

              \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot \color{blue}{\frac{1}{180}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} \]
            2. div-inv80.9%

              \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \color{blue}{\frac{angle}{180}}\right)\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} \]
            3. associate-*r/80.9%

              \[\leadsto {\left(a \cdot \cos \color{blue}{\left(\frac{\pi \cdot angle}{180}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} \]
            4. clear-num80.9%

              \[\leadsto {\left(a \cdot \cos \color{blue}{\left(\frac{1}{\frac{180}{\pi \cdot angle}}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} \]
          6. Applied egg-rr80.9%

            \[\leadsto {\left(a \cdot \cos \color{blue}{\left(\frac{1}{\frac{180}{\pi \cdot angle}}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} \]
          7. Add Preprocessing

          Alternative 5: 79.7% accurate, 1.0× speedup?

          \[\begin{array}{l} \\ {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi \cdot 0.005555555555555556}{\frac{1}{angle}}\right)\right)}^{2} \end{array} \]
          (FPCore (a b angle)
           :precision binary64
           (+
            (pow (* a (cos (* PI (* angle 0.005555555555555556)))) 2.0)
            (pow (* b (sin (/ (* PI 0.005555555555555556) (/ 1.0 angle)))) 2.0)))
          double code(double a, double b, double angle) {
          	return pow((a * cos((((double) M_PI) * (angle * 0.005555555555555556)))), 2.0) + pow((b * sin(((((double) M_PI) * 0.005555555555555556) / (1.0 / angle)))), 2.0);
          }
          
          public static double code(double a, double b, double angle) {
          	return Math.pow((a * Math.cos((Math.PI * (angle * 0.005555555555555556)))), 2.0) + Math.pow((b * Math.sin(((Math.PI * 0.005555555555555556) / (1.0 / angle)))), 2.0);
          }
          
          def code(a, b, angle):
          	return math.pow((a * math.cos((math.pi * (angle * 0.005555555555555556)))), 2.0) + math.pow((b * math.sin(((math.pi * 0.005555555555555556) / (1.0 / angle)))), 2.0)
          
          function code(a, b, angle)
          	return Float64((Float64(a * cos(Float64(pi * Float64(angle * 0.005555555555555556)))) ^ 2.0) + (Float64(b * sin(Float64(Float64(pi * 0.005555555555555556) / Float64(1.0 / angle)))) ^ 2.0))
          end
          
          function tmp = code(a, b, angle)
          	tmp = ((a * cos((pi * (angle * 0.005555555555555556)))) ^ 2.0) + ((b * sin(((pi * 0.005555555555555556) / (1.0 / angle)))) ^ 2.0);
          end
          
          code[a_, b_, angle_] := N[(N[Power[N[(a * N[Cos[N[(Pi * N[(angle * 0.005555555555555556), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(b * N[Sin[N[(N[(Pi * 0.005555555555555556), $MachinePrecision] / N[(1.0 / angle), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]
          
          \begin{array}{l}
          
          \\
          {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi \cdot 0.005555555555555556}{\frac{1}{angle}}\right)\right)}^{2}
          \end{array}
          
          Derivation
          1. Initial program 80.8%

            \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
          2. Step-by-step derivation
            1. Simplified80.8%

              \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
            2. Add Preprocessing
            3. Step-by-step derivation
              1. add-exp-log40.1%

                \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(e^{\log \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)}\right)}\right)}^{2} \]
            4. Applied egg-rr40.1%

              \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(e^{\log \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)}\right)}\right)}^{2} \]
            5. Step-by-step derivation
              1. rem-exp-log80.8%

                \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)}\right)}^{2} \]
              2. metadata-eval80.8%

                \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot \color{blue}{\frac{1}{180}}\right)\right)\right)}^{2} \]
              3. div-inv80.8%

                \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \color{blue}{\frac{angle}{180}}\right)\right)}^{2} \]
              4. clear-num80.8%

                \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \color{blue}{\frac{1}{\frac{180}{angle}}}\right)\right)}^{2} \]
              5. div-inv80.9%

                \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(\frac{\pi}{\frac{180}{angle}}\right)}\right)}^{2} \]
              6. div-inv80.8%

                \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\color{blue}{180 \cdot \frac{1}{angle}}}\right)\right)}^{2} \]
              7. associate-/r*80.9%

                \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(\frac{\frac{\pi}{180}}{\frac{1}{angle}}\right)}\right)}^{2} \]
              8. div-inv80.9%

                \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\frac{\color{blue}{\pi \cdot \frac{1}{180}}}{\frac{1}{angle}}\right)\right)}^{2} \]
              9. metadata-eval80.9%

                \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi \cdot \color{blue}{0.005555555555555556}}{\frac{1}{angle}}\right)\right)}^{2} \]
            6. Applied egg-rr80.9%

              \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(\frac{\pi \cdot 0.005555555555555556}{\frac{1}{angle}}\right)}\right)}^{2} \]
            7. Add Preprocessing

            Alternative 6: 79.6% accurate, 1.0× speedup?

            \[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{\pi}{\frac{180}{angle}}\\ {\left(b \cdot \sin t\_0\right)}^{2} + {\left(a \cdot \cos t\_0\right)}^{2} \end{array} \end{array} \]
            (FPCore (a b angle)
             :precision binary64
             (let* ((t_0 (/ PI (/ 180.0 angle))))
               (+ (pow (* b (sin t_0)) 2.0) (pow (* a (cos t_0)) 2.0))))
            double code(double a, double b, double angle) {
            	double t_0 = ((double) M_PI) / (180.0 / angle);
            	return pow((b * sin(t_0)), 2.0) + pow((a * cos(t_0)), 2.0);
            }
            
            public static double code(double a, double b, double angle) {
            	double t_0 = Math.PI / (180.0 / angle);
            	return Math.pow((b * Math.sin(t_0)), 2.0) + Math.pow((a * Math.cos(t_0)), 2.0);
            }
            
            def code(a, b, angle):
            	t_0 = math.pi / (180.0 / angle)
            	return math.pow((b * math.sin(t_0)), 2.0) + math.pow((a * math.cos(t_0)), 2.0)
            
            function code(a, b, angle)
            	t_0 = Float64(pi / Float64(180.0 / angle))
            	return Float64((Float64(b * sin(t_0)) ^ 2.0) + (Float64(a * cos(t_0)) ^ 2.0))
            end
            
            function tmp = code(a, b, angle)
            	t_0 = pi / (180.0 / angle);
            	tmp = ((b * sin(t_0)) ^ 2.0) + ((a * cos(t_0)) ^ 2.0);
            end
            
            code[a_, b_, angle_] := Block[{t$95$0 = N[(Pi / N[(180.0 / angle), $MachinePrecision]), $MachinePrecision]}, N[(N[Power[N[(b * N[Sin[t$95$0], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(a * N[Cos[t$95$0], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]]
            
            \begin{array}{l}
            
            \\
            \begin{array}{l}
            t_0 := \frac{\pi}{\frac{180}{angle}}\\
            {\left(b \cdot \sin t\_0\right)}^{2} + {\left(a \cdot \cos t\_0\right)}^{2}
            \end{array}
            \end{array}
            
            Derivation
            1. Initial program 80.8%

              \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
            2. Step-by-step derivation
              1. Simplified80.8%

                \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
              2. Add Preprocessing
              3. Step-by-step derivation
                1. metadata-eval80.8%

                  \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot \color{blue}{\frac{1}{180}}\right)\right)\right)}^{2} \]
                2. div-inv80.8%

                  \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \color{blue}{\frac{angle}{180}}\right)\right)}^{2} \]
                3. clear-num80.8%

                  \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \color{blue}{\frac{1}{\frac{180}{angle}}}\right)\right)}^{2} \]
                4. un-div-inv80.9%

                  \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(\frac{\pi}{\frac{180}{angle}}\right)}\right)}^{2} \]
              4. Applied egg-rr80.9%

                \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(\frac{\pi}{\frac{180}{angle}}\right)}\right)}^{2} \]
              5. Step-by-step derivation
                1. metadata-eval80.8%

                  \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot \color{blue}{\frac{1}{180}}\right)\right)\right)}^{2} \]
                2. div-inv80.8%

                  \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \color{blue}{\frac{angle}{180}}\right)\right)}^{2} \]
                3. clear-num80.8%

                  \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \color{blue}{\frac{1}{\frac{180}{angle}}}\right)\right)}^{2} \]
                4. un-div-inv80.9%

                  \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(\frac{\pi}{\frac{180}{angle}}\right)}\right)}^{2} \]
              6. Applied egg-rr80.9%

                \[\leadsto {\left(a \cdot \cos \color{blue}{\left(\frac{\pi}{\frac{180}{angle}}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} \]
              7. Final simplification80.9%

                \[\leadsto {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} + {\left(a \cdot \cos \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} \]
              8. Add Preprocessing

              Alternative 7: 79.6% accurate, 1.0× speedup?

              \[\begin{array}{l} \\ {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} + {\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \end{array} \]
              (FPCore (a b angle)
               :precision binary64
               (+
                (pow (* b (sin (/ PI (/ 180.0 angle)))) 2.0)
                (pow (* a (cos (* PI (/ angle 180.0)))) 2.0)))
              double code(double a, double b, double angle) {
              	return pow((b * sin((((double) M_PI) / (180.0 / angle)))), 2.0) + pow((a * cos((((double) M_PI) * (angle / 180.0)))), 2.0);
              }
              
              public static double code(double a, double b, double angle) {
              	return Math.pow((b * Math.sin((Math.PI / (180.0 / angle)))), 2.0) + Math.pow((a * Math.cos((Math.PI * (angle / 180.0)))), 2.0);
              }
              
              def code(a, b, angle):
              	return math.pow((b * math.sin((math.pi / (180.0 / angle)))), 2.0) + math.pow((a * math.cos((math.pi * (angle / 180.0)))), 2.0)
              
              function code(a, b, angle)
              	return Float64((Float64(b * sin(Float64(pi / Float64(180.0 / angle)))) ^ 2.0) + (Float64(a * cos(Float64(pi * Float64(angle / 180.0)))) ^ 2.0))
              end
              
              function tmp = code(a, b, angle)
              	tmp = ((b * sin((pi / (180.0 / angle)))) ^ 2.0) + ((a * cos((pi * (angle / 180.0)))) ^ 2.0);
              end
              
              code[a_, b_, angle_] := N[(N[Power[N[(b * N[Sin[N[(Pi / N[(180.0 / angle), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(a * N[Cos[N[(Pi * N[(angle / 180.0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]
              
              \begin{array}{l}
              
              \\
              {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} + {\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2}
              \end{array}
              
              Derivation
              1. Initial program 80.8%

                \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
              2. Step-by-step derivation
                1. Simplified80.8%

                  \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
                2. Add Preprocessing
                3. Step-by-step derivation
                  1. metadata-eval80.8%

                    \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot \color{blue}{\frac{1}{180}}\right)\right)\right)}^{2} \]
                  2. div-inv80.8%

                    \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \color{blue}{\frac{angle}{180}}\right)\right)}^{2} \]
                  3. clear-num80.8%

                    \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \color{blue}{\frac{1}{\frac{180}{angle}}}\right)\right)}^{2} \]
                  4. un-div-inv80.9%

                    \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(\frac{\pi}{\frac{180}{angle}}\right)}\right)}^{2} \]
                4. Applied egg-rr80.9%

                  \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(\frac{\pi}{\frac{180}{angle}}\right)}\right)}^{2} \]
                5. Step-by-step derivation
                  1. metadata-eval80.9%

                    \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot \color{blue}{\frac{1}{180}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} \]
                  2. div-inv80.9%

                    \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \color{blue}{\frac{angle}{180}}\right)\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} \]
                6. Applied egg-rr80.9%

                  \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \color{blue}{\frac{angle}{180}}\right)\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} \]
                7. Final simplification80.9%

                  \[\leadsto {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} + {\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
                8. Add Preprocessing

                Alternative 8: 79.6% accurate, 1.0× speedup?

                \[\begin{array}{l} \\ {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} + {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \end{array} \]
                (FPCore (a b angle)
                 :precision binary64
                 (+
                  (pow (* b (sin (/ PI (/ 180.0 angle)))) 2.0)
                  (pow (* a (cos (* PI (* angle 0.005555555555555556)))) 2.0)))
                double code(double a, double b, double angle) {
                	return pow((b * sin((((double) M_PI) / (180.0 / angle)))), 2.0) + pow((a * cos((((double) M_PI) * (angle * 0.005555555555555556)))), 2.0);
                }
                
                public static double code(double a, double b, double angle) {
                	return Math.pow((b * Math.sin((Math.PI / (180.0 / angle)))), 2.0) + Math.pow((a * Math.cos((Math.PI * (angle * 0.005555555555555556)))), 2.0);
                }
                
                def code(a, b, angle):
                	return math.pow((b * math.sin((math.pi / (180.0 / angle)))), 2.0) + math.pow((a * math.cos((math.pi * (angle * 0.005555555555555556)))), 2.0)
                
                function code(a, b, angle)
                	return Float64((Float64(b * sin(Float64(pi / Float64(180.0 / angle)))) ^ 2.0) + (Float64(a * cos(Float64(pi * Float64(angle * 0.005555555555555556)))) ^ 2.0))
                end
                
                function tmp = code(a, b, angle)
                	tmp = ((b * sin((pi / (180.0 / angle)))) ^ 2.0) + ((a * cos((pi * (angle * 0.005555555555555556)))) ^ 2.0);
                end
                
                code[a_, b_, angle_] := N[(N[Power[N[(b * N[Sin[N[(Pi / N[(180.0 / angle), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(a * N[Cos[N[(Pi * N[(angle * 0.005555555555555556), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]
                
                \begin{array}{l}
                
                \\
                {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} + {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}
                \end{array}
                
                Derivation
                1. Initial program 80.8%

                  \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
                2. Step-by-step derivation
                  1. Simplified80.8%

                    \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
                  2. Add Preprocessing
                  3. Step-by-step derivation
                    1. metadata-eval80.8%

                      \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot \color{blue}{\frac{1}{180}}\right)\right)\right)}^{2} \]
                    2. div-inv80.8%

                      \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \color{blue}{\frac{angle}{180}}\right)\right)}^{2} \]
                    3. clear-num80.8%

                      \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \color{blue}{\frac{1}{\frac{180}{angle}}}\right)\right)}^{2} \]
                    4. un-div-inv80.9%

                      \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(\frac{\pi}{\frac{180}{angle}}\right)}\right)}^{2} \]
                  4. Applied egg-rr80.9%

                    \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(\frac{\pi}{\frac{180}{angle}}\right)}\right)}^{2} \]
                  5. Final simplification80.9%

                    \[\leadsto {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} + {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
                  6. Add Preprocessing

                  Alternative 9: 79.7% accurate, 1.0× speedup?

                  \[\begin{array}{l} \\ \begin{array}{l} t_0 := \pi \cdot \left(angle \cdot 0.005555555555555556\right)\\ {\left(\mathsf{hypot}\left(a \cdot \cos t\_0, b \cdot \sin t\_0\right)\right)}^{2} \end{array} \end{array} \]
                  (FPCore (a b angle)
                   :precision binary64
                   (let* ((t_0 (* PI (* angle 0.005555555555555556))))
                     (pow (hypot (* a (cos t_0)) (* b (sin t_0))) 2.0)))
                  double code(double a, double b, double angle) {
                  	double t_0 = ((double) M_PI) * (angle * 0.005555555555555556);
                  	return pow(hypot((a * cos(t_0)), (b * sin(t_0))), 2.0);
                  }
                  
                  public static double code(double a, double b, double angle) {
                  	double t_0 = Math.PI * (angle * 0.005555555555555556);
                  	return Math.pow(Math.hypot((a * Math.cos(t_0)), (b * Math.sin(t_0))), 2.0);
                  }
                  
                  def code(a, b, angle):
                  	t_0 = math.pi * (angle * 0.005555555555555556)
                  	return math.pow(math.hypot((a * math.cos(t_0)), (b * math.sin(t_0))), 2.0)
                  
                  function code(a, b, angle)
                  	t_0 = Float64(pi * Float64(angle * 0.005555555555555556))
                  	return hypot(Float64(a * cos(t_0)), Float64(b * sin(t_0))) ^ 2.0
                  end
                  
                  function tmp = code(a, b, angle)
                  	t_0 = pi * (angle * 0.005555555555555556);
                  	tmp = hypot((a * cos(t_0)), (b * sin(t_0))) ^ 2.0;
                  end
                  
                  code[a_, b_, angle_] := Block[{t$95$0 = N[(Pi * N[(angle * 0.005555555555555556), $MachinePrecision]), $MachinePrecision]}, N[Power[N[Sqrt[N[(a * N[Cos[t$95$0], $MachinePrecision]), $MachinePrecision] ^ 2 + N[(b * N[Sin[t$95$0], $MachinePrecision]), $MachinePrecision] ^ 2], $MachinePrecision], 2.0], $MachinePrecision]]
                  
                  \begin{array}{l}
                  
                  \\
                  \begin{array}{l}
                  t_0 := \pi \cdot \left(angle \cdot 0.005555555555555556\right)\\
                  {\left(\mathsf{hypot}\left(a \cdot \cos t\_0, b \cdot \sin t\_0\right)\right)}^{2}
                  \end{array}
                  \end{array}
                  
                  Derivation
                  1. Initial program 80.8%

                    \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
                  2. Step-by-step derivation
                    1. Simplified80.8%

                      \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
                    2. Add Preprocessing
                    3. Applied egg-rr80.8%

                      \[\leadsto \color{blue}{{\left(\mathsf{hypot}\left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot a, \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot b\right)\right)}^{2}} \]
                    4. Final simplification80.8%

                      \[\leadsto {\left(\mathsf{hypot}\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right), b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)\right)}^{2} \]
                    5. Add Preprocessing

                    Alternative 10: 79.7% accurate, 1.0× speedup?

                    \[\begin{array}{l} \\ \begin{array}{l} t_0 := \pi \cdot \frac{angle}{180}\\ {\left(\mathsf{hypot}\left(a \cdot \cos t\_0, b \cdot \sin t\_0\right)\right)}^{2} \end{array} \end{array} \]
                    (FPCore (a b angle)
                     :precision binary64
                     (let* ((t_0 (* PI (/ angle 180.0))))
                       (pow (hypot (* a (cos t_0)) (* b (sin t_0))) 2.0)))
                    double code(double a, double b, double angle) {
                    	double t_0 = ((double) M_PI) * (angle / 180.0);
                    	return pow(hypot((a * cos(t_0)), (b * sin(t_0))), 2.0);
                    }
                    
                    public static double code(double a, double b, double angle) {
                    	double t_0 = Math.PI * (angle / 180.0);
                    	return Math.pow(Math.hypot((a * Math.cos(t_0)), (b * Math.sin(t_0))), 2.0);
                    }
                    
                    def code(a, b, angle):
                    	t_0 = math.pi * (angle / 180.0)
                    	return math.pow(math.hypot((a * math.cos(t_0)), (b * math.sin(t_0))), 2.0)
                    
                    function code(a, b, angle)
                    	t_0 = Float64(pi * Float64(angle / 180.0))
                    	return hypot(Float64(a * cos(t_0)), Float64(b * sin(t_0))) ^ 2.0
                    end
                    
                    function tmp = code(a, b, angle)
                    	t_0 = pi * (angle / 180.0);
                    	tmp = hypot((a * cos(t_0)), (b * sin(t_0))) ^ 2.0;
                    end
                    
                    code[a_, b_, angle_] := Block[{t$95$0 = N[(Pi * N[(angle / 180.0), $MachinePrecision]), $MachinePrecision]}, N[Power[N[Sqrt[N[(a * N[Cos[t$95$0], $MachinePrecision]), $MachinePrecision] ^ 2 + N[(b * N[Sin[t$95$0], $MachinePrecision]), $MachinePrecision] ^ 2], $MachinePrecision], 2.0], $MachinePrecision]]
                    
                    \begin{array}{l}
                    
                    \\
                    \begin{array}{l}
                    t_0 := \pi \cdot \frac{angle}{180}\\
                    {\left(\mathsf{hypot}\left(a \cdot \cos t\_0, b \cdot \sin t\_0\right)\right)}^{2}
                    \end{array}
                    \end{array}
                    
                    Derivation
                    1. Initial program 80.8%

                      \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
                    2. Step-by-step derivation
                      1. Simplified80.8%

                        \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
                      2. Add Preprocessing
                      3. Applied egg-rr66.0%

                        \[\leadsto \color{blue}{e^{\mathsf{log1p}\left({\left(\mathsf{hypot}\left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot a, \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot b\right)\right)}^{2}\right)} - 1} \]
                      4. Step-by-step derivation
                        1. expm1-define79.3%

                          \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left({\left(\mathsf{hypot}\left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot a, \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot b\right)\right)}^{2}\right)\right)} \]
                        2. *-commutative79.3%

                          \[\leadsto \mathsf{expm1}\left(\mathsf{log1p}\left({\left(\mathsf{hypot}\left(\cos \color{blue}{\left(\left(angle \cdot 0.005555555555555556\right) \cdot \pi\right)} \cdot a, \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot b\right)\right)}^{2}\right)\right) \]
                        3. *-commutative79.3%

                          \[\leadsto \mathsf{expm1}\left(\mathsf{log1p}\left({\left(\mathsf{hypot}\left(\cos \left(\color{blue}{\left(0.005555555555555556 \cdot angle\right)} \cdot \pi\right) \cdot a, \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot b\right)\right)}^{2}\right)\right) \]
                        4. associate-*r*79.3%

                          \[\leadsto \mathsf{expm1}\left(\mathsf{log1p}\left({\left(\mathsf{hypot}\left(\cos \color{blue}{\left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)} \cdot a, \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot b\right)\right)}^{2}\right)\right) \]
                        5. *-commutative79.3%

                          \[\leadsto \mathsf{expm1}\left(\mathsf{log1p}\left({\left(\mathsf{hypot}\left(\color{blue}{a \cdot \cos \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}, \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot b\right)\right)}^{2}\right)\right) \]
                        6. *-commutative79.3%

                          \[\leadsto \mathsf{expm1}\left(\mathsf{log1p}\left({\left(\mathsf{hypot}\left(a \cdot \cos \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right), \color{blue}{b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)}\right)\right)}^{2}\right)\right) \]
                        7. *-commutative79.3%

                          \[\leadsto \mathsf{expm1}\left(\mathsf{log1p}\left({\left(\mathsf{hypot}\left(a \cdot \cos \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right), b \cdot \sin \color{blue}{\left(\left(angle \cdot 0.005555555555555556\right) \cdot \pi\right)}\right)\right)}^{2}\right)\right) \]
                        8. *-commutative79.3%

                          \[\leadsto \mathsf{expm1}\left(\mathsf{log1p}\left({\left(\mathsf{hypot}\left(a \cdot \cos \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right), b \cdot \sin \left(\color{blue}{\left(0.005555555555555556 \cdot angle\right)} \cdot \pi\right)\right)\right)}^{2}\right)\right) \]
                        9. associate-*r*79.3%

                          \[\leadsto \mathsf{expm1}\left(\mathsf{log1p}\left({\left(\mathsf{hypot}\left(a \cdot \cos \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right), b \cdot \sin \color{blue}{\left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}\right)\right)}^{2}\right)\right) \]
                      5. Simplified79.3%

                        \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left({\left(\mathsf{hypot}\left(a \cdot \cos \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right), b \cdot \sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)\right)\right)}^{2}\right)\right)} \]
                      6. Applied egg-rr78.4%

                        \[\leadsto \mathsf{expm1}\left(\mathsf{log1p}\left({\color{blue}{\left(e^{\log \left(\mathsf{hypot}\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right), b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)\right)}\right)}}^{2}\right)\right) \]
                      7. Taylor expanded in a around 0 68.1%

                        \[\leadsto \color{blue}{{a}^{2} \cdot {\cos \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}^{2} + {b}^{2} \cdot {\sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}^{2}} \]
                      8. Simplified80.8%

                        \[\leadsto \color{blue}{{\left(\mathsf{hypot}\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right), b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)\right)}^{2}} \]
                      9. Add Preprocessing

                      Alternative 11: 79.7% accurate, 1.3× speedup?

                      \[\begin{array}{l} \\ {a}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} \end{array} \]
                      (FPCore (a b angle)
                       :precision binary64
                       (+ (pow a 2.0) (pow (* b (sin (/ PI (/ 180.0 angle)))) 2.0)))
                      double code(double a, double b, double angle) {
                      	return pow(a, 2.0) + pow((b * sin((((double) M_PI) / (180.0 / angle)))), 2.0);
                      }
                      
                      public static double code(double a, double b, double angle) {
                      	return Math.pow(a, 2.0) + Math.pow((b * Math.sin((Math.PI / (180.0 / angle)))), 2.0);
                      }
                      
                      def code(a, b, angle):
                      	return math.pow(a, 2.0) + math.pow((b * math.sin((math.pi / (180.0 / angle)))), 2.0)
                      
                      function code(a, b, angle)
                      	return Float64((a ^ 2.0) + (Float64(b * sin(Float64(pi / Float64(180.0 / angle)))) ^ 2.0))
                      end
                      
                      function tmp = code(a, b, angle)
                      	tmp = (a ^ 2.0) + ((b * sin((pi / (180.0 / angle)))) ^ 2.0);
                      end
                      
                      code[a_, b_, angle_] := N[(N[Power[a, 2.0], $MachinePrecision] + N[Power[N[(b * N[Sin[N[(Pi / N[(180.0 / angle), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]
                      
                      \begin{array}{l}
                      
                      \\
                      {a}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2}
                      \end{array}
                      
                      Derivation
                      1. Initial program 80.8%

                        \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
                      2. Step-by-step derivation
                        1. Simplified80.8%

                          \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
                        2. Add Preprocessing
                        3. Step-by-step derivation
                          1. metadata-eval80.8%

                            \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot \color{blue}{\frac{1}{180}}\right)\right)\right)}^{2} \]
                          2. div-inv80.8%

                            \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \color{blue}{\frac{angle}{180}}\right)\right)}^{2} \]
                          3. clear-num80.8%

                            \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \color{blue}{\frac{1}{\frac{180}{angle}}}\right)\right)}^{2} \]
                          4. un-div-inv80.9%

                            \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(\frac{\pi}{\frac{180}{angle}}\right)}\right)}^{2} \]
                        4. Applied egg-rr80.9%

                          \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \color{blue}{\left(\frac{\pi}{\frac{180}{angle}}\right)}\right)}^{2} \]
                        5. Taylor expanded in angle around 0 80.5%

                          \[\leadsto {\left(a \cdot \color{blue}{1}\right)}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} \]
                        6. Final simplification80.5%

                          \[\leadsto {a}^{2} + {\left(b \cdot \sin \left(\frac{\pi}{\frac{180}{angle}}\right)\right)}^{2} \]
                        7. Add Preprocessing

                        Alternative 12: 79.7% accurate, 1.3× speedup?

                        \[\begin{array}{l} \\ {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {a}^{2} \end{array} \]
                        (FPCore (a b angle)
                         :precision binary64
                         (+ (pow (* b (sin (* PI (* angle 0.005555555555555556)))) 2.0) (pow a 2.0)))
                        double code(double a, double b, double angle) {
                        	return pow((b * sin((((double) M_PI) * (angle * 0.005555555555555556)))), 2.0) + pow(a, 2.0);
                        }
                        
                        public static double code(double a, double b, double angle) {
                        	return Math.pow((b * Math.sin((Math.PI * (angle * 0.005555555555555556)))), 2.0) + Math.pow(a, 2.0);
                        }
                        
                        def code(a, b, angle):
                        	return math.pow((b * math.sin((math.pi * (angle * 0.005555555555555556)))), 2.0) + math.pow(a, 2.0)
                        
                        function code(a, b, angle)
                        	return Float64((Float64(b * sin(Float64(pi * Float64(angle * 0.005555555555555556)))) ^ 2.0) + (a ^ 2.0))
                        end
                        
                        function tmp = code(a, b, angle)
                        	tmp = ((b * sin((pi * (angle * 0.005555555555555556)))) ^ 2.0) + (a ^ 2.0);
                        end
                        
                        code[a_, b_, angle_] := N[(N[Power[N[(b * N[Sin[N[(Pi * N[(angle * 0.005555555555555556), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[a, 2.0], $MachinePrecision]), $MachinePrecision]
                        
                        \begin{array}{l}
                        
                        \\
                        {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {a}^{2}
                        \end{array}
                        
                        Derivation
                        1. Initial program 80.8%

                          \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
                        2. Step-by-step derivation
                          1. Simplified80.8%

                            \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
                          2. Add Preprocessing
                          3. Taylor expanded in angle around 0 80.5%

                            \[\leadsto {\color{blue}{a}}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
                          4. Final simplification80.5%

                            \[\leadsto {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {a}^{2} \]
                          5. Add Preprocessing

                          Alternative 13: 52.5% accurate, 2.0× speedup?

                          \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;a \leq 1.85 \cdot 10^{-7}:\\ \;\;\;\;{\left(b \cdot \sin \left(angle \cdot \left(\pi \cdot 0.005555555555555556\right)\right)\right)}^{2}\\ \mathbf{else}:\\ \;\;\;\;{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}\\ \end{array} \end{array} \]
                          (FPCore (a b angle)
                           :precision binary64
                           (if (<= a 1.85e-7)
                             (pow (* b (sin (* angle (* PI 0.005555555555555556)))) 2.0)
                             (pow (* a (cos (* PI (* angle 0.005555555555555556)))) 2.0)))
                          double code(double a, double b, double angle) {
                          	double tmp;
                          	if (a <= 1.85e-7) {
                          		tmp = pow((b * sin((angle * (((double) M_PI) * 0.005555555555555556)))), 2.0);
                          	} else {
                          		tmp = pow((a * cos((((double) M_PI) * (angle * 0.005555555555555556)))), 2.0);
                          	}
                          	return tmp;
                          }
                          
                          public static double code(double a, double b, double angle) {
                          	double tmp;
                          	if (a <= 1.85e-7) {
                          		tmp = Math.pow((b * Math.sin((angle * (Math.PI * 0.005555555555555556)))), 2.0);
                          	} else {
                          		tmp = Math.pow((a * Math.cos((Math.PI * (angle * 0.005555555555555556)))), 2.0);
                          	}
                          	return tmp;
                          }
                          
                          def code(a, b, angle):
                          	tmp = 0
                          	if a <= 1.85e-7:
                          		tmp = math.pow((b * math.sin((angle * (math.pi * 0.005555555555555556)))), 2.0)
                          	else:
                          		tmp = math.pow((a * math.cos((math.pi * (angle * 0.005555555555555556)))), 2.0)
                          	return tmp
                          
                          function code(a, b, angle)
                          	tmp = 0.0
                          	if (a <= 1.85e-7)
                          		tmp = Float64(b * sin(Float64(angle * Float64(pi * 0.005555555555555556)))) ^ 2.0;
                          	else
                          		tmp = Float64(a * cos(Float64(pi * Float64(angle * 0.005555555555555556)))) ^ 2.0;
                          	end
                          	return tmp
                          end
                          
                          function tmp_2 = code(a, b, angle)
                          	tmp = 0.0;
                          	if (a <= 1.85e-7)
                          		tmp = (b * sin((angle * (pi * 0.005555555555555556)))) ^ 2.0;
                          	else
                          		tmp = (a * cos((pi * (angle * 0.005555555555555556)))) ^ 2.0;
                          	end
                          	tmp_2 = tmp;
                          end
                          
                          code[a_, b_, angle_] := If[LessEqual[a, 1.85e-7], N[Power[N[(b * N[Sin[N[(angle * N[(Pi * 0.005555555555555556), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], N[Power[N[(a * N[Cos[N[(Pi * N[(angle * 0.005555555555555556), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]]
                          
                          \begin{array}{l}
                          
                          \\
                          \begin{array}{l}
                          \mathbf{if}\;a \leq 1.85 \cdot 10^{-7}:\\
                          \;\;\;\;{\left(b \cdot \sin \left(angle \cdot \left(\pi \cdot 0.005555555555555556\right)\right)\right)}^{2}\\
                          
                          \mathbf{else}:\\
                          \;\;\;\;{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}\\
                          
                          
                          \end{array}
                          \end{array}
                          
                          Derivation
                          1. Split input into 2 regimes
                          2. if a < 1.85000000000000002e-7

                            1. Initial program 79.7%

                              \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
                            2. Step-by-step derivation
                              1. Simplified79.7%

                                \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
                              2. Add Preprocessing
                              3. Step-by-step derivation
                                1. metadata-eval79.7%

                                  \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot \color{blue}{\frac{1}{180}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
                                2. div-inv79.8%

                                  \[\leadsto {\left(a \cdot \cos \left(\pi \cdot \color{blue}{\frac{angle}{180}}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
                                3. add-cube-cbrt79.9%

                                  \[\leadsto {\left(a \cdot \cos \color{blue}{\left(\left(\sqrt[3]{\pi \cdot \frac{angle}{180}} \cdot \sqrt[3]{\pi \cdot \frac{angle}{180}}\right) \cdot \sqrt[3]{\pi \cdot \frac{angle}{180}}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
                                4. pow379.9%

                                  \[\leadsto {\left(a \cdot \cos \color{blue}{\left({\left(\sqrt[3]{\pi \cdot \frac{angle}{180}}\right)}^{3}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
                                5. div-inv79.8%

                                  \[\leadsto {\left(a \cdot \cos \left({\left(\sqrt[3]{\pi \cdot \color{blue}{\left(angle \cdot \frac{1}{180}\right)}}\right)}^{3}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
                                6. metadata-eval79.8%

                                  \[\leadsto {\left(a \cdot \cos \left({\left(\sqrt[3]{\pi \cdot \left(angle \cdot \color{blue}{0.005555555555555556}\right)}\right)}^{3}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
                              4. Applied egg-rr79.8%

                                \[\leadsto {\left(a \cdot \cos \color{blue}{\left({\left(\sqrt[3]{\pi \cdot \left(angle \cdot 0.005555555555555556\right)}\right)}^{3}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} \]
                              5. Taylor expanded in a around 0 41.9%

                                \[\leadsto \color{blue}{{b}^{2} \cdot {\sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}^{2}} \]
                              6. Step-by-step derivation
                                1. unpow241.9%

                                  \[\leadsto \color{blue}{\left(b \cdot b\right)} \cdot {\sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}^{2} \]
                                2. associate-*r*41.9%

                                  \[\leadsto \left(b \cdot b\right) \cdot {\sin \color{blue}{\left(\left(0.005555555555555556 \cdot angle\right) \cdot \pi\right)}}^{2} \]
                                3. *-commutative41.9%

                                  \[\leadsto \left(b \cdot b\right) \cdot {\sin \left(\color{blue}{\left(angle \cdot 0.005555555555555556\right)} \cdot \pi\right)}^{2} \]
                                4. *-commutative41.9%

                                  \[\leadsto \left(b \cdot b\right) \cdot {\sin \color{blue}{\left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)}}^{2} \]
                                5. unpow241.9%

                                  \[\leadsto \left(b \cdot b\right) \cdot \color{blue}{\left(\sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)} \]
                                6. swap-sqr51.6%

                                  \[\leadsto \color{blue}{\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right) \cdot \left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)} \]
                                7. unpow251.6%

                                  \[\leadsto \color{blue}{{\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
                                8. *-commutative51.6%

                                  \[\leadsto {\left(b \cdot \sin \color{blue}{\left(\left(angle \cdot 0.005555555555555556\right) \cdot \pi\right)}\right)}^{2} \]
                                9. *-commutative51.6%

                                  \[\leadsto {\left(b \cdot \sin \left(\color{blue}{\left(0.005555555555555556 \cdot angle\right)} \cdot \pi\right)\right)}^{2} \]
                                10. associate-*r*51.7%

                                  \[\leadsto {\left(b \cdot \sin \color{blue}{\left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}\right)}^{2} \]
                                11. *-commutative51.7%

                                  \[\leadsto {\left(b \cdot \sin \color{blue}{\left(\left(angle \cdot \pi\right) \cdot 0.005555555555555556\right)}\right)}^{2} \]
                                12. associate-*r*51.8%

                                  \[\leadsto {\left(b \cdot \sin \color{blue}{\left(angle \cdot \left(\pi \cdot 0.005555555555555556\right)\right)}\right)}^{2} \]
                              7. Simplified51.8%

                                \[\leadsto \color{blue}{{\left(b \cdot \sin \left(angle \cdot \left(\pi \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]

                              if 1.85000000000000002e-7 < a

                              1. Initial program 84.6%

                                \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
                              2. Step-by-step derivation
                                1. Simplified84.6%

                                  \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
                                2. Add Preprocessing
                                3. Taylor expanded in a around inf 78.0%

                                  \[\leadsto \color{blue}{{a}^{2} \cdot {\cos \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}^{2}} \]
                                4. Step-by-step derivation
                                  1. *-commutative78.0%

                                    \[\leadsto \color{blue}{{\cos \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}^{2} \cdot {a}^{2}} \]
                                  2. associate-*r*78.0%

                                    \[\leadsto {\cos \color{blue}{\left(\left(0.005555555555555556 \cdot angle\right) \cdot \pi\right)}}^{2} \cdot {a}^{2} \]
                                  3. *-commutative78.0%

                                    \[\leadsto {\cos \left(\color{blue}{\left(angle \cdot 0.005555555555555556\right)} \cdot \pi\right)}^{2} \cdot {a}^{2} \]
                                  4. *-commutative78.0%

                                    \[\leadsto {\cos \color{blue}{\left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)}}^{2} \cdot {a}^{2} \]
                                  5. unpow278.0%

                                    \[\leadsto \color{blue}{\left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)} \cdot {a}^{2} \]
                                  6. unpow278.0%

                                    \[\leadsto \left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right) \cdot \color{blue}{\left(a \cdot a\right)} \]
                                  7. swap-sqr78.0%

                                    \[\leadsto \color{blue}{\left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot a\right) \cdot \left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot a\right)} \]
                                  8. unpow278.0%

                                    \[\leadsto \color{blue}{{\left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot a\right)}^{2}} \]
                                5. Simplified78.0%

                                  \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(0.005555555555555556 \cdot angle\right)\right)\right)}^{2}} \]
                              3. Recombined 2 regimes into one program.
                              4. Final simplification57.6%

                                \[\leadsto \begin{array}{l} \mathbf{if}\;a \leq 1.85 \cdot 10^{-7}:\\ \;\;\;\;{\left(b \cdot \sin \left(angle \cdot \left(\pi \cdot 0.005555555555555556\right)\right)\right)}^{2}\\ \mathbf{else}:\\ \;\;\;\;{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}\\ \end{array} \]
                              5. Add Preprocessing

                              Alternative 14: 52.5% accurate, 2.0× speedup?

                              \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;a \leq 1.45 \cdot 10^{-7}:\\ \;\;\;\;{\left(b \cdot \sin \left(0.005555555555555556 \cdot \left(\pi \cdot angle\right)\right)\right)}^{2}\\ \mathbf{else}:\\ \;\;\;\;{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}\\ \end{array} \end{array} \]
                              (FPCore (a b angle)
                               :precision binary64
                               (if (<= a 1.45e-7)
                                 (pow (* b (sin (* 0.005555555555555556 (* PI angle)))) 2.0)
                                 (pow (* a (cos (* PI (* angle 0.005555555555555556)))) 2.0)))
                              double code(double a, double b, double angle) {
                              	double tmp;
                              	if (a <= 1.45e-7) {
                              		tmp = pow((b * sin((0.005555555555555556 * (((double) M_PI) * angle)))), 2.0);
                              	} else {
                              		tmp = pow((a * cos((((double) M_PI) * (angle * 0.005555555555555556)))), 2.0);
                              	}
                              	return tmp;
                              }
                              
                              public static double code(double a, double b, double angle) {
                              	double tmp;
                              	if (a <= 1.45e-7) {
                              		tmp = Math.pow((b * Math.sin((0.005555555555555556 * (Math.PI * angle)))), 2.0);
                              	} else {
                              		tmp = Math.pow((a * Math.cos((Math.PI * (angle * 0.005555555555555556)))), 2.0);
                              	}
                              	return tmp;
                              }
                              
                              def code(a, b, angle):
                              	tmp = 0
                              	if a <= 1.45e-7:
                              		tmp = math.pow((b * math.sin((0.005555555555555556 * (math.pi * angle)))), 2.0)
                              	else:
                              		tmp = math.pow((a * math.cos((math.pi * (angle * 0.005555555555555556)))), 2.0)
                              	return tmp
                              
                              function code(a, b, angle)
                              	tmp = 0.0
                              	if (a <= 1.45e-7)
                              		tmp = Float64(b * sin(Float64(0.005555555555555556 * Float64(pi * angle)))) ^ 2.0;
                              	else
                              		tmp = Float64(a * cos(Float64(pi * Float64(angle * 0.005555555555555556)))) ^ 2.0;
                              	end
                              	return tmp
                              end
                              
                              function tmp_2 = code(a, b, angle)
                              	tmp = 0.0;
                              	if (a <= 1.45e-7)
                              		tmp = (b * sin((0.005555555555555556 * (pi * angle)))) ^ 2.0;
                              	else
                              		tmp = (a * cos((pi * (angle * 0.005555555555555556)))) ^ 2.0;
                              	end
                              	tmp_2 = tmp;
                              end
                              
                              code[a_, b_, angle_] := If[LessEqual[a, 1.45e-7], N[Power[N[(b * N[Sin[N[(0.005555555555555556 * N[(Pi * angle), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], N[Power[N[(a * N[Cos[N[(Pi * N[(angle * 0.005555555555555556), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]]
                              
                              \begin{array}{l}
                              
                              \\
                              \begin{array}{l}
                              \mathbf{if}\;a \leq 1.45 \cdot 10^{-7}:\\
                              \;\;\;\;{\left(b \cdot \sin \left(0.005555555555555556 \cdot \left(\pi \cdot angle\right)\right)\right)}^{2}\\
                              
                              \mathbf{else}:\\
                              \;\;\;\;{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}\\
                              
                              
                              \end{array}
                              \end{array}
                              
                              Derivation
                              1. Split input into 2 regimes
                              2. if a < 1.4499999999999999e-7

                                1. Initial program 79.7%

                                  \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
                                2. Step-by-step derivation
                                  1. Simplified79.7%

                                    \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
                                  2. Add Preprocessing
                                  3. Taylor expanded in a around 0 41.9%

                                    \[\leadsto \color{blue}{{b}^{2} \cdot {\sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}^{2}} \]
                                  4. Step-by-step derivation
                                    1. *-commutative41.9%

                                      \[\leadsto \color{blue}{{\sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}^{2} \cdot {b}^{2}} \]
                                    2. associate-*r*41.9%

                                      \[\leadsto {\sin \color{blue}{\left(\left(0.005555555555555556 \cdot angle\right) \cdot \pi\right)}}^{2} \cdot {b}^{2} \]
                                    3. *-commutative41.9%

                                      \[\leadsto {\sin \left(\color{blue}{\left(angle \cdot 0.005555555555555556\right)} \cdot \pi\right)}^{2} \cdot {b}^{2} \]
                                    4. *-commutative41.9%

                                      \[\leadsto {\sin \color{blue}{\left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)}}^{2} \cdot {b}^{2} \]
                                    5. unpow241.9%

                                      \[\leadsto \color{blue}{\left(\sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)} \cdot {b}^{2} \]
                                    6. unpow241.9%

                                      \[\leadsto \left(\sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right) \cdot \color{blue}{\left(b \cdot b\right)} \]
                                    7. swap-sqr51.6%

                                      \[\leadsto \color{blue}{\left(\sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot b\right) \cdot \left(\sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot b\right)} \]
                                    8. unpow251.6%

                                      \[\leadsto \color{blue}{{\left(\sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot b\right)}^{2}} \]
                                    9. *-commutative51.6%

                                      \[\leadsto {\color{blue}{\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}}^{2} \]
                                    10. *-commutative51.6%

                                      \[\leadsto {\left(b \cdot \sin \color{blue}{\left(\left(angle \cdot 0.005555555555555556\right) \cdot \pi\right)}\right)}^{2} \]
                                    11. *-commutative51.6%

                                      \[\leadsto {\left(b \cdot \sin \left(\color{blue}{\left(0.005555555555555556 \cdot angle\right)} \cdot \pi\right)\right)}^{2} \]
                                    12. associate-*r*51.7%

                                      \[\leadsto {\left(b \cdot \sin \color{blue}{\left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}\right)}^{2} \]
                                  5. Simplified51.7%

                                    \[\leadsto \color{blue}{{\left(b \cdot \sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)\right)}^{2}} \]

                                  if 1.4499999999999999e-7 < a

                                  1. Initial program 84.6%

                                    \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
                                  2. Step-by-step derivation
                                    1. Simplified84.6%

                                      \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
                                    2. Add Preprocessing
                                    3. Taylor expanded in a around inf 78.0%

                                      \[\leadsto \color{blue}{{a}^{2} \cdot {\cos \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}^{2}} \]
                                    4. Step-by-step derivation
                                      1. *-commutative78.0%

                                        \[\leadsto \color{blue}{{\cos \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}^{2} \cdot {a}^{2}} \]
                                      2. associate-*r*78.0%

                                        \[\leadsto {\cos \color{blue}{\left(\left(0.005555555555555556 \cdot angle\right) \cdot \pi\right)}}^{2} \cdot {a}^{2} \]
                                      3. *-commutative78.0%

                                        \[\leadsto {\cos \left(\color{blue}{\left(angle \cdot 0.005555555555555556\right)} \cdot \pi\right)}^{2} \cdot {a}^{2} \]
                                      4. *-commutative78.0%

                                        \[\leadsto {\cos \color{blue}{\left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)}}^{2} \cdot {a}^{2} \]
                                      5. unpow278.0%

                                        \[\leadsto \color{blue}{\left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)} \cdot {a}^{2} \]
                                      6. unpow278.0%

                                        \[\leadsto \left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right) \cdot \color{blue}{\left(a \cdot a\right)} \]
                                      7. swap-sqr78.0%

                                        \[\leadsto \color{blue}{\left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot a\right) \cdot \left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot a\right)} \]
                                      8. unpow278.0%

                                        \[\leadsto \color{blue}{{\left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot a\right)}^{2}} \]
                                    5. Simplified78.0%

                                      \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(0.005555555555555556 \cdot angle\right)\right)\right)}^{2}} \]
                                  3. Recombined 2 regimes into one program.
                                  4. Final simplification57.5%

                                    \[\leadsto \begin{array}{l} \mathbf{if}\;a \leq 1.45 \cdot 10^{-7}:\\ \;\;\;\;{\left(b \cdot \sin \left(0.005555555555555556 \cdot \left(\pi \cdot angle\right)\right)\right)}^{2}\\ \mathbf{else}:\\ \;\;\;\;{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}\\ \end{array} \]
                                  5. Add Preprocessing

                                  Alternative 15: 57.4% accurate, 2.0× speedup?

                                  \[\begin{array}{l} \\ {\left(a \cdot \cos \left(0.005555555555555556 \cdot \left(\pi \cdot angle\right)\right)\right)}^{2} \end{array} \]
                                  (FPCore (a b angle)
                                   :precision binary64
                                   (pow (* a (cos (* 0.005555555555555556 (* PI angle)))) 2.0))
                                  double code(double a, double b, double angle) {
                                  	return pow((a * cos((0.005555555555555556 * (((double) M_PI) * angle)))), 2.0);
                                  }
                                  
                                  public static double code(double a, double b, double angle) {
                                  	return Math.pow((a * Math.cos((0.005555555555555556 * (Math.PI * angle)))), 2.0);
                                  }
                                  
                                  def code(a, b, angle):
                                  	return math.pow((a * math.cos((0.005555555555555556 * (math.pi * angle)))), 2.0)
                                  
                                  function code(a, b, angle)
                                  	return Float64(a * cos(Float64(0.005555555555555556 * Float64(pi * angle)))) ^ 2.0
                                  end
                                  
                                  function tmp = code(a, b, angle)
                                  	tmp = (a * cos((0.005555555555555556 * (pi * angle)))) ^ 2.0;
                                  end
                                  
                                  code[a_, b_, angle_] := N[Power[N[(a * N[Cos[N[(0.005555555555555556 * N[(Pi * angle), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]
                                  
                                  \begin{array}{l}
                                  
                                  \\
                                  {\left(a \cdot \cos \left(0.005555555555555556 \cdot \left(\pi \cdot angle\right)\right)\right)}^{2}
                                  \end{array}
                                  
                                  Derivation
                                  1. Initial program 80.8%

                                    \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
                                  2. Step-by-step derivation
                                    1. Simplified80.8%

                                      \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
                                    2. Add Preprocessing
                                    3. Taylor expanded in a around inf 55.7%

                                      \[\leadsto \color{blue}{{a}^{2} \cdot {\cos \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}^{2}} \]
                                    4. Step-by-step derivation
                                      1. *-commutative55.7%

                                        \[\leadsto \color{blue}{{\cos \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)}^{2} \cdot {a}^{2}} \]
                                      2. associate-*r*55.6%

                                        \[\leadsto {\cos \color{blue}{\left(\left(0.005555555555555556 \cdot angle\right) \cdot \pi\right)}}^{2} \cdot {a}^{2} \]
                                      3. *-commutative55.6%

                                        \[\leadsto {\cos \left(\color{blue}{\left(angle \cdot 0.005555555555555556\right)} \cdot \pi\right)}^{2} \cdot {a}^{2} \]
                                      4. *-commutative55.6%

                                        \[\leadsto {\cos \color{blue}{\left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)}}^{2} \cdot {a}^{2} \]
                                      5. unpow255.6%

                                        \[\leadsto \color{blue}{\left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)} \cdot {a}^{2} \]
                                      6. unpow255.6%

                                        \[\leadsto \left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right) \cdot \color{blue}{\left(a \cdot a\right)} \]
                                      7. swap-sqr55.6%

                                        \[\leadsto \color{blue}{\left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot a\right) \cdot \left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot a\right)} \]
                                      8. unpow255.6%

                                        \[\leadsto \color{blue}{{\left(\cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right) \cdot a\right)}^{2}} \]
                                      9. *-commutative55.6%

                                        \[\leadsto {\left(\cos \color{blue}{\left(\left(angle \cdot 0.005555555555555556\right) \cdot \pi\right)} \cdot a\right)}^{2} \]
                                      10. *-commutative55.6%

                                        \[\leadsto {\left(\cos \left(\color{blue}{\left(0.005555555555555556 \cdot angle\right)} \cdot \pi\right) \cdot a\right)}^{2} \]
                                      11. associate-*r*55.7%

                                        \[\leadsto {\left(\cos \color{blue}{\left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)} \cdot a\right)}^{2} \]
                                      12. *-commutative55.7%

                                        \[\leadsto {\color{blue}{\left(a \cdot \cos \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)\right)}}^{2} \]
                                    5. Simplified55.7%

                                      \[\leadsto \color{blue}{{\left(a \cdot \cos \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)\right)}^{2}} \]
                                    6. Final simplification55.7%

                                      \[\leadsto {\left(a \cdot \cos \left(0.005555555555555556 \cdot \left(\pi \cdot angle\right)\right)\right)}^{2} \]
                                    7. Add Preprocessing

                                    Alternative 16: 57.7% accurate, 139.0× speedup?

                                    \[\begin{array}{l} \\ a \cdot a \end{array} \]
                                    (FPCore (a b angle) :precision binary64 (* a a))
                                    double code(double a, double b, double angle) {
                                    	return a * a;
                                    }
                                    
                                    real(8) function code(a, b, angle)
                                        real(8), intent (in) :: a
                                        real(8), intent (in) :: b
                                        real(8), intent (in) :: angle
                                        code = a * a
                                    end function
                                    
                                    public static double code(double a, double b, double angle) {
                                    	return a * a;
                                    }
                                    
                                    def code(a, b, angle):
                                    	return a * a
                                    
                                    function code(a, b, angle)
                                    	return Float64(a * a)
                                    end
                                    
                                    function tmp = code(a, b, angle)
                                    	tmp = a * a;
                                    end
                                    
                                    code[a_, b_, angle_] := N[(a * a), $MachinePrecision]
                                    
                                    \begin{array}{l}
                                    
                                    \\
                                    a \cdot a
                                    \end{array}
                                    
                                    Derivation
                                    1. Initial program 80.8%

                                      \[{\left(a \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
                                    2. Step-by-step derivation
                                      1. Simplified80.8%

                                        \[\leadsto \color{blue}{{\left(a \cdot \cos \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \left(angle \cdot 0.005555555555555556\right)\right)\right)}^{2}} \]
                                      2. Add Preprocessing
                                      3. Taylor expanded in angle around 0 55.3%

                                        \[\leadsto \color{blue}{{a}^{2}} \]
                                      4. Step-by-step derivation
                                        1. unpow255.3%

                                          \[\leadsto \color{blue}{a \cdot a} \]
                                      5. Applied egg-rr55.3%

                                        \[\leadsto \color{blue}{a \cdot a} \]
                                      6. Add Preprocessing

                                      Reproduce

                                      ?
                                      herbie shell --seed 2024119 
                                      (FPCore (a b angle)
                                        :name "ab-angle->ABCF C"
                                        :precision binary64
                                        (+ (pow (* a (cos (* PI (/ angle 180.0)))) 2.0) (pow (* b (sin (* PI (/ angle 180.0)))) 2.0)))