ab-angle->ABCF C

Percentage Accurate: 80.2% → 80.1%
Time: 1.7min
Alternatives: 9
Speedup: 1.0×

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 9 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: 80.2% 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: 80.1% accurate, 0.5× speedup?

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

\\
{\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\left(\sqrt[3]{\pi} \cdot {\left(\sqrt[3]{\pi}\right)}^{2}\right) \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2}
\end{array}
Derivation
  1. Initial program 79.4%

    \[{\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. log1p-expm1-u79.4%

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

      \[\leadsto {\left(a \cdot \color{blue}{\log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \frac{angle}{180}\right)\right)\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    3. add-sqr-sqrt37.7%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \color{blue}{\left(\sqrt{\frac{angle}{180}} \cdot \sqrt{\frac{angle}{180}}\right)}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    4. sqrt-unprod66.8%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \color{blue}{\sqrt{\frac{angle}{180} \cdot \frac{angle}{180}}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    5. div-inv66.8%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\color{blue}{\left(angle \cdot \frac{1}{180}\right)} \cdot \frac{angle}{180}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    6. div-inv66.8%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\left(angle \cdot \frac{1}{180}\right) \cdot \color{blue}{\left(angle \cdot \frac{1}{180}\right)}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    7. swap-sqr66.8%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\color{blue}{\left(angle \cdot angle\right) \cdot \left(\frac{1}{180} \cdot \frac{1}{180}\right)}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    8. metadata-eval66.8%

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

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

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{3.08641975308642 \cdot 10^{-5}}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    11. metadata-eval66.8%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{\left(-0.005555555555555556 \cdot -0.005555555555555556\right)}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    12. swap-sqr66.8%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\color{blue}{\left(angle \cdot -0.005555555555555556\right) \cdot \left(angle \cdot -0.005555555555555556\right)}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    13. sqrt-unprod41.8%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \color{blue}{\left(\sqrt{angle \cdot -0.005555555555555556} \cdot \sqrt{angle \cdot -0.005555555555555556}\right)}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    14. add-sqr-sqrt79.5%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \color{blue}{\left(angle \cdot -0.005555555555555556\right)}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
  3. Applied egg-rr79.5%

    \[\leadsto {\left(a \cdot \color{blue}{\log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
  4. Step-by-step derivation
    1. add-cube-cbrt79.5%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\color{blue}{\left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \sqrt[3]{\pi}\right)} \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    2. pow279.5%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\left(\color{blue}{{\left(\sqrt[3]{\pi}\right)}^{2}} \cdot \sqrt[3]{\pi}\right) \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
  5. Applied egg-rr79.5%

    \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\color{blue}{\left({\left(\sqrt[3]{\pi}\right)}^{2} \cdot \sqrt[3]{\pi}\right)} \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
  6. Final simplification79.5%

    \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\left(\sqrt[3]{\pi} \cdot {\left(\sqrt[3]{\pi}\right)}^{2}\right) \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]

Alternative 2: 80.1% accurate, 0.6× speedup?

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

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

    \[{\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. add-log-exp79.4%

      \[\leadsto {\left(a \cdot \color{blue}{\log \left(e^{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    2. *-un-lft-identity79.4%

      \[\leadsto {\left(a \cdot \log \color{blue}{\left(1 \cdot e^{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    3. log-prod79.4%

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

      \[\leadsto {\left(a \cdot \left(\color{blue}{0} + \log \left(e^{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    5. add-log-exp79.4%

      \[\leadsto {\left(a \cdot \left(0 + \color{blue}{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    6. add-sqr-sqrt37.7%

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \color{blue}{\left(\sqrt{\frac{angle}{180}} \cdot \sqrt{\frac{angle}{180}}\right)}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    7. sqrt-unprod66.8%

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

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

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \sqrt{\left(angle \cdot \frac{1}{180}\right) \cdot \color{blue}{\left(angle \cdot \frac{1}{180}\right)}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    10. swap-sqr66.8%

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

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

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

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{3.08641975308642 \cdot 10^{-5}}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    14. metadata-eval66.8%

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{\left(-0.005555555555555556 \cdot -0.005555555555555556\right)}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    15. swap-sqr66.8%

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

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \color{blue}{\left(\sqrt{angle \cdot -0.005555555555555556} \cdot \sqrt{angle \cdot -0.005555555555555556}\right)}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    17. add-sqr-sqrt79.5%

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

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

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\color{blue}{\left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \sqrt[3]{\pi}\right)} \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    2. pow279.5%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\left(\color{blue}{{\left(\sqrt[3]{\pi}\right)}^{2}} \cdot \sqrt[3]{\pi}\right) \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
  5. Applied egg-rr79.5%

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

    \[\leadsto {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(a \cdot \cos \left(\left(\sqrt[3]{\pi} \cdot {\left(\sqrt[3]{\pi}\right)}^{2}\right) \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)}^{2} \]

Alternative 3: 80.1% accurate, 0.8× speedup?

\[\begin{array}{l} \\ {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)\right)}^{2} \end{array} \]
(FPCore (a b angle)
 :precision binary64
 (+
  (pow (* b (sin (* PI (/ angle 180.0)))) 2.0)
  (pow
   (* a (log (+ 1.0 (expm1 (cos (* PI (* angle -0.005555555555555556)))))))
   2.0)))
double code(double a, double b, double angle) {
	return pow((b * sin((((double) M_PI) * (angle / 180.0)))), 2.0) + pow((a * log((1.0 + expm1(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 * (angle / 180.0)))), 2.0) + Math.pow((a * Math.log((1.0 + Math.expm1(Math.cos((Math.PI * (angle * -0.005555555555555556))))))), 2.0);
}
def code(a, b, angle):
	return math.pow((b * math.sin((math.pi * (angle / 180.0)))), 2.0) + math.pow((a * math.log((1.0 + math.expm1(math.cos((math.pi * (angle * -0.005555555555555556))))))), 2.0)
function code(a, b, angle)
	return Float64((Float64(b * sin(Float64(pi * Float64(angle / 180.0)))) ^ 2.0) + (Float64(a * log(Float64(1.0 + expm1(cos(Float64(pi * Float64(angle * -0.005555555555555556))))))) ^ 2.0))
end
code[a_, b_, angle_] := N[(N[Power[N[(b * N[Sin[N[(Pi * N[(angle / 180.0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(a * N[Log[N[(1.0 + N[(Exp[N[Cos[N[(Pi * N[(angle * -0.005555555555555556), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]] - 1), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
{\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)\right)}^{2}
\end{array}
Derivation
  1. Initial program 79.4%

    \[{\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. log1p-expm1-u79.4%

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

      \[\leadsto {\left(a \cdot \color{blue}{\log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \frac{angle}{180}\right)\right)\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    3. add-sqr-sqrt37.7%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \color{blue}{\left(\sqrt{\frac{angle}{180}} \cdot \sqrt{\frac{angle}{180}}\right)}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    4. sqrt-unprod66.8%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \color{blue}{\sqrt{\frac{angle}{180} \cdot \frac{angle}{180}}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    5. div-inv66.8%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\color{blue}{\left(angle \cdot \frac{1}{180}\right)} \cdot \frac{angle}{180}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    6. div-inv66.8%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\left(angle \cdot \frac{1}{180}\right) \cdot \color{blue}{\left(angle \cdot \frac{1}{180}\right)}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    7. swap-sqr66.8%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\color{blue}{\left(angle \cdot angle\right) \cdot \left(\frac{1}{180} \cdot \frac{1}{180}\right)}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    8. metadata-eval66.8%

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

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

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{3.08641975308642 \cdot 10^{-5}}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    11. metadata-eval66.8%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{\left(-0.005555555555555556 \cdot -0.005555555555555556\right)}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    12. swap-sqr66.8%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\color{blue}{\left(angle \cdot -0.005555555555555556\right) \cdot \left(angle \cdot -0.005555555555555556\right)}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    13. sqrt-unprod41.8%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \color{blue}{\left(\sqrt{angle \cdot -0.005555555555555556} \cdot \sqrt{angle \cdot -0.005555555555555556}\right)}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    14. add-sqr-sqrt79.5%

      \[\leadsto {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \color{blue}{\left(angle \cdot -0.005555555555555556\right)}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
  3. Applied egg-rr79.5%

    \[\leadsto {\left(a \cdot \color{blue}{\log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
  4. Final simplification79.5%

    \[\leadsto {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(a \cdot \log \left(1 + \mathsf{expm1}\left(\cos \left(\pi \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)\right)}^{2} \]

Alternative 4: 80.2% accurate, 0.8× speedup?

\[\begin{array}{l} \\ {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(a \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)\right)}^{2} \end{array} \]
(FPCore (a b angle)
 :precision binary64
 (+
  (pow (* b (sin (* PI (/ angle 180.0)))) 2.0)
  (pow
   (* a (log1p (expm1 (cos (* PI (* angle -0.005555555555555556))))))
   2.0)))
double code(double a, double b, double angle) {
	return pow((b * sin((((double) M_PI) * (angle / 180.0)))), 2.0) + pow((a * log1p(expm1(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 * (angle / 180.0)))), 2.0) + Math.pow((a * Math.log1p(Math.expm1(Math.cos((Math.PI * (angle * -0.005555555555555556)))))), 2.0);
}
def code(a, b, angle):
	return math.pow((b * math.sin((math.pi * (angle / 180.0)))), 2.0) + math.pow((a * math.log1p(math.expm1(math.cos((math.pi * (angle * -0.005555555555555556)))))), 2.0)
function code(a, b, angle)
	return Float64((Float64(b * sin(Float64(pi * Float64(angle / 180.0)))) ^ 2.0) + (Float64(a * log1p(expm1(cos(Float64(pi * Float64(angle * -0.005555555555555556)))))) ^ 2.0))
end
code[a_, b_, angle_] := N[(N[Power[N[(b * N[Sin[N[(Pi * N[(angle / 180.0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(a * N[Log[1 + N[(Exp[N[Cos[N[(Pi * N[(angle * -0.005555555555555556), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]] - 1), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
{\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(a \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)\right)}^{2}
\end{array}
Derivation
  1. Initial program 79.4%

    \[{\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. log1p-expm1-u79.4%

      \[\leadsto {\left(a \cdot \color{blue}{\mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \frac{angle}{180}\right)\right)\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    2. add-sqr-sqrt37.7%

      \[\leadsto {\left(a \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \color{blue}{\left(\sqrt{\frac{angle}{180}} \cdot \sqrt{\frac{angle}{180}}\right)}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    3. sqrt-unprod66.8%

      \[\leadsto {\left(a \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \color{blue}{\sqrt{\frac{angle}{180} \cdot \frac{angle}{180}}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    4. div-inv66.8%

      \[\leadsto {\left(a \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\color{blue}{\left(angle \cdot \frac{1}{180}\right)} \cdot \frac{angle}{180}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    5. div-inv66.8%

      \[\leadsto {\left(a \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\left(angle \cdot \frac{1}{180}\right) \cdot \color{blue}{\left(angle \cdot \frac{1}{180}\right)}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    6. swap-sqr66.8%

      \[\leadsto {\left(a \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\color{blue}{\left(angle \cdot angle\right) \cdot \left(\frac{1}{180} \cdot \frac{1}{180}\right)}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    7. metadata-eval66.8%

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

      \[\leadsto {\left(a \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \left(0.005555555555555556 \cdot \color{blue}{0.005555555555555556}\right)}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    9. metadata-eval66.8%

      \[\leadsto {\left(a \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{3.08641975308642 \cdot 10^{-5}}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    10. metadata-eval66.8%

      \[\leadsto {\left(a \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{\left(-0.005555555555555556 \cdot -0.005555555555555556\right)}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    11. swap-sqr66.8%

      \[\leadsto {\left(a \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \sqrt{\color{blue}{\left(angle \cdot -0.005555555555555556\right) \cdot \left(angle \cdot -0.005555555555555556\right)}}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    12. sqrt-unprod41.8%

      \[\leadsto {\left(a \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \color{blue}{\left(\sqrt{angle \cdot -0.005555555555555556} \cdot \sqrt{angle \cdot -0.005555555555555556}\right)}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    13. add-sqr-sqrt79.5%

      \[\leadsto {\left(a \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \color{blue}{\left(angle \cdot -0.005555555555555556\right)}\right)\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
  3. Applied egg-rr79.5%

    \[\leadsto {\left(a \cdot \color{blue}{\mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
  4. Final simplification79.5%

    \[\leadsto {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(a \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\cos \left(\pi \cdot \left(angle \cdot -0.005555555555555556\right)\right)\right)\right)\right)}^{2} \]

Alternative 5: 80.2% accurate, 1.0× speedup?

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

\\
{\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\cos \left(\pi \cdot \left(angle \cdot -0.005555555555555556\right)\right)}^{2} \cdot \left(a \cdot a\right)
\end{array}
Derivation
  1. Initial program 79.4%

    \[{\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. add-log-exp79.4%

      \[\leadsto {\left(a \cdot \color{blue}{\log \left(e^{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    2. *-un-lft-identity79.4%

      \[\leadsto {\left(a \cdot \log \color{blue}{\left(1 \cdot e^{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    3. log-prod79.4%

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

      \[\leadsto {\left(a \cdot \left(\color{blue}{0} + \log \left(e^{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    5. add-log-exp79.4%

      \[\leadsto {\left(a \cdot \left(0 + \color{blue}{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    6. add-sqr-sqrt37.7%

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \color{blue}{\left(\sqrt{\frac{angle}{180}} \cdot \sqrt{\frac{angle}{180}}\right)}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    7. sqrt-unprod66.8%

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

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

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \sqrt{\left(angle \cdot \frac{1}{180}\right) \cdot \color{blue}{\left(angle \cdot \frac{1}{180}\right)}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    10. swap-sqr66.8%

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

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

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

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{3.08641975308642 \cdot 10^{-5}}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    14. metadata-eval66.8%

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{\left(-0.005555555555555556 \cdot -0.005555555555555556\right)}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    15. swap-sqr66.8%

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

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \color{blue}{\left(\sqrt{angle \cdot -0.005555555555555556} \cdot \sqrt{angle \cdot -0.005555555555555556}\right)}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    17. add-sqr-sqrt79.5%

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

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

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

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

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

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

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

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

Alternative 6: 80.1% accurate, 1.0× speedup?

\[\begin{array}{l} \\ {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\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 (* b (sin (* PI (/ angle 180.0)))) 2.0)
  (pow (* a (cos (* 0.005555555555555556 (* PI angle)))) 2.0)))
double code(double a, double b, double angle) {
	return pow((b * sin((((double) M_PI) * (angle / 180.0)))), 2.0) + pow((a * cos((0.005555555555555556 * (((double) M_PI) * angle)))), 2.0);
}
public static double code(double a, double b, double angle) {
	return Math.pow((b * Math.sin((Math.PI * (angle / 180.0)))), 2.0) + Math.pow((a * Math.cos((0.005555555555555556 * (Math.PI * angle)))), 2.0);
}
def code(a, b, angle):
	return math.pow((b * math.sin((math.pi * (angle / 180.0)))), 2.0) + math.pow((a * math.cos((0.005555555555555556 * (math.pi * angle)))), 2.0)
function code(a, b, angle)
	return Float64((Float64(b * sin(Float64(pi * Float64(angle / 180.0)))) ^ 2.0) + (Float64(a * cos(Float64(0.005555555555555556 * Float64(pi * angle)))) ^ 2.0))
end
function tmp = code(a, b, angle)
	tmp = ((b * sin((pi * (angle / 180.0)))) ^ 2.0) + ((a * cos((0.005555555555555556 * (pi * angle)))) ^ 2.0);
end
code[a_, b_, angle_] := N[(N[Power[N[(b * N[Sin[N[(Pi * N[(angle / 180.0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] + N[Power[N[(a * N[Cos[N[(0.005555555555555556 * N[(Pi * angle), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
{\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + {\left(a \cdot \cos \left(0.005555555555555556 \cdot \left(\pi \cdot angle\right)\right)\right)}^{2}
\end{array}
Derivation
  1. Initial program 79.4%

    \[{\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. Taylor expanded in angle around inf 79.4%

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

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

Alternative 7: 80.2% accurate, 1.0× speedup?

\[\begin{array}{l} \\ {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\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 (/ angle 180.0)))) 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) * (angle / 180.0)))), 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 * (angle / 180.0)))), 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 * (angle / 180.0)))), 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(angle / 180.0)))) ^ 2.0) + (Float64(a * cos(Float64(pi * Float64(angle * -0.005555555555555556)))) ^ 2.0))
end
function tmp = code(a, b, angle)
	tmp = ((b * sin((pi * (angle / 180.0)))) ^ 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[(angle / 180.0), $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(\pi \cdot \frac{angle}{180}\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 79.4%

    \[{\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. add-log-exp79.4%

      \[\leadsto {\left(a \cdot \color{blue}{\log \left(e^{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    2. *-un-lft-identity79.4%

      \[\leadsto {\left(a \cdot \log \color{blue}{\left(1 \cdot e^{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    3. log-prod79.4%

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

      \[\leadsto {\left(a \cdot \left(\color{blue}{0} + \log \left(e^{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    5. add-log-exp79.4%

      \[\leadsto {\left(a \cdot \left(0 + \color{blue}{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    6. add-sqr-sqrt37.7%

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \color{blue}{\left(\sqrt{\frac{angle}{180}} \cdot \sqrt{\frac{angle}{180}}\right)}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    7. sqrt-unprod66.8%

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

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

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \sqrt{\left(angle \cdot \frac{1}{180}\right) \cdot \color{blue}{\left(angle \cdot \frac{1}{180}\right)}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    10. swap-sqr66.8%

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

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

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

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{3.08641975308642 \cdot 10^{-5}}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    14. metadata-eval66.8%

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{\left(-0.005555555555555556 \cdot -0.005555555555555556\right)}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    15. swap-sqr66.8%

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

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \color{blue}{\left(\sqrt{angle \cdot -0.005555555555555556} \cdot \sqrt{angle \cdot -0.005555555555555556}\right)}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    17. add-sqr-sqrt79.5%

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

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

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

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

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

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

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

      \[\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} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    6. unpow279.5%

      \[\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)} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    7. swap-sqr79.5%

      \[\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)} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    8. unpow279.5%

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

      \[\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 \frac{angle}{180}\right)\right)}^{2} \]
  6. Simplified79.5%

    \[\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 \frac{angle}{180}\right)\right)}^{2} \]
  7. Final simplification79.5%

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

Alternative 8: 80.1% accurate, 2.0× speedup?

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

\\
{\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} + a \cdot a
\end{array}
Derivation
  1. Initial program 79.4%

    \[{\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. add-log-exp79.4%

      \[\leadsto {\left(a \cdot \color{blue}{\log \left(e^{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    2. *-un-lft-identity79.4%

      \[\leadsto {\left(a \cdot \log \color{blue}{\left(1 \cdot e^{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    3. log-prod79.4%

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

      \[\leadsto {\left(a \cdot \left(\color{blue}{0} + \log \left(e^{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    5. add-log-exp79.4%

      \[\leadsto {\left(a \cdot \left(0 + \color{blue}{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    6. add-sqr-sqrt37.7%

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \color{blue}{\left(\sqrt{\frac{angle}{180}} \cdot \sqrt{\frac{angle}{180}}\right)}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    7. sqrt-unprod66.8%

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

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

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \sqrt{\left(angle \cdot \frac{1}{180}\right) \cdot \color{blue}{\left(angle \cdot \frac{1}{180}\right)}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    10. swap-sqr66.8%

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

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

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

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{3.08641975308642 \cdot 10^{-5}}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    14. metadata-eval66.8%

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{\left(-0.005555555555555556 \cdot -0.005555555555555556\right)}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    15. swap-sqr66.8%

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

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \color{blue}{\left(\sqrt{angle \cdot -0.005555555555555556} \cdot \sqrt{angle \cdot -0.005555555555555556}\right)}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    17. add-sqr-sqrt79.5%

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

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

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

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

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

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

Alternative 9: 75.0% accurate, 2.9× speedup?

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

\\
a \cdot a + {\left(0.005555555555555556 \cdot \left(angle \cdot \left(\pi \cdot b\right)\right)\right)}^{2}
\end{array}
Derivation
  1. Initial program 79.4%

    \[{\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. add-log-exp79.4%

      \[\leadsto {\left(a \cdot \color{blue}{\log \left(e^{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    2. *-un-lft-identity79.4%

      \[\leadsto {\left(a \cdot \log \color{blue}{\left(1 \cdot e^{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)}\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    3. log-prod79.4%

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

      \[\leadsto {\left(a \cdot \left(\color{blue}{0} + \log \left(e^{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    5. add-log-exp79.4%

      \[\leadsto {\left(a \cdot \left(0 + \color{blue}{\cos \left(\pi \cdot \frac{angle}{180}\right)}\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    6. add-sqr-sqrt37.7%

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \color{blue}{\left(\sqrt{\frac{angle}{180}} \cdot \sqrt{\frac{angle}{180}}\right)}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    7. sqrt-unprod66.8%

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

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

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \sqrt{\left(angle \cdot \frac{1}{180}\right) \cdot \color{blue}{\left(angle \cdot \frac{1}{180}\right)}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    10. swap-sqr66.8%

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

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

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

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{3.08641975308642 \cdot 10^{-5}}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    14. metadata-eval66.8%

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \sqrt{\left(angle \cdot angle\right) \cdot \color{blue}{\left(-0.005555555555555556 \cdot -0.005555555555555556\right)}}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    15. swap-sqr66.8%

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

      \[\leadsto {\left(a \cdot \left(0 + \cos \left(\pi \cdot \color{blue}{\left(\sqrt{angle \cdot -0.005555555555555556} \cdot \sqrt{angle \cdot -0.005555555555555556}\right)}\right)\right)\right)}^{2} + {\left(b \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right)}^{2} \]
    17. add-sqr-sqrt79.5%

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

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

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

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

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

    \[\leadsto a \cdot a + {\color{blue}{\left(0.005555555555555556 \cdot \left(angle \cdot \left(b \cdot \pi\right)\right)\right)}}^{2} \]
  8. Step-by-step derivation
    1. *-commutative73.3%

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

    \[\leadsto a \cdot a + {\color{blue}{\left(0.005555555555555556 \cdot \left(angle \cdot \left(\pi \cdot b\right)\right)\right)}}^{2} \]
  10. Final simplification73.3%

    \[\leadsto a \cdot a + {\left(0.005555555555555556 \cdot \left(angle \cdot \left(\pi \cdot b\right)\right)\right)}^{2} \]

Reproduce

?
herbie shell --seed 2023283 
(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)))