\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\left(\pi \cdot t\right) \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right) \cdot \left(1 - v \cdot v\right)}\frac{\frac{\frac{1 \cdot 1 - \left(5 \cdot 5\right) \cdot {v}^{4}}{\sqrt{\left(1 \cdot 1 - \left(3 \cdot 3\right) \cdot {v}^{4}\right) \cdot 2}}}{t}}{\pi} \cdot \frac{\sqrt{\mathsf{fma}\left(v \cdot v, 3, 1\right)}}{\left(1 - v \cdot v\right) \cdot \mathsf{fma}\left(5, v \cdot v, 1\right)}double f(double v, double t) {
double r181514 = 1.0;
double r181515 = 5.0;
double r181516 = v;
double r181517 = r181516 * r181516;
double r181518 = r181515 * r181517;
double r181519 = r181514 - r181518;
double r181520 = atan2(1.0, 0.0);
double r181521 = t;
double r181522 = r181520 * r181521;
double r181523 = 2.0;
double r181524 = 3.0;
double r181525 = r181524 * r181517;
double r181526 = r181514 - r181525;
double r181527 = r181523 * r181526;
double r181528 = sqrt(r181527);
double r181529 = r181522 * r181528;
double r181530 = r181514 - r181517;
double r181531 = r181529 * r181530;
double r181532 = r181519 / r181531;
return r181532;
}
double f(double v, double t) {
double r181533 = 1.0;
double r181534 = r181533 * r181533;
double r181535 = 5.0;
double r181536 = r181535 * r181535;
double r181537 = v;
double r181538 = 4.0;
double r181539 = pow(r181537, r181538);
double r181540 = r181536 * r181539;
double r181541 = r181534 - r181540;
double r181542 = 3.0;
double r181543 = r181542 * r181542;
double r181544 = r181543 * r181539;
double r181545 = r181534 - r181544;
double r181546 = 2.0;
double r181547 = r181545 * r181546;
double r181548 = sqrt(r181547);
double r181549 = r181541 / r181548;
double r181550 = t;
double r181551 = r181549 / r181550;
double r181552 = atan2(1.0, 0.0);
double r181553 = r181551 / r181552;
double r181554 = r181537 * r181537;
double r181555 = fma(r181554, r181542, r181533);
double r181556 = sqrt(r181555);
double r181557 = r181533 - r181554;
double r181558 = fma(r181535, r181554, r181533);
double r181559 = r181557 * r181558;
double r181560 = r181556 / r181559;
double r181561 = r181553 * r181560;
return r181561;
}



Bits error versus v



Bits error versus t
Initial program 0.5
rmApplied flip--0.5
Applied associate-/l/0.5
Simplified0.5
rmApplied associate-/r*0.4
Simplified0.4
rmApplied flip--0.4
Applied associate-*r/0.4
Applied sqrt-div0.4
Applied associate-/r/0.4
Applied times-frac0.4
Simplified0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019212 +o rules:numerics
(FPCore (v t)
:name "Falkner and Boettcher, Equation (20:1,3)"
:precision binary64
(/ (- 1 (* 5 (* v v))) (* (* (* PI t) (sqrt (* 2 (- 1 (* 3 (* v v)))))) (- 1 (* v v)))))