\sin \left({\left(\sqrt{\tan^{-1}_* \frac{b}{b}}\right)}^{\left(b - a\right)}\right)\mathsf{log1p}\left(\mathsf{expm1}\left(\sin \left({\left(\sqrt{\sqrt{\tan^{-1}_* \frac{b}{b}}}\right)}^{\left(b - a\right)} \cdot \mathsf{expm1}\left(\mathsf{log1p}\left({\left(\sqrt{\sqrt{\tan^{-1}_* \frac{b}{b}}}\right)}^{\left(b - a\right)}\right)\right)\right)\right)\right)double f(double a, double b) {
double r20494 = b;
double r20495 = atan2(r20494, r20494);
double r20496 = sqrt(r20495);
double r20497 = a;
double r20498 = r20494 - r20497;
double r20499 = pow(r20496, r20498);
double r20500 = sin(r20499);
return r20500;
}
double f(double a, double b) {
double r20501 = b;
double r20502 = atan2(r20501, r20501);
double r20503 = sqrt(r20502);
double r20504 = sqrt(r20503);
double r20505 = a;
double r20506 = r20501 - r20505;
double r20507 = pow(r20504, r20506);
double r20508 = log1p(r20507);
double r20509 = expm1(r20508);
double r20510 = r20507 * r20509;
double r20511 = sin(r20510);
double r20512 = expm1(r20511);
double r20513 = log1p(r20512);
return r20513;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.1
rmApplied add-sqr-sqrt0.1
Applied sqrt-prod0.1
Applied unpow-prod-down0.1
rmApplied expm1-log1p-u0.1
rmApplied log1p-expm1-u0.1
Final simplification0.1
herbie shell --seed 2019362 +o rules:numerics
(FPCore (a b)
:name "Random Jason Timeout Test 003"
:precision binary64
(sin (pow (sqrt (atan2 b b)) (- b a))))