Average Error: 31.9 → 22.1
Time: 11.4s
Precision: binary64
\[\left(\left(2 \cdot \left({b}^{2} - {a}^{2}\right)\right) \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right) \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\]
\[\left(2 \cdot \left(\left(\sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(b + a\right)\right) \cdot \left(b - a\right)\right)\right) \cdot \cos \left(\left(\pi \cdot \frac{\sqrt[3]{angle} \cdot \left(\sqrt[3]{\sqrt[3]{angle}} \cdot \left(\sqrt[3]{\sqrt[3]{angle}} \cdot \sqrt[3]{\sqrt[3]{angle}}\right)\right)}{\sqrt{180}}\right) \cdot \frac{\sqrt[3]{angle}}{\sqrt{180}}\right)\]
\left(\left(2 \cdot \left({b}^{2} - {a}^{2}\right)\right) \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right) \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)
\left(2 \cdot \left(\left(\sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(b + a\right)\right) \cdot \left(b - a\right)\right)\right) \cdot \cos \left(\left(\pi \cdot \frac{\sqrt[3]{angle} \cdot \left(\sqrt[3]{\sqrt[3]{angle}} \cdot \left(\sqrt[3]{\sqrt[3]{angle}} \cdot \sqrt[3]{\sqrt[3]{angle}}\right)\right)}{\sqrt{180}}\right) \cdot \frac{\sqrt[3]{angle}}{\sqrt{180}}\right)
(FPCore (a b angle)
 :precision binary64
 (*
  (* (* 2.0 (- (pow b 2.0) (pow a 2.0))) (sin (* PI (/ angle 180.0))))
  (cos (* PI (/ angle 180.0)))))
(FPCore (a b angle)
 :precision binary64
 (*
  (* 2.0 (* (* (sin (* PI (/ angle 180.0))) (+ b a)) (- b a)))
  (cos
   (*
    (*
     PI
     (/
      (*
       (cbrt angle)
       (* (cbrt (cbrt angle)) (* (cbrt (cbrt angle)) (cbrt (cbrt angle)))))
      (sqrt 180.0)))
    (/ (cbrt angle) (sqrt 180.0))))))
double code(double a, double b, double angle) {
	return ((2.0 * (pow(b, 2.0) - pow(a, 2.0))) * sin(((double) M_PI) * (angle / 180.0))) * cos(((double) M_PI) * (angle / 180.0));
}
double code(double a, double b, double angle) {
	return (2.0 * ((sin(((double) M_PI) * (angle / 180.0)) * (b + a)) * (b - a))) * cos((((double) M_PI) * ((cbrt(angle) * (cbrt(cbrt(angle)) * (cbrt(cbrt(angle)) * cbrt(cbrt(angle))))) / sqrt(180.0))) * (cbrt(angle) / sqrt(180.0)));
}

Error

Bits error versus a

Bits error versus b

Bits error versus angle

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 31.9

    \[\left(\left(2 \cdot \left({b}^{2} - {a}^{2}\right)\right) \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right) \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\]
  2. Using strategy rm
  3. Applied associate-*l*_binary64_36031.9

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

    \[\leadsto \left(2 \cdot \color{blue}{\left(\sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(b \cdot b - a \cdot a\right)\right)}\right) \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\]
  5. Using strategy rm
  6. Applied difference-of-squares_binary64_38831.9

    \[\leadsto \left(2 \cdot \left(\sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \color{blue}{\left(\left(b + a\right) \cdot \left(b - a\right)\right)}\right)\right) \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\]
  7. Applied associate-*r*_binary64_35921.9

    \[\leadsto \left(2 \cdot \color{blue}{\left(\left(\sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(b + a\right)\right) \cdot \left(b - a\right)\right)}\right) \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\]
  8. Using strategy rm
  9. Applied add-sqr-sqrt_binary64_44122.1

    \[\leadsto \left(2 \cdot \left(\left(\sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(b + a\right)\right) \cdot \left(b - a\right)\right)\right) \cdot \cos \left(\pi \cdot \frac{angle}{\color{blue}{\sqrt{180} \cdot \sqrt{180}}}\right)\]
  10. Applied add-cube-cbrt_binary64_45422.0

    \[\leadsto \left(2 \cdot \left(\left(\sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(b + a\right)\right) \cdot \left(b - a\right)\right)\right) \cdot \cos \left(\pi \cdot \frac{\color{blue}{\left(\sqrt[3]{angle} \cdot \sqrt[3]{angle}\right) \cdot \sqrt[3]{angle}}}{\sqrt{180} \cdot \sqrt{180}}\right)\]
  11. Applied times-frac_binary64_42522.1

    \[\leadsto \left(2 \cdot \left(\left(\sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(b + a\right)\right) \cdot \left(b - a\right)\right)\right) \cdot \cos \left(\pi \cdot \color{blue}{\left(\frac{\sqrt[3]{angle} \cdot \sqrt[3]{angle}}{\sqrt{180}} \cdot \frac{\sqrt[3]{angle}}{\sqrt{180}}\right)}\right)\]
  12. Applied associate-*r*_binary64_35922.1

    \[\leadsto \left(2 \cdot \left(\left(\sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(b + a\right)\right) \cdot \left(b - a\right)\right)\right) \cdot \cos \color{blue}{\left(\left(\pi \cdot \frac{\sqrt[3]{angle} \cdot \sqrt[3]{angle}}{\sqrt{180}}\right) \cdot \frac{\sqrt[3]{angle}}{\sqrt{180}}\right)}\]
  13. Using strategy rm
  14. Applied add-cube-cbrt_binary64_45422.1

    \[\leadsto \left(2 \cdot \left(\left(\sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(b + a\right)\right) \cdot \left(b - a\right)\right)\right) \cdot \cos \left(\left(\pi \cdot \frac{\sqrt[3]{angle} \cdot \color{blue}{\left(\left(\sqrt[3]{\sqrt[3]{angle}} \cdot \sqrt[3]{\sqrt[3]{angle}}\right) \cdot \sqrt[3]{\sqrt[3]{angle}}\right)}}{\sqrt{180}}\right) \cdot \frac{\sqrt[3]{angle}}{\sqrt{180}}\right)\]
  15. Final simplification22.1

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

Reproduce

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