Average Error: 61.2 → 58.8
Time: 29.2s
Precision: 64
\[\cos^{-1} \left({\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\]
\[\begin{array}{l} \mathbf{if}\;a \le 1.555092758736906 \cdot 10^{-162}:\\ \;\;\;\;\cos^{-1} \left({\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}^{\left(\log \left(1 + a\right)\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;\cos^{-1} \left({\left(\sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}\right)}^{\left(\mathsf{log1p}\left(a\right)\right)} \cdot {\left(\log \left(e^{\sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)} \cdot \sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}}\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\\ \end{array}\]
\cos^{-1} \left({\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)
\begin{array}{l}
\mathbf{if}\;a \le 1.555092758736906 \cdot 10^{-162}:\\
\;\;\;\;\cos^{-1} \left({\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}^{\left(\log \left(1 + a\right)\right)}\right)\\

\mathbf{else}:\\
\;\;\;\;\cos^{-1} \left({\left(\sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}\right)}^{\left(\mathsf{log1p}\left(a\right)\right)} \cdot {\left(\log \left(e^{\sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)} \cdot \sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}}\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\\

\end{array}
double f(double a) {
        double r5958 = a;
        double r5959 = cosh(r5958);
        double r5960 = r5958 * r5958;
        double r5961 = fmod(r5959, r5960);
        double r5962 = log1p(r5958);
        double r5963 = pow(r5961, r5962);
        double r5964 = acos(r5963);
        return r5964;
}

double f(double a) {
        double r5965 = a;
        double r5966 = 1.555092758736906e-162;
        bool r5967 = r5965 <= r5966;
        double r5968 = cosh(r5965);
        double r5969 = r5965 * r5965;
        double r5970 = fmod(r5968, r5969);
        double r5971 = 1.0;
        double r5972 = r5971 + r5965;
        double r5973 = log(r5972);
        double r5974 = pow(r5970, r5973);
        double r5975 = acos(r5974);
        double r5976 = cbrt(r5970);
        double r5977 = log1p(r5965);
        double r5978 = pow(r5976, r5977);
        double r5979 = r5976 * r5976;
        double r5980 = exp(r5979);
        double r5981 = log(r5980);
        double r5982 = pow(r5981, r5977);
        double r5983 = r5978 * r5982;
        double r5984 = acos(r5983);
        double r5985 = r5967 ? r5975 : r5984;
        return r5985;
}

Error

Bits error versus a

Derivation

  1. Split input into 2 regimes
  2. if a < 1.555092758736906e-162

    1. Initial program 64.0

      \[\cos^{-1} \left({\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\]
    2. Using strategy rm
    3. Applied log1p-udef61.3

      \[\leadsto \cos^{-1} \left({\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}^{\color{blue}{\left(\log \left(1 + a\right)\right)}}\right)\]

    if 1.555092758736906e-162 < a

    1. Initial program 58.7

      \[\cos^{-1} \left({\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\]
    2. Using strategy rm
    3. Applied add-log-exp56.9

      \[\leadsto \cos^{-1} \left({\color{blue}{\left(\log \left(e^{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}\right)\right)}}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\]
    4. Using strategy rm
    5. Applied add-cube-cbrt56.9

      \[\leadsto \cos^{-1} \left({\left(\log \left(e^{\color{blue}{\left(\sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)} \cdot \sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}\right) \cdot \sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}}}\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\]
    6. Applied exp-prod56.9

      \[\leadsto \cos^{-1} \left({\left(\log \color{blue}{\left({\left(e^{\sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)} \cdot \sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}}\right)}^{\left(\sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}\right)}\right)}\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\]
    7. Applied log-pow56.6

      \[\leadsto \cos^{-1} \left({\color{blue}{\left(\sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)} \cdot \log \left(e^{\sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)} \cdot \sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}}\right)\right)}}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\]
    8. Applied unpow-prod-down56.6

      \[\leadsto \cos^{-1} \color{blue}{\left({\left(\sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}\right)}^{\left(\mathsf{log1p}\left(a\right)\right)} \cdot {\left(\log \left(e^{\sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)} \cdot \sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}}\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification58.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;a \le 1.555092758736906 \cdot 10^{-162}:\\ \;\;\;\;\cos^{-1} \left({\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}^{\left(\log \left(1 + a\right)\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;\cos^{-1} \left({\left(\sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}\right)}^{\left(\mathsf{log1p}\left(a\right)\right)} \cdot {\left(\log \left(e^{\sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)} \cdot \sqrt[3]{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}}\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020065 +o rules:numerics
(FPCore (a)
  :name "Random Jason Timeout Test 012"
  :precision binary64
  (acos (pow (fmod (cosh a) (* a a)) (log1p a))))