Jmat.Real.dawson

Percentage Accurate: 54.7% → 99.9%
Time: 14.6s
Alternatives: 9
Speedup: 3.2×

Specification

?
\[\begin{array}{l} t_0 := \left(x \cdot x\right) \cdot \left(x \cdot x\right)\\ t_1 := t\_0 \cdot \left(x \cdot x\right)\\ t_2 := t\_1 \cdot \left(x \cdot x\right)\\ t_3 := t\_2 \cdot \left(x \cdot x\right)\\ \frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot t\_0\right) + \frac{36322091}{5000000000} \cdot t\_1\right) + \frac{2532017}{5000000000} \cdot t\_2\right) + \frac{1789971}{10000000000} \cdot t\_3}{\left(\left(\left(\left(\left(1 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot t\_0\right) + \frac{694555761}{10000000000} \cdot t\_1\right) + \frac{70002721}{5000000000} \cdot t\_2\right) + \frac{1665589}{2000000000} \cdot t\_3\right) + \left(2 \cdot \frac{1789971}{10000000000}\right) \cdot \left(t\_3 \cdot \left(x \cdot x\right)\right)} \cdot x \end{array} \]
(FPCore (x)
  :precision binary64
  (let* ((t_0 (* (* x x) (* x x)))
       (t_1 (* t_0 (* x x)))
       (t_2 (* t_1 (* x x)))
       (t_3 (* t_2 (* x x))))
  (*
   (/
    (+
     (+
      (+
       (+
        (+ 1 (* 1049934947/10000000000 (* x x)))
        (* 106015151/2500000000 t_0))
       (* 36322091/5000000000 t_1))
      (* 2532017/5000000000 t_2))
     (* 1789971/10000000000 t_3))
    (+
     (+
      (+
       (+
        (+
         (+ 1 (* 7715471019/10000000000 (* x x)))
         (* 2909738639/10000000000 t_0))
        (* 694555761/10000000000 t_1))
       (* 70002721/5000000000 t_2))
      (* 1665589/2000000000 t_3))
     (* (* 2 1789971/10000000000) (* t_3 (* x x)))))
   x)))
double code(double x) {
	double t_0 = (x * x) * (x * x);
	double t_1 = t_0 * (x * x);
	double t_2 = t_1 * (x * x);
	double t_3 = t_2 * (x * x);
	return ((((((1.0 + (0.1049934947 * (x * x))) + (0.0424060604 * t_0)) + (0.0072644182 * t_1)) + (0.0005064034 * t_2)) + (0.0001789971 * t_3)) / ((((((1.0 + (0.7715471019 * (x * x))) + (0.2909738639 * t_0)) + (0.0694555761 * t_1)) + (0.0140005442 * t_2)) + (0.0008327945 * t_3)) + ((2.0 * 0.0001789971) * (t_3 * (x * x))))) * x;
}
module fmin_fmax_functions
    implicit none
    private
    public fmax
    public fmin

    interface fmax
        module procedure fmax88
        module procedure fmax44
        module procedure fmax84
        module procedure fmax48
    end interface
    interface fmin
        module procedure fmin88
        module procedure fmin44
        module procedure fmin84
        module procedure fmin48
    end interface
contains
    real(8) function fmax88(x, y) result (res)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(x, max(x, y), y /= y), x /= x)
    end function
    real(4) function fmax44(x, y) result (res)
        real(4), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(y, merge(x, max(x, y), y /= y), x /= x)
    end function
    real(8) function fmax84(x, y) result(res)
        real(8), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
    end function
    real(8) function fmax48(x, y) result(res)
        real(4), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
    end function
    real(8) function fmin88(x, y) result (res)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(x, min(x, y), y /= y), x /= x)
    end function
    real(4) function fmin44(x, y) result (res)
        real(4), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(y, merge(x, min(x, y), y /= y), x /= x)
    end function
    real(8) function fmin84(x, y) result(res)
        real(8), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
    end function
    real(8) function fmin48(x, y) result(res)
        real(4), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
    end function
end module

real(8) function code(x)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: t_3
    t_0 = (x * x) * (x * x)
    t_1 = t_0 * (x * x)
    t_2 = t_1 * (x * x)
    t_3 = t_2 * (x * x)
    code = ((((((1.0d0 + (0.1049934947d0 * (x * x))) + (0.0424060604d0 * t_0)) + (0.0072644182d0 * t_1)) + (0.0005064034d0 * t_2)) + (0.0001789971d0 * t_3)) / ((((((1.0d0 + (0.7715471019d0 * (x * x))) + (0.2909738639d0 * t_0)) + (0.0694555761d0 * t_1)) + (0.0140005442d0 * t_2)) + (0.0008327945d0 * t_3)) + ((2.0d0 * 0.0001789971d0) * (t_3 * (x * x))))) * x
end function
public static double code(double x) {
	double t_0 = (x * x) * (x * x);
	double t_1 = t_0 * (x * x);
	double t_2 = t_1 * (x * x);
	double t_3 = t_2 * (x * x);
	return ((((((1.0 + (0.1049934947 * (x * x))) + (0.0424060604 * t_0)) + (0.0072644182 * t_1)) + (0.0005064034 * t_2)) + (0.0001789971 * t_3)) / ((((((1.0 + (0.7715471019 * (x * x))) + (0.2909738639 * t_0)) + (0.0694555761 * t_1)) + (0.0140005442 * t_2)) + (0.0008327945 * t_3)) + ((2.0 * 0.0001789971) * (t_3 * (x * x))))) * x;
}
def code(x):
	t_0 = (x * x) * (x * x)
	t_1 = t_0 * (x * x)
	t_2 = t_1 * (x * x)
	t_3 = t_2 * (x * x)
	return ((((((1.0 + (0.1049934947 * (x * x))) + (0.0424060604 * t_0)) + (0.0072644182 * t_1)) + (0.0005064034 * t_2)) + (0.0001789971 * t_3)) / ((((((1.0 + (0.7715471019 * (x * x))) + (0.2909738639 * t_0)) + (0.0694555761 * t_1)) + (0.0140005442 * t_2)) + (0.0008327945 * t_3)) + ((2.0 * 0.0001789971) * (t_3 * (x * x))))) * x
function code(x)
	t_0 = Float64(Float64(x * x) * Float64(x * x))
	t_1 = Float64(t_0 * Float64(x * x))
	t_2 = Float64(t_1 * Float64(x * x))
	t_3 = Float64(t_2 * Float64(x * x))
	return Float64(Float64(Float64(Float64(Float64(Float64(Float64(1.0 + Float64(0.1049934947 * Float64(x * x))) + Float64(0.0424060604 * t_0)) + Float64(0.0072644182 * t_1)) + Float64(0.0005064034 * t_2)) + Float64(0.0001789971 * t_3)) / Float64(Float64(Float64(Float64(Float64(Float64(1.0 + Float64(0.7715471019 * Float64(x * x))) + Float64(0.2909738639 * t_0)) + Float64(0.0694555761 * t_1)) + Float64(0.0140005442 * t_2)) + Float64(0.0008327945 * t_3)) + Float64(Float64(2.0 * 0.0001789971) * Float64(t_3 * Float64(x * x))))) * x)
end
function tmp = code(x)
	t_0 = (x * x) * (x * x);
	t_1 = t_0 * (x * x);
	t_2 = t_1 * (x * x);
	t_3 = t_2 * (x * x);
	tmp = ((((((1.0 + (0.1049934947 * (x * x))) + (0.0424060604 * t_0)) + (0.0072644182 * t_1)) + (0.0005064034 * t_2)) + (0.0001789971 * t_3)) / ((((((1.0 + (0.7715471019 * (x * x))) + (0.2909738639 * t_0)) + (0.0694555761 * t_1)) + (0.0140005442 * t_2)) + (0.0008327945 * t_3)) + ((2.0 * 0.0001789971) * (t_3 * (x * x))))) * x;
