Average Error: 31.1 → 31.1
Time: 23.6s
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 r4194178 = a;
        double r4194179 = asin(r4194178);
        double r4194180 = fmod(r4194178, r4194179);
        double r4194181 = atan(r4194180);
        double r4194182 = r4194178 * r4194178;
        double r4194183 = pow(r4194181, r4194182);
        return r4194183;
}

double f(double a) {
        double r4194184 = a;
        double r4194185 = asin(r4194184);
        double r4194186 = fmod(r4194184, r4194185);
        double r4194187 = sqrt(r4194186);
        double r4194188 = r4194187 * r4194187;
        double r4194189 = atan(r4194188);
        double r4194190 = r4194184 * r4194184;
        double r4194191 = pow(r4194189, r4194190);
        return r4194191;
}

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