Average Error: 29.5 → 0.0
Time: 19.0s
Precision: 64
\[\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.042406060400000001 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.00726441819999999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.0640340000000002 \cdot 10^{-4} \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 1.789971 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)}{\left(\left(\left(\left(\left(1 + 0.77154710189999998 \cdot \left(x \cdot x\right)\right) + 0.29097386390000002 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.069455576099999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.014000544199999999 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 8.32794500000000044 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(2 \cdot 1.789971 \cdot 10^{-4}\right) \cdot \left(\left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)} \cdot x\]
\[\begin{array}{l} \mathbf{if}\;x \le -2220777069831281700 \lor \neg \left(x \le 748.41969972063316\right):\\ \;\;\;\;\mathsf{fma}\left(0.25141790006653753, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.1529819634592933, \frac{1}{{x}^{5}}, 0.5 \cdot \frac{1}{x}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{\frac{\left(\left(x \cdot \left({\left(x \cdot x\right)}^{3} \cdot {x}^{3}\right)\right) \cdot \left(8.32794500000000044 \cdot 10^{-4} + \left(x \cdot x\right) \cdot \left(2 \cdot 1.789971 \cdot 10^{-4}\right)\right) + \mathsf{fma}\left(0.29097386390000002 \cdot x, {x}^{3}, \mathsf{fma}\left(0.77154710189999998 \cdot x, x, 1\right)\right)\right) + {x}^{6} \cdot \left(0.069455576099999999 + \left(x \cdot x\right) \cdot 0.014000544199999999\right)}{\left({\left(x \cdot x\right)}^{4} \cdot \left(5.0640340000000002 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971 \cdot 10^{-4}\right) + \mathsf{fma}\left(0.1049934947 \cdot x, x, 1\right)\right) + {x}^{4} \cdot \left(0.042406060400000001 + \left(x \cdot x\right) \cdot 0.00726441819999999999\right)}}\\ \end{array}\]
\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.042406060400000001 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.00726441819999999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.0640340000000002 \cdot 10^{-4} \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 1.789971 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)}{\left(\left(\left(\left(\left(1 + 0.77154710189999998 \cdot \left(x \cdot x\right)\right) + 0.29097386390000002 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.069455576099999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.014000544199999999 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 8.32794500000000044 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(2 \cdot 1.789971 \cdot 10^{-4}\right) \cdot \left(\left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)} \cdot x
\begin{array}{l}
\mathbf{if}\;x \le -2220777069831281700 \lor \neg \left(x \le 748.41969972063316\right):\\
\;\;\;\;\mathsf{fma}\left(0.25141790006653753, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.1529819634592933, \frac{1}{{x}^{5}}, 0.5 \cdot \frac{1}{x}\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{\frac{\left(\left(x \cdot \left({\left(x \cdot x\right)}^{3} \cdot {x}^{3}\right)\right) \cdot \left(8.32794500000000044 \cdot 10^{-4} + \left(x \cdot x\right) \cdot \left(2 \cdot 1.789971 \cdot 10^{-4}\right)\right) + \mathsf{fma}\left(0.29097386390000002 \cdot x, {x}^{3}, \mathsf{fma}\left(0.77154710189999998 \cdot x, x, 1\right)\right)\right) + {x}^{6} \cdot \left(0.069455576099999999 + \left(x \cdot x\right) \cdot 0.014000544199999999\right)}{\left({\left(x \cdot x\right)}^{4} \cdot \left(5.0640340000000002 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971 \cdot 10^{-4}\right) + \mathsf{fma}\left(0.1049934947 \cdot x, x, 1\right)\right) + {x}^{4} \cdot \left(0.042406060400000001 + \left(x \cdot x\right) \cdot 0.00726441819999999999\right)}}\\

\end{array}
double f(double x) {
        double r276969 = 1.0;
        double r276970 = 0.1049934947;
        double r276971 = x;
        double r276972 = r276971 * r276971;
        double r276973 = r276970 * r276972;
        double r276974 = r276969 + r276973;
        double r276975 = 0.0424060604;
        double r276976 = r276972 * r276972;
        double r276977 = r276975 * r276976;
        double r276978 = r276974 + r276977;
        double r276979 = 0.0072644182;
        double r276980 = r276976 * r276972;
        double r276981 = r276979 * r276980;
        double r276982 = r276978 + r276981;
        double r276983 = 0.0005064034;
        double r276984 = r276980 * r276972;
        double r276985 = r276983 * r276984;
        double r276986 = r276982 + r276985;
        double r276987 = 0.0001789971;
        double r276988 = r276984 * r276972;
        double r276989 = r276987 * r276988;
        double r276990 = r276986 + r276989;
        double r276991 = 0.7715471019;
        double r276992 = r276991 * r276972;
        double r276993 = r276969 + r276992;
        double r276994 = 0.2909738639;
        double r276995 = r276994 * r276976;
        double r276996 = r276993 + r276995;
        double r276997 = 0.0694555761;
        double r276998 = r276997 * r276980;
        double r276999 = r276996 + r276998;
        double r277000 = 0.0140005442;
        double r277001 = r277000 * r276984;
        double r277002 = r276999 + r277001;
        double r277003 = 0.0008327945;
        double r277004 = r277003 * r276988;
        double r277005 = r277002 + r277004;
        double r277006 = 2.0;
        double r277007 = r277006 * r276987;
        double r277008 = r276988 * r276972;
        double r277009 = r277007 * r277008;
        double r277010 = r277005 + r277009;
        double r277011 = r276990 / r277010;
        double r277012 = r277011 * r276971;
        return r277012;
}

double f(double x) {
        double r277013 = x;
        double r277014 = -2.2207770698312817e+18;
        bool r277015 = r277013 <= r277014;
        double r277016 = 748.4196997206332;
        bool r277017 = r277013 <= r277016;
        double r277018 = !r277017;
        bool r277019 = r277015 || r277018;
        double r277020 = 0.2514179000665375;
        double r277021 = 1.0;
        double r277022 = 3.0;
        double r277023 = pow(r277013, r277022);
        double r277024 = r277021 / r277023;
        double r277025 = 0.15298196345929327;
        double r277026 = 5.0;
        double r277027 = pow(r277013, r277026);
        double r277028 = r277021 / r277027;
        double r277029 = 0.5;
        double r277030 = r277021 / r277013;
        double r277031 = r277029 * r277030;
        double r277032 = fma(r277025, r277028, r277031);
        double r277033 = fma(r277020, r277024, r277032);
        double r277034 = r277013 * r277013;
        double r277035 = pow(r277034, r277022);
        double r277036 = r277035 * r277023;
        double r277037 = r277013 * r277036;
        double r277038 = 0.0008327945;
        double r277039 = 2.0;
        double r277040 = 0.0001789971;
        double r277041 = r277039 * r277040;
        double r277042 = r277034 * r277041;
        double r277043 = r277038 + r277042;
        double r277044 = r277037 * r277043;
        double r277045 = 0.2909738639;
        double r277046 = r277045 * r277013;
        double r277047 = 0.7715471019;
        double r277048 = r277047 * r277013;
        double r277049 = 1.0;
        double r277050 = fma(r277048, r277013, r277049);
        double r277051 = fma(r277046, r277023, r277050);
        double r277052 = r277044 + r277051;
        double r277053 = 6.0;
        double r277054 = pow(r277013, r277053);
        double r277055 = 0.0694555761;
        double r277056 = 0.0140005442;
        double r277057 = r277034 * r277056;
        double r277058 = r277055 + r277057;
        double r277059 = r277054 * r277058;
        double r277060 = r277052 + r277059;
        double r277061 = 4.0;
        double r277062 = pow(r277034, r277061);
        double r277063 = 0.0005064034;
        double r277064 = r277034 * r277040;
        double r277065 = r277063 + r277064;
        double r277066 = r277062 * r277065;
        double r277067 = 0.1049934947;
        double r277068 = r277067 * r277013;
        double r277069 = fma(r277068, r277013, r277049);
        double r277070 = r277066 + r277069;
        double r277071 = pow(r277013, r277061);
        double r277072 = 0.0424060604;
        double r277073 = 0.0072644182;
        double r277074 = r277034 * r277073;
        double r277075 = r277072 + r277074;
        double r277076 = r277071 * r277075;
        double r277077 = r277070 + r277076;
        double r277078 = r277060 / r277077;
        double r277079 = r277013 / r277078;
        double r277080 = r277019 ? r277033 : r277079;
        return r277080;
}

Error

Bits error versus x

Derivation

  1. Split input into 2 regimes
  2. if x < -2.2207770698312817e+18 or 748.4196997206332 < x

    1. Initial program 60.8

      \[\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.042406060400000001 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.00726441819999999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.0640340000000002 \cdot 10^{-4} \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 1.789971 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)}{\left(\left(\left(\left(\left(1 + 0.77154710189999998 \cdot \left(x \cdot x\right)\right) + 0.29097386390000002 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.069455576099999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.014000544199999999 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 8.32794500000000044 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(2 \cdot 1.789971 \cdot 10^{-4}\right) \cdot \left(\left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)} \cdot x\]
    2. Simplified60.7

      \[\leadsto \color{blue}{\frac{x}{\frac{\left(\left(x \cdot \left({\left(x \cdot x\right)}^{3} \cdot {x}^{3}\right)\right) \cdot \left(8.32794500000000044 \cdot 10^{-4} + \left(x \cdot x\right) \cdot \left(2 \cdot 1.789971 \cdot 10^{-4}\right)\right) + \mathsf{fma}\left(0.29097386390000002 \cdot x, {x}^{3}, \mathsf{fma}\left(0.77154710189999998 \cdot x, x, 1\right)\right)\right) + {x}^{6} \cdot \left(0.069455576099999999 + \left(x \cdot x\right) \cdot 0.014000544199999999\right)}{\left({\left(x \cdot x\right)}^{4} \cdot \left(5.0640340000000002 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971 \cdot 10^{-4}\right) + \mathsf{fma}\left(0.1049934947 \cdot x, x, 1\right)\right) + {x}^{4} \cdot \left(0.042406060400000001 + \left(x \cdot x\right) \cdot 0.00726441819999999999\right)}}}\]
    3. Taylor expanded around inf 0.0

      \[\leadsto \color{blue}{0.25141790006653753 \cdot \frac{1}{{x}^{3}} + \left(0.1529819634592933 \cdot \frac{1}{{x}^{5}} + 0.5 \cdot \frac{1}{x}\right)}\]
    4. Simplified0.0

      \[\leadsto \color{blue}{\mathsf{fma}\left(0.25141790006653753, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.1529819634592933, \frac{1}{{x}^{5}}, 0.5 \cdot \frac{1}{x}\right)\right)}\]

    if -2.2207770698312817e+18 < x < 748.4196997206332

    1. Initial program 0.0

      \[\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.042406060400000001 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.00726441819999999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.0640340000000002 \cdot 10^{-4} \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 1.789971 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)}{\left(\left(\left(\left(\left(1 + 0.77154710189999998 \cdot \left(x \cdot x\right)\right) + 0.29097386390000002 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.069455576099999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.014000544199999999 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 8.32794500000000044 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(2 \cdot 1.789971 \cdot 10^{-4}\right) \cdot \left(\left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)} \cdot x\]
    2. Simplified0.0

      \[\leadsto \color{blue}{\frac{x}{\frac{\left(\left(x \cdot \left({\left(x \cdot x\right)}^{3} \cdot {x}^{3}\right)\right) \cdot \left(8.32794500000000044 \cdot 10^{-4} + \left(x \cdot x\right) \cdot \left(2 \cdot 1.789971 \cdot 10^{-4}\right)\right) + \mathsf{fma}\left(0.29097386390000002 \cdot x, {x}^{3}, \mathsf{fma}\left(0.77154710189999998 \cdot x, x, 1\right)\right)\right) + {x}^{6} \cdot \left(0.069455576099999999 + \left(x \cdot x\right) \cdot 0.014000544199999999\right)}{\left({\left(x \cdot x\right)}^{4} \cdot \left(5.0640340000000002 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971 \cdot 10^{-4}\right) + \mathsf{fma}\left(0.1049934947 \cdot x, x, 1\right)\right) + {x}^{4} \cdot \left(0.042406060400000001 + \left(x \cdot x\right) \cdot 0.00726441819999999999\right)}}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -2220777069831281700 \lor \neg \left(x \le 748.41969972063316\right):\\ \;\;\;\;\mathsf{fma}\left(0.25141790006653753, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.1529819634592933, \frac{1}{{x}^{5}}, 0.5 \cdot \frac{1}{x}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{\frac{\left(\left(x \cdot \left({\left(x \cdot x\right)}^{3} \cdot {x}^{3}\right)\right) \cdot \left(8.32794500000000044 \cdot 10^{-4} + \left(x \cdot x\right) \cdot \left(2 \cdot 1.789971 \cdot 10^{-4}\right)\right) + \mathsf{fma}\left(0.29097386390000002 \cdot x, {x}^{3}, \mathsf{fma}\left(0.77154710189999998 \cdot x, x, 1\right)\right)\right) + {x}^{6} \cdot \left(0.069455576099999999 + \left(x \cdot x\right) \cdot 0.014000544199999999\right)}{\left({\left(x \cdot x\right)}^{4} \cdot \left(5.0640340000000002 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971 \cdot 10^{-4}\right) + \mathsf{fma}\left(0.1049934947 \cdot x, x, 1\right)\right) + {x}^{4} \cdot \left(0.042406060400000001 + \left(x \cdot x\right) \cdot 0.00726441819999999999\right)}}\\ \end{array}\]

Reproduce

herbie shell --seed 2020089 +o rules:numerics
(FPCore (x)
  :name "Jmat.Real.dawson"
  :precision binary64
  (* (/ (+ (+ (+ (+ (+ 1 (* 0.1049934947 (* x x))) (* 0.0424060604 (* (* x x) (* x x)))) (* 0.0072644182 (* (* (* x x) (* x x)) (* x x)))) (* 0.0005064034 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0001789971 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (+ (+ (+ (+ (+ (+ 1 (* 0.7715471019 (* x x))) (* 0.2909738639 (* (* x x) (* x x)))) (* 0.0694555761 (* (* (* x x) (* x x)) (* x x)))) (* 0.0140005442 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0008327945 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))