end
code[x_] := Block[{t$95$0 = N[(N[(x * x), $MachinePrecision] * N[(x * x), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(t$95$0 * N[(x * x), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 * N[(x * x), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t$95$2 * N[(x * x), $MachinePrecision]), $MachinePrecision]}, N[(N[(N[(N[(N[(N[(N[(1 + N[(1049934947/10000000000 * N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(106015151/2500000000 * t$95$0), $MachinePrecision]), $MachinePrecision] + N[(36322091/5000000000 * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(2532017/5000000000 * t$95$2), $MachinePrecision]), $MachinePrecision] + N[(1789971/10000000000 * t$95$3), $MachinePrecision]), $MachinePrecision] / N[(N[(N[(N[(N[(N[(1 + N[(7715471019/10000000000 * N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(2909738639/10000000000 * t$95$0), $MachinePrecision]), $MachinePrecision] + N[(694555761/10000000000 * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(70002721/5000000000 * t$95$2), $MachinePrecision]), $MachinePrecision] + N[(1665589/2000000000 * t$95$3), $MachinePrecision]), $MachinePrecision] + N[(N[(2 * 1789971/10000000000), $MachinePrecision] * N[(t$95$3 * N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision]]]]]
\begin{array}{l}
t_0 := \left(x \cdot x\right) \cdot \left(x \cdot x\right)\\
t_1 := t\_0 \cdot \left(x \cdot x\right)\\
t_2 := t\_1 \cdot \left(x \cdot x\right)\\
t_3 := t\_2 \cdot \left(x \cdot x\right)\\
\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot t\_0\right) + \frac{36322091}{5000000000} \cdot t\_1\right) + \frac{2532017}{5000000000} \cdot t\_2\right) + \frac{1789971}{10000000000} \cdot t\_3}{\left(\left(\left(\left(\left(1 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot t\_0\right) + \frac{694555761}{10000000000} \cdot t\_1\right) + \frac{70002721}{5000000000} \cdot t\_2\right) + \frac{1665589}{2000000000} \cdot t\_3\right) + \left(2 \cdot \frac{1789971}{10000000000}\right) \cdot \left(t\_3 \cdot \left(x \cdot x\right)\right)} \cdot x
\end{array}

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 9 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Initial Program: 54.7% accurate, 1.0× speedup?

\[\begin{array}{l} t_0 := \left(x \cdot x\right) \cdot \left(x \cdot x\right)\\ t_1 := t\_0 \cdot \left(x \cdot x\right)\\ t_2 := t\_1 \cdot \left(x \cdot x\right)\\ t_3 := t\_2 \cdot \left(x \cdot x\right)\\ \frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot t\_0\right) + \frac{36322091}{5000000000} \cdot t\_1\right) + \frac{2532017}{5000000000} \cdot t\_2\right) + \frac{1789971}{10000000000} \cdot t\_3}{\left(\left(\left(\left(\left(1 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot t\_0\right) + \frac{694555761}{10000000000} \cdot t\_1\right) + \frac{70002721}{5000000000} \cdot t\_2\right) + \frac{1665589}{2000000000} \cdot t\_3\right) + \left(2 \cdot \frac{1789971}{10000000000}\right) \cdot \left(t\_3 \cdot \left(x \cdot x\right)\right)} \cdot x \end{array} \]
(FPCore (x)
  :precision binary64
  (let* ((t_0 (* (* x x) (* x x)))
       (t_1 (* t_0 (* x x)))
       (t_2 (* t_1 (* x x)))
       (t_3 (* t_2 (* x x))))
  (*
   (/
    (+
     (+
      (+
       (+
        (+ 1 (* 1049934947/10000000000 (* x x)))
        (* 106015151/2500000000 t_0))
       (* 36322091/5000000000 t_1))
      (* 2532017/5000000000 t_2))
     (* 1789971/10000000000 t_3))
    (+
     (+
      (+
       (+
        (+
         (+ 1 (* 7715471019/10000000000 (* x x)))
         (* 2909738639/10000000000 t_0))
        (* 694555761/10000000000 t_1))
       (* 70002721/5000000000 t_2))
      (* 1665589/2000000000 t_3))
     (* (* 2 1789971/10000000000) (* t_3 (* x x)))))
   x)))
double code(double x) {
	double t_0 = (x * x) * (x * x);
	double t_1 = t_0 * (x * x);
	double t_2 = t_1 * (x * x);
	double t_3 = t_2 * (x * x);
	return ((((((1.0 + (0.1049934947 * (x * x))) + (0.0424060604 * t_0)) + (0.0072644182 * t_1)) + (0.0005064034 * t_2)) + (0.0001789971 * t_3)) / ((((((1.0 + (0.7715471019 * (x * x))) + (0.2909738639 * t_0)) + (0.0694555761 * t_1)) + (0.0140005442 * t_2)) + (0.0008327945 * t_3)) + ((2.0 * 0.0001789971) * (t_3 * (x * x))))) * x;
}
module fmin_fmax_functions
    implicit none
    private
    public fmax
    public fmin

    interface fmax
        module procedure fmax88
        module procedure fmax44
        module procedure fmax84
        module procedure fmax48
    end interface
    interface fmin
        module procedure fmin88
        module procedure fmin44
        module procedure fmin84
        module procedure fmin48
    end interface
contains
    real(8) function fmax88(x, y) result (res)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(x, max(x, y), y /= y), x /= x)
    end function
    real(4) function fmax44(x, y) result (res)
        real(4), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(y, merge(x, max(x, y), y /= y), x /= x)
    end function
    real(8) function fmax84(x, y) result(res)
        real(8), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
    end function
    real(8) function fmax48(x, y) result(res)
        real(4), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
    end function
    real(8) function fmin88(x, y) result (res)
        real(8), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(x, min(x, y), y /= y), x /= x)
    end function
    real(4) function fmin44(x, y) result (res)
        real(4), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(y, merge(x, min(x, y), y /= y), x /= x)
    end function
    real(8) function fmin84(x, y) result(res)
        real(8), intent (in) :: x
        real(4), intent (in) :: y
        res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
    end function
    real(8) function fmin48(x, y) result(res)
        real(4), intent (in) :: x
        real(8), intent (in) :: y
        res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
    end function
end module

real(8) function code(x)
use fmin_fmax_functions
    real(8), intent (in) :: x
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: t_3
    t_0 = (x * x) * (x * x)
    t_1 = t_0 * (x * x)
    t_2 = t_1 * (x * x)
    t_3 = t_2 * (x * x)
    code = ((((((1.0d0 + (0.1049934947d0 * (x * x))) + (0.0424060604d0 * t_0)) + (0.0072644182d0 * t_1)) + (0.0005064034d0 * t_2)) + (0.0001789971d0 * t_3)) / ((((((1.0d0 + (0.7715471019d0 * (x * x))) + (0.2909738639d0 * t_0)) + (0.0694555761d0 * t_1)) + (0.0140005442d0 * t_2)) + (0.0008327945d0 * t_3)) + ((2.0d0 * 0.0001789971d0) * (t_3 * (x * x))))) * x
end function
public static double code(double x) {
	double t_0 = (x * x) * (x * x);
	double t_1 = t_0 * (x * x);
	double t_2 = t_1 * (x * x);
	double t_3 = t_2 * (x * x);
	return ((((((1.0 + (0.1049934947 * (x * x))) + (0.0424060604 * t_0)) + (0.0072644182 * t_1)) + (0.0005064034 * t_2)) + (0.0001789971 * t_3)) / ((((((1.0 + (0.7715471019 * (x * x))) + (0.2909738639 * t_0)) + (0.0694555761 * t_1)) + (0.0140005442 * t_2)) + (0.0008327945 * t_3)) + ((2.0 * 0.0001789971) * (t_3 * (x * x))))) * x;
}
def code(x):
	t_0 = (x * x) * (x * x)
	t_1 = t_0 * (x * x)
	t_2 = t_1 * (x * x)
	t_3 = t_2 * (x * x)
	return ((((((1.0 + (0.1049934947 * (x * x))) + (0.0424060604 * t_0)) + (0.0072644182 * t_1)) + (0.0005064034 * t_2)) + (0.0001789971 * t_3)) / ((((((1.0 + (0.7715471019 * (x * x))) + (0.2909738639 * t_0)) + (0.0694555761 * t_1)) + (0.0140005442 * t_2)) + (0.0008327945 * t_3)) + ((2.0 * 0.0001789971) * (t_3 * (x * x))))) * x
function code(x)
	t_0 = Float64(Float64(x * x) * Float64(x * x))
	t_1 = Float64(t_0 * Float64(x * x))
	t_2 = Float64(t_1 * Float64(x * x))
	t_3 = Float64(t_2 * Float64(x * x))
	return Float64(Float64(Float64(Float64(Float64(Float64(Float64(1.0 + Float64(0.1049934947 * Float64(x * x))) + Float64(0.0424060604 * t_0)) + Float64(0.0072644182 * t_1)) + Float64(0.0005064034 * t_2)) + Float64(0.0001789971 * t_3)) / Float64(Float64(Float64(Float64(Float64(Float64(1.0 + Float64(0.7715471019 * Float64(x * x))) + Float64(0.2909738639 * t_0)) + Float64(0.0694555761 * t_1)) + Float64(0.0140005442 * t_2)) + Float64(0.0008327945 * t_3)) + Float64(Float64(2.0 * 0.0001789971) * Float64(t_3 * Float64(x * x))))) * x)
end
function tmp = code(x)
	t_0 = (x * x) * (x * x);
	t_1 = t_0 * (x * x);
	t_2 = t_1 * (x * x);
	t_3 = t_2 * (x * x);
	tmp = ((((((1.0 + (0.1049934947 * (x * x))) + (0.0424060604 * t_0)) + (0.0072644182 * t_1)) + (0.0005064034 * t_2)) + (0.0001789971 * t_3)) / ((((((1.0 + (0.7715471019 * (x * x))) + (0.2909738639 * t_0)) + (0.0694555761 * t_1)) + (0.0140005442 * t_2)) + (0.0008327945 * t_3)) + ((2.0 * 0.0001789971) * (t_3 * (x * x))))) * x;
end
code[x_] := Block[{t$95$0 = N[(N[(x * x), $MachinePrecision] * N[(x * x), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(t$95$0 * N[(x * x), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 * N[(x * x), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t$95$2 * N[(x * x), $MachinePrecision]), $MachinePrecision]}, N[(N[(N[(N[(N[(N[(N[(1 + N[(1049934947/10000000000 * N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(106015151/2500000000 * t$95$0), $MachinePrecision]), $MachinePrecision] + N[(36322091/5000000000 * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(2532017/5000000000 * t$95$2), $MachinePrecision]), $MachinePrecision] + N[(1789971/10000000000 * t$95$3), $MachinePrecision]), $MachinePrecision] / N[(N[(N[(N[(N[(N[(1 + N[(7715471019/10000000000 * N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(2909738639/10000000000 * t$95$0), $MachinePrecision]), $MachinePrecision] + N[(694555761/10000000000 * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(70002721/5000000000 * t$95$2), $MachinePrecision]), $MachinePrecision] + N[(1665589/2000000000 * t$95$3), $MachinePrecision]), $MachinePrecision] + N[(N[(2 * 1789971/10000000000), $MachinePrecision] * N[(t$95$3 * N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * x), $MachinePrecision]]]]]
\begin{array}{l}
t_0 := \left(x \cdot x\right) \cdot \left(x \cdot x\right)\\
t_1 := t\_0 \cdot \left(x \cdot x\right)\\
t_2 := t\_1 \cdot \left(x \cdot x\right)\\
t_3 := t\_2 \cdot \left(x \cdot x\right)\\
\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot t\_0\right) + \frac{36322091}{5000000000} \cdot t\_1\right) + \frac{2532017}{5000000000} \cdot t\_2\right) + \frac{1789971}{10000000000} \cdot t\_3}{\left(\left(\left(\left(\left(1 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot t\_0\right) + \frac{694555761}{10000000000} \cdot t\_1\right) + \frac{70002721}{5000000000} \cdot t\_2\right) + \frac{1665589}{2000000000} \cdot t\_3\right) + \left(2 \cdot \frac{1789971}{10000000000}\right) \cdot \left(t\_3 \cdot \left(x \cdot x\right)\right)} \cdot x
\end{array}

Alternative 1: 99.9% accurate, 0.8× speedup?

\[\begin{array}{l} t_0 := \left|x\right| \cdot \left|x\right|\\ t_1 := t\_0 \cdot \left|x\right|\\ t_2 := \left(t\_1 \cdot \left|x\right|\right) \cdot \left|x\right|\\ t_3 := t\_2 \cdot t\_1\\ \mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l} \mathbf{if}\;\left|x\right| \leq 50:\\ \;\;\;\;\frac{\left(\left(t\_0 \cdot \left(\left|x\right| \cdot \left(\frac{2532017}{5000000000} \cdot t\_2 + t\_1 \cdot \frac{36322091}{5000000000}\right) + \left(\frac{106015151}{2500000000} \cdot t\_0 - \frac{-1049934947}{10000000000}\right)\right) - -1\right) - t\_3 \cdot \left(\frac{-1789971}{10000000000} \cdot t\_0\right)\right) \cdot \left|x\right|}{t\_0 \cdot \left(t\_3 \cdot \left(\frac{1789971}{5000000000} \cdot t\_0 + \frac{1665589}{2000000000}\right) + \left|x\right| \cdot \left(\frac{70002721}{5000000000} \cdot t\_2 + \frac{694555761}{10000000000} \cdot t\_1\right)\right) - \left(-1 - \left(\frac{2909738639}{10000000000} \cdot t\_0 - \frac{-7715471019}{10000000000}\right) \cdot t\_0\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{2} + \left(\frac{\frac{1307076337763}{8543989815576}}{{\left(\left|x\right|\right)}^{4}} + \frac{600041}{2386628} \cdot \frac{1}{{\left(\left|x\right|\right)}^{2}}\right)}{\left|x\right|}\\ \end{array} \end{array} \]
(FPCore (x)
  :precision binary64
  (let* ((t_0 (* (fabs x) (fabs x)))
       (t_1 (* t_0 (fabs x)))
       (t_2 (* (* t_1 (fabs x)) (fabs x)))
       (t_3 (* t_2 t_1)))
  (*
   (copysign 1 x)
   (if (<= (fabs x) 50)
     (/
      (*
       (-
        (-
         (*
          t_0
          (+
           (*
            (fabs x)
            (+
             (* 2532017/5000000000 t_2)
             (* t_1 36322091/5000000000)))
           (- (* 106015151/2500000000 t_0) -1049934947/10000000000)))
         -1)
        (* t_3 (* -1789971/10000000000 t_0)))
       (fabs x))
      (-
       (*
        t_0
        (+
         (* t_3 (+ (* 1789971/5000000000 t_0) 1665589/2000000000))
         (*
          (fabs x)
          (+
           (* 70002721/5000000000 t_2)
           (* 694555761/10000000000 t_1)))))
       (-
        -1
        (*
         (- (* 2909738639/10000000000 t_0) -7715471019/10000000000)
         t_0))))
     (/
      (+
       1/2
       (+
        (/ 1307076337763/8543989815576 (pow (fabs x) 4))
        (* 600041/2386628 (/ 1 (pow (fabs x) 2)))))
      (fabs x))))))
double code(double x) {
	double t_0 = fabs(x) * fabs(x);
	double t_1 = t_0 * fabs(x);
	double t_2 = (t_1 * fabs(x)) * fabs(x);
	double t_3 = t_2 * t_1;
	double tmp;
	if (fabs(x) <= 50.0) {
		tmp = ((((t_0 * ((fabs(x) * ((0.0005064034 * t_2) + (t_1 * 0.0072644182))) + ((0.0424060604 * t_0) - -0.1049934947))) - -1.0) - (t_3 * (-0.0001789971 * t_0))) * fabs(x)) / ((t_0 * ((t_3 * ((0.0003579942 * t_0) + 0.0008327945)) + (fabs(x) * ((0.0140005442 * t_2) + (0.0694555761 * t_1))))) - (-1.0 - (((0.2909738639 * t_0) - -0.7715471019) * t_0)));
	} else {
		tmp = (0.5 + ((0.15298196345929074 / pow(fabs(x), 4.0)) + (0.2514179000665374 * (1.0 / pow(fabs(x), 2.0))))) / fabs(x);
	}
	return copysign(1.0, x) * tmp;
}
public static double code(double x) {
	double t_0 = Math.abs(x) * Math.abs(x);
	double t_1 = t_0 * Math.abs(x);
	double t_2 = (t_1 * Math.abs(x)) * Math.abs(x);
	double t_3 = t_2 * t_1;
	double tmp;
	if (Math.abs(x) <= 50.0) {
		tmp = ((((t_0 * ((Math.abs(x) * ((0.0005064034 * t_2) + (t_1 * 0.0072644182))) + ((0.0424060604 * t_0) - -0.1049934947))) - -1.0) - (t_3 * (-0.0001789971 * t_0))) * Math.abs(x)) / ((t_0 * ((t_3 * ((0.0003579942 * t_0) + 0.0008327945)) + (Math.abs(x) * ((0.0140005442 * t_2) + (0.0694555761 * t_1))))) - (-1.0 - (((0.2909738639 * t_0) - -0.7715471019) * t_0)));
	} else {
		tmp = (0.5 + ((0.15298196345929074 / Math.pow(Math.abs(x), 4.0)) + (0.2514179000665374 * (1.0 / Math.pow(Math.abs(x), 2.0))))) / Math.abs(x);
	}
	return Math.copySign(1.0, x) * tmp;
}
def code(x):
	t_0 = math.fabs(x) * math.fabs(x)
	t_1 = t_0 * math.fabs(x)
	t_2 = (t_1 * math.fabs(x)) * math.fabs(x)
	t_3 = t_2 * t_1
	tmp = 0
	if math.fabs(x) <= 50.0:
		tmp = ((((t_0 * ((math.fabs(x) * ((0.0005064034 * t_2) + (t_1 * 0.0072644182))) + ((0.0424060604 * t_0) - -0.1049934947))) - -1.0) - (t_3 * (-0.0001789971 * t_0))) * math.fabs(x)) / ((t_0 * ((t_3 * ((0.0003579942 * t_0) + 0.0008327945)) + (math.fabs(x) * ((0.0140005442 * t_2) + (0.0694555761 * t_1))))) - (-1.0 - (((0.2909738639 * t_0) - -0.7715471019) * t_0)))
	else:
		tmp = (0.5 + ((0.15298196345929074 / math.pow(math.fabs(x), 4.0)) + (0.2514179000665374 * (1.0 / math.pow(math.fabs(x), 2.0))))) / math.fabs(x)
	return math.copysign(1.0, x) * tmp
function code(x)
	t_0 = Float64(abs(x) * abs(x))
	t_1 = Float64(t_0 * abs(x))
	t_2 = Float64(Float64(t_1 * abs(x)) * abs(x))
	t_3 = Float64(t_2 * t_1)
	tmp = 0.0
	if (abs(x) <= 50.0)
		tmp = Float64(Float64(Float64(Float64(Float64(t_0 * Float64(Float64(abs(x) * Float64(Float64(0.0005064034 * t_2) + Float64(t_1 * 0.0072644182))) + Float64(Float64(0.0424060604 * t_0) - -0.1049934947))) - -1.0) - Float64(t_3 * Float64(-0.0001789971 * t_0))) * abs(x)) / Float64(Float64(t_0 * Float64(Float64(t_3 * Float64(Float64(0.0003579942 * t_0) + 0.0008327945)) + Float64(abs(x) * Float64(Float64(0.0140005442 * t_2) + Float64(0.0694555761 * t_1))))) - Float64(-1.0 - Float64(Float64(Float64(0.2909738639 * t_0) - -0.7715471019) * t_0))));
	else
		tmp = Float64(Float64(0.5 + Float64(Float64(0.15298196345929074 / (abs(x) ^ 4.0)) + Float64(0.2514179000665374 * Float64(1.0 / (abs(x) ^ 2.0))))) / abs(x));
	end
	return Float64(copysign(1.0, x) * tmp)
end
function tmp_2 = code(x)
	t_0 = abs(x) * abs(x);
	t_1 = t_0 * abs(x);
	t_2 = (t_1 * abs(x)) * abs(x);
	t_3 = t_2 * t_1;
	tmp = 0.0;
	if (abs(x) <= 50.0)
		tmp = ((((t_0 * ((abs(x) * ((0.0005064034 * t_2) + (t_1 * 0.0072644182))) + ((0.0424060604 * t_0) - -0.1049934947))) - -1.0) - (t_3 * (-0.0001789971 * t_0))) * abs(x)) / ((t_0 * ((t_3 * ((0.0003579942 * t_0) + 0.0008327945)) + (abs(x) * ((0.0140005442 * t_2) + (0.0694555761 * t_1))))) - (-1.0 - (((0.2909738639 * t_0) - -0.7715471019) * t_0)));
	else
		tmp = (0.5 + ((0.15298196345929074 / (abs(x) ^ 4.0)) + (0.2514179000665374 * (1.0 / (abs(x) ^ 2.0))))) / abs(x);
	end
	tmp_2 = (sign(x) * abs(1.0)) * tmp;
end
code[x_] := Block[{t$95$0 = N[(N[Abs[x], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(t$95$0 * N[Abs[x], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(t$95$1 * N[Abs[x], $MachinePrecision]), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t$95$2 * t$95$1), $MachinePrecision]}, N[(N[With[{TMP1 = Abs[1], TMP2 = Sign[x]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision] * If[LessEqual[N[Abs[x], $MachinePrecision], 50], N[(N[(N[(N[(N[(t$95$0 * N[(N[(N[Abs[x], $MachinePrecision] * N[(N[(2532017/5000000000 * t$95$2), $MachinePrecision] + N[(t$95$1 * 36322091/5000000000), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(106015151/2500000000 * t$95$0), $MachinePrecision] - -1049934947/10000000000), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - -1), $MachinePrecision] - N[(t$95$3 * N[(-1789971/10000000000 * t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision] / N[(N[(t$95$0 * N[(N[(t$95$3 * N[(N[(1789971/5000000000 * t$95$0), $MachinePrecision] + 1665589/2000000000), $MachinePrecision]), $MachinePrecision] + N[(N[Abs[x], $MachinePrecision] * N[(N[(70002721/5000000000 * t$95$2), $MachinePrecision] + N[(694555761/10000000000 * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(-1 - N[(N[(N[(2909738639/10000000000 * t$95$0), $MachinePrecision] - -7715471019/10000000000), $MachinePrecision] * t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(1/2 + N[(N[(1307076337763/8543989815576 / N[Power[N[Abs[x], $MachinePrecision], 4], $MachinePrecision]), $MachinePrecision] + N[(600041/2386628 * N[(1 / N[Power[N[Abs[x], $MachinePrecision], 2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Abs[x], $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]]]]]
\begin{array}{l}
t_0 := \left|x\right| \cdot \left|x\right|\\
t_1 := t\_0 \cdot \left|x\right|\\
t_2 := \left(t\_1 \cdot \left|x\right|\right) \cdot \left|x\right|\\
t_3 := t\_2 \cdot t\_1\\
\mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l}
\mathbf{if}\;\left|x\right| \leq 50:\\
\;\;\;\;\frac{\left(\left(t\_0 \cdot \left(\left|x\right| \cdot \left(\frac{2532017}{5000000000} \cdot t\_2 + t\_1 \cdot \frac{36322091}{5000000000}\right) + \left(\frac{106015151}{2500000000} \cdot t\_0 - \frac{-1049934947}{10000000000}\right)\right) - -1\right) - t\_3 \cdot \left(\frac{-1789971}{10000000000} \cdot t\_0\right)\right) \cdot \left|x\right|}{t\_0 \cdot \left(t\_3 \cdot \left(\frac{1789971}{5000000000} \cdot t\_0 + \frac{1665589}{2000000000}\right) + \left|x\right| \cdot \left(\frac{70002721}{5000000000} \cdot t\_2 + \frac{694555761}{10000000000} \cdot t\_1\right)\right) - \left(-1 - \left(\frac{2909738639}{10000000000} \cdot t\_0 - \frac{-7715471019}{10000000000}\right) \cdot t\_0\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{2} + \left(\frac{\frac{1307076337763}{8543989815576}}{{\left(\left|x\right|\right)}^{4}} + \frac{600041}{2386628} \cdot \frac{1}{{\left(\left|x\right|\right)}^{2}}\right)}{\left|x\right|}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < 50

    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Applied rewrites54.7%

      \[\leadsto \color{blue}{\frac{\left(\left(x \cdot x\right) \cdot \left(\left(\frac{36322091}{5000000000} \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot x + \left(\frac{2532017}{5000000000} \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\frac{1049934947}{10000000000} + \frac{106015151}{2500000000} \cdot \left(x \cdot x\right)\right) + 1\right)\right) - \left(\frac{-1789971}{10000000000} \cdot \left(x \cdot x\right)\right) \cdot \left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)}{\left(x \cdot x\right) \cdot \left(\left(\frac{1665589}{2000000000} \cdot \left(x \cdot x\right)\right) \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) + \left(\frac{1789971}{5000000000} \cdot \left(x \cdot x\right)\right) \cdot \left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\frac{694555761}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot x + \left(\frac{70002721}{5000000000} \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\frac{7715471019}{10000000000} + \frac{2909738639}{10000000000} \cdot \left(x \cdot x\right)\right) + 1\right)\right)}} \cdot x \]
    3. Applied rewrites54.7%

      \[\leadsto \color{blue}{\frac{\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot \left(\frac{2532017}{5000000000} \cdot \left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) + \left(\left(x \cdot x\right) \cdot x\right) \cdot \frac{36322091}{5000000000}\right) + \left(\frac{106015151}{2500000000} \cdot \left(x \cdot x\right) - \frac{-1049934947}{10000000000}\right)\right) - -1\right) - \left(\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(\frac{-1789971}{10000000000} \cdot \left(x \cdot x\right)\right)\right) \cdot x}{\left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(\frac{1789971}{5000000000} \cdot \left(x \cdot x\right) + \frac{1665589}{2000000000}\right) + x \cdot \left(\frac{70002721}{5000000000} \cdot \left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) + \frac{694555761}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot x\right)\right)\right) - \left(-1 - \left(\frac{2909738639}{10000000000} \cdot \left(x \cdot x\right) - \frac{-7715471019}{10000000000}\right) \cdot \left(x \cdot x\right)\right)}} \]

    if 50 < x

    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Taylor expanded in x around inf

      \[\leadsto \color{blue}{\frac{\frac{1}{2} + \left(\frac{\frac{1307076337763}{8543989815576}}{{x}^{4}} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}\right)}{x}} \]
    3. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \frac{\frac{1}{2} + \left(\frac{\frac{1307076337763}{8543989815576}}{{x}^{4}} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}\right)}{\color{blue}{x}} \]
    4. Applied rewrites50.5%

      \[\leadsto \color{blue}{\frac{\frac{1}{2} + \left(\frac{\frac{1307076337763}{8543989815576}}{{x}^{4}} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}\right)}{x}} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 2: 99.9% accurate, 0.8× speedup?

\[\begin{array}{l} t_0 := \left|x\right| \cdot \left|x\right|\\ t_1 := t\_0 \cdot \left|x\right|\\ t_2 := \left(t\_1 \cdot \left|x\right|\right) \cdot \left|x\right|\\ t_3 := t\_2 \cdot t\_1\\ \mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l} \mathbf{if}\;\left|x\right| \leq 50:\\ \;\;\;\;\frac{\left(t\_0 \cdot \left(\left|x\right| \cdot \left(\frac{2532017}{5000000000} \cdot t\_2 + t\_1 \cdot \frac{36322091}{5000000000}\right) + \left(\frac{106015151}{2500000000} \cdot t\_0 - \frac{-1049934947}{10000000000}\right)\right) - -1\right) - t\_3 \cdot \left(\frac{-1789971}{10000000000} \cdot t\_0\right)}{t\_0 \cdot \left(t\_3 \cdot \left(\frac{1789971}{5000000000} \cdot t\_0 + \frac{1665589}{2000000000}\right) + \left|x\right| \cdot \left(\frac{70002721}{5000000000} \cdot t\_2 + \frac{694555761}{10000000000} \cdot t\_1\right)\right) - \left(-1 - \left(\frac{2909738639}{10000000000} \cdot t\_0 - \frac{-7715471019}{10000000000}\right) \cdot t\_0\right)} \cdot \left|x\right|\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{2} + \left(\frac{\frac{1307076337763}{8543989815576}}{{\left(\left|x\right|\right)}^{4}} + \frac{600041}{2386628} \cdot \frac{1}{{\left(\left|x\right|\right)}^{2}}\right)}{\left|x\right|}\\ \end{array} \end{array} \]
(FPCore (x)
  :precision binary64
  (let* ((t_0 (* (fabs x) (fabs x)))
       (t_1 (* t_0 (fabs x)))
       (t_2 (* (* t_1 (fabs x)) (fabs x)))
       (t_3 (* t_2 t_1)))
  (*
   (copysign 1 x)
   (if (<= (fabs x) 50)
     (*
      (/
       (-
        (-
         (*
          t_0
          (+
           (*
            (fabs x)
            (+
             (* 2532017/5000000000 t_2)
             (* t_1 36322091/5000000000)))
           (- (* 106015151/2500000000 t_0) -1049934947/10000000000)))
         -1)
        (* t_3 (* -1789971/10000000000 t_0)))
       (-
        (*
         t_0
         (+
          (* t_3 (+ (* 1789971/5000000000 t_0) 1665589/2000000000))
          (*
           (fabs x)
           (+
            (* 70002721/5000000000 t_2)
            (* 694555761/10000000000 t_1)))))
        (-
         -1
         (*
          (- (* 2909738639/10000000000 t_0) -7715471019/10000000000)
          t_0))))
      (fabs x))
     (/
      (+
       1/2
       (+
        (/ 1307076337763/8543989815576 (pow (fabs x) 4))
        (* 600041/2386628 (/ 1 (pow (fabs x) 2)))))
      (fabs x))))))
double code(double x) {
	double t_0 = fabs(x) * fabs(x);
	double t_1 = t_0 * fabs(x);
	double t_2 = (t_1 * fabs(x)) * fabs(x);
	double t_3 = t_2 * t_1;
	double tmp;
	if (fabs(x) <= 50.0) {
		tmp = ((((t_0 * ((fabs(x) * ((0.0005064034 * t_2) + (t_1 * 0.0072644182))) + ((0.0424060604 * t_0) - -0.1049934947))) - -1.0) - (t_3 * (-0.0001789971 * t_0))) / ((t_0 * ((t_3 * ((0.0003579942 * t_0) + 0.0008327945)) + (fabs(x) * ((0.0140005442 * t_2) + (0.0694555761 * t_1))))) - (-1.0 - (((0.2909738639 * t_0) - -0.7715471019) * t_0)))) * fabs(x);
	} else {
		tmp = (0.5 + ((0.15298196345929074 / pow(fabs(x), 4.0)) + (0.2514179000665374 * (1.0 / pow(fabs(x), 2.0))))) / fabs(x);
	}
	return copysign(1.0, x) * tmp;
}
public static double code(double x) {
	double t_0 = Math.abs(x) * Math.abs(x);
	double t_1 = t_0 * Math.abs(x);
	double t_2 = (t_1 * Math.abs(x)) * Math.abs(x);
	double t_3 = t_2 * t_1;
	double tmp;
	if (Math.abs(x) <= 50.0) {
		tmp = ((((t_0 * ((Math.abs(x) * ((0.0005064034 * t_2) + (t_1 * 0.0072644182))) + ((0.0424060604 * t_0) - -0.1049934947))) - -1.0) - (t_3 * (-0.0001789971 * t_0))) / ((t_0 * ((t_3 * ((0.0003579942 * t_0) + 0.0008327945)) + (Math.abs(x) * ((0.0140005442 * t_2) + (0.0694555761 * t_1))))) - (-1.0 - (((0.2909738639 * t_0) - -0.7715471019) * t_0)))) * Math.abs(x);
	} else {
		tmp = (0.5 + ((0.15298196345929074 / Math.pow(Math.abs(x), 4.0)) + (0.2514179000665374 * (1.0 / Math.pow(Math.abs(x), 2.0))))) / Math.abs(x);
	}
	return Math.copySign(1.0, x) * tmp;
}
def code(x):
	t_0 = math.fabs(x) * math.fabs(x)
	t_1 = t_0 * math.fabs(x)
	t_2 = (t_1 * math.fabs(x)) * math.fabs(x)
	t_3 = t_2 * t_1
	tmp = 0
	if math.fabs(x) <= 50.0:
		tmp = ((((t_0 * ((math.fabs(x) * ((0.0005064034 * t_2) + (t_1 * 0.0072644182))) + ((0.0424060604 * t_0) - -0.1049934947))) - -1.0) - (t_3 * (-0.0001789971 * t_0))) / ((t_0 * ((t_3 * ((0.0003579942 * t_0) + 0.0008327945)) + (math.fabs(x) * ((0.0140005442 * t_2) + (0.0694555761 * t_1))))) - (-1.0 - (((0.2909738639 * t_0) - -0.7715471019) * t_0)))) * math.fabs(x)
	else:
		tmp = (0.5 + ((0.15298196345929074 / math.pow(math.fabs(x), 4.0)) + (0.2514179000665374 * (1.0 / math.pow(math.fabs(x), 2.0))))) / math.fabs(x)
	return math.copysign(1.0, x) * tmp
function code(x)
	t_0 = Float64(abs(x) * abs(x))
	t_1 = Float64(t_0 * abs(x))
	t_2 = Float64(Float64(t_1 * abs(x)) * abs(x))
	t_3 = Float64(t_2 * t_1)
	tmp = 0.0
	if (abs(x) <= 50.0)
		tmp = Float64(Float64(Float64(Float64(Float64(t_0 * Float64(Float64(abs(x) * Float64(Float64(0.0005064034 * t_2) + Float64(t_1 * 0.0072644182))) + Float64(Float64(0.0424060604 * t_0) - -0.1049934947))) - -1.0) - Float64(t_3 * Float64(-0.0001789971 * t_0))) / Float64(Float64(t_0 * Float64(Float64(t_3 * Float64(Float64(0.0003579942 * t_0) + 0.0008327945)) + Float64(abs(x) * Float64(Float64(0.0140005442 * t_2) + Float64(0.0694555761 * t_1))))) - Float64(-1.0 - Float64(Float64(Float64(0.2909738639 * t_0) - -0.7715471019) * t_0)))) * abs(x));
	else
		tmp = Float64(Float64(0.5 + Float64(Float64(0.15298196345929074 / (abs(x) ^ 4.0)) + Float64(0.2514179000665374 * Float64(1.0 / (abs(x) ^ 2.0))))) / abs(x));
	end
	return Float64(copysign(1.0, x) * tmp)
end
function tmp_2 = code(x)
	t_0 = abs(x) * abs(x);
	t_1 = t_0 * abs(x);
	t_2 = (t_1 * abs(x)) * abs(x);
	t_3 = t_2 * t_1;
	tmp = 0.0;
	if (abs(x) <= 50.0)
		tmp = ((((t_0 * ((abs(x) * ((0.0005064034 * t_2) + (t_1 * 0.0072644182))) + ((0.0424060604 * t_0) - -0.1049934947))) - -1.0) - (t_3 * (-0.0001789971 * t_0))) / ((t_0 * ((t_3 * ((0.0003579942 * t_0) + 0.0008327945)) + (abs(x) * ((0.0140005442 * t_2) + (0.0694555761 * t_1))))) - (-1.0 - (((0.2909738639 * t_0) - -0.7715471019) * t_0)))) * abs(x);
	else
		tmp = (0.5 + ((0.15298196345929074 / (abs(x) ^ 4.0)) + (0.2514179000665374 * (1.0 / (abs(x) ^ 2.0))))) / abs(x);
	end
	tmp_2 = (sign(x) * abs(1.0)) * tmp;
end
code[x_] := Block[{t$95$0 = N[(N[Abs[x], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(t$95$0 * N[Abs[x], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(t$95$1 * N[Abs[x], $MachinePrecision]), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t$95$2 * t$95$1), $MachinePrecision]}, N[(N[With[{TMP1 = Abs[1], TMP2 = Sign[x]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision] * If[LessEqual[N[Abs[x], $MachinePrecision], 50], N[(N[(N[(N[(N[(t$95$0 * N[(N[(N[Abs[x], $MachinePrecision] * N[(N[(2532017/5000000000 * t$95$2), $MachinePrecision] + N[(t$95$1 * 36322091/5000000000), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(106015151/2500000000 * t$95$0), $MachinePrecision] - -1049934947/10000000000), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - -1), $MachinePrecision] - N[(t$95$3 * N[(-1789971/10000000000 * t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(t$95$0 * N[(N[(t$95$3 * N[(N[(1789971/5000000000 * t$95$0), $MachinePrecision] + 1665589/2000000000), $MachinePrecision]), $MachinePrecision] + N[(N[Abs[x], $MachinePrecision] * N[(N[(70002721/5000000000 * t$95$2), $MachinePrecision] + N[(694555761/10000000000 * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(-1 - N[(N[(N[(2909738639/10000000000 * t$95$0), $MachinePrecision] - -7715471019/10000000000), $MachinePrecision] * t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision], N[(N[(1/2 + N[(N[(1307076337763/8543989815576 / N[Power[N[Abs[x], $MachinePrecision], 4], $MachinePrecision]), $MachinePrecision] + N[(600041/2386628 * N[(1 / N[Power[N[Abs[x], $MachinePrecision], 2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Abs[x], $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]]]]]
\begin{array}{l}
t_0 := \left|x\right| \cdot \left|x\right|\\
t_1 := t\_0 \cdot \left|x\right|\\
t_2 := \left(t\_1 \cdot \left|x\right|\right) \cdot \left|x\right|\\
t_3 := t\_2 \cdot t\_1\\
\mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l}
\mathbf{if}\;\left|x\right| \leq 50:\\
\;\;\;\;\frac{\left(t\_0 \cdot \left(\left|x\right| \cdot \left(\frac{2532017}{5000000000} \cdot t\_2 + t\_1 \cdot \frac{36322091}{5000000000}\right) + \left(\frac{106015151}{2500000000} \cdot t\_0 - \frac{-1049934947}{10000000000}\right)\right) - -1\right) - t\_3 \cdot \left(\frac{-1789971}{10000000000} \cdot t\_0\right)}{t\_0 \cdot \left(t\_3 \cdot \left(\frac{1789971}{5000000000} \cdot t\_0 + \frac{1665589}{2000000000}\right) + \left|x\right| \cdot \left(\frac{70002721}{5000000000} \cdot t\_2 + \frac{694555761}{10000000000} \cdot t\_1\right)\right) - \left(-1 - \left(\frac{2909738639}{10000000000} \cdot t\_0 - \frac{-7715471019}{10000000000}\right) \cdot t\_0\right)} \cdot \left|x\right|\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{2} + \left(\frac{\frac{1307076337763}{8543989815576}}{{\left(\left|x\right|\right)}^{4}} + \frac{600041}{2386628} \cdot \frac{1}{{\left(\left|x\right|\right)}^{2}}\right)}{\left|x\right|}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < 50

    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Applied rewrites54.7%

      \[\leadsto \color{blue}{\frac{\left(\left(x \cdot x\right) \cdot \left(\left(\frac{36322091}{5000000000} \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot x + \left(\frac{2532017}{5000000000} \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\frac{1049934947}{10000000000} + \frac{106015151}{2500000000} \cdot \left(x \cdot x\right)\right) + 1\right)\right) - \left(\frac{-1789971}{10000000000} \cdot \left(x \cdot x\right)\right) \cdot \left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)}{\left(x \cdot x\right) \cdot \left(\left(\frac{1665589}{2000000000} \cdot \left(x \cdot x\right)\right) \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) + \left(\frac{1789971}{5000000000} \cdot \left(x \cdot x\right)\right) \cdot \left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\frac{694555761}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot x + \left(\frac{70002721}{5000000000} \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\frac{7715471019}{10000000000} + \frac{2909738639}{10000000000} \cdot \left(x \cdot x\right)\right) + 1\right)\right)}} \cdot x \]
    3. Applied rewrites54.7%

      \[\leadsto \color{blue}{\frac{\left(\left(x \cdot x\right) \cdot \left(x \cdot \left(\frac{2532017}{5000000000} \cdot \left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) + \left(\left(x \cdot x\right) \cdot x\right) \cdot \frac{36322091}{5000000000}\right) + \left(\frac{106015151}{2500000000} \cdot \left(x \cdot x\right) - \frac{-1049934947}{10000000000}\right)\right) - -1\right) - \left(\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(\frac{-1789971}{10000000000} \cdot \left(x \cdot x\right)\right)}{\left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) \cdot \left(\frac{1789971}{5000000000} \cdot \left(x \cdot x\right) + \frac{1665589}{2000000000}\right) + x \cdot \left(\frac{70002721}{5000000000} \cdot \left(\left(\left(\left(x \cdot x\right) \cdot x\right) \cdot x\right) \cdot x\right) + \frac{694555761}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot x\right)\right)\right) - \left(-1 - \left(\frac{2909738639}{10000000000} \cdot \left(x \cdot x\right) - \frac{-7715471019}{10000000000}\right) \cdot \left(x \cdot x\right)\right)}} \cdot x \]

    if 50 < x

    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Taylor expanded in x around inf

      \[\leadsto \color{blue}{\frac{\frac{1}{2} + \left(\frac{\frac{1307076337763}{8543989815576}}{{x}^{4}} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}\right)}{x}} \]
    3. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \frac{\frac{1}{2} + \left(\frac{\frac{1307076337763}{8543989815576}}{{x}^{4}} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}\right)}{\color{blue}{x}} \]
    4. Applied rewrites50.5%

      \[\leadsto \color{blue}{\frac{\frac{1}{2} + \left(\frac{\frac{1307076337763}{8543989815576}}{{x}^{4}} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}\right)}{x}} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 3: 99.6% accurate, 1.1× speedup?

\[\mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l} \mathbf{if}\;\left|x\right| \leq \frac{2589569785738035}{2251799813685248}:\\ \;\;\;\;\left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot \left(\left|x\right| \cdot \left|x\right|\right) - \frac{833192009}{1250000000}\right) \cdot \left|x\right|\right) \cdot \left|x\right| - -1\right) \cdot \left|x\right|\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{2} + \left(\frac{\frac{1307076337763}{8543989815576}}{{\left(\left|x\right|\right)}^{4}} + \frac{600041}{2386628} \cdot \frac{1}{{\left(\left|x\right|\right)}^{2}}\right)}{\left|x\right|}\\ \end{array} \]
(FPCore (x)
  :precision binary64
  (*
 (copysign 1 x)
 (if (<= (fabs x) 2589569785738035/2251799813685248)
   (*
    (-
     (*
      (*
       (-
        (*
         3321371254951887171/12500000000000000000
         (* (fabs x) (fabs x)))
        833192009/1250000000)
       (fabs x))
      (fabs x))
     -1)
    (fabs x))
   (/
    (+
     1/2
     (+
      (/ 1307076337763/8543989815576 (pow (fabs x) 4))
      (* 600041/2386628 (/ 1 (pow (fabs x) 2)))))
    (fabs x)))))
double code(double x) {
	double tmp;
	if (fabs(x) <= 1.15) {
		tmp = (((((0.265709700396151 * (fabs(x) * fabs(x))) - 0.6665536072) * fabs(x)) * fabs(x)) - -1.0) * fabs(x);
	} else {
		tmp = (0.5 + ((0.15298196345929074 / pow(fabs(x), 4.0)) + (0.2514179000665374 * (1.0 / pow(fabs(x), 2.0))))) / fabs(x);
	}
	return copysign(1.0, x) * tmp;
}
public static double code(double x) {
	double tmp;
	if (Math.abs(x) <= 1.15) {
		tmp = (((((0.265709700396151 * (Math.abs(x) * Math.abs(x))) - 0.6665536072) * Math.abs(x)) * Math.abs(x)) - -1.0) * Math.abs(x);
	} else {
		tmp = (0.5 + ((0.15298196345929074 / Math.pow(Math.abs(x), 4.0)) + (0.2514179000665374 * (1.0 / Math.pow(Math.abs(x), 2.0))))) / Math.abs(x);
	}
	return Math.copySign(1.0, x) * tmp;
}
def code(x):
	tmp = 0
	if math.fabs(x) <= 1.15:
		tmp = (((((0.265709700396151 * (math.fabs(x) * math.fabs(x))) - 0.6665536072) * math.fabs(x)) * math.fabs(x)) - -1.0) * math.fabs(x)
	else:
		tmp = (0.5 + ((0.15298196345929074 / math.pow(math.fabs(x), 4.0)) + (0.2514179000665374 * (1.0 / math.pow(math.fabs(x), 2.0))))) / math.fabs(x)
	return math.copysign(1.0, x) * tmp
function code(x)
	tmp = 0.0
	if (abs(x) <= 1.15)
		tmp = Float64(Float64(Float64(Float64(Float64(Float64(0.265709700396151 * Float64(abs(x) * abs(x))) - 0.6665536072) * abs(x)) * abs(x)) - -1.0) * abs(x));
	else
		tmp = Float64(Float64(0.5 + Float64(Float64(0.15298196345929074 / (abs(x) ^ 4.0)) + Float64(0.2514179000665374 * Float64(1.0 / (abs(x) ^ 2.0))))) / abs(x));
	end
	return Float64(copysign(1.0, x) * tmp)
end
function tmp_2 = code(x)
	tmp = 0.0;
	if (abs(x) <= 1.15)
		tmp = (((((0.265709700396151 * (abs(x) * abs(x))) - 0.6665536072) * abs(x)) * abs(x)) - -1.0) * abs(x);
	else
		tmp = (0.5 + ((0.15298196345929074 / (abs(x) ^ 4.0)) + (0.2514179000665374 * (1.0 / (abs(x) ^ 2.0))))) / abs(x);
	end
	tmp_2 = (sign(x) * abs(1.0)) * tmp;
end
code[x_] := N[(N[With[{TMP1 = Abs[1], TMP2 = Sign[x]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision] * If[LessEqual[N[Abs[x], $MachinePrecision], 2589569785738035/2251799813685248], N[(N[(N[(N[(N[(N[(3321371254951887171/12500000000000000000 * N[(N[Abs[x], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - 833192009/1250000000), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision] - -1), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision], N[(N[(1/2 + N[(N[(1307076337763/8543989815576 / N[Power[N[Abs[x], $MachinePrecision], 4], $MachinePrecision]), $MachinePrecision] + N[(600041/2386628 * N[(1 / N[Power[N[Abs[x], $MachinePrecision], 2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Abs[x], $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l}
\mathbf{if}\;\left|x\right| \leq \frac{2589569785738035}{2251799813685248}:\\
\;\;\;\;\left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot \left(\left|x\right| \cdot \left|x\right|\right) - \frac{833192009}{1250000000}\right) \cdot \left|x\right|\right) \cdot \left|x\right| - -1\right) \cdot \left|x\right|\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{2} + \left(\frac{\frac{1307076337763}{8543989815576}}{{\left(\left|x\right|\right)}^{4}} + \frac{600041}{2386628} \cdot \frac{1}{{\left(\left|x\right|\right)}^{2}}\right)}{\left|x\right|}\\


\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < 1.1499999999999999

    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(1 + \frac{-833192009}{1250000000} \cdot {x}^{2}\right)} \cdot x \]
    3. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \left(1 + \color{blue}{\frac{-833192009}{1250000000} \cdot {x}^{2}}\right) \cdot x \]
      2. lower-*.f64N/A

        \[\leadsto \left(1 + \frac{-833192009}{1250000000} \cdot \color{blue}{{x}^{2}}\right) \cdot x \]
      3. lower-pow.f6450.9%

        \[\leadsto \left(1 + \frac{-833192009}{1250000000} \cdot {x}^{\color{blue}{2}}\right) \cdot x \]
    4. Applied rewrites50.9%

      \[\leadsto \color{blue}{\left(1 + \frac{-833192009}{1250000000} \cdot {x}^{2}\right)} \cdot x \]
    5. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(1 + {x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right)\right)} \cdot x \]
    6. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \left(1 + \color{blue}{{x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right)}\right) \cdot x \]
      2. lower-*.f64N/A

        \[\leadsto \left(1 + {x}^{2} \cdot \color{blue}{\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right)}\right) \cdot x \]
    7. Applied rewrites51.7%

      \[\leadsto \color{blue}{\left(1 + {x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right)\right)} \cdot x \]
    8. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \left(1 + \color{blue}{{x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right)}\right) \cdot x \]
      2. +-commutativeN/A

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) + \color{blue}{1}\right) \cdot x \]
      3. add-flipN/A

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right) \cdot x \]
      4. metadata-evalN/A

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - -1\right) \cdot x \]
      5. lower--.f6451.7%

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - \color{blue}{-1}\right) \cdot x \]
      6. lift-*.f64N/A

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - -1\right) \cdot x \]
      7. lift-pow.f64N/A

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - -1\right) \cdot x \]
      8. pow2N/A

        \[\leadsto \left(\left(x \cdot x\right) \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - -1\right) \cdot x \]
      9. *-commutativeN/A

        \[\leadsto \left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) \cdot \left(x \cdot x\right) - -1\right) \cdot x \]
      10. associate-*r*N/A

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
      11. lower-*.f64N/A

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
      12. lower-*.f6451.7%

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
      13. lift-pow.f64N/A

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
      14. pow2N/A

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot \left(x \cdot x\right) - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
      15. lift-*.f6451.7%

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot \left(x \cdot x\right) - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
    9. Applied rewrites51.7%

      \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot \left(x \cdot x\right) - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - \color{blue}{-1}\right) \cdot x \]

    if 1.1499999999999999 < x

    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Taylor expanded in x around inf

      \[\leadsto \color{blue}{\frac{\frac{1}{2} + \left(\frac{\frac{1307076337763}{8543989815576}}{{x}^{4}} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}\right)}{x}} \]
    3. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \frac{\frac{1}{2} + \left(\frac{\frac{1307076337763}{8543989815576}}{{x}^{4}} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}\right)}{\color{blue}{x}} \]
    4. Applied rewrites50.5%

      \[\leadsto \color{blue}{\frac{\frac{1}{2} + \left(\frac{\frac{1307076337763}{8543989815576}}{{x}^{4}} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}\right)}{x}} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 4: 99.5% accurate, 2.6× speedup?

\[\begin{array}{l} t_0 := \left|x\right| \cdot \left|x\right|\\ \mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l} \mathbf{if}\;\left|x\right| \leq \frac{2476979795053773}{2251799813685248}:\\ \;\;\;\;\left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot t\_0 - \frac{833192009}{1250000000}\right) \cdot \left|x\right|\right) \cdot \left|x\right| - -1\right) \cdot \left|x\right|\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{2}}{\left|x\right|} + \frac{\frac{600041}{2386628}}{t\_0 \cdot \left|x\right|}\\ \end{array} \end{array} \]
(FPCore (x)
  :precision binary64
  (let* ((t_0 (* (fabs x) (fabs x))))
  (*
   (copysign 1 x)
   (if (<= (fabs x) 2476979795053773/2251799813685248)
     (*
      (-
       (*
        (*
         (-
          (* 3321371254951887171/12500000000000000000 t_0)
          833192009/1250000000)
         (fabs x))
        (fabs x))
       -1)
      (fabs x))
     (+ (/ 1/2 (fabs x)) (/ 600041/2386628 (* t_0 (fabs x))))))))
double code(double x) {
	double t_0 = fabs(x) * fabs(x);
	double tmp;
	if (fabs(x) <= 1.1) {
		tmp = (((((0.265709700396151 * t_0) - 0.6665536072) * fabs(x)) * fabs(x)) - -1.0) * fabs(x);
	} else {
		tmp = (0.5 / fabs(x)) + (0.2514179000665374 / (t_0 * fabs(x)));
	}
	return copysign(1.0, x) * tmp;
}
public static double code(double x) {
	double t_0 = Math.abs(x) * Math.abs(x);
	double tmp;
	if (Math.abs(x) <= 1.1) {
		tmp = (((((0.265709700396151 * t_0) - 0.6665536072) * Math.abs(x)) * Math.abs(x)) - -1.0) * Math.abs(x);
	} else {
		tmp = (0.5 / Math.abs(x)) + (0.2514179000665374 / (t_0 * Math.abs(x)));
	}
	return Math.copySign(1.0, x) * tmp;
}
def code(x):
	t_0 = math.fabs(x) * math.fabs(x)
	tmp = 0
	if math.fabs(x) <= 1.1:
		tmp = (((((0.265709700396151 * t_0) - 0.6665536072) * math.fabs(x)) * math.fabs(x)) - -1.0) * math.fabs(x)
	else:
		tmp = (0.5 / math.fabs(x)) + (0.2514179000665374 / (t_0 * math.fabs(x)))
	return math.copysign(1.0, x) * tmp
function code(x)
	t_0 = Float64(abs(x) * abs(x))
	tmp = 0.0
	if (abs(x) <= 1.1)
		tmp = Float64(Float64(Float64(Float64(Float64(Float64(0.265709700396151 * t_0) - 0.6665536072) * abs(x)) * abs(x)) - -1.0) * abs(x));
	else
		tmp = Float64(Float64(0.5 / abs(x)) + Float64(0.2514179000665374 / Float64(t_0 * abs(x))));
	end
	return Float64(copysign(1.0, x) * tmp)
end
function tmp_2 = code(x)
	t_0 = abs(x) * abs(x);
	tmp = 0.0;
	if (abs(x) <= 1.1)
		tmp = (((((0.265709700396151 * t_0) - 0.6665536072) * abs(x)) * abs(x)) - -1.0) * abs(x);
	else
		tmp = (0.5 / abs(x)) + (0.2514179000665374 / (t_0 * abs(x)));
	end
	tmp_2 = (sign(x) * abs(1.0)) * tmp;
end
code[x_] := Block[{t$95$0 = N[(N[Abs[x], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]}, N[(N[With[{TMP1 = Abs[1], TMP2 = Sign[x]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision] * If[LessEqual[N[Abs[x], $MachinePrecision], 2476979795053773/2251799813685248], N[(N[(N[(N[(N[(N[(3321371254951887171/12500000000000000000 * t$95$0), $MachinePrecision] - 833192009/1250000000), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision] - -1), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision], N[(N[(1/2 / N[Abs[x], $MachinePrecision]), $MachinePrecision] + N[(600041/2386628 / N[(t$95$0 * N[Abs[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]]
\begin{array}{l}
t_0 := \left|x\right| \cdot \left|x\right|\\
\mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l}
\mathbf{if}\;\left|x\right| \leq \frac{2476979795053773}{2251799813685248}:\\
\;\;\;\;\left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot t\_0 - \frac{833192009}{1250000000}\right) \cdot \left|x\right|\right) \cdot \left|x\right| - -1\right) \cdot \left|x\right|\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{2}}{\left|x\right|} + \frac{\frac{600041}{2386628}}{t\_0 \cdot \left|x\right|}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < 1.1000000000000001

    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(1 + \frac{-833192009}{1250000000} \cdot {x}^{2}\right)} \cdot x \]
    3. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \left(1 + \color{blue}{\frac{-833192009}{1250000000} \cdot {x}^{2}}\right) \cdot x \]
      2. lower-*.f64N/A

        \[\leadsto \left(1 + \frac{-833192009}{1250000000} \cdot \color{blue}{{x}^{2}}\right) \cdot x \]
      3. lower-pow.f6450.9%

        \[\leadsto \left(1 + \frac{-833192009}{1250000000} \cdot {x}^{\color{blue}{2}}\right) \cdot x \]
    4. Applied rewrites50.9%

      \[\leadsto \color{blue}{\left(1 + \frac{-833192009}{1250000000} \cdot {x}^{2}\right)} \cdot x \]
    5. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(1 + {x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right)\right)} \cdot x \]
    6. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \left(1 + \color{blue}{{x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right)}\right) \cdot x \]
      2. lower-*.f64N/A

        \[\leadsto \left(1 + {x}^{2} \cdot \color{blue}{\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right)}\right) \cdot x \]
    7. Applied rewrites51.7%

      \[\leadsto \color{blue}{\left(1 + {x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right)\right)} \cdot x \]
    8. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \left(1 + \color{blue}{{x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right)}\right) \cdot x \]
      2. +-commutativeN/A

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) + \color{blue}{1}\right) \cdot x \]
      3. add-flipN/A

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right) \cdot x \]
      4. metadata-evalN/A

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - -1\right) \cdot x \]
      5. lower--.f6451.7%

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - \color{blue}{-1}\right) \cdot x \]
      6. lift-*.f64N/A

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - -1\right) \cdot x \]
      7. lift-pow.f64N/A

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - -1\right) \cdot x \]
      8. pow2N/A

        \[\leadsto \left(\left(x \cdot x\right) \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - -1\right) \cdot x \]
      9. *-commutativeN/A

        \[\leadsto \left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) \cdot \left(x \cdot x\right) - -1\right) \cdot x \]
      10. associate-*r*N/A

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
      11. lower-*.f64N/A

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
      12. lower-*.f6451.7%

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
      13. lift-pow.f64N/A

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
      14. pow2N/A

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot \left(x \cdot x\right) - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
      15. lift-*.f6451.7%

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot \left(x \cdot x\right) - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
    9. Applied rewrites51.7%

      \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot \left(x \cdot x\right) - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - \color{blue}{-1}\right) \cdot x \]

    if 1.1000000000000001 < x

    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Taylor expanded in x around inf

      \[\leadsto \color{blue}{\frac{\frac{1}{2} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{x}} \]
    3. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \frac{\frac{1}{2} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{\color{blue}{x}} \]
    4. Applied rewrites50.6%

      \[\leadsto \color{blue}{\frac{\frac{1}{2} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{x}} \]
    5. Step-by-step derivation
      1. lift-/.f64N/A

        \[\leadsto \frac{\frac{1}{2} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{\color{blue}{x}} \]
      2. lift-+.f64N/A

        \[\leadsto \frac{\frac{1}{2} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{x} \]
      3. div-addN/A

        \[\leadsto \frac{\frac{1}{2}}{x} + \color{blue}{\frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{x}} \]
      4. lift-/.f64N/A

        \[\leadsto \frac{\frac{1}{2}}{x} + \frac{\color{blue}{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}}{x} \]
      5. lower-+.f64N/A

        \[\leadsto \frac{\frac{1}{2}}{x} + \color{blue}{\frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{x}} \]
      6. lift-*.f64N/A

        \[\leadsto \frac{\frac{1}{2}}{x} + \frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{x} \]
      7. lift-/.f64N/A

        \[\leadsto \frac{\frac{1}{2}}{x} + \frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{x} \]
      8. lift-pow.f64N/A

        \[\leadsto \frac{\frac{1}{2}}{x} + \frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{x} \]
      9. pow2N/A

        \[\leadsto \frac{\frac{1}{2}}{x} + \frac{\frac{600041}{2386628} \cdot \frac{1}{x \cdot x}}{x} \]
      10. mult-flip-revN/A

        \[\leadsto \frac{\frac{1}{2}}{x} + \frac{\frac{\frac{600041}{2386628}}{x \cdot x}}{x} \]
      11. associate-/l/N/A

        \[\leadsto \frac{\frac{1}{2}}{x} + \frac{\frac{600041}{2386628}}{\color{blue}{\left(x \cdot x\right) \cdot x}} \]
      12. lower-/.f64N/A

        \[\leadsto \frac{\frac{1}{2}}{x} + \frac{\frac{600041}{2386628}}{\color{blue}{\left(x \cdot x\right) \cdot x}} \]
      13. lower-*.f64N/A

        \[\leadsto \frac{\frac{1}{2}}{x} + \frac{\frac{600041}{2386628}}{\left(x \cdot x\right) \cdot \color{blue}{x}} \]
      14. lower-*.f6450.6%

        \[\leadsto \frac{\frac{1}{2}}{x} + \frac{\frac{600041}{2386628}}{\left(x \cdot x\right) \cdot x} \]
    6. Applied rewrites50.6%

      \[\leadsto \frac{\frac{1}{2}}{x} + \color{blue}{\frac{\frac{600041}{2386628}}{\left(x \cdot x\right) \cdot x}} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 5: 99.5% accurate, 2.7× speedup?

\[\begin{array}{l} t_0 := \left|x\right| \cdot \left|x\right|\\ \mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l} \mathbf{if}\;\left|x\right| \leq \frac{2476979795053773}{2251799813685248}:\\ \;\;\;\;\left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot t\_0 - \frac{833192009}{1250000000}\right) \cdot \left|x\right|\right) \cdot \left|x\right| - -1\right) \cdot \left|x\right|\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{600041}{2386628}}{t\_0} - \frac{-1}{2}}{\left|x\right|}\\ \end{array} \end{array} \]
(FPCore (x)
  :precision binary64
  (let* ((t_0 (* (fabs x) (fabs x))))
  (*
   (copysign 1 x)
   (if (<= (fabs x) 2476979795053773/2251799813685248)
     (*
      (-
       (*
        (*
         (-
          (* 3321371254951887171/12500000000000000000 t_0)
          833192009/1250000000)
         (fabs x))
        (fabs x))
       -1)
      (fabs x))
     (/ (- (/ 600041/2386628 t_0) -1/2) (fabs x))))))
double code(double x) {
	double t_0 = fabs(x) * fabs(x);
	double tmp;
	if (fabs(x) <= 1.1) {
		tmp = (((((0.265709700396151 * t_0) - 0.6665536072) * fabs(x)) * fabs(x)) - -1.0) * fabs(x);
	} else {
		tmp = ((0.2514179000665374 / t_0) - -0.5) / fabs(x);
	}
	return copysign(1.0, x) * tmp;
}
public static double code(double x) {
	double t_0 = Math.abs(x) * Math.abs(x);
	double tmp;
	if (Math.abs(x) <= 1.1) {
		tmp = (((((0.265709700396151 * t_0) - 0.6665536072) * Math.abs(x)) * Math.abs(x)) - -1.0) * Math.abs(x);
	} else {
		tmp = ((0.2514179000665374 / t_0) - -0.5) / Math.abs(x);
	}
	return Math.copySign(1.0, x) * tmp;
}
def code(x):
	t_0 = math.fabs(x) * math.fabs(x)
	tmp = 0
	if math.fabs(x) <= 1.1:
		tmp = (((((0.265709700396151 * t_0) - 0.6665536072) * math.fabs(x)) * math.fabs(x)) - -1.0) * math.fabs(x)
	else:
		tmp = ((0.2514179000665374 / t_0) - -0.5) / math.fabs(x)
	return math.copysign(1.0, x) * tmp
function code(x)
	t_0 = Float64(abs(x) * abs(x))
	tmp = 0.0
	if (abs(x) <= 1.1)
		tmp = Float64(Float64(Float64(Float64(Float64(Float64(0.265709700396151 * t_0) - 0.6665536072) * abs(x)) * abs(x)) - -1.0) * abs(x));
	else
		tmp = Float64(Float64(Float64(0.2514179000665374 / t_0) - -0.5) / abs(x));
	end
	return Float64(copysign(1.0, x) * tmp)
end
function tmp_2 = code(x)
	t_0 = abs(x) * abs(x);
	tmp = 0.0;
	if (abs(x) <= 1.1)
		tmp = (((((0.265709700396151 * t_0) - 0.6665536072) * abs(x)) * abs(x)) - -1.0) * abs(x);
	else
		tmp = ((0.2514179000665374 / t_0) - -0.5) / abs(x);
	end
	tmp_2 = (sign(x) * abs(1.0)) * tmp;
end
code[x_] := Block[{t$95$0 = N[(N[Abs[x], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]}, N[(N[With[{TMP1 = Abs[1], TMP2 = Sign[x]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision] * If[LessEqual[N[Abs[x], $MachinePrecision], 2476979795053773/2251799813685248], N[(N[(N[(N[(N[(N[(3321371254951887171/12500000000000000000 * t$95$0), $MachinePrecision] - 833192009/1250000000), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision] - -1), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision], N[(N[(N[(600041/2386628 / t$95$0), $MachinePrecision] - -1/2), $MachinePrecision] / N[Abs[x], $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]]
\begin{array}{l}
t_0 := \left|x\right| \cdot \left|x\right|\\
\mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l}
\mathbf{if}\;\left|x\right| \leq \frac{2476979795053773}{2251799813685248}:\\
\;\;\;\;\left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot t\_0 - \frac{833192009}{1250000000}\right) \cdot \left|x\right|\right) \cdot \left|x\right| - -1\right) \cdot \left|x\right|\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{600041}{2386628}}{t\_0} - \frac{-1}{2}}{\left|x\right|}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < 1.1000000000000001

    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(1 + \frac{-833192009}{1250000000} \cdot {x}^{2}\right)} \cdot x \]
    3. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \left(1 + \color{blue}{\frac{-833192009}{1250000000} \cdot {x}^{2}}\right) \cdot x \]
      2. lower-*.f64N/A

        \[\leadsto \left(1 + \frac{-833192009}{1250000000} \cdot \color{blue}{{x}^{2}}\right) \cdot x \]
      3. lower-pow.f6450.9%

        \[\leadsto \left(1 + \frac{-833192009}{1250000000} \cdot {x}^{\color{blue}{2}}\right) \cdot x \]
    4. Applied rewrites50.9%

      \[\leadsto \color{blue}{\left(1 + \frac{-833192009}{1250000000} \cdot {x}^{2}\right)} \cdot x \]
    5. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(1 + {x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right)\right)} \cdot x \]
    6. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \left(1 + \color{blue}{{x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right)}\right) \cdot x \]
      2. lower-*.f64N/A

        \[\leadsto \left(1 + {x}^{2} \cdot \color{blue}{\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right)}\right) \cdot x \]
    7. Applied rewrites51.7%

      \[\leadsto \color{blue}{\left(1 + {x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right)\right)} \cdot x \]
    8. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \left(1 + \color{blue}{{x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right)}\right) \cdot x \]
      2. +-commutativeN/A

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) + \color{blue}{1}\right) \cdot x \]
      3. add-flipN/A

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right) \cdot x \]
      4. metadata-evalN/A

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - -1\right) \cdot x \]
      5. lower--.f6451.7%

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - \color{blue}{-1}\right) \cdot x \]
      6. lift-*.f64N/A

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - -1\right) \cdot x \]
      7. lift-pow.f64N/A

        \[\leadsto \left({x}^{2} \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - -1\right) \cdot x \]
      8. pow2N/A

        \[\leadsto \left(\left(x \cdot x\right) \cdot \left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) - -1\right) \cdot x \]
      9. *-commutativeN/A

        \[\leadsto \left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) \cdot \left(x \cdot x\right) - -1\right) \cdot x \]
      10. associate-*r*N/A

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
      11. lower-*.f64N/A

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
      12. lower-*.f6451.7%

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
      13. lift-pow.f64N/A

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot {x}^{2} - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
      14. pow2N/A

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot \left(x \cdot x\right) - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
      15. lift-*.f6451.7%

        \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot \left(x \cdot x\right) - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - -1\right) \cdot x \]
    9. Applied rewrites51.7%

      \[\leadsto \left(\left(\left(\frac{3321371254951887171}{12500000000000000000} \cdot \left(x \cdot x\right) - \frac{833192009}{1250000000}\right) \cdot x\right) \cdot x - \color{blue}{-1}\right) \cdot x \]

    if 1.1000000000000001 < x

    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Taylor expanded in x around inf

      \[\leadsto \color{blue}{\frac{\frac{1}{2} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{x}} \]
    3. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \frac{\frac{1}{2} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{\color{blue}{x}} \]
    4. Applied rewrites50.6%

      \[\leadsto \color{blue}{\frac{\frac{1}{2} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{x}} \]
    5. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \frac{\frac{1}{2} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{x} \]
      2. +-commutativeN/A

        \[\leadsto \frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}} + \frac{1}{2}}{x} \]
      3. add-flipN/A

        \[\leadsto \frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      4. lower--.f64N/A

        \[\leadsto \frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      5. lift-*.f64N/A

        \[\leadsto \frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      6. lift-/.f64N/A

        \[\leadsto \frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      7. lift-pow.f64N/A

        \[\leadsto \frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      8. pow2N/A

        \[\leadsto \frac{\frac{600041}{2386628} \cdot \frac{1}{x \cdot x} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      9. mult-flip-revN/A

        \[\leadsto \frac{\frac{\frac{600041}{2386628}}{x \cdot x} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      10. lower-/.f64N/A

        \[\leadsto \frac{\frac{\frac{600041}{2386628}}{x \cdot x} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      11. lower-*.f64N/A

        \[\leadsto \frac{\frac{\frac{600041}{2386628}}{x \cdot x} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      12. metadata-eval50.6%

        \[\leadsto \frac{\frac{\frac{600041}{2386628}}{x \cdot x} - \frac{-1}{2}}{x} \]
    6. Applied rewrites50.6%

      \[\leadsto \frac{\frac{\frac{600041}{2386628}}{x \cdot x} - \frac{-1}{2}}{x} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 6: 99.4% accurate, 2.7× speedup?

\[\begin{array}{l} t_0 := \left|x\right| \cdot \left|x\right|\\ \mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l} \mathbf{if}\;\left|x\right| \leq \frac{5}{4}:\\ \;\;\;\;\left(\frac{-833192009}{1250000000} \cdot t\_0 - -1\right) \cdot \left|x\right|\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{600041}{2386628}}{t\_0} - \frac{-1}{2}}{\left|x\right|}\\ \end{array} \end{array} \]
(FPCore (x)
  :precision binary64
  (let* ((t_0 (* (fabs x) (fabs x))))
  (*
   (copysign 1 x)
   (if (<= (fabs x) 5/4)
     (* (- (* -833192009/1250000000 t_0) -1) (fabs x))
     (/ (- (/ 600041/2386628 t_0) -1/2) (fabs x))))))
double code(double x) {
	double t_0 = fabs(x) * fabs(x);
	double tmp;
	if (fabs(x) <= 1.25) {
		tmp = ((-0.6665536072 * t_0) - -1.0) * fabs(x);
	} else {
		tmp = ((0.2514179000665374 / t_0) - -0.5) / fabs(x);
	}
	return copysign(1.0, x) * tmp;
}
public static double code(double x) {
	double t_0 = Math.abs(x) * Math.abs(x);
	double tmp;
	if (Math.abs(x) <= 1.25) {
		tmp = ((-0.6665536072 * t_0) - -1.0) * Math.abs(x);
	} else {
		tmp = ((0.2514179000665374 / t_0) - -0.5) / Math.abs(x);
	}
	return Math.copySign(1.0, x) * tmp;
}
def code(x):
	t_0 = math.fabs(x) * math.fabs(x)
	tmp = 0
	if math.fabs(x) <= 1.25:
		tmp = ((-0.6665536072 * t_0) - -1.0) * math.fabs(x)
	else:
		tmp = ((0.2514179000665374 / t_0) - -0.5) / math.fabs(x)
	return math.copysign(1.0, x) * tmp
function code(x)
	t_0 = Float64(abs(x) * abs(x))
	tmp = 0.0
	if (abs(x) <= 1.25)
		tmp = Float64(Float64(Float64(-0.6665536072 * t_0) - -1.0) * abs(x));
	else
		tmp = Float64(Float64(Float64(0.2514179000665374 / t_0) - -0.5) / abs(x));
	end
	return Float64(copysign(1.0, x) * tmp)
end
function tmp_2 = code(x)
	t_0 = abs(x) * abs(x);
	tmp = 0.0;
	if (abs(x) <= 1.25)
		tmp = ((-0.6665536072 * t_0) - -1.0) * abs(x);
	else
		tmp = ((0.2514179000665374 / t_0) - -0.5) / abs(x);
	end
	tmp_2 = (sign(x) * abs(1.0)) * tmp;
end
code[x_] := Block[{t$95$0 = N[(N[Abs[x], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]}, N[(N[With[{TMP1 = Abs[1], TMP2 = Sign[x]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision] * If[LessEqual[N[Abs[x], $MachinePrecision], 5/4], N[(N[(N[(-833192009/1250000000 * t$95$0), $MachinePrecision] - -1), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision], N[(N[(N[(600041/2386628 / t$95$0), $MachinePrecision] - -1/2), $MachinePrecision] / N[Abs[x], $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]]
\begin{array}{l}
t_0 := \left|x\right| \cdot \left|x\right|\\
\mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l}
\mathbf{if}\;\left|x\right| \leq \frac{5}{4}:\\
\;\;\;\;\left(\frac{-833192009}{1250000000} \cdot t\_0 - -1\right) \cdot \left|x\right|\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{600041}{2386628}}{t\_0} - \frac{-1}{2}}{\left|x\right|}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < 1.25

    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(1 + \frac{-833192009}{1250000000} \cdot {x}^{2}\right)} \cdot x \]
    3. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \left(1 + \color{blue}{\frac{-833192009}{1250000000} \cdot {x}^{2}}\right) \cdot x \]
      2. lower-*.f64N/A

        \[\leadsto \left(1 + \frac{-833192009}{1250000000} \cdot \color{blue}{{x}^{2}}\right) \cdot x \]
      3. lower-pow.f6450.9%

        \[\leadsto \left(1 + \frac{-833192009}{1250000000} \cdot {x}^{\color{blue}{2}}\right) \cdot x \]
    4. Applied rewrites50.9%

      \[\leadsto \color{blue}{\left(1 + \frac{-833192009}{1250000000} \cdot {x}^{2}\right)} \cdot x \]
    5. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \left(1 + \color{blue}{\frac{-833192009}{1250000000} \cdot {x}^{2}}\right) \cdot x \]
      2. +-commutativeN/A

        \[\leadsto \left(\frac{-833192009}{1250000000} \cdot {x}^{2} + \color{blue}{1}\right) \cdot x \]
      3. add-flipN/A

        \[\leadsto \left(\frac{-833192009}{1250000000} \cdot {x}^{2} - \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right) \cdot x \]
      4. metadata-evalN/A

        \[\leadsto \left(\frac{-833192009}{1250000000} \cdot {x}^{2} - -1\right) \cdot x \]
      5. lower--.f6450.9%

        \[\leadsto \left(\frac{-833192009}{1250000000} \cdot {x}^{2} - \color{blue}{-1}\right) \cdot x \]
      6. lift-pow.f64N/A

        \[\leadsto \left(\frac{-833192009}{1250000000} \cdot {x}^{2} - -1\right) \cdot x \]
      7. pow2N/A

        \[\leadsto \left(\frac{-833192009}{1250000000} \cdot \left(x \cdot x\right) - -1\right) \cdot x \]
      8. lower-*.f6450.9%

        \[\leadsto \left(\frac{-833192009}{1250000000} \cdot \left(x \cdot x\right) - -1\right) \cdot x \]
    6. Applied rewrites50.9%

      \[\leadsto \left(\frac{-833192009}{1250000000} \cdot \left(x \cdot x\right) - \color{blue}{-1}\right) \cdot x \]

    if 1.25 < x

    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Taylor expanded in x around inf

      \[\leadsto \color{blue}{\frac{\frac{1}{2} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{x}} \]
    3. Step-by-step derivation
      1. lower-/.f64N/A

        \[\leadsto \frac{\frac{1}{2} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{\color{blue}{x}} \]
    4. Applied rewrites50.6%

      \[\leadsto \color{blue}{\frac{\frac{1}{2} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{x}} \]
    5. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \frac{\frac{1}{2} + \frac{600041}{2386628} \cdot \frac{1}{{x}^{2}}}{x} \]
      2. +-commutativeN/A

        \[\leadsto \frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}} + \frac{1}{2}}{x} \]
      3. add-flipN/A

        \[\leadsto \frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      4. lower--.f64N/A

        \[\leadsto \frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      5. lift-*.f64N/A

        \[\leadsto \frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      6. lift-/.f64N/A

        \[\leadsto \frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      7. lift-pow.f64N/A

        \[\leadsto \frac{\frac{600041}{2386628} \cdot \frac{1}{{x}^{2}} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      8. pow2N/A

        \[\leadsto \frac{\frac{600041}{2386628} \cdot \frac{1}{x \cdot x} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      9. mult-flip-revN/A

        \[\leadsto \frac{\frac{\frac{600041}{2386628}}{x \cdot x} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      10. lower-/.f64N/A

        \[\leadsto \frac{\frac{\frac{600041}{2386628}}{x \cdot x} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      11. lower-*.f64N/A

        \[\leadsto \frac{\frac{\frac{600041}{2386628}}{x \cdot x} - \left(\mathsf{neg}\left(\frac{1}{2}\right)\right)}{x} \]
      12. metadata-eval50.6%

        \[\leadsto \frac{\frac{\frac{600041}{2386628}}{x \cdot x} - \frac{-1}{2}}{x} \]
    6. Applied rewrites50.6%

      \[\leadsto \frac{\frac{\frac{600041}{2386628}}{x \cdot x} - \frac{-1}{2}}{x} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 7: 99.1% accurate, 3.0× speedup?

\[\mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l} \mathbf{if}\;\left|x\right| \leq \frac{5}{4}:\\ \;\;\;\;\left(\frac{-833192009}{1250000000} \cdot \left(\left|x\right| \cdot \left|x\right|\right) - -1\right) \cdot \left|x\right|\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{2}}{\left|x\right|}\\ \end{array} \]
(FPCore (x)
  :precision binary64
  (*
 (copysign 1 x)
 (if (<= (fabs x) 5/4)
   (* (- (* -833192009/1250000000 (* (fabs x) (fabs x))) -1) (fabs x))
   (/ 1/2 (fabs x)))))
double code(double x) {
	double tmp;
	if (fabs(x) <= 1.25) {
		tmp = ((-0.6665536072 * (fabs(x) * fabs(x))) - -1.0) * fabs(x);
	} else {
		tmp = 0.5 / fabs(x);
	}
	return copysign(1.0, x) * tmp;
}
public static double code(double x) {
	double tmp;
	if (Math.abs(x) <= 1.25) {
		tmp = ((-0.6665536072 * (Math.abs(x) * Math.abs(x))) - -1.0) * Math.abs(x);
	} else {
		tmp = 0.5 / Math.abs(x);
	}
	return Math.copySign(1.0, x) * tmp;
}
def code(x):
	tmp = 0
	if math.fabs(x) <= 1.25:
		tmp = ((-0.6665536072 * (math.fabs(x) * math.fabs(x))) - -1.0) * math.fabs(x)
	else:
		tmp = 0.5 / math.fabs(x)
	return math.copysign(1.0, x) * tmp
function code(x)
	tmp = 0.0
	if (abs(x) <= 1.25)
		tmp = Float64(Float64(Float64(-0.6665536072 * Float64(abs(x) * abs(x))) - -1.0) * abs(x));
	else
		tmp = Float64(0.5 / abs(x));
	end
	return Float64(copysign(1.0, x) * tmp)
end
function tmp_2 = code(x)
	tmp = 0.0;
	if (abs(x) <= 1.25)
		tmp = ((-0.6665536072 * (abs(x) * abs(x))) - -1.0) * abs(x);
	else
		tmp = 0.5 / abs(x);
	end
	tmp_2 = (sign(x) * abs(1.0)) * tmp;
end
code[x_] := N[(N[With[{TMP1 = Abs[1], TMP2 = Sign[x]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision] * If[LessEqual[N[Abs[x], $MachinePrecision], 5/4], N[(N[(N[(-833192009/1250000000 * N[(N[Abs[x], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - -1), $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision], N[(1/2 / N[Abs[x], $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l}
\mathbf{if}\;\left|x\right| \leq \frac{5}{4}:\\
\;\;\;\;\left(\frac{-833192009}{1250000000} \cdot \left(\left|x\right| \cdot \left|x\right|\right) - -1\right) \cdot \left|x\right|\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{2}}{\left|x\right|}\\


\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < 1.25

    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(1 + \frac{-833192009}{1250000000} \cdot {x}^{2}\right)} \cdot x \]
    3. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \left(1 + \color{blue}{\frac{-833192009}{1250000000} \cdot {x}^{2}}\right) \cdot x \]
      2. lower-*.f64N/A

        \[\leadsto \left(1 + \frac{-833192009}{1250000000} \cdot \color{blue}{{x}^{2}}\right) \cdot x \]
      3. lower-pow.f6450.9%

        \[\leadsto \left(1 + \frac{-833192009}{1250000000} \cdot {x}^{\color{blue}{2}}\right) \cdot x \]
    4. Applied rewrites50.9%

      \[\leadsto \color{blue}{\left(1 + \frac{-833192009}{1250000000} \cdot {x}^{2}\right)} \cdot x \]
    5. Step-by-step derivation
      1. lift-+.f64N/A

        \[\leadsto \left(1 + \color{blue}{\frac{-833192009}{1250000000} \cdot {x}^{2}}\right) \cdot x \]
      2. +-commutativeN/A

        \[\leadsto \left(\frac{-833192009}{1250000000} \cdot {x}^{2} + \color{blue}{1}\right) \cdot x \]
      3. add-flipN/A

        \[\leadsto \left(\frac{-833192009}{1250000000} \cdot {x}^{2} - \color{blue}{\left(\mathsf{neg}\left(1\right)\right)}\right) \cdot x \]
      4. metadata-evalN/A

        \[\leadsto \left(\frac{-833192009}{1250000000} \cdot {x}^{2} - -1\right) \cdot x \]
      5. lower--.f6450.9%

        \[\leadsto \left(\frac{-833192009}{1250000000} \cdot {x}^{2} - \color{blue}{-1}\right) \cdot x \]
      6. lift-pow.f64N/A

        \[\leadsto \left(\frac{-833192009}{1250000000} \cdot {x}^{2} - -1\right) \cdot x \]
      7. pow2N/A

        \[\leadsto \left(\frac{-833192009}{1250000000} \cdot \left(x \cdot x\right) - -1\right) \cdot x \]
      8. lower-*.f6450.9%

        \[\leadsto \left(\frac{-833192009}{1250000000} \cdot \left(x \cdot x\right) - -1\right) \cdot x \]
    6. Applied rewrites50.9%

      \[\leadsto \left(\frac{-833192009}{1250000000} \cdot \left(x \cdot x\right) - \color{blue}{-1}\right) \cdot x \]

    if 1.25 < x

    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Taylor expanded in x around inf

      \[\leadsto \color{blue}{\frac{\frac{1}{2}}{x}} \]
    3. Step-by-step derivation
      1. lower-/.f6450.8%

        \[\leadsto \frac{\frac{1}{2}}{\color{blue}{x}} \]
    4. Applied rewrites50.8%

      \[\leadsto \color{blue}{\frac{\frac{1}{2}}{x}} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 8: 98.8% accurate, 3.2× speedup?

\[\mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l} \mathbf{if}\;\left|x\right| \leq \frac{3152519739159347}{4503599627370496}:\\ \;\;\;\;1 \cdot \left|x\right|\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{2}}{\left|x\right|}\\ \end{array} \]
(FPCore (x)
  :precision binary64
  (*
 (copysign 1 x)
 (if (<= (fabs x) 3152519739159347/4503599627370496)
   (* 1 (fabs x))
   (/ 1/2 (fabs x)))))
double code(double x) {
	double tmp;
	if (fabs(x) <= 0.7) {
		tmp = 1.0 * fabs(x);
	} else {
		tmp = 0.5 / fabs(x);
	}
	return copysign(1.0, x) * tmp;
}
public static double code(double x) {
	double tmp;
	if (Math.abs(x) <= 0.7) {
		tmp = 1.0 * Math.abs(x);
	} else {
		tmp = 0.5 / Math.abs(x);
	}
	return Math.copySign(1.0, x) * tmp;
}
def code(x):
	tmp = 0
	if math.fabs(x) <= 0.7:
		tmp = 1.0 * math.fabs(x)
	else:
		tmp = 0.5 / math.fabs(x)
	return math.copysign(1.0, x) * tmp
function code(x)
	tmp = 0.0
	if (abs(x) <= 0.7)
		tmp = Float64(1.0 * abs(x));
	else
		tmp = Float64(0.5 / abs(x));
	end
	return Float64(copysign(1.0, x) * tmp)
end
function tmp_2 = code(x)
	tmp = 0.0;
	if (abs(x) <= 0.7)
		tmp = 1.0 * abs(x);
	else
		tmp = 0.5 / abs(x);
	end
	tmp_2 = (sign(x) * abs(1.0)) * tmp;
end
code[x_] := N[(N[With[{TMP1 = Abs[1], TMP2 = Sign[x]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision] * If[LessEqual[N[Abs[x], $MachinePrecision], 3152519739159347/4503599627370496], N[(1 * N[Abs[x], $MachinePrecision]), $MachinePrecision], N[(1/2 / N[Abs[x], $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\mathsf{copysign}\left(1, x\right) \cdot \begin{array}{l}
\mathbf{if}\;\left|x\right| \leq \frac{3152519739159347}{4503599627370496}:\\
\;\;\;\;1 \cdot \left|x\right|\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{2}}{\left|x\right|}\\


\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < 0.69999999999999996

    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(1 + \frac{-833192009}{1250000000} \cdot {x}^{2}\right)} \cdot x \]
    3. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \left(1 + \color{blue}{\frac{-833192009}{1250000000} \cdot {x}^{2}}\right) \cdot x \]
      2. lower-*.f64N/A

        \[\leadsto \left(1 + \frac{-833192009}{1250000000} \cdot \color{blue}{{x}^{2}}\right) \cdot x \]
      3. lower-pow.f6450.9%

        \[\leadsto \left(1 + \frac{-833192009}{1250000000} \cdot {x}^{\color{blue}{2}}\right) \cdot x \]
    4. Applied rewrites50.9%

      \[\leadsto \color{blue}{\left(1 + \frac{-833192009}{1250000000} \cdot {x}^{2}\right)} \cdot x \]
    5. Taylor expanded in x around 0

      \[\leadsto 1 \cdot x \]
    6. Step-by-step derivation
      1. Applied rewrites51.8%

        \[\leadsto 1 \cdot x \]

      if 0.69999999999999996 < x

      1. Initial program 54.7%

        \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Taylor expanded in x around inf

        \[\leadsto \color{blue}{\frac{\frac{1}{2}}{x}} \]
      3. Step-by-step derivation
        1. lower-/.f6450.8%

          \[\leadsto \frac{\frac{1}{2}}{\color{blue}{x}} \]
      4. Applied rewrites50.8%

        \[\leadsto \color{blue}{\frac{\frac{1}{2}}{x}} \]
    7. Recombined 2 regimes into one program.
    8. Add Preprocessing

    Alternative 9: 51.8% accurate, 69.2× speedup?

    \[1 \cdot x \]
    (FPCore (x)
      :precision binary64
      (* 1 x))
    double code(double x) {
    	return 1.0 * x;
    }
    
    module fmin_fmax_functions
        implicit none
        private
        public fmax
        public fmin
    
        interface fmax
            module procedure fmax88
            module procedure fmax44
            module procedure fmax84
            module procedure fmax48
        end interface
        interface fmin
            module procedure fmin88
            module procedure fmin44
            module procedure fmin84
            module procedure fmin48
        end interface
    contains
        real(8) function fmax88(x, y) result (res)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(x, max(x, y), y /= y), x /= x)
        end function
        real(4) function fmax44(x, y) result (res)
            real(4), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(y, merge(x, max(x, y), y /= y), x /= x)
        end function
        real(8) function fmax84(x, y) result(res)
            real(8), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
        end function
        real(8) function fmax48(x, y) result(res)
            real(4), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
        end function
        real(8) function fmin88(x, y) result (res)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(x, min(x, y), y /= y), x /= x)
        end function
        real(4) function fmin44(x, y) result (res)
            real(4), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(y, merge(x, min(x, y), y /= y), x /= x)
        end function
        real(8) function fmin84(x, y) result(res)
            real(8), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
        end function
        real(8) function fmin48(x, y) result(res)
            real(4), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
        end function
    end module
    
    real(8) function code(x)
    use fmin_fmax_functions
        real(8), intent (in) :: x
        code = 1.0d0 * x
    end function
    
    public static double code(double x) {
    	return 1.0 * x;
    }
    
    def code(x):
    	return 1.0 * x
    
    function code(x)
    	return Float64(1.0 * x)
    end
    
    function tmp = code(x)
    	tmp = 1.0 * x;
    end
    
    code[x_] := N[(1 * x), $MachinePrecision]
    
    1 \cdot x
    
    Derivation
    1. Initial program 54.7%

      \[\frac{\left(\left(\left(\left(1 + \frac{1049934947}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{106015151}{2500000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{36322091}{5000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{2532017}{5000000000} \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) + \frac{1789971}{10000000000} \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 + \frac{7715471019}{10000000000} \cdot \left(x \cdot x\right)\right) + \frac{2909738639}{10000000000} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{694555761}{10000000000} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \frac{70002721}{5000000000} \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) + \frac{1665589}{2000000000} \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 \frac{1789971}{10000000000}\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. Taylor expanded in x around 0

      \[\leadsto \color{blue}{\left(1 + \frac{-833192009}{1250000000} \cdot {x}^{2}\right)} \cdot x \]
    3. Step-by-step derivation
      1. lower-+.f64N/A

        \[\leadsto \left(1 + \color{blue}{\frac{-833192009}{1250000000} \cdot {x}^{2}}\right) \cdot x \]
      2. lower-*.f64N/A

        \[\leadsto \left(1 + \frac{-833192009}{1250000000} \cdot \color{blue}{{x}^{2}}\right) \cdot x \]
      3. lower-pow.f6450.9%

        \[\leadsto \left(1 + \frac{-833192009}{1250000000} \cdot {x}^{\color{blue}{2}}\right) \cdot x \]
    4. Applied rewrites50.9%

      \[\leadsto \color{blue}{\left(1 + \frac{-833192009}{1250000000} \cdot {x}^{2}\right)} \cdot x \]
    5. Taylor expanded in x around 0

      \[\leadsto 1 \cdot x \]
    6. Step-by-step derivation
      1. Applied rewrites51.8%

        \[\leadsto 1 \cdot x \]
      2. Add Preprocessing

      Reproduce

      ?
      herbie shell --seed 2025271 -o generate:evaluate
      (FPCore (x)
        :name "Jmat.Real.dawson"
        :precision binary64
        (* (/ (+ (+ (+ (+ (+ 1 (* 1049934947/10000000000 (* x x))) (* 106015151/2500000000 (* (* x x) (* x x)))) (* 36322091/5000000000 (* (* (* x x) (* x x)) (* x x)))) (* 2532017/5000000000 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 1789971/10000000000 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (+ (+ (+ (+ (+ (+ 1 (* 7715471019/10000000000 (* x x))) (* 2909738639/10000000000 (* (* x x) (* x x)))) (* 694555761/10000000000 (* (* (* x x) (* x x)) (* x x)))) (* 70002721/5000000000 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 1665589/2000000000 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2 1789971/10000000000) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))