Average Error: 13.4 → 0.2
Time: 35.8s
Precision: 64
\[\left(x = 0 \lor 0.5884142 \le x \le 505.5909\right) \land \left(-1.796658 \cdot 10^{+308} \le y \le -9.425585 \cdot 10^{-310} \lor 1.284938 \cdot 10^{-309} \le y \le 1.751224 \cdot 10^{+308}\right) \land \left(-1.776707 \cdot 10^{+308} \le z \le -8.599796 \cdot 10^{-310} \lor 3.293145 \cdot 10^{-311} \le z \le 1.725154 \cdot 10^{+308}\right) \land \left(-1.796658 \cdot 10^{+308} \le a \le -9.425585 \cdot 10^{-310} \lor 1.284938 \cdot 10^{-309} \le a \le 1.751224 \cdot 10^{+308}\right)\]
\[x + \left(\tan \left(y + z\right) - \tan a\right)\]
\[\mathsf{fma}\left(\left(\frac{\tan y + \tan z}{1 - \frac{\left(\sin z \cdot \sin y\right) \cdot \left(\left(\sin z \cdot \sin y\right) \cdot \left(\sin z \cdot \sin y\right)\right)}{\left(\cos z \cdot \cos y\right) \cdot \left(\left(\cos z \cdot \cos y\right) \cdot \left(\cos z \cdot \cos y\right)\right)}}\right), \left(\left(\frac{\sin z \cdot \sin y}{\cos z \cdot \cos y} + \frac{\sin z \cdot \sin y}{\cos z \cdot \cos y} \cdot \frac{\sin z \cdot \sin y}{\cos z \cdot \cos y}\right) + 1\right), \left(-\tan a\right)\right) + x\]
x + \left(\tan \left(y + z\right) - \tan a\right)
\mathsf{fma}\left(\left(\frac{\tan y + \tan z}{1 - \frac{\left(\sin z \cdot \sin y\right) \cdot \left(\left(\sin z \cdot \sin y\right) \cdot \left(\sin z \cdot \sin y\right)\right)}{\left(\cos z \cdot \cos y\right) \cdot \left(\left(\cos z \cdot \cos y\right) \cdot \left(\cos z \cdot \cos y\right)\right)}}\right), \left(\left(\frac{\sin z \cdot \sin y}{\cos z \cdot \cos y} + \frac{\sin z \cdot \sin y}{\cos z \cdot \cos y} \cdot \frac{\sin z \cdot \sin y}{\cos z \cdot \cos y}\right) + 1\right), \left(-\tan a\right)\right) + x
double f(double x, double y, double z, double a) {
        double r4241530 = x;
        double r4241531 = y;
        double r4241532 = z;
        double r4241533 = r4241531 + r4241532;
        double r4241534 = tan(r4241533);
        double r4241535 = a;
        double r4241536 = tan(r4241535);
        double r4241537 = r4241534 - r4241536;
        double r4241538 = r4241530 + r4241537;
        return r4241538;
}

