\frac{4}{\left(\left(3 \cdot \pi\right) \cdot \left(1 - v \cdot v\right)\right) \cdot \sqrt{2 - 6 \cdot \left(v \cdot v\right)}}\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{\sqrt{4}}{\left(3 \cdot \pi\right) \cdot \left(1 - v \cdot v\right)} \cdot \left(\frac{\left|\sqrt[3]{4}\right|}{\left|\sqrt[3]{2 - 6 \cdot \left(v \cdot v\right)}\right|} \cdot \frac{\sqrt{\sqrt[3]{4}}}{\sqrt{\sqrt[3]{2 - 6 \cdot \left(v \cdot v\right)}}}\right)\right)\right)double f(double v) {
double r221587 = 4.0;
double r221588 = 3.0;
double r221589 = atan2(1.0, 0.0);
double r221590 = r221588 * r221589;
double r221591 = 1.0;
double r221592 = v;
double r221593 = r221592 * r221592;
double r221594 = r221591 - r221593;
double r221595 = r221590 * r221594;
double r221596 = 2.0;
double r221597 = 6.0;
double r221598 = r221597 * r221593;
double r221599 = r221596 - r221598;
double r221600 = sqrt(r221599);
double r221601 = r221595 * r221600;
double r221602 = r221587 / r221601;
return r221602;
}
double f(double v) {
double r221603 = 4.0;
double r221604 = sqrt(r221603);
double r221605 = 3.0;
double r221606 = atan2(1.0, 0.0);
double r221607 = r221605 * r221606;
double r221608 = 1.0;
double r221609 = v;
double r221610 = r221609 * r221609;
double r221611 = r221608 - r221610;
double r221612 = r221607 * r221611;
double r221613 = r221604 / r221612;
double r221614 = cbrt(r221603);
double r221615 = fabs(r221614);
double r221616 = 2.0;
double r221617 = 6.0;
double r221618 = r221617 * r221610;
double r221619 = r221616 - r221618;
double r221620 = cbrt(r221619);
double r221621 = fabs(r221620);
double r221622 = r221615 / r221621;
double r221623 = sqrt(r221614);
double r221624 = sqrt(r221620);
double r221625 = r221623 / r221624;
double r221626 = r221622 * r221625;
double r221627 = r221613 * r221626;
double r221628 = log1p(r221627);
double r221629 = expm1(r221628);
return r221629;
}



Bits error versus v
Results
Initial program 1.0
rmApplied add-sqr-sqrt1.0
Applied times-frac0.0
rmApplied add-cube-cbrt1.0
Applied sqrt-prod1.0
Applied add-cube-cbrt1.0
Applied sqrt-prod1.0
Applied times-frac0.0
Simplified0.0
rmApplied expm1-log1p-u0.0
Final simplification0.0
herbie shell --seed 2019322 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Equation (22+)"
:precision binary64
(/ 4 (* (* (* 3 PI) (- 1 (* v v))) (sqrt (- 2 (* 6 (* v v)))))))