Average Error: 31.1 → 31.1
Time: 20.8s
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 r3940897 = a;
        double r3940898 = asin(r3940897);
        double r3940899 = fmod(r3940897, r3940898);
        double r3940900 = atan(r3940899);
        double r3940901 = r3940897 * r3940897;
        double r3940902 = pow(r3940900, r3940901);
        return r3940902;
}

double f(double a) {
        double r3940903 = a;
        double r3940904 = asin(r3940903);
        double r3940905 = fmod(r3940903, r3940904);
        double r3940906 = sqrt(r3940905);
        double r3940907 = r3940906 * r3940906;
        double r3940908 = atan(r3940907);
        double r3940909 = r3940903 * r3940903;
        double r3940910 = pow(r3940908, r3940909);
        return r3940910;
}

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)))