double f(double x, double y, double z, double a) {
        double r4241539 = y;
        double r4241540 = tan(r4241539);
        double r4241541 = z;
        double r4241542 = tan(r4241541);
        double r4241543 = r4241540 + r4241542;
        double r4241544 = 1.0;
        double r4241545 = sin(r4241541);
        double r4241546 = sin(r4241539);
        double r4241547 = r4241545 * r4241546;
        double r4241548 = r4241547 * r4241547;
        double r4241549 = r4241547 * r4241548;
        double r4241550 = cos(r4241541);
        double r4241551 = cos(r4241539);
        double r4241552 = r4241550 * r4241551;
        double r4241553 = r4241552 * r4241552;
        double r4241554 = r4241552 * r4241553;
        double r4241555 = r4241549 / r4241554;
        double r4241556 = r4241544 - r4241555;
        double r4241557 = r4241543 / r4241556;
        double r4241558 = r4241547 / r4241552;
        double r4241559 = r4241558 * r4241558;
        double r4241560 = r4241558 + r4241559;
        double r4241561 = r4241560 + r4241544;
        double r4241562 = a;
        double r4241563 = tan(r4241562);
        double r4241564 = -r4241563;
        double r4241565 = fma(r4241557, r4241561, r4241564);
        double r4241566 = x;
        double r4241567 = r4241565 + r4241566;
        return r4241567;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus a

Derivation

  1. Initial program 13.4

    \[x + \left(\tan \left(y + z\right) - \tan a\right)\]
  2. Using strategy rm
  3. Applied tan-sum0.2

    \[\leadsto x + \left(\color{blue}{\frac{\tan y + \tan z}{1 - \tan y \cdot \tan z}} - \tan a\right)\]
  4. Taylor expanded around inf 0.2

    \[\leadsto x + \left(\frac{\tan y + \tan z}{1 - \color{blue}{\frac{\sin z \cdot \sin y}{\cos y \cdot \cos z}}} - \tan a\right)\]
  5. Using strategy rm
  6. Applied flip3--0.2

    \[\leadsto x + \left(\frac{\tan y + \tan z}{\color{blue}{\frac{{1}^{3} - {\left(\frac{\sin z \cdot \sin y}{\cos y \cdot \cos z}\right)}^{3}}{1 \cdot 1 + \left(\frac{\sin z \cdot \sin y}{\cos y \cdot \cos z} \cdot \frac{\sin z \cdot \sin y}{\cos y \cdot \cos z} + 1 \cdot \frac{\sin z \cdot \sin y}{\cos y \cdot \cos z}\right)}}} - \tan a\right)\]
  7. Applied associate-/r/0.2

    \[\leadsto x + \left(\color{blue}{\frac{\tan y + \tan z}{{1}^{3} - {\left(\frac{\sin z \cdot \sin y}{\cos y \cdot \cos z}\right)}^{3}} \cdot \left(1 \cdot 1 + \left(\frac{\sin z \cdot \sin y}{\cos y \cdot \cos z} \cdot \frac{\sin z \cdot \sin y}{\cos y \cdot \cos z} + 1 \cdot \frac{\sin z \cdot \sin y}{\cos y \cdot \cos z}\right)\right)} - \tan a\right)\]
  8. Applied fma-neg0.2

    \[\leadsto x + \color{blue}{\mathsf{fma}\left(\left(\frac{\tan y + \tan z}{{1}^{3} - {\left(\frac{\sin z \cdot \sin y}{\cos y \cdot \cos z}\right)}^{3}}\right), \left(1 \cdot 1 + \left(\frac{\sin z \cdot \sin y}{\cos y \cdot \cos z} \cdot \frac{\sin z \cdot \sin y}{\cos y \cdot \cos z} + 1 \cdot \frac{\sin z \cdot \sin y}{\cos y \cdot \cos z}\right)\right), \left(-\tan a\right)\right)}\]
  9. Using strategy rm
  10. Applied add-cbrt-cube0.2

    \[\leadsto x + \mathsf{fma}\left(\left(\frac{\tan y + \tan z}{{1}^{3} - {\left(\frac{\sin z \cdot \sin y}{\color{blue}{\sqrt[3]{\left(\left(\cos y \cdot \cos z\right) \cdot \left(\cos y \cdot \cos z\right)\right) \cdot \left(\cos y \cdot \cos z\right)}}}\right)}^{3}}\right), \left(1 \cdot 1 + \left(\frac{\sin z \cdot \sin y}{\cos y \cdot \cos z} \cdot \frac{\sin z \cdot \sin y}{\cos y \cdot \cos z} + 1 \cdot \frac{\sin z \cdot \sin y}{\cos y \cdot \cos z}\right)\right), \left(-\tan a\right)\right)\]
  11. Applied add-cbrt-cube0.2

    \[\leadsto x + \mathsf{fma}\left(\left(\frac{\tan y + \tan z}{{1}^{3} - {\left(\frac{\color{blue}{\sqrt[3]{\left(\left(\sin z \cdot \sin y\right) \cdot \left(\sin z \cdot \sin y\right)\right) \cdot \left(\sin z \cdot \sin y\right)}}}{\sqrt[3]{\left(\left(\cos y \cdot \cos z\right) \cdot \left(\cos y \cdot \cos z\right)\right) \cdot \left(\cos y \cdot \cos z\right)}}\right)}^{3}}\right), \left(1 \cdot 1 + \left(\frac{\sin z \cdot \sin y}{\cos y \cdot \cos z} \cdot \frac{\sin z \cdot \sin y}{\cos y \cdot \cos z} + 1 \cdot \frac{\sin z \cdot \sin y}{\cos y \cdot \cos z}\right)\right), \left(-\tan a\right)\right)\]
  12. Applied cbrt-undiv0.2

    \[\leadsto x + \mathsf{fma}\left(\left(\frac{\tan y + \tan z}{{1}^{3} - {\color{blue}{\left(\sqrt[3]{\frac{\left(\left(\sin z \cdot \sin y\right) \cdot \left(\sin z \cdot \sin y\right)\right) \cdot \left(\sin z \cdot \sin y\right)}{\left(\left(\cos y \cdot \cos z\right) \cdot \left(\cos y \cdot \cos z\right)\right) \cdot \left(\cos y \cdot \cos z\right)}}\right)}}^{3}}\right), \left(1 \cdot 1 + \left(\frac{\sin z \cdot \sin y}{\cos y \cdot \cos z} \cdot \frac{\sin z \cdot \sin y}{\cos y \cdot \cos z} + 1 \cdot \frac{\sin z \cdot \sin y}{\cos y \cdot \cos z}\right)\right), \left(-\tan a\right)\right)\]
  13. Applied rem-cube-cbrt0.2

    \[\leadsto x + \mathsf{fma}\left(\left(\frac{\tan y + \tan z}{{1}^{3} - \color{blue}{\frac{\left(\left(\sin z \cdot \sin y\right) \cdot \left(\sin z \cdot \sin y\right)\right) \cdot \left(\sin z \cdot \sin y\right)}{\left(\left(\cos y \cdot \cos z\right) \cdot \left(\cos y \cdot \cos z\right)\right) \cdot \left(\cos y \cdot \cos z\right)}}}\right), \left(1 \cdot 1 + \left(\frac{\sin z \cdot \sin y}{\cos y \cdot \cos z} \cdot \frac{\sin z \cdot \sin y}{\cos y \cdot \cos z} + 1 \cdot \frac{\sin z \cdot \sin y}{\cos y \cdot \cos z}\right)\right), \left(-\tan a\right)\right)\]
  14. Final simplification0.2

    \[\leadsto \mathsf{fma}\left(\left(\frac{\tan y + \tan z}{1 - \frac{\left(\sin z \cdot \sin y\right) \cdot \left(\left(\sin z \cdot \sin y\right) \cdot \left(\sin z \cdot \sin y\right)\right)}{\left(\cos z \cdot \cos y\right) \cdot \left(\left(\cos z \cdot \cos y\right) \cdot \left(\cos z \cdot \cos y\right)\right)}}\right), \left(\left(\frac{\sin z \cdot \sin y}{\cos z \cdot \cos y} + \frac{\sin z \cdot \sin y}{\cos z \cdot \cos y} \cdot \frac{\sin z \cdot \sin y}{\cos z \cdot \cos y}\right) + 1\right), \left(-\tan a\right)\right) + x\]

Reproduce

herbie shell --seed 2019133 +o rules:numerics
(FPCore (x y z a)
  :name "(+ x (- (tan (+ y z)) (tan a)))"
  :pre (and (or (== x 0) (<= 0.5884142 x 505.5909)) (or (<= -1.796658e+308 y -9.425585e-310) (<= 1.284938e-309 y 1.751224e+308)) (or (<= -1.776707e+308 z -8.599796e-310) (<= 3.293145e-311 z 1.725154e+308)) (or (<= -1.796658e+308 a -9.425585e-310) (<= 1.284938e-309 a 1.751224e+308)))
  (+ x (- (tan (+ y z)) (tan a))))