Average Error: 31.1 → 31.1
Time: 24.4s
Precision: 64
\[{\left(\tan^{-1} \left(a \bmod \left(\sin^{-1} a\right)\right)\right)}^{\left(a \cdot a\right)}\]
\[{\left(\tan^{-1} \left(\sqrt{\left(a \bmod \left(\sin^{-1} a\right)\right)} \cdot \sqrt{\left(a \bmod \left(\sin^{-1} a\right)\right)}\right)\right)}^{\left(a \cdot a\right)}\]
{\left(\tan^{-1} \left(a \bmod \left(\sin^{-1} a\right)\right)\right)}^{\left(a \cdot a\right)}
{\left(\tan^{-1} \left(\sqrt{\left(a \bmod \left(\sin^{-1} a\right)\right)} \cdot \sqrt{\left(a \bmod \left(\sin^{-1} a\right)\right)}\right)\right)}^{\left(a \cdot a\right)}
double f(double a) {
        double r4714338 = a;
        double r4714339 = asin(r4714338);
        double r4714340 = fmod(r4714338, r4714339);
        double r4714341 = atan(r4714340);
        double r4714342 = r4714338 * r4714338;
        double r4714343 = pow(r4714341, r4714342);
        return r4714343;
}

double f(double a) {
        double r4714344 = a;
        double r4714345 = asin(r4714344);
        double r4714346 = fmod(r4714344, r4714345);
        double r4714347 = sqrt(r4714346);
        double r4714348 = r4714347 * r4714347;
        double r4714349 = atan(r4714348);
        double r4714350 = r4714344 * r4714344;
        double r4714351 = pow(r4714349, r4714350);
        return r4714351;
}

Error

Bits error versus a

Derivation

  1. Initial program 31.1

    \[{\left(\tan^{-1} \left(a \bmod \left(\sin^{-1} a\right)\right)\right)}^{\left(a \cdot a\right)}\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt31.1

    \[\leadsto {\left(\tan^{-1} \color{blue}{\left(\sqrt{\left(a \bmod \left(\sin^{-1} a\right)\right)} \cdot \sqrt{\left(a \bmod \left(\sin^{-1} a\right)\right)}\right)}\right)}^{\left(a \cdot a\right)}\]
  4. Final simplification31.1

    \[\leadsto {\left(\tan^{-1} \left(\sqrt{\left(a \bmod \left(\sin^{-1} a\right)\right)} \cdot \sqrt{\left(a \bmod \left(\sin^{-1} a\right)\right)}\right)\right)}^{\left(a \cdot a\right)}\]

Reproduce

herbie shell --seed 2019163 +o rules:numerics
(FPCore (a)
  :name "Fuzzer 002"
  (pow (atan (fmod a (asin a))) (* a a)))