
(FPCore (x y) :precision binary64 (/ (* (sin x) (sinh y)) x))
double code(double x, double y) {
return (sin(x) * sinh(y)) / x;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
code = (sin(x) * sinh(y)) / x
end function
public static double code(double x, double y) {
return (Math.sin(x) * Math.sinh(y)) / x;
}
def code(x, y): return (math.sin(x) * math.sinh(y)) / x
function code(x, y) return Float64(Float64(sin(x) * sinh(y)) / x) end
function tmp = code(x, y) tmp = (sin(x) * sinh(y)) / x; end
code[x_, y_] := N[(N[(N[Sin[x], $MachinePrecision] * N[Sinh[y], $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]
\begin{array}{l}
\\
\frac{\sin x \cdot \sinh y}{x}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 21 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y) :precision binary64 (/ (* (sin x) (sinh y)) x))
double code(double x, double y) {
return (sin(x) * sinh(y)) / x;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
code = (sin(x) * sinh(y)) / x
end function
public static double code(double x, double y) {
return (Math.sin(x) * Math.sinh(y)) / x;
}
def code(x, y): return (math.sin(x) * math.sinh(y)) / x
function code(x, y) return Float64(Float64(sin(x) * sinh(y)) / x) end
function tmp = code(x, y) tmp = (sin(x) * sinh(y)) / x; end
code[x_, y_] := N[(N[(N[Sin[x], $MachinePrecision] * N[Sinh[y], $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]
\begin{array}{l}
\\
\frac{\sin x \cdot \sinh y}{x}
\end{array}
(FPCore (x y) :precision binary64 (* (/ (sinh y) x) (sin x)))
double code(double x, double y) {
return (sinh(y) / x) * sin(x);
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
code = (sinh(y) / x) * sin(x)
end function
public static double code(double x, double y) {
return (Math.sinh(y) / x) * Math.sin(x);
}
def code(x, y): return (math.sinh(y) / x) * math.sin(x)
function code(x, y) return Float64(Float64(sinh(y) / x) * sin(x)) end
function tmp = code(x, y) tmp = (sinh(y) / x) * sin(x); end
code[x_, y_] := N[(N[(N[Sinh[y], $MachinePrecision] / x), $MachinePrecision] * N[Sin[x], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{\sinh y}{x} \cdot \sin x
\end{array}
Initial program 89.2%
Applied egg-rr0
(FPCore (x y)
:precision binary64
(if (<= y 0.0085)
(*
y
(*
(/ (sin x) x)
(+
1.0
(* (* y y) (+ 0.16666666666666666 (* (* y y) 0.008333333333333333))))))
(if (<= y 3.8e+44)
(/ x (/ x (sinh y)))
(/
(*
(sin x)
(*
y
(+
1.0
(*
(* y y)
(+
0.16666666666666666
(*
(* y y)
(+ 0.008333333333333333 (* y (* y 0.0001984126984126984)))))))))
x))))
double code(double x, double y) {
double tmp;
if (y <= 0.0085) {
tmp = y * ((sin(x) / x) * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * 0.008333333333333333)))));
} else if (y <= 3.8e+44) {
tmp = x / (x / sinh(y));
} else {
tmp = (sin(x) * (y * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + (y * (y * 0.0001984126984126984))))))))) / x;
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: tmp
if (y <= 0.0085d0) then
tmp = y * ((sin(x) / x) * (1.0d0 + ((y * y) * (0.16666666666666666d0 + ((y * y) * 0.008333333333333333d0)))))
else if (y <= 3.8d+44) then
tmp = x / (x / sinh(y))
else
tmp = (sin(x) * (y * (1.0d0 + ((y * y) * (0.16666666666666666d0 + ((y * y) * (0.008333333333333333d0 + (y * (y * 0.0001984126984126984d0))))))))) / x
end if
code = tmp
end function
public static double code(double x, double y) {
double tmp;
if (y <= 0.0085) {
tmp = y * ((Math.sin(x) / x) * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * 0.008333333333333333)))));
} else if (y <= 3.8e+44) {
tmp = x / (x / Math.sinh(y));
} else {
tmp = (Math.sin(x) * (y * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + (y * (y * 0.0001984126984126984))))))))) / x;
}
return tmp;
}
def code(x, y): tmp = 0 if y <= 0.0085: tmp = y * ((math.sin(x) / x) * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * 0.008333333333333333))))) elif y <= 3.8e+44: tmp = x / (x / math.sinh(y)) else: tmp = (math.sin(x) * (y * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + (y * (y * 0.0001984126984126984))))))))) / x return tmp
function code(x, y) tmp = 0.0 if (y <= 0.0085) tmp = Float64(y * Float64(Float64(sin(x) / x) * Float64(1.0 + Float64(Float64(y * y) * Float64(0.16666666666666666 + Float64(Float64(y * y) * 0.008333333333333333)))))); elseif (y <= 3.8e+44) tmp = Float64(x / Float64(x / sinh(y))); else tmp = Float64(Float64(sin(x) * Float64(y * Float64(1.0 + Float64(Float64(y * y) * Float64(0.16666666666666666 + Float64(Float64(y * y) * Float64(0.008333333333333333 + Float64(y * Float64(y * 0.0001984126984126984))))))))) / x); end return tmp end
function tmp_2 = code(x, y) tmp = 0.0; if (y <= 0.0085) tmp = y * ((sin(x) / x) * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * 0.008333333333333333))))); elseif (y <= 3.8e+44) tmp = x / (x / sinh(y)); else tmp = (sin(x) * (y * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + (y * (y * 0.0001984126984126984))))))))) / x; end tmp_2 = tmp; end
code[x_, y_] := If[LessEqual[y, 0.0085], N[(y * N[(N[(N[Sin[x], $MachinePrecision] / x), $MachinePrecision] * N[(1.0 + N[(N[(y * y), $MachinePrecision] * N[(0.16666666666666666 + N[(N[(y * y), $MachinePrecision] * 0.008333333333333333), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.8e+44], N[(x / N[(x / N[Sinh[y], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[Sin[x], $MachinePrecision] * N[(y * N[(1.0 + N[(N[(y * y), $MachinePrecision] * N[(0.16666666666666666 + N[(N[(y * y), $MachinePrecision] * N[(0.008333333333333333 + N[(y * N[(y * 0.0001984126984126984), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 0.0085:\\
\;\;\;\;y \cdot \left(\frac{\sin x}{x} \cdot \left(1 + \left(y \cdot y\right) \cdot \left(0.16666666666666666 + \left(y \cdot y\right) \cdot 0.008333333333333333\right)\right)\right)\\
\mathbf{elif}\;y \leq 3.8 \cdot 10^{+44}:\\
\;\;\;\;\frac{x}{\frac{x}{\sinh y}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sin x \cdot \left(y \cdot \left(1 + \left(y \cdot y\right) \cdot \left(0.16666666666666666 + \left(y \cdot y\right) \cdot \left(0.008333333333333333 + y \cdot \left(y \cdot 0.0001984126984126984\right)\right)\right)\right)\right)}{x}\\
\end{array}
\end{array}
if y < 0.0085000000000000006Initial program 86.3%
Taylor expanded in y around 0 0
Simplified0
if 0.0085000000000000006 < y < 3.8000000000000002e44Initial program 99.8%
Applied egg-rr0
Taylor expanded in x around 0 0
Simplified0
if 3.8000000000000002e44 < y Initial program 100.0%
Taylor expanded in y around 0 0
Simplified0
(FPCore (x y)
:precision binary64
(if (<= y 0.0085)
(*
y
(*
(/ (sin x) x)
(+
1.0
(* (* y y) (+ 0.16666666666666666 (* (* y y) 0.008333333333333333))))))
(if (<= y 1.9e+36)
(/ x (/ x (sinh y)))
(*
(* y (sin x))
(/
(+
1.0
(*
(* y y)
(+
0.16666666666666666
(*
(* y y)
(+ 0.008333333333333333 (* (* y y) 0.0001984126984126984))))))
x)))))
double code(double x, double y) {
double tmp;
if (y <= 0.0085) {
tmp = y * ((sin(x) / x) * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * 0.008333333333333333)))));
} else if (y <= 1.9e+36) {
tmp = x / (x / sinh(y));
} else {
tmp = (y * sin(x)) * ((1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) / x);
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: tmp
if (y <= 0.0085d0) then
tmp = y * ((sin(x) / x) * (1.0d0 + ((y * y) * (0.16666666666666666d0 + ((y * y) * 0.008333333333333333d0)))))
else if (y <= 1.9d+36) then
tmp = x / (x / sinh(y))
else
tmp = (y * sin(x)) * ((1.0d0 + ((y * y) * (0.16666666666666666d0 + ((y * y) * (0.008333333333333333d0 + ((y * y) * 0.0001984126984126984d0)))))) / x)
end if
code = tmp
end function
public static double code(double x, double y) {
double tmp;
if (y <= 0.0085) {
tmp = y * ((Math.sin(x) / x) * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * 0.008333333333333333)))));
} else if (y <= 1.9e+36) {
tmp = x / (x / Math.sinh(y));
} else {
tmp = (y * Math.sin(x)) * ((1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) / x);
}
return tmp;
}
def code(x, y): tmp = 0 if y <= 0.0085: tmp = y * ((math.sin(x) / x) * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * 0.008333333333333333))))) elif y <= 1.9e+36: tmp = x / (x / math.sinh(y)) else: tmp = (y * math.sin(x)) * ((1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) / x) return tmp
function code(x, y) tmp = 0.0 if (y <= 0.0085) tmp = Float64(y * Float64(Float64(sin(x) / x) * Float64(1.0 + Float64(Float64(y * y) * Float64(0.16666666666666666 + Float64(Float64(y * y) * 0.008333333333333333)))))); elseif (y <= 1.9e+36) tmp = Float64(x / Float64(x / sinh(y))); else tmp = Float64(Float64(y * sin(x)) * Float64(Float64(1.0 + Float64(Float64(y * y) * Float64(0.16666666666666666 + Float64(Float64(y * y) * Float64(0.008333333333333333 + Float64(Float64(y * y) * 0.0001984126984126984)))))) / x)); end return tmp end
function tmp_2 = code(x, y) tmp = 0.0; if (y <= 0.0085) tmp = y * ((sin(x) / x) * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * 0.008333333333333333))))); elseif (y <= 1.9e+36) tmp = x / (x / sinh(y)); else tmp = (y * sin(x)) * ((1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) / x); end tmp_2 = tmp; end
code[x_, y_] := If[LessEqual[y, 0.0085], N[(y * N[(N[(N[Sin[x], $MachinePrecision] / x), $MachinePrecision] * N[(1.0 + N[(N[(y * y), $MachinePrecision] * N[(0.16666666666666666 + N[(N[(y * y), $MachinePrecision] * 0.008333333333333333), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.9e+36], N[(x / N[(x / N[Sinh[y], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(y * N[Sin[x], $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 + N[(N[(y * y), $MachinePrecision] * N[(0.16666666666666666 + N[(N[(y * y), $MachinePrecision] * N[(0.008333333333333333 + N[(N[(y * y), $MachinePrecision] * 0.0001984126984126984), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 0.0085:\\
\;\;\;\;y \cdot \left(\frac{\sin x}{x} \cdot \left(1 + \left(y \cdot y\right) \cdot \left(0.16666666666666666 + \left(y \cdot y\right) \cdot 0.008333333333333333\right)\right)\right)\\
\mathbf{elif}\;y \leq 1.9 \cdot 10^{+36}:\\
\;\;\;\;\frac{x}{\frac{x}{\sinh y}}\\
\mathbf{else}:\\
\;\;\;\;\left(y \cdot \sin x\right) \cdot \frac{1 + \left(y \cdot y\right) \cdot \left(0.16666666666666666 + \left(y \cdot y\right) \cdot \left(0.008333333333333333 + \left(y \cdot y\right) \cdot 0.0001984126984126984\right)\right)}{x}\\
\end{array}
\end{array}
if y < 0.0085000000000000006Initial program 86.3%
Taylor expanded in y around 0 0
Simplified0
if 0.0085000000000000006 < y < 1.90000000000000012e36Initial program 99.8%
Applied egg-rr0
Taylor expanded in x around 0 0
Simplified0
if 1.90000000000000012e36 < y Initial program 100.0%
Taylor expanded in y around 0 0
Simplified0
Applied egg-rr0
(FPCore (x y)
:precision binary64
(let* ((t_0
(*
y
(*
(/ (sin x) x)
(+
1.0
(*
(* y y)
(+ 0.16666666666666666 (* (* y y) 0.008333333333333333))))))))
(if (<= y 0.0085)
t_0
(if (<= y 7.5e+62)
(/ (* (* x (+ 1.0 (* (* x x) -0.16666666666666666))) (sinh y)) x)
t_0))))
double code(double x, double y) {
double t_0 = y * ((sin(x) / x) * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * 0.008333333333333333)))));
double tmp;
if (y <= 0.0085) {
tmp = t_0;
} else if (y <= 7.5e+62) {
tmp = ((x * (1.0 + ((x * x) * -0.16666666666666666))) * sinh(y)) / x;
} else {
tmp = t_0;
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: t_0
real(8) :: tmp
t_0 = y * ((sin(x) / x) * (1.0d0 + ((y * y) * (0.16666666666666666d0 + ((y * y) * 0.008333333333333333d0)))))
if (y <= 0.0085d0) then
tmp = t_0
else if (y <= 7.5d+62) then
tmp = ((x * (1.0d0 + ((x * x) * (-0.16666666666666666d0)))) * sinh(y)) / x
else
tmp = t_0
end if
code = tmp
end function
public static double code(double x, double y) {
double t_0 = y * ((Math.sin(x) / x) * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * 0.008333333333333333)))));
double tmp;
if (y <= 0.0085) {
tmp = t_0;
} else if (y <= 7.5e+62) {
tmp = ((x * (1.0 + ((x * x) * -0.16666666666666666))) * Math.sinh(y)) / x;
} else {
tmp = t_0;
}
return tmp;
}
def code(x, y): t_0 = y * ((math.sin(x) / x) * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * 0.008333333333333333))))) tmp = 0 if y <= 0.0085: tmp = t_0 elif y <= 7.5e+62: tmp = ((x * (1.0 + ((x * x) * -0.16666666666666666))) * math.sinh(y)) / x else: tmp = t_0 return tmp
function code(x, y) t_0 = Float64(y * Float64(Float64(sin(x) / x) * Float64(1.0 + Float64(Float64(y * y) * Float64(0.16666666666666666 + Float64(Float64(y * y) * 0.008333333333333333)))))) tmp = 0.0 if (y <= 0.0085) tmp = t_0; elseif (y <= 7.5e+62) tmp = Float64(Float64(Float64(x * Float64(1.0 + Float64(Float64(x * x) * -0.16666666666666666))) * sinh(y)) / x); else tmp = t_0; end return tmp end
function tmp_2 = code(x, y) t_0 = y * ((sin(x) / x) * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * 0.008333333333333333))))); tmp = 0.0; if (y <= 0.0085) tmp = t_0; elseif (y <= 7.5e+62) tmp = ((x * (1.0 + ((x * x) * -0.16666666666666666))) * sinh(y)) / x; else tmp = t_0; end tmp_2 = tmp; end
code[x_, y_] := Block[{t$95$0 = N[(y * N[(N[(N[Sin[x], $MachinePrecision] / x), $MachinePrecision] * N[(1.0 + N[(N[(y * y), $MachinePrecision] * N[(0.16666666666666666 + N[(N[(y * y), $MachinePrecision] * 0.008333333333333333), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, 0.0085], t$95$0, If[LessEqual[y, 7.5e+62], N[(N[(N[(x * N[(1.0 + N[(N[(x * x), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sinh[y], $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision], t$95$0]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := y \cdot \left(\frac{\sin x}{x} \cdot \left(1 + \left(y \cdot y\right) \cdot \left(0.16666666666666666 + \left(y \cdot y\right) \cdot 0.008333333333333333\right)\right)\right)\\
\mathbf{if}\;y \leq 0.0085:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;y \leq 7.5 \cdot 10^{+62}:\\
\;\;\;\;\frac{\left(x \cdot \left(1 + \left(x \cdot x\right) \cdot -0.16666666666666666\right)\right) \cdot \sinh y}{x}\\
\mathbf{else}:\\
\;\;\;\;t\_0\\
\end{array}
\end{array}
if y < 0.0085000000000000006 or 7.49999999999999998e62 < y Initial program 88.6%
Taylor expanded in y around 0 0
Simplified0
if 0.0085000000000000006 < y < 7.49999999999999998e62Initial program 99.9%
Taylor expanded in x around 0 0
Simplified0
(FPCore (x y)
:precision binary64
(if (<= y 0.0055)
(* y (/ (sin x) x))
(if (<= y 1.05e+103)
(/ (* (* x (+ 1.0 (* (* x x) -0.16666666666666666))) (sinh y)) x)
(/ (* (sin x) (* y (+ 1.0 (* 0.16666666666666666 (* y y))))) x))))
double code(double x, double y) {
double tmp;
if (y <= 0.0055) {
tmp = y * (sin(x) / x);
} else if (y <= 1.05e+103) {
tmp = ((x * (1.0 + ((x * x) * -0.16666666666666666))) * sinh(y)) / x;
} else {
tmp = (sin(x) * (y * (1.0 + (0.16666666666666666 * (y * y))))) / x;
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: tmp
if (y <= 0.0055d0) then
tmp = y * (sin(x) / x)
else if (y <= 1.05d+103) then
tmp = ((x * (1.0d0 + ((x * x) * (-0.16666666666666666d0)))) * sinh(y)) / x
else
tmp = (sin(x) * (y * (1.0d0 + (0.16666666666666666d0 * (y * y))))) / x
end if
code = tmp
end function
public static double code(double x, double y) {
double tmp;
if (y <= 0.0055) {
tmp = y * (Math.sin(x) / x);
} else if (y <= 1.05e+103) {
tmp = ((x * (1.0 + ((x * x) * -0.16666666666666666))) * Math.sinh(y)) / x;
} else {
tmp = (Math.sin(x) * (y * (1.0 + (0.16666666666666666 * (y * y))))) / x;
}
return tmp;
}
def code(x, y): tmp = 0 if y <= 0.0055: tmp = y * (math.sin(x) / x) elif y <= 1.05e+103: tmp = ((x * (1.0 + ((x * x) * -0.16666666666666666))) * math.sinh(y)) / x else: tmp = (math.sin(x) * (y * (1.0 + (0.16666666666666666 * (y * y))))) / x return tmp
function code(x, y) tmp = 0.0 if (y <= 0.0055) tmp = Float64(y * Float64(sin(x) / x)); elseif (y <= 1.05e+103) tmp = Float64(Float64(Float64(x * Float64(1.0 + Float64(Float64(x * x) * -0.16666666666666666))) * sinh(y)) / x); else tmp = Float64(Float64(sin(x) * Float64(y * Float64(1.0 + Float64(0.16666666666666666 * Float64(y * y))))) / x); end return tmp end
function tmp_2 = code(x, y) tmp = 0.0; if (y <= 0.0055) tmp = y * (sin(x) / x); elseif (y <= 1.05e+103) tmp = ((x * (1.0 + ((x * x) * -0.16666666666666666))) * sinh(y)) / x; else tmp = (sin(x) * (y * (1.0 + (0.16666666666666666 * (y * y))))) / x; end tmp_2 = tmp; end
code[x_, y_] := If[LessEqual[y, 0.0055], N[(y * N[(N[Sin[x], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.05e+103], N[(N[(N[(x * N[(1.0 + N[(N[(x * x), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sinh[y], $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision], N[(N[(N[Sin[x], $MachinePrecision] * N[(y * N[(1.0 + N[(0.16666666666666666 * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 0.0055:\\
\;\;\;\;y \cdot \frac{\sin x}{x}\\
\mathbf{elif}\;y \leq 1.05 \cdot 10^{+103}:\\
\;\;\;\;\frac{\left(x \cdot \left(1 + \left(x \cdot x\right) \cdot -0.16666666666666666\right)\right) \cdot \sinh y}{x}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sin x \cdot \left(y \cdot \left(1 + 0.16666666666666666 \cdot \left(y \cdot y\right)\right)\right)}{x}\\
\end{array}
\end{array}
if y < 0.0054999999999999997Initial program 86.3%
Taylor expanded in y around 0 0
Simplified0
if 0.0054999999999999997 < y < 1.0500000000000001e103Initial program 99.9%
Taylor expanded in x around 0 0
Simplified0
if 1.0500000000000001e103 < y Initial program 100.0%
Taylor expanded in y around 0 0
Simplified0
(FPCore (x y)
:precision binary64
(if (<= y 0.0017)
(* y (/ (sin x) x))
(if (<= y 1.45e+101)
(/ x (/ x (sinh y)))
(/ (* (sin x) (* y (+ 1.0 (* 0.16666666666666666 (* y y))))) x))))
double code(double x, double y) {
double tmp;
if (y <= 0.0017) {
tmp = y * (sin(x) / x);
} else if (y <= 1.45e+101) {
tmp = x / (x / sinh(y));
} else {
tmp = (sin(x) * (y * (1.0 + (0.16666666666666666 * (y * y))))) / x;
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: tmp
if (y <= 0.0017d0) then
tmp = y * (sin(x) / x)
else if (y <= 1.45d+101) then
tmp = x / (x / sinh(y))
else
tmp = (sin(x) * (y * (1.0d0 + (0.16666666666666666d0 * (y * y))))) / x
end if
code = tmp
end function
public static double code(double x, double y) {
double tmp;
if (y <= 0.0017) {
tmp = y * (Math.sin(x) / x);
} else if (y <= 1.45e+101) {
tmp = x / (x / Math.sinh(y));
} else {
tmp = (Math.sin(x) * (y * (1.0 + (0.16666666666666666 * (y * y))))) / x;
}
return tmp;
}
def code(x, y): tmp = 0 if y <= 0.0017: tmp = y * (math.sin(x) / x) elif y <= 1.45e+101: tmp = x / (x / math.sinh(y)) else: tmp = (math.sin(x) * (y * (1.0 + (0.16666666666666666 * (y * y))))) / x return tmp
function code(x, y) tmp = 0.0 if (y <= 0.0017) tmp = Float64(y * Float64(sin(x) / x)); elseif (y <= 1.45e+101) tmp = Float64(x / Float64(x / sinh(y))); else tmp = Float64(Float64(sin(x) * Float64(y * Float64(1.0 + Float64(0.16666666666666666 * Float64(y * y))))) / x); end return tmp end
function tmp_2 = code(x, y) tmp = 0.0; if (y <= 0.0017) tmp = y * (sin(x) / x); elseif (y <= 1.45e+101) tmp = x / (x / sinh(y)); else tmp = (sin(x) * (y * (1.0 + (0.16666666666666666 * (y * y))))) / x; end tmp_2 = tmp; end
code[x_, y_] := If[LessEqual[y, 0.0017], N[(y * N[(N[Sin[x], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.45e+101], N[(x / N[(x / N[Sinh[y], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[Sin[x], $MachinePrecision] * N[(y * N[(1.0 + N[(0.16666666666666666 * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 0.0017:\\
\;\;\;\;y \cdot \frac{\sin x}{x}\\
\mathbf{elif}\;y \leq 1.45 \cdot 10^{+101}:\\
\;\;\;\;\frac{x}{\frac{x}{\sinh y}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sin x \cdot \left(y \cdot \left(1 + 0.16666666666666666 \cdot \left(y \cdot y\right)\right)\right)}{x}\\
\end{array}
\end{array}
if y < 0.00169999999999999991Initial program 86.3%
Taylor expanded in y around 0 0
Simplified0
if 0.00169999999999999991 < y < 1.44999999999999994e101Initial program 99.9%
Applied egg-rr0
Taylor expanded in x around 0 0
Simplified0
if 1.44999999999999994e101 < y Initial program 100.0%
Taylor expanded in y around 0 0
Simplified0
(FPCore (x y)
:precision binary64
(if (<= y 0.00066)
(* y (/ (sin x) x))
(if (<= y 1.16e+32)
(/ x (/ x (sinh y)))
(*
(+
1.0
(*
(* y y)
(+
0.16666666666666666
(*
(* y y)
(+ 0.008333333333333333 (* (* y y) 0.0001984126984126984))))))
(* y (+ 1.0 (* (* x x) -0.16666666666666666)))))))
double code(double x, double y) {
double tmp;
if (y <= 0.00066) {
tmp = y * (sin(x) / x);
} else if (y <= 1.16e+32) {
tmp = x / (x / sinh(y));
} else {
tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) * (y * (1.0 + ((x * x) * -0.16666666666666666)));
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: tmp
if (y <= 0.00066d0) then
tmp = y * (sin(x) / x)
else if (y <= 1.16d+32) then
tmp = x / (x / sinh(y))
else
tmp = (1.0d0 + ((y * y) * (0.16666666666666666d0 + ((y * y) * (0.008333333333333333d0 + ((y * y) * 0.0001984126984126984d0)))))) * (y * (1.0d0 + ((x * x) * (-0.16666666666666666d0))))
end if
code = tmp
end function
public static double code(double x, double y) {
double tmp;
if (y <= 0.00066) {
tmp = y * (Math.sin(x) / x);
} else if (y <= 1.16e+32) {
tmp = x / (x / Math.sinh(y));
} else {
tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) * (y * (1.0 + ((x * x) * -0.16666666666666666)));
}
return tmp;
}
def code(x, y): tmp = 0 if y <= 0.00066: tmp = y * (math.sin(x) / x) elif y <= 1.16e+32: tmp = x / (x / math.sinh(y)) else: tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) * (y * (1.0 + ((x * x) * -0.16666666666666666))) return tmp
function code(x, y) tmp = 0.0 if (y <= 0.00066) tmp = Float64(y * Float64(sin(x) / x)); elseif (y <= 1.16e+32) tmp = Float64(x / Float64(x / sinh(y))); else tmp = Float64(Float64(1.0 + Float64(Float64(y * y) * Float64(0.16666666666666666 + Float64(Float64(y * y) * Float64(0.008333333333333333 + Float64(Float64(y * y) * 0.0001984126984126984)))))) * Float64(y * Float64(1.0 + Float64(Float64(x * x) * -0.16666666666666666)))); end return tmp end
function tmp_2 = code(x, y) tmp = 0.0; if (y <= 0.00066) tmp = y * (sin(x) / x); elseif (y <= 1.16e+32) tmp = x / (x / sinh(y)); else tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) * (y * (1.0 + ((x * x) * -0.16666666666666666))); end tmp_2 = tmp; end
code[x_, y_] := If[LessEqual[y, 0.00066], N[(y * N[(N[Sin[x], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.16e+32], N[(x / N[(x / N[Sinh[y], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(1.0 + N[(N[(y * y), $MachinePrecision] * N[(0.16666666666666666 + N[(N[(y * y), $MachinePrecision] * N[(0.008333333333333333 + N[(N[(y * y), $MachinePrecision] * 0.0001984126984126984), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(y * N[(1.0 + N[(N[(x * x), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 0.00066:\\
\;\;\;\;y \cdot \frac{\sin x}{x}\\
\mathbf{elif}\;y \leq 1.16 \cdot 10^{+32}:\\
\;\;\;\;\frac{x}{\frac{x}{\sinh y}}\\
\mathbf{else}:\\
\;\;\;\;\left(1 + \left(y \cdot y\right) \cdot \left(0.16666666666666666 + \left(y \cdot y\right) \cdot \left(0.008333333333333333 + \left(y \cdot y\right) \cdot 0.0001984126984126984\right)\right)\right) \cdot \left(y \cdot \left(1 + \left(x \cdot x\right) \cdot -0.16666666666666666\right)\right)\\
\end{array}
\end{array}
if y < 6.6e-4Initial program 86.3%
Taylor expanded in y around 0 0
Simplified0
if 6.6e-4 < y < 1.16e32Initial program 99.8%
Applied egg-rr0
Taylor expanded in x around 0 0
Simplified0
if 1.16e32 < y Initial program 100.0%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
(FPCore (x y)
:precision binary64
(if (<= y 0.00076)
(* y (/ (sin x) x))
(if (<= y 1.16e+32)
(* (/ (sinh y) x) x)
(*
(+
1.0
(*
(* y y)
(+
0.16666666666666666
(*
(* y y)
(+ 0.008333333333333333 (* (* y y) 0.0001984126984126984))))))
(* y (+ 1.0 (* (* x x) -0.16666666666666666)))))))
double code(double x, double y) {
double tmp;
if (y <= 0.00076) {
tmp = y * (sin(x) / x);
} else if (y <= 1.16e+32) {
tmp = (sinh(y) / x) * x;
} else {
tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) * (y * (1.0 + ((x * x) * -0.16666666666666666)));
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: tmp
if (y <= 0.00076d0) then
tmp = y * (sin(x) / x)
else if (y <= 1.16d+32) then
tmp = (sinh(y) / x) * x
else
tmp = (1.0d0 + ((y * y) * (0.16666666666666666d0 + ((y * y) * (0.008333333333333333d0 + ((y * y) * 0.0001984126984126984d0)))))) * (y * (1.0d0 + ((x * x) * (-0.16666666666666666d0))))
end if
code = tmp
end function
public static double code(double x, double y) {
double tmp;
if (y <= 0.00076) {
tmp = y * (Math.sin(x) / x);
} else if (y <= 1.16e+32) {
tmp = (Math.sinh(y) / x) * x;
} else {
tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) * (y * (1.0 + ((x * x) * -0.16666666666666666)));
}
return tmp;
}
def code(x, y): tmp = 0 if y <= 0.00076: tmp = y * (math.sin(x) / x) elif y <= 1.16e+32: tmp = (math.sinh(y) / x) * x else: tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) * (y * (1.0 + ((x * x) * -0.16666666666666666))) return tmp
function code(x, y) tmp = 0.0 if (y <= 0.00076) tmp = Float64(y * Float64(sin(x) / x)); elseif (y <= 1.16e+32) tmp = Float64(Float64(sinh(y) / x) * x); else tmp = Float64(Float64(1.0 + Float64(Float64(y * y) * Float64(0.16666666666666666 + Float64(Float64(y * y) * Float64(0.008333333333333333 + Float64(Float64(y * y) * 0.0001984126984126984)))))) * Float64(y * Float64(1.0 + Float64(Float64(x * x) * -0.16666666666666666)))); end return tmp end
function tmp_2 = code(x, y) tmp = 0.0; if (y <= 0.00076) tmp = y * (sin(x) / x); elseif (y <= 1.16e+32) tmp = (sinh(y) / x) * x; else tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) * (y * (1.0 + ((x * x) * -0.16666666666666666))); end tmp_2 = tmp; end
code[x_, y_] := If[LessEqual[y, 0.00076], N[(y * N[(N[Sin[x], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.16e+32], N[(N[(N[Sinh[y], $MachinePrecision] / x), $MachinePrecision] * x), $MachinePrecision], N[(N[(1.0 + N[(N[(y * y), $MachinePrecision] * N[(0.16666666666666666 + N[(N[(y * y), $MachinePrecision] * N[(0.008333333333333333 + N[(N[(y * y), $MachinePrecision] * 0.0001984126984126984), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(y * N[(1.0 + N[(N[(x * x), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 0.00076:\\
\;\;\;\;y \cdot \frac{\sin x}{x}\\
\mathbf{elif}\;y \leq 1.16 \cdot 10^{+32}:\\
\;\;\;\;\frac{\sinh y}{x} \cdot x\\
\mathbf{else}:\\
\;\;\;\;\left(1 + \left(y \cdot y\right) \cdot \left(0.16666666666666666 + \left(y \cdot y\right) \cdot \left(0.008333333333333333 + \left(y \cdot y\right) \cdot 0.0001984126984126984\right)\right)\right) \cdot \left(y \cdot \left(1 + \left(x \cdot x\right) \cdot -0.16666666666666666\right)\right)\\
\end{array}
\end{array}
if y < 7.6000000000000004e-4Initial program 86.3%
Taylor expanded in y around 0 0
Simplified0
if 7.6000000000000004e-4 < y < 1.16e32Initial program 99.8%
Applied egg-rr0
Taylor expanded in x around 0 0
Simplified0
if 1.16e32 < y Initial program 100.0%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
(FPCore (x y)
:precision binary64
(if (<= x 7.8e+63)
(*
(/
(*
y
(+
1.0
(*
y
(*
y
(+
0.16666666666666666
(*
y
(*
y
(+ 0.008333333333333333 (* (* y y) 0.0001984126984126984)))))))))
x)
(*
x
(+
1.0
(* x (* x (+ -0.16666666666666666 (* x (* x 0.008333333333333333))))))))
(if (<= x 1.3e+272)
(* x (* x (* -0.027777777777777776 (* y (* y y)))))
(* 0.0001984126984126984 (pow y 7.0)))))
double code(double x, double y) {
double tmp;
if (x <= 7.8e+63) {
tmp = ((y * (1.0 + (y * (y * (0.16666666666666666 + (y * (y * (0.008333333333333333 + ((y * y) * 0.0001984126984126984))))))))) / x) * (x * (1.0 + (x * (x * (-0.16666666666666666 + (x * (x * 0.008333333333333333)))))));
} else if (x <= 1.3e+272) {
tmp = x * (x * (-0.027777777777777776 * (y * (y * y))));
} else {
tmp = 0.0001984126984126984 * pow(y, 7.0);
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: tmp
if (x <= 7.8d+63) then
tmp = ((y * (1.0d0 + (y * (y * (0.16666666666666666d0 + (y * (y * (0.008333333333333333d0 + ((y * y) * 0.0001984126984126984d0))))))))) / x) * (x * (1.0d0 + (x * (x * ((-0.16666666666666666d0) + (x * (x * 0.008333333333333333d0)))))))
else if (x <= 1.3d+272) then
tmp = x * (x * ((-0.027777777777777776d0) * (y * (y * y))))
else
tmp = 0.0001984126984126984d0 * (y ** 7.0d0)
end if
code = tmp
end function
public static double code(double x, double y) {
double tmp;
if (x <= 7.8e+63) {
tmp = ((y * (1.0 + (y * (y * (0.16666666666666666 + (y * (y * (0.008333333333333333 + ((y * y) * 0.0001984126984126984))))))))) / x) * (x * (1.0 + (x * (x * (-0.16666666666666666 + (x * (x * 0.008333333333333333)))))));
} else if (x <= 1.3e+272) {
tmp = x * (x * (-0.027777777777777776 * (y * (y * y))));
} else {
tmp = 0.0001984126984126984 * Math.pow(y, 7.0);
}
return tmp;
}
def code(x, y): tmp = 0 if x <= 7.8e+63: tmp = ((y * (1.0 + (y * (y * (0.16666666666666666 + (y * (y * (0.008333333333333333 + ((y * y) * 0.0001984126984126984))))))))) / x) * (x * (1.0 + (x * (x * (-0.16666666666666666 + (x * (x * 0.008333333333333333))))))) elif x <= 1.3e+272: tmp = x * (x * (-0.027777777777777776 * (y * (y * y)))) else: tmp = 0.0001984126984126984 * math.pow(y, 7.0) return tmp
function code(x, y) tmp = 0.0 if (x <= 7.8e+63) tmp = Float64(Float64(Float64(y * Float64(1.0 + Float64(y * Float64(y * Float64(0.16666666666666666 + Float64(y * Float64(y * Float64(0.008333333333333333 + Float64(Float64(y * y) * 0.0001984126984126984))))))))) / x) * Float64(x * Float64(1.0 + Float64(x * Float64(x * Float64(-0.16666666666666666 + Float64(x * Float64(x * 0.008333333333333333)))))))); elseif (x <= 1.3e+272) tmp = Float64(x * Float64(x * Float64(-0.027777777777777776 * Float64(y * Float64(y * y))))); else tmp = Float64(0.0001984126984126984 * (y ^ 7.0)); end return tmp end
function tmp_2 = code(x, y) tmp = 0.0; if (x <= 7.8e+63) tmp = ((y * (1.0 + (y * (y * (0.16666666666666666 + (y * (y * (0.008333333333333333 + ((y * y) * 0.0001984126984126984))))))))) / x) * (x * (1.0 + (x * (x * (-0.16666666666666666 + (x * (x * 0.008333333333333333))))))); elseif (x <= 1.3e+272) tmp = x * (x * (-0.027777777777777776 * (y * (y * y)))); else tmp = 0.0001984126984126984 * (y ^ 7.0); end tmp_2 = tmp; end
code[x_, y_] := If[LessEqual[x, 7.8e+63], N[(N[(N[(y * N[(1.0 + N[(y * N[(y * N[(0.16666666666666666 + N[(y * N[(y * N[(0.008333333333333333 + N[(N[(y * y), $MachinePrecision] * 0.0001984126984126984), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision] * N[(x * N[(1.0 + N[(x * N[(x * N[(-0.16666666666666666 + N[(x * N[(x * 0.008333333333333333), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.3e+272], N[(x * N[(x * N[(-0.027777777777777776 * N[(y * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(0.0001984126984126984 * N[Power[y, 7.0], $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq 7.8 \cdot 10^{+63}:\\
\;\;\;\;\frac{y \cdot \left(1 + y \cdot \left(y \cdot \left(0.16666666666666666 + y \cdot \left(y \cdot \left(0.008333333333333333 + \left(y \cdot y\right) \cdot 0.0001984126984126984\right)\right)\right)\right)\right)}{x} \cdot \left(x \cdot \left(1 + x \cdot \left(x \cdot \left(-0.16666666666666666 + x \cdot \left(x \cdot 0.008333333333333333\right)\right)\right)\right)\right)\\
\mathbf{elif}\;x \leq 1.3 \cdot 10^{+272}:\\
\;\;\;\;x \cdot \left(x \cdot \left(-0.027777777777777776 \cdot \left(y \cdot \left(y \cdot y\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;0.0001984126984126984 \cdot {y}^{7}\\
\end{array}
\end{array}
if x < 7.8e63Initial program 86.3%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
Applied egg-rr0
if 7.8e63 < x < 1.3e272Initial program 99.8%
Taylor expanded in x around 0 0
Simplified0
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in y around inf 0
Simplified0
Taylor expanded in x around inf 0
Simplified0
if 1.3e272 < x Initial program 100.0%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
Taylor expanded in y around inf 0
Simplified0
(FPCore (x y)
:precision binary64
(let* ((t_0 (+ 0.008333333333333333 (* (* y y) 0.0001984126984126984)))
(t_1 (* y (* y t_0))))
(if (<= y 0.00076)
(* y (/ (sin x) x))
(if (<= y 1.16e+32)
(/
(*
(*
x
(+
1.0
(*
(* x x)
(+ -0.16666666666666666 (* 0.008333333333333333 (* x x))))))
(*
y
(+
1.0
(/
(*
(+
0.004629629629629629
(* t_1 (* (* (* y y) (* y y)) (* t_0 t_0))))
(* y y))
(+ 0.027777777777777776 (* t_1 (- t_1 0.16666666666666666)))))))
x)
(*
(+ 1.0 (* (* y y) (+ 0.16666666666666666 (* (* y y) t_0))))
(* y (+ 1.0 (* (* x x) -0.16666666666666666))))))))
double code(double x, double y) {
double t_0 = 0.008333333333333333 + ((y * y) * 0.0001984126984126984);
double t_1 = y * (y * t_0);
double tmp;
if (y <= 0.00076) {
tmp = y * (sin(x) / x);
} else if (y <= 1.16e+32) {
tmp = ((x * (1.0 + ((x * x) * (-0.16666666666666666 + (0.008333333333333333 * (x * x)))))) * (y * (1.0 + (((0.004629629629629629 + (t_1 * (((y * y) * (y * y)) * (t_0 * t_0)))) * (y * y)) / (0.027777777777777776 + (t_1 * (t_1 - 0.16666666666666666))))))) / x;
} else {
tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * t_0)))) * (y * (1.0 + ((x * x) * -0.16666666666666666)));
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = 0.008333333333333333d0 + ((y * y) * 0.0001984126984126984d0)
t_1 = y * (y * t_0)
if (y <= 0.00076d0) then
tmp = y * (sin(x) / x)
else if (y <= 1.16d+32) then
tmp = ((x * (1.0d0 + ((x * x) * ((-0.16666666666666666d0) + (0.008333333333333333d0 * (x * x)))))) * (y * (1.0d0 + (((0.004629629629629629d0 + (t_1 * (((y * y) * (y * y)) * (t_0 * t_0)))) * (y * y)) / (0.027777777777777776d0 + (t_1 * (t_1 - 0.16666666666666666d0))))))) / x
else
tmp = (1.0d0 + ((y * y) * (0.16666666666666666d0 + ((y * y) * t_0)))) * (y * (1.0d0 + ((x * x) * (-0.16666666666666666d0))))
end if
code = tmp
end function
public static double code(double x, double y) {
double t_0 = 0.008333333333333333 + ((y * y) * 0.0001984126984126984);
double t_1 = y * (y * t_0);
double tmp;
if (y <= 0.00076) {
tmp = y * (Math.sin(x) / x);
} else if (y <= 1.16e+32) {
tmp = ((x * (1.0 + ((x * x) * (-0.16666666666666666 + (0.008333333333333333 * (x * x)))))) * (y * (1.0 + (((0.004629629629629629 + (t_1 * (((y * y) * (y * y)) * (t_0 * t_0)))) * (y * y)) / (0.027777777777777776 + (t_1 * (t_1 - 0.16666666666666666))))))) / x;
} else {
tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * t_0)))) * (y * (1.0 + ((x * x) * -0.16666666666666666)));
}
return tmp;
}
def code(x, y): t_0 = 0.008333333333333333 + ((y * y) * 0.0001984126984126984) t_1 = y * (y * t_0) tmp = 0 if y <= 0.00076: tmp = y * (math.sin(x) / x) elif y <= 1.16e+32: tmp = ((x * (1.0 + ((x * x) * (-0.16666666666666666 + (0.008333333333333333 * (x * x)))))) * (y * (1.0 + (((0.004629629629629629 + (t_1 * (((y * y) * (y * y)) * (t_0 * t_0)))) * (y * y)) / (0.027777777777777776 + (t_1 * (t_1 - 0.16666666666666666))))))) / x else: tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * t_0)))) * (y * (1.0 + ((x * x) * -0.16666666666666666))) return tmp
function code(x, y) t_0 = Float64(0.008333333333333333 + Float64(Float64(y * y) * 0.0001984126984126984)) t_1 = Float64(y * Float64(y * t_0)) tmp = 0.0 if (y <= 0.00076) tmp = Float64(y * Float64(sin(x) / x)); elseif (y <= 1.16e+32) tmp = Float64(Float64(Float64(x * Float64(1.0 + Float64(Float64(x * x) * Float64(-0.16666666666666666 + Float64(0.008333333333333333 * Float64(x * x)))))) * Float64(y * Float64(1.0 + Float64(Float64(Float64(0.004629629629629629 + Float64(t_1 * Float64(Float64(Float64(y * y) * Float64(y * y)) * Float64(t_0 * t_0)))) * Float64(y * y)) / Float64(0.027777777777777776 + Float64(t_1 * Float64(t_1 - 0.16666666666666666))))))) / x); else tmp = Float64(Float64(1.0 + Float64(Float64(y * y) * Float64(0.16666666666666666 + Float64(Float64(y * y) * t_0)))) * Float64(y * Float64(1.0 + Float64(Float64(x * x) * -0.16666666666666666)))); end return tmp end
function tmp_2 = code(x, y) t_0 = 0.008333333333333333 + ((y * y) * 0.0001984126984126984); t_1 = y * (y * t_0); tmp = 0.0; if (y <= 0.00076) tmp = y * (sin(x) / x); elseif (y <= 1.16e+32) tmp = ((x * (1.0 + ((x * x) * (-0.16666666666666666 + (0.008333333333333333 * (x * x)))))) * (y * (1.0 + (((0.004629629629629629 + (t_1 * (((y * y) * (y * y)) * (t_0 * t_0)))) * (y * y)) / (0.027777777777777776 + (t_1 * (t_1 - 0.16666666666666666))))))) / x; else tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * t_0)))) * (y * (1.0 + ((x * x) * -0.16666666666666666))); end tmp_2 = tmp; end
code[x_, y_] := Block[{t$95$0 = N[(0.008333333333333333 + N[(N[(y * y), $MachinePrecision] * 0.0001984126984126984), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(y * N[(y * t$95$0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, 0.00076], N[(y * N[(N[Sin[x], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.16e+32], N[(N[(N[(x * N[(1.0 + N[(N[(x * x), $MachinePrecision] * N[(-0.16666666666666666 + N[(0.008333333333333333 * N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(y * N[(1.0 + N[(N[(N[(0.004629629629629629 + N[(t$95$1 * N[(N[(N[(y * y), $MachinePrecision] * N[(y * y), $MachinePrecision]), $MachinePrecision] * N[(t$95$0 * t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(y * y), $MachinePrecision]), $MachinePrecision] / N[(0.027777777777777776 + N[(t$95$1 * N[(t$95$1 - 0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision], N[(N[(1.0 + N[(N[(y * y), $MachinePrecision] * N[(0.16666666666666666 + N[(N[(y * y), $MachinePrecision] * t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(y * N[(1.0 + N[(N[(x * x), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := 0.008333333333333333 + \left(y \cdot y\right) \cdot 0.0001984126984126984\\
t_1 := y \cdot \left(y \cdot t\_0\right)\\
\mathbf{if}\;y \leq 0.00076:\\
\;\;\;\;y \cdot \frac{\sin x}{x}\\
\mathbf{elif}\;y \leq 1.16 \cdot 10^{+32}:\\
\;\;\;\;\frac{\left(x \cdot \left(1 + \left(x \cdot x\right) \cdot \left(-0.16666666666666666 + 0.008333333333333333 \cdot \left(x \cdot x\right)\right)\right)\right) \cdot \left(y \cdot \left(1 + \frac{\left(0.004629629629629629 + t\_1 \cdot \left(\left(\left(y \cdot y\right) \cdot \left(y \cdot y\right)\right) \cdot \left(t\_0 \cdot t\_0\right)\right)\right) \cdot \left(y \cdot y\right)}{0.027777777777777776 + t\_1 \cdot \left(t\_1 - 0.16666666666666666\right)}\right)\right)}{x}\\
\mathbf{else}:\\
\;\;\;\;\left(1 + \left(y \cdot y\right) \cdot \left(0.16666666666666666 + \left(y \cdot y\right) \cdot t\_0\right)\right) \cdot \left(y \cdot \left(1 + \left(x \cdot x\right) \cdot -0.16666666666666666\right)\right)\\
\end{array}
\end{array}
if y < 7.6000000000000004e-4Initial program 86.3%
Taylor expanded in y around 0 0
Simplified0
if 7.6000000000000004e-4 < y < 1.16e32Initial program 99.8%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
Applied egg-rr0
if 1.16e32 < y Initial program 100.0%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
(FPCore (x y)
:precision binary64
(let* ((t_0 (+ 0.008333333333333333 (* (* y y) 0.0001984126984126984)))
(t_1 (* y (* y t_0))))
(if (<= y 7e-5)
(* x (/ y x))
(if (<= y 1.15e+32)
(/
(*
(*
x
(+
1.0
(*
(* x x)
(+ -0.16666666666666666 (* 0.008333333333333333 (* x x))))))
(*
y
(+
1.0
(/
(*
(+
0.004629629629629629
(* t_1 (* (* (* y y) (* y y)) (* t_0 t_0))))
(* y y))
(+ 0.027777777777777776 (* t_1 (- t_1 0.16666666666666666)))))))
x)
(*
(+ 1.0 (* (* y y) (+ 0.16666666666666666 (* (* y y) t_0))))
(* y (+ 1.0 (* (* x x) -0.16666666666666666))))))))
double code(double x, double y) {
double t_0 = 0.008333333333333333 + ((y * y) * 0.0001984126984126984);
double t_1 = y * (y * t_0);
double tmp;
if (y <= 7e-5) {
tmp = x * (y / x);
} else if (y <= 1.15e+32) {
tmp = ((x * (1.0 + ((x * x) * (-0.16666666666666666 + (0.008333333333333333 * (x * x)))))) * (y * (1.0 + (((0.004629629629629629 + (t_1 * (((y * y) * (y * y)) * (t_0 * t_0)))) * (y * y)) / (0.027777777777777776 + (t_1 * (t_1 - 0.16666666666666666))))))) / x;
} else {
tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * t_0)))) * (y * (1.0 + ((x * x) * -0.16666666666666666)));
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = 0.008333333333333333d0 + ((y * y) * 0.0001984126984126984d0)
t_1 = y * (y * t_0)
if (y <= 7d-5) then
tmp = x * (y / x)
else if (y <= 1.15d+32) then
tmp = ((x * (1.0d0 + ((x * x) * ((-0.16666666666666666d0) + (0.008333333333333333d0 * (x * x)))))) * (y * (1.0d0 + (((0.004629629629629629d0 + (t_1 * (((y * y) * (y * y)) * (t_0 * t_0)))) * (y * y)) / (0.027777777777777776d0 + (t_1 * (t_1 - 0.16666666666666666d0))))))) / x
else
tmp = (1.0d0 + ((y * y) * (0.16666666666666666d0 + ((y * y) * t_0)))) * (y * (1.0d0 + ((x * x) * (-0.16666666666666666d0))))
end if
code = tmp
end function
public static double code(double x, double y) {
double t_0 = 0.008333333333333333 + ((y * y) * 0.0001984126984126984);
double t_1 = y * (y * t_0);
double tmp;
if (y <= 7e-5) {
tmp = x * (y / x);
} else if (y <= 1.15e+32) {
tmp = ((x * (1.0 + ((x * x) * (-0.16666666666666666 + (0.008333333333333333 * (x * x)))))) * (y * (1.0 + (((0.004629629629629629 + (t_1 * (((y * y) * (y * y)) * (t_0 * t_0)))) * (y * y)) / (0.027777777777777776 + (t_1 * (t_1 - 0.16666666666666666))))))) / x;
} else {
tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * t_0)))) * (y * (1.0 + ((x * x) * -0.16666666666666666)));
}
return tmp;
}
def code(x, y): t_0 = 0.008333333333333333 + ((y * y) * 0.0001984126984126984) t_1 = y * (y * t_0) tmp = 0 if y <= 7e-5: tmp = x * (y / x) elif y <= 1.15e+32: tmp = ((x * (1.0 + ((x * x) * (-0.16666666666666666 + (0.008333333333333333 * (x * x)))))) * (y * (1.0 + (((0.004629629629629629 + (t_1 * (((y * y) * (y * y)) * (t_0 * t_0)))) * (y * y)) / (0.027777777777777776 + (t_1 * (t_1 - 0.16666666666666666))))))) / x else: tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * t_0)))) * (y * (1.0 + ((x * x) * -0.16666666666666666))) return tmp
function code(x, y) t_0 = Float64(0.008333333333333333 + Float64(Float64(y * y) * 0.0001984126984126984)) t_1 = Float64(y * Float64(y * t_0)) tmp = 0.0 if (y <= 7e-5) tmp = Float64(x * Float64(y / x)); elseif (y <= 1.15e+32) tmp = Float64(Float64(Float64(x * Float64(1.0 + Float64(Float64(x * x) * Float64(-0.16666666666666666 + Float64(0.008333333333333333 * Float64(x * x)))))) * Float64(y * Float64(1.0 + Float64(Float64(Float64(0.004629629629629629 + Float64(t_1 * Float64(Float64(Float64(y * y) * Float64(y * y)) * Float64(t_0 * t_0)))) * Float64(y * y)) / Float64(0.027777777777777776 + Float64(t_1 * Float64(t_1 - 0.16666666666666666))))))) / x); else tmp = Float64(Float64(1.0 + Float64(Float64(y * y) * Float64(0.16666666666666666 + Float64(Float64(y * y) * t_0)))) * Float64(y * Float64(1.0 + Float64(Float64(x * x) * -0.16666666666666666)))); end return tmp end
function tmp_2 = code(x, y) t_0 = 0.008333333333333333 + ((y * y) * 0.0001984126984126984); t_1 = y * (y * t_0); tmp = 0.0; if (y <= 7e-5) tmp = x * (y / x); elseif (y <= 1.15e+32) tmp = ((x * (1.0 + ((x * x) * (-0.16666666666666666 + (0.008333333333333333 * (x * x)))))) * (y * (1.0 + (((0.004629629629629629 + (t_1 * (((y * y) * (y * y)) * (t_0 * t_0)))) * (y * y)) / (0.027777777777777776 + (t_1 * (t_1 - 0.16666666666666666))))))) / x; else tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * t_0)))) * (y * (1.0 + ((x * x) * -0.16666666666666666))); end tmp_2 = tmp; end
code[x_, y_] := Block[{t$95$0 = N[(0.008333333333333333 + N[(N[(y * y), $MachinePrecision] * 0.0001984126984126984), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(y * N[(y * t$95$0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, 7e-5], N[(x * N[(y / x), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.15e+32], N[(N[(N[(x * N[(1.0 + N[(N[(x * x), $MachinePrecision] * N[(-0.16666666666666666 + N[(0.008333333333333333 * N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(y * N[(1.0 + N[(N[(N[(0.004629629629629629 + N[(t$95$1 * N[(N[(N[(y * y), $MachinePrecision] * N[(y * y), $MachinePrecision]), $MachinePrecision] * N[(t$95$0 * t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(y * y), $MachinePrecision]), $MachinePrecision] / N[(0.027777777777777776 + N[(t$95$1 * N[(t$95$1 - 0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision], N[(N[(1.0 + N[(N[(y * y), $MachinePrecision] * N[(0.16666666666666666 + N[(N[(y * y), $MachinePrecision] * t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(y * N[(1.0 + N[(N[(x * x), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := 0.008333333333333333 + \left(y \cdot y\right) \cdot 0.0001984126984126984\\
t_1 := y \cdot \left(y \cdot t\_0\right)\\
\mathbf{if}\;y \leq 7 \cdot 10^{-5}:\\
\;\;\;\;x \cdot \frac{y}{x}\\
\mathbf{elif}\;y \leq 1.15 \cdot 10^{+32}:\\
\;\;\;\;\frac{\left(x \cdot \left(1 + \left(x \cdot x\right) \cdot \left(-0.16666666666666666 + 0.008333333333333333 \cdot \left(x \cdot x\right)\right)\right)\right) \cdot \left(y \cdot \left(1 + \frac{\left(0.004629629629629629 + t\_1 \cdot \left(\left(\left(y \cdot y\right) \cdot \left(y \cdot y\right)\right) \cdot \left(t\_0 \cdot t\_0\right)\right)\right) \cdot \left(y \cdot y\right)}{0.027777777777777776 + t\_1 \cdot \left(t\_1 - 0.16666666666666666\right)}\right)\right)}{x}\\
\mathbf{else}:\\
\;\;\;\;\left(1 + \left(y \cdot y\right) \cdot \left(0.16666666666666666 + \left(y \cdot y\right) \cdot t\_0\right)\right) \cdot \left(y \cdot \left(1 + \left(x \cdot x\right) \cdot -0.16666666666666666\right)\right)\\
\end{array}
\end{array}
if y < 6.9999999999999994e-5Initial program 86.3%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
Applied egg-rr0
if 6.9999999999999994e-5 < y < 1.15e32Initial program 99.8%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
Applied egg-rr0
if 1.15e32 < y Initial program 100.0%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
(FPCore (x y)
:precision binary64
(if (<= y 7e-5)
(* x (/ y x))
(*
(+
1.0
(*
(* y y)
(+
0.16666666666666666
(*
(* y y)
(+ 0.008333333333333333 (* (* y y) 0.0001984126984126984))))))
(* y (+ 1.0 (* (* x x) -0.16666666666666666))))))
double code(double x, double y) {
double tmp;
if (y <= 7e-5) {
tmp = x * (y / x);
} else {
tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) * (y * (1.0 + ((x * x) * -0.16666666666666666)));
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: tmp
if (y <= 7d-5) then
tmp = x * (y / x)
else
tmp = (1.0d0 + ((y * y) * (0.16666666666666666d0 + ((y * y) * (0.008333333333333333d0 + ((y * y) * 0.0001984126984126984d0)))))) * (y * (1.0d0 + ((x * x) * (-0.16666666666666666d0))))
end if
code = tmp
end function
public static double code(double x, double y) {
double tmp;
if (y <= 7e-5) {
tmp = x * (y / x);
} else {
tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) * (y * (1.0 + ((x * x) * -0.16666666666666666)));
}
return tmp;
}
def code(x, y): tmp = 0 if y <= 7e-5: tmp = x * (y / x) else: tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) * (y * (1.0 + ((x * x) * -0.16666666666666666))) return tmp
function code(x, y) tmp = 0.0 if (y <= 7e-5) tmp = Float64(x * Float64(y / x)); else tmp = Float64(Float64(1.0 + Float64(Float64(y * y) * Float64(0.16666666666666666 + Float64(Float64(y * y) * Float64(0.008333333333333333 + Float64(Float64(y * y) * 0.0001984126984126984)))))) * Float64(y * Float64(1.0 + Float64(Float64(x * x) * -0.16666666666666666)))); end return tmp end
function tmp_2 = code(x, y) tmp = 0.0; if (y <= 7e-5) tmp = x * (y / x); else tmp = (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) * (y * (1.0 + ((x * x) * -0.16666666666666666))); end tmp_2 = tmp; end
code[x_, y_] := If[LessEqual[y, 7e-5], N[(x * N[(y / x), $MachinePrecision]), $MachinePrecision], N[(N[(1.0 + N[(N[(y * y), $MachinePrecision] * N[(0.16666666666666666 + N[(N[(y * y), $MachinePrecision] * N[(0.008333333333333333 + N[(N[(y * y), $MachinePrecision] * 0.0001984126984126984), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(y * N[(1.0 + N[(N[(x * x), $MachinePrecision] * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 7 \cdot 10^{-5}:\\
\;\;\;\;x \cdot \frac{y}{x}\\
\mathbf{else}:\\
\;\;\;\;\left(1 + \left(y \cdot y\right) \cdot \left(0.16666666666666666 + \left(y \cdot y\right) \cdot \left(0.008333333333333333 + \left(y \cdot y\right) \cdot 0.0001984126984126984\right)\right)\right) \cdot \left(y \cdot \left(1 + \left(x \cdot x\right) \cdot -0.16666666666666666\right)\right)\\
\end{array}
\end{array}
if y < 6.9999999999999994e-5Initial program 86.3%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
Applied egg-rr0
if 6.9999999999999994e-5 < y Initial program 100.0%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
(FPCore (x y)
:precision binary64
(if (<= x 1.25e+64)
(*
y
(+
1.0
(*
(* y y)
(+
0.16666666666666666
(*
(* y y)
(+ 0.008333333333333333 (* (* y y) 0.0001984126984126984)))))))
(* x (* x (* -0.027777777777777776 (* y (* y y)))))))
double code(double x, double y) {
double tmp;
if (x <= 1.25e+64) {
tmp = y * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984))))));
} else {
tmp = x * (x * (-0.027777777777777776 * (y * (y * y))));
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: tmp
if (x <= 1.25d+64) then
tmp = y * (1.0d0 + ((y * y) * (0.16666666666666666d0 + ((y * y) * (0.008333333333333333d0 + ((y * y) * 0.0001984126984126984d0))))))
else
tmp = x * (x * ((-0.027777777777777776d0) * (y * (y * y))))
end if
code = tmp
end function
public static double code(double x, double y) {
double tmp;
if (x <= 1.25e+64) {
tmp = y * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984))))));
} else {
tmp = x * (x * (-0.027777777777777776 * (y * (y * y))));
}
return tmp;
}
def code(x, y): tmp = 0 if x <= 1.25e+64: tmp = y * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))) else: tmp = x * (x * (-0.027777777777777776 * (y * (y * y)))) return tmp
function code(x, y) tmp = 0.0 if (x <= 1.25e+64) tmp = Float64(y * Float64(1.0 + Float64(Float64(y * y) * Float64(0.16666666666666666 + Float64(Float64(y * y) * Float64(0.008333333333333333 + Float64(Float64(y * y) * 0.0001984126984126984))))))); else tmp = Float64(x * Float64(x * Float64(-0.027777777777777776 * Float64(y * Float64(y * y))))); end return tmp end
function tmp_2 = code(x, y) tmp = 0.0; if (x <= 1.25e+64) tmp = y * (1.0 + ((y * y) * (0.16666666666666666 + ((y * y) * (0.008333333333333333 + ((y * y) * 0.0001984126984126984)))))); else tmp = x * (x * (-0.027777777777777776 * (y * (y * y)))); end tmp_2 = tmp; end
code[x_, y_] := If[LessEqual[x, 1.25e+64], N[(y * N[(1.0 + N[(N[(y * y), $MachinePrecision] * N[(0.16666666666666666 + N[(N[(y * y), $MachinePrecision] * N[(0.008333333333333333 + N[(N[(y * y), $MachinePrecision] * 0.0001984126984126984), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(x * N[(-0.027777777777777776 * N[(y * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq 1.25 \cdot 10^{+64}:\\
\;\;\;\;y \cdot \left(1 + \left(y \cdot y\right) \cdot \left(0.16666666666666666 + \left(y \cdot y\right) \cdot \left(0.008333333333333333 + \left(y \cdot y\right) \cdot 0.0001984126984126984\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(x \cdot \left(-0.027777777777777776 \cdot \left(y \cdot \left(y \cdot y\right)\right)\right)\right)\\
\end{array}
\end{array}
if x < 1.25e64Initial program 86.3%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
if 1.25e64 < x Initial program 99.9%
Taylor expanded in x around 0 0
Simplified0
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in y around inf 0
Simplified0
Taylor expanded in x around inf 0
Simplified0
(FPCore (x y)
:precision binary64
(let* ((t_0 (* x (/ y x))))
(if (<= y 3500.0)
t_0
(if (<= y 2.05e+55)
(* y (+ 1.0 (* x (* x -0.16666666666666666))))
(if (<= y 9e+102) t_0 (* 0.16666666666666666 (* y (* y y))))))))
double code(double x, double y) {
double t_0 = x * (y / x);
double tmp;
if (y <= 3500.0) {
tmp = t_0;
} else if (y <= 2.05e+55) {
tmp = y * (1.0 + (x * (x * -0.16666666666666666)));
} else if (y <= 9e+102) {
tmp = t_0;
} else {
tmp = 0.16666666666666666 * (y * (y * y));
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: t_0
real(8) :: tmp
t_0 = x * (y / x)
if (y <= 3500.0d0) then
tmp = t_0
else if (y <= 2.05d+55) then
tmp = y * (1.0d0 + (x * (x * (-0.16666666666666666d0))))
else if (y <= 9d+102) then
tmp = t_0
else
tmp = 0.16666666666666666d0 * (y * (y * y))
end if
code = tmp
end function
public static double code(double x, double y) {
double t_0 = x * (y / x);
double tmp;
if (y <= 3500.0) {
tmp = t_0;
} else if (y <= 2.05e+55) {
tmp = y * (1.0 + (x * (x * -0.16666666666666666)));
} else if (y <= 9e+102) {
tmp = t_0;
} else {
tmp = 0.16666666666666666 * (y * (y * y));
}
return tmp;
}
def code(x, y): t_0 = x * (y / x) tmp = 0 if y <= 3500.0: tmp = t_0 elif y <= 2.05e+55: tmp = y * (1.0 + (x * (x * -0.16666666666666666))) elif y <= 9e+102: tmp = t_0 else: tmp = 0.16666666666666666 * (y * (y * y)) return tmp
function code(x, y) t_0 = Float64(x * Float64(y / x)) tmp = 0.0 if (y <= 3500.0) tmp = t_0; elseif (y <= 2.05e+55) tmp = Float64(y * Float64(1.0 + Float64(x * Float64(x * -0.16666666666666666)))); elseif (y <= 9e+102) tmp = t_0; else tmp = Float64(0.16666666666666666 * Float64(y * Float64(y * y))); end return tmp end
function tmp_2 = code(x, y) t_0 = x * (y / x); tmp = 0.0; if (y <= 3500.0) tmp = t_0; elseif (y <= 2.05e+55) tmp = y * (1.0 + (x * (x * -0.16666666666666666))); elseif (y <= 9e+102) tmp = t_0; else tmp = 0.16666666666666666 * (y * (y * y)); end tmp_2 = tmp; end
code[x_, y_] := Block[{t$95$0 = N[(x * N[(y / x), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, 3500.0], t$95$0, If[LessEqual[y, 2.05e+55], N[(y * N[(1.0 + N[(x * N[(x * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 9e+102], t$95$0, N[(0.16666666666666666 * N[(y * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := x \cdot \frac{y}{x}\\
\mathbf{if}\;y \leq 3500:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;y \leq 2.05 \cdot 10^{+55}:\\
\;\;\;\;y \cdot \left(1 + x \cdot \left(x \cdot -0.16666666666666666\right)\right)\\
\mathbf{elif}\;y \leq 9 \cdot 10^{+102}:\\
\;\;\;\;t\_0\\
\mathbf{else}:\\
\;\;\;\;0.16666666666666666 \cdot \left(y \cdot \left(y \cdot y\right)\right)\\
\end{array}
\end{array}
if y < 3500 or 2.04999999999999991e55 < y < 9.00000000000000042e102Initial program 86.8%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
Applied egg-rr0
if 3500 < y < 2.04999999999999991e55Initial program 100.0%
Taylor expanded in x around 0 0
Simplified0
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in y around 0 0
Simplified0
if 9.00000000000000042e102 < y Initial program 100.0%
Taylor expanded in x around 0 0
Simplified0
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in y around inf 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
(FPCore (x y)
:precision binary64
(if (<= x 1.5e-236)
(* x (/ y x))
(if (<= x 1.15e+64)
(* y (+ 1.0 (* y (* y 0.16666666666666666))))
(* x (* x (* -0.027777777777777776 (* y (* y y))))))))
double code(double x, double y) {
double tmp;
if (x <= 1.5e-236) {
tmp = x * (y / x);
} else if (x <= 1.15e+64) {
tmp = y * (1.0 + (y * (y * 0.16666666666666666)));
} else {
tmp = x * (x * (-0.027777777777777776 * (y * (y * y))));
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: tmp
if (x <= 1.5d-236) then
tmp = x * (y / x)
else if (x <= 1.15d+64) then
tmp = y * (1.0d0 + (y * (y * 0.16666666666666666d0)))
else
tmp = x * (x * ((-0.027777777777777776d0) * (y * (y * y))))
end if
code = tmp
end function
public static double code(double x, double y) {
double tmp;
if (x <= 1.5e-236) {
tmp = x * (y / x);
} else if (x <= 1.15e+64) {
tmp = y * (1.0 + (y * (y * 0.16666666666666666)));
} else {
tmp = x * (x * (-0.027777777777777776 * (y * (y * y))));
}
return tmp;
}
def code(x, y): tmp = 0 if x <= 1.5e-236: tmp = x * (y / x) elif x <= 1.15e+64: tmp = y * (1.0 + (y * (y * 0.16666666666666666))) else: tmp = x * (x * (-0.027777777777777776 * (y * (y * y)))) return tmp
function code(x, y) tmp = 0.0 if (x <= 1.5e-236) tmp = Float64(x * Float64(y / x)); elseif (x <= 1.15e+64) tmp = Float64(y * Float64(1.0 + Float64(y * Float64(y * 0.16666666666666666)))); else tmp = Float64(x * Float64(x * Float64(-0.027777777777777776 * Float64(y * Float64(y * y))))); end return tmp end
function tmp_2 = code(x, y) tmp = 0.0; if (x <= 1.5e-236) tmp = x * (y / x); elseif (x <= 1.15e+64) tmp = y * (1.0 + (y * (y * 0.16666666666666666))); else tmp = x * (x * (-0.027777777777777776 * (y * (y * y)))); end tmp_2 = tmp; end
code[x_, y_] := If[LessEqual[x, 1.5e-236], N[(x * N[(y / x), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.15e+64], N[(y * N[(1.0 + N[(y * N[(y * 0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(x * N[(-0.027777777777777776 * N[(y * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq 1.5 \cdot 10^{-236}:\\
\;\;\;\;x \cdot \frac{y}{x}\\
\mathbf{elif}\;x \leq 1.15 \cdot 10^{+64}:\\
\;\;\;\;y \cdot \left(1 + y \cdot \left(y \cdot 0.16666666666666666\right)\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(x \cdot \left(-0.027777777777777776 \cdot \left(y \cdot \left(y \cdot y\right)\right)\right)\right)\\
\end{array}
\end{array}
if x < 1.50000000000000007e-236Initial program 86.3%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
Applied egg-rr0
if 1.50000000000000007e-236 < x < 1.15e64Initial program 86.2%
Taylor expanded in x around 0 0
Simplified0
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
if 1.15e64 < x Initial program 99.9%
Taylor expanded in x around 0 0
Simplified0
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in y around inf 0
Simplified0
Taylor expanded in x around inf 0
Simplified0
(FPCore (x y)
:precision binary64
(if (<= x 1.25e+64)
(*
y
(+
1.0
(* y (* y (+ 0.16666666666666666 (* y (* y 0.008333333333333333)))))))
(* x (* x (* -0.027777777777777776 (* y (* y y)))))))
double code(double x, double y) {
double tmp;
if (x <= 1.25e+64) {
tmp = y * (1.0 + (y * (y * (0.16666666666666666 + (y * (y * 0.008333333333333333))))));
} else {
tmp = x * (x * (-0.027777777777777776 * (y * (y * y))));
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: tmp
if (x <= 1.25d+64) then
tmp = y * (1.0d0 + (y * (y * (0.16666666666666666d0 + (y * (y * 0.008333333333333333d0))))))
else
tmp = x * (x * ((-0.027777777777777776d0) * (y * (y * y))))
end if
code = tmp
end function
public static double code(double x, double y) {
double tmp;
if (x <= 1.25e+64) {
tmp = y * (1.0 + (y * (y * (0.16666666666666666 + (y * (y * 0.008333333333333333))))));
} else {
tmp = x * (x * (-0.027777777777777776 * (y * (y * y))));
}
return tmp;
}
def code(x, y): tmp = 0 if x <= 1.25e+64: tmp = y * (1.0 + (y * (y * (0.16666666666666666 + (y * (y * 0.008333333333333333)))))) else: tmp = x * (x * (-0.027777777777777776 * (y * (y * y)))) return tmp
function code(x, y) tmp = 0.0 if (x <= 1.25e+64) tmp = Float64(y * Float64(1.0 + Float64(y * Float64(y * Float64(0.16666666666666666 + Float64(y * Float64(y * 0.008333333333333333))))))); else tmp = Float64(x * Float64(x * Float64(-0.027777777777777776 * Float64(y * Float64(y * y))))); end return tmp end
function tmp_2 = code(x, y) tmp = 0.0; if (x <= 1.25e+64) tmp = y * (1.0 + (y * (y * (0.16666666666666666 + (y * (y * 0.008333333333333333)))))); else tmp = x * (x * (-0.027777777777777776 * (y * (y * y)))); end tmp_2 = tmp; end
code[x_, y_] := If[LessEqual[x, 1.25e+64], N[(y * N[(1.0 + N[(y * N[(y * N[(0.16666666666666666 + N[(y * N[(y * 0.008333333333333333), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(x * N[(-0.027777777777777776 * N[(y * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq 1.25 \cdot 10^{+64}:\\
\;\;\;\;y \cdot \left(1 + y \cdot \left(y \cdot \left(0.16666666666666666 + y \cdot \left(y \cdot 0.008333333333333333\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(x \cdot \left(-0.027777777777777776 \cdot \left(y \cdot \left(y \cdot y\right)\right)\right)\right)\\
\end{array}
\end{array}
if x < 1.25e64Initial program 86.3%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
if 1.25e64 < x Initial program 99.9%
Taylor expanded in x around 0 0
Simplified0
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in y around inf 0
Simplified0
Taylor expanded in x around inf 0
Simplified0
(FPCore (x y)
:precision binary64
(if (<= y 850.0)
(* x (/ y x))
(*
(* y (* y y))
(+ 0.16666666666666666 (* (* x x) -0.027777777777777776)))))
double code(double x, double y) {
double tmp;
if (y <= 850.0) {
tmp = x * (y / x);
} else {
tmp = (y * (y * y)) * (0.16666666666666666 + ((x * x) * -0.027777777777777776));
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: tmp
if (y <= 850.0d0) then
tmp = x * (y / x)
else
tmp = (y * (y * y)) * (0.16666666666666666d0 + ((x * x) * (-0.027777777777777776d0)))
end if
code = tmp
end function
public static double code(double x, double y) {
double tmp;
if (y <= 850.0) {
tmp = x * (y / x);
} else {
tmp = (y * (y * y)) * (0.16666666666666666 + ((x * x) * -0.027777777777777776));
}
return tmp;
}
def code(x, y): tmp = 0 if y <= 850.0: tmp = x * (y / x) else: tmp = (y * (y * y)) * (0.16666666666666666 + ((x * x) * -0.027777777777777776)) return tmp
function code(x, y) tmp = 0.0 if (y <= 850.0) tmp = Float64(x * Float64(y / x)); else tmp = Float64(Float64(y * Float64(y * y)) * Float64(0.16666666666666666 + Float64(Float64(x * x) * -0.027777777777777776))); end return tmp end
function tmp_2 = code(x, y) tmp = 0.0; if (y <= 850.0) tmp = x * (y / x); else tmp = (y * (y * y)) * (0.16666666666666666 + ((x * x) * -0.027777777777777776)); end tmp_2 = tmp; end
code[x_, y_] := If[LessEqual[y, 850.0], N[(x * N[(y / x), $MachinePrecision]), $MachinePrecision], N[(N[(y * N[(y * y), $MachinePrecision]), $MachinePrecision] * N[(0.16666666666666666 + N[(N[(x * x), $MachinePrecision] * -0.027777777777777776), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 850:\\
\;\;\;\;x \cdot \frac{y}{x}\\
\mathbf{else}:\\
\;\;\;\;\left(y \cdot \left(y \cdot y\right)\right) \cdot \left(0.16666666666666666 + \left(x \cdot x\right) \cdot -0.027777777777777776\right)\\
\end{array}
\end{array}
if y < 850Initial program 86.4%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
Applied egg-rr0
if 850 < y Initial program 100.0%
Taylor expanded in x around 0 0
Simplified0
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in y around inf 0
Simplified0
(FPCore (x y)
:precision binary64
(if (<= y 4.5)
(* x (/ y x))
(*
y
(* (* y y) (+ 0.16666666666666666 (* (* x x) -0.027777777777777776))))))
double code(double x, double y) {
double tmp;
if (y <= 4.5) {
tmp = x * (y / x);
} else {
tmp = y * ((y * y) * (0.16666666666666666 + ((x * x) * -0.027777777777777776)));
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: tmp
if (y <= 4.5d0) then
tmp = x * (y / x)
else
tmp = y * ((y * y) * (0.16666666666666666d0 + ((x * x) * (-0.027777777777777776d0))))
end if
code = tmp
end function
public static double code(double x, double y) {
double tmp;
if (y <= 4.5) {
tmp = x * (y / x);
} else {
tmp = y * ((y * y) * (0.16666666666666666 + ((x * x) * -0.027777777777777776)));
}
return tmp;
}
def code(x, y): tmp = 0 if y <= 4.5: tmp = x * (y / x) else: tmp = y * ((y * y) * (0.16666666666666666 + ((x * x) * -0.027777777777777776))) return tmp
function code(x, y) tmp = 0.0 if (y <= 4.5) tmp = Float64(x * Float64(y / x)); else tmp = Float64(y * Float64(Float64(y * y) * Float64(0.16666666666666666 + Float64(Float64(x * x) * -0.027777777777777776)))); end return tmp end
function tmp_2 = code(x, y) tmp = 0.0; if (y <= 4.5) tmp = x * (y / x); else tmp = y * ((y * y) * (0.16666666666666666 + ((x * x) * -0.027777777777777776))); end tmp_2 = tmp; end
code[x_, y_] := If[LessEqual[y, 4.5], N[(x * N[(y / x), $MachinePrecision]), $MachinePrecision], N[(y * N[(N[(y * y), $MachinePrecision] * N[(0.16666666666666666 + N[(N[(x * x), $MachinePrecision] * -0.027777777777777776), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 4.5:\\
\;\;\;\;x \cdot \frac{y}{x}\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(\left(y \cdot y\right) \cdot \left(0.16666666666666666 + \left(x \cdot x\right) \cdot -0.027777777777777776\right)\right)\\
\end{array}
\end{array}
if y < 4.5Initial program 86.4%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
Applied egg-rr0
if 4.5 < y Initial program 100.0%
Taylor expanded in x around 0 0
Simplified0
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in y around inf 0
Simplified0
(FPCore (x y) :precision binary64 (if (<= y 9e+102) (* x (/ y x)) (* 0.16666666666666666 (* y (* y y)))))
double code(double x, double y) {
double tmp;
if (y <= 9e+102) {
tmp = x * (y / x);
} else {
tmp = 0.16666666666666666 * (y * (y * y));
}
return tmp;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: tmp
if (y <= 9d+102) then
tmp = x * (y / x)
else
tmp = 0.16666666666666666d0 * (y * (y * y))
end if
code = tmp
end function
public static double code(double x, double y) {
double tmp;
if (y <= 9e+102) {
tmp = x * (y / x);
} else {
tmp = 0.16666666666666666 * (y * (y * y));
}
return tmp;
}
def code(x, y): tmp = 0 if y <= 9e+102: tmp = x * (y / x) else: tmp = 0.16666666666666666 * (y * (y * y)) return tmp
function code(x, y) tmp = 0.0 if (y <= 9e+102) tmp = Float64(x * Float64(y / x)); else tmp = Float64(0.16666666666666666 * Float64(y * Float64(y * y))); end return tmp end
function tmp_2 = code(x, y) tmp = 0.0; if (y <= 9e+102) tmp = x * (y / x); else tmp = 0.16666666666666666 * (y * (y * y)); end tmp_2 = tmp; end
code[x_, y_] := If[LessEqual[y, 9e+102], N[(x * N[(y / x), $MachinePrecision]), $MachinePrecision], N[(0.16666666666666666 * N[(y * N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq 9 \cdot 10^{+102}:\\
\;\;\;\;x \cdot \frac{y}{x}\\
\mathbf{else}:\\
\;\;\;\;0.16666666666666666 \cdot \left(y \cdot \left(y \cdot y\right)\right)\\
\end{array}
\end{array}
if y < 9.00000000000000042e102Initial program 87.4%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
Applied egg-rr0
if 9.00000000000000042e102 < y Initial program 100.0%
Taylor expanded in x around 0 0
Simplified0
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in y around inf 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
(FPCore (x y) :precision binary64 (* x (/ y x)))
double code(double x, double y) {
return x * (y / x);
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
code = x * (y / x)
end function
public static double code(double x, double y) {
return x * (y / x);
}
def code(x, y): return x * (y / x)
function code(x, y) return Float64(x * Float64(y / x)) end
function tmp = code(x, y) tmp = x * (y / x); end
code[x_, y_] := N[(x * N[(y / x), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x \cdot \frac{y}{x}
\end{array}
Initial program 89.2%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
Applied egg-rr0
(FPCore (x y) :precision binary64 y)
double code(double x, double y) {
return y;
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
code = y
end function
public static double code(double x, double y) {
return y;
}
def code(x, y): return y
function code(x, y) return y end
function tmp = code(x, y) tmp = y; end
code[x_, y_] := y
\begin{array}{l}
\\
y
\end{array}
Initial program 89.2%
Taylor expanded in y around 0 0
Simplified0
Taylor expanded in x around 0 0
Simplified0
(FPCore (x y) :precision binary64 (* (sin x) (/ (sinh y) x)))
double code(double x, double y) {
return sin(x) * (sinh(y) / x);
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
code = sin(x) * (sinh(y) / x)
end function
public static double code(double x, double y) {
return Math.sin(x) * (Math.sinh(y) / x);
}
def code(x, y): return math.sin(x) * (math.sinh(y) / x)
function code(x, y) return Float64(sin(x) * Float64(sinh(y) / x)) end
function tmp = code(x, y) tmp = sin(x) * (sinh(y) / x); end
code[x_, y_] := N[(N[Sin[x], $MachinePrecision] * N[(N[Sinh[y], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\sin x \cdot \frac{\sinh y}{x}
\end{array}
herbie shell --seed 2024110
(FPCore (x y)
:name "Linear.Quaternion:$ccosh from linear-1.19.1.3"
:precision binary64
:alt
(* (sin x) (/ (sinh y) x))
(/ (* (sin x) (sinh y)) x))