\left|\left(\left(\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}\right) \bmod a\right)\right|\left|\left(\left(\tan^{-1}_* \frac{\left(\sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)} \cdot \left(\sqrt[3]{\sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)} \cdot \sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}}\right)\right) \cdot \left(1 \cdot \sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}\right)}{\tan^{-1} a}\right) \bmod a\right)\right|double f(double a) {
double r23636 = a;
double r23637 = expm1(r23636);
double r23638 = sin(r23637);
double r23639 = expm1(r23638);
double r23640 = atan(r23636);
double r23641 = atan2(r23639, r23640);
double r23642 = fmod(r23641, r23636);
double r23643 = fabs(r23642);
return r23643;
}
double f(double a) {
double r23644 = a;
double r23645 = expm1(r23644);
double r23646 = sin(r23645);
double r23647 = expm1(r23646);
double r23648 = cbrt(r23647);
double r23649 = r23648 * r23648;
double r23650 = cbrt(r23649);
double r23651 = cbrt(r23648);
double r23652 = r23650 * r23651;
double r23653 = r23648 * r23652;
double r23654 = 1.0;
double r23655 = r23654 * r23648;
double r23656 = r23653 * r23655;
double r23657 = atan(r23644);
double r23658 = atan2(r23656, r23657);
double r23659 = fmod(r23658, r23644);
double r23660 = fabs(r23659);
return r23660;
}



Bits error versus a
Initial program 33.5
rmApplied add-cube-cbrt33.5
rmApplied add-cube-cbrt33.6
Applied cbrt-prod33.6
rmApplied *-un-lft-identity33.6
Applied cbrt-prod33.6
Simplified33.6
Final simplification33.6
herbie shell --seed 2020062 +o rules:numerics
(FPCore (a)
:name "Random Jason Timeout Test 006"
:precision binary64
(fabs (fmod (atan2 (expm1 (sin (expm1 a))) (atan a)) a)))