
(FPCore (x y z) :precision binary64 (+ x (* (* (- y x) 6.0) (- (/ 2.0 3.0) z))))
double code(double x, double y, double z) {
return x + (((y - x) * 6.0) * ((2.0 / 3.0) - z));
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
code = x + (((y - x) * 6.0d0) * ((2.0d0 / 3.0d0) - z))
end function
public static double code(double x, double y, double z) {
return x + (((y - x) * 6.0) * ((2.0 / 3.0) - z));
}
def code(x, y, z): return x + (((y - x) * 6.0) * ((2.0 / 3.0) - z))
function code(x, y, z) return Float64(x + Float64(Float64(Float64(y - x) * 6.0) * Float64(Float64(2.0 / 3.0) - z))) end
function tmp = code(x, y, z) tmp = x + (((y - x) * 6.0) * ((2.0 / 3.0) - z)); end
code[x_, y_, z_] := N[(x + N[(N[(N[(y - x), $MachinePrecision] * 6.0), $MachinePrecision] * N[(N[(2.0 / 3.0), $MachinePrecision] - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 16 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z) :precision binary64 (+ x (* (* (- y x) 6.0) (- (/ 2.0 3.0) z))))
double code(double x, double y, double z) {
return x + (((y - x) * 6.0) * ((2.0 / 3.0) - z));
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
code = x + (((y - x) * 6.0d0) * ((2.0d0 / 3.0d0) - z))
end function
public static double code(double x, double y, double z) {
return x + (((y - x) * 6.0) * ((2.0 / 3.0) - z));
}
def code(x, y, z): return x + (((y - x) * 6.0) * ((2.0 / 3.0) - z))
function code(x, y, z) return Float64(x + Float64(Float64(Float64(y - x) * 6.0) * Float64(Float64(2.0 / 3.0) - z))) end
function tmp = code(x, y, z) tmp = x + (((y - x) * 6.0) * ((2.0 / 3.0) - z)); end
code[x_, y_, z_] := N[(x + N[(N[(N[(y - x), $MachinePrecision] * 6.0), $MachinePrecision] * N[(N[(2.0 / 3.0), $MachinePrecision] - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)
\end{array}
(FPCore (x y z) :precision binary64 (fma (- y x) (+ 4.0 (* z -6.0)) x))
double code(double x, double y, double z) {
return fma((y - x), (4.0 + (z * -6.0)), x);
}
function code(x, y, z) return fma(Float64(y - x), Float64(4.0 + Float64(z * -6.0)), x) end
code[x_, y_, z_] := N[(N[(y - x), $MachinePrecision] * N[(4.0 + N[(z * -6.0), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision]
\begin{array}{l}
\\
\mathsf{fma}\left(y - x, 4 + z \cdot -6, x\right)
\end{array}
(FPCore (x y z)
:precision binary64
(let* ((t_0 (* -6.0 (* y z))) (t_1 (* 6.0 (* x z))))
(if (<= z -4.8e+183)
t_0
(if (<= z -220000000.0)
t_1
(if (<= z -9.2e-122)
(* y 4.0)
(if (<= z -4.1e-308)
(* x -3.0)
(if (<= z 2e-176)
(* y 4.0)
(if (<= z 240.0)
(* x -3.0)
(if (or (<= z 5.5e+73)
(and (not (<= z 2.6e+214)) (<= z 6e+253)))
t_1
t_0)))))))))
double code(double x, double y, double z) {
double t_0 = -6.0 * (y * z);
double t_1 = 6.0 * (x * z);
double tmp;
if (z <= -4.8e+183) {
tmp = t_0;
} else if (z <= -220000000.0) {
tmp = t_1;
} else if (z <= -9.2e-122) {
tmp = y * 4.0;
} else if (z <= -4.1e-308) {
tmp = x * -3.0;
} else if (z <= 2e-176) {
tmp = y * 4.0;
} else if (z <= 240.0) {
tmp = x * -3.0;
} else if ((z <= 5.5e+73) || (!(z <= 2.6e+214) && (z <= 6e+253))) {
tmp = t_1;
} else {
tmp = t_0;
}
return tmp;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = (-6.0d0) * (y * z)
t_1 = 6.0d0 * (x * z)
if (z <= (-4.8d+183)) then
tmp = t_0
else if (z <= (-220000000.0d0)) then
tmp = t_1
else if (z <= (-9.2d-122)) then
tmp = y * 4.0d0
else if (z <= (-4.1d-308)) then
tmp = x * (-3.0d0)
else if (z <= 2d-176) then
tmp = y * 4.0d0
else if (z <= 240.0d0) then
tmp = x * (-3.0d0)
else if ((z <= 5.5d+73) .or. (.not. (z <= 2.6d+214)) .and. (z <= 6d+253)) then
tmp = t_1
else
tmp = t_0
end if
code = tmp
end function
public static double code(double x, double y, double z) {
double t_0 = -6.0 * (y * z);
double t_1 = 6.0 * (x * z);
double tmp;
if (z <= -4.8e+183) {
tmp = t_0;
} else if (z <= -220000000.0) {
tmp = t_1;
} else if (z <= -9.2e-122) {
tmp = y * 4.0;
} else if (z <= -4.1e-308) {
tmp = x * -3.0;
} else if (z <= 2e-176) {
tmp = y * 4.0;
} else if (z <= 240.0) {
tmp = x * -3.0;
} else if ((z <= 5.5e+73) || (!(z <= 2.6e+214) && (z <= 6e+253))) {
tmp = t_1;
} else {
tmp = t_0;
}
return tmp;
}
def code(x, y, z): t_0 = -6.0 * (y * z) t_1 = 6.0 * (x * z) tmp = 0 if z <= -4.8e+183: tmp = t_0 elif z <= -220000000.0: tmp = t_1 elif z <= -9.2e-122: tmp = y * 4.0 elif z <= -4.1e-308: tmp = x * -3.0 elif z <= 2e-176: tmp = y * 4.0 elif z <= 240.0: tmp = x * -3.0 elif (z <= 5.5e+73) or (not (z <= 2.6e+214) and (z <= 6e+253)): tmp = t_1 else: tmp = t_0 return tmp
function code(x, y, z) t_0 = Float64(-6.0 * Float64(y * z)) t_1 = Float64(6.0 * Float64(x * z)) tmp = 0.0 if (z <= -4.8e+183) tmp = t_0; elseif (z <= -220000000.0) tmp = t_1; elseif (z <= -9.2e-122) tmp = Float64(y * 4.0); elseif (z <= -4.1e-308) tmp = Float64(x * -3.0); elseif (z <= 2e-176) tmp = Float64(y * 4.0); elseif (z <= 240.0) tmp = Float64(x * -3.0); elseif ((z <= 5.5e+73) || (!(z <= 2.6e+214) && (z <= 6e+253))) tmp = t_1; else tmp = t_0; end return tmp end
function tmp_2 = code(x, y, z) t_0 = -6.0 * (y * z); t_1 = 6.0 * (x * z); tmp = 0.0; if (z <= -4.8e+183) tmp = t_0; elseif (z <= -220000000.0) tmp = t_1; elseif (z <= -9.2e-122) tmp = y * 4.0; elseif (z <= -4.1e-308) tmp = x * -3.0; elseif (z <= 2e-176) tmp = y * 4.0; elseif (z <= 240.0) tmp = x * -3.0; elseif ((z <= 5.5e+73) || (~((z <= 2.6e+214)) && (z <= 6e+253))) tmp = t_1; else tmp = t_0; end tmp_2 = tmp; end
code[x_, y_, z_] := Block[{t$95$0 = N[(-6.0 * N[(y * z), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(6.0 * N[(x * z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -4.8e+183], t$95$0, If[LessEqual[z, -220000000.0], t$95$1, If[LessEqual[z, -9.2e-122], N[(y * 4.0), $MachinePrecision], If[LessEqual[z, -4.1e-308], N[(x * -3.0), $MachinePrecision], If[LessEqual[z, 2e-176], N[(y * 4.0), $MachinePrecision], If[LessEqual[z, 240.0], N[(x * -3.0), $MachinePrecision], If[Or[LessEqual[z, 5.5e+73], And[N[Not[LessEqual[z, 2.6e+214]], $MachinePrecision], LessEqual[z, 6e+253]]], t$95$1, t$95$0]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := -6 \cdot \left(y \cdot z\right)\\
t_1 := 6 \cdot \left(x \cdot z\right)\\
\mathbf{if}\;z \leq -4.8 \cdot 10^{+183}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;z \leq -220000000:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq -9.2 \cdot 10^{-122}:\\
\;\;\;\;y \cdot 4\\
\mathbf{elif}\;z \leq -4.1 \cdot 10^{-308}:\\
\;\;\;\;x \cdot -3\\
\mathbf{elif}\;z \leq 2 \cdot 10^{-176}:\\
\;\;\;\;y \cdot 4\\
\mathbf{elif}\;z \leq 240:\\
\;\;\;\;x \cdot -3\\
\mathbf{elif}\;z \leq 5.5 \cdot 10^{+73} \lor \neg \left(z \leq 2.6 \cdot 10^{+214}\right) \land z \leq 6 \cdot 10^{+253}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\end{array}
(FPCore (x y z)
:precision binary64
(let* ((t_0 (* -6.0 (* y z))) (t_1 (* x (* z 6.0))))
(if (<= z -5.4e+184)
t_0
(if (<= z -220000000.0)
t_1
(if (<= z -1.2e-121)
(* y 4.0)
(if (<= z 3.3e-308)
(* x -3.0)
(if (<= z 1.3e-177)
(* y 4.0)
(if (<= z 240.0)
(* x -3.0)
(if (<= z 2.5e+74)
t_1
(if (or (<= z 1.35e+214) (not (<= z 2.3e+255)))
t_0
(* 6.0 (* x z))))))))))))
double code(double x, double y, double z) {
double t_0 = -6.0 * (y * z);
double t_1 = x * (z * 6.0);
double tmp;
if (z <= -5.4e+184) {
tmp = t_0;
} else if (z <= -220000000.0) {
tmp = t_1;
} else if (z <= -1.2e-121) {
tmp = y * 4.0;
} else if (z <= 3.3e-308) {
tmp = x * -3.0;
} else if (z <= 1.3e-177) {
tmp = y * 4.0;
} else if (z <= 240.0) {
tmp = x * -3.0;
} else if (z <= 2.5e+74) {
tmp = t_1;
} else if ((z <= 1.35e+214) || !(z <= 2.3e+255)) {
tmp = t_0;
} else {
tmp = 6.0 * (x * z);
}
return tmp;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = (-6.0d0) * (y * z)
t_1 = x * (z * 6.0d0)
if (z <= (-5.4d+184)) then
tmp = t_0
else if (z <= (-220000000.0d0)) then
tmp = t_1
else if (z <= (-1.2d-121)) then
tmp = y * 4.0d0
else if (z <= 3.3d-308) then
tmp = x * (-3.0d0)
else if (z <= 1.3d-177) then
tmp = y * 4.0d0
else if (z <= 240.0d0) then
tmp = x * (-3.0d0)
else if (z <= 2.5d+74) then
tmp = t_1
else if ((z <= 1.35d+214) .or. (.not. (z <= 2.3d+255))) then
tmp = t_0
else
tmp = 6.0d0 * (x * z)
end if
code = tmp
end function
public static double code(double x, double y, double z) {
double t_0 = -6.0 * (y * z);
double t_1 = x * (z * 6.0);
double tmp;
if (z <= -5.4e+184) {
tmp = t_0;
} else if (z <= -220000000.0) {
tmp = t_1;
} else if (z <= -1.2e-121) {
tmp = y * 4.0;
} else if (z <= 3.3e-308) {
tmp = x * -3.0;
} else if (z <= 1.3e-177) {
tmp = y * 4.0;
} else if (z <= 240.0) {
tmp = x * -3.0;
} else if (z <= 2.5e+74) {
tmp = t_1;
} else if ((z <= 1.35e+214) || !(z <= 2.3e+255)) {
tmp = t_0;
} else {
tmp = 6.0 * (x * z);
}
return tmp;
}
def code(x, y, z): t_0 = -6.0 * (y * z) t_1 = x * (z * 6.0) tmp = 0 if z <= -5.4e+184: tmp = t_0 elif z <= -220000000.0: tmp = t_1 elif z <= -1.2e-121: tmp = y * 4.0 elif z <= 3.3e-308: tmp = x * -3.0 elif z <= 1.3e-177: tmp = y * 4.0 elif z <= 240.0: tmp = x * -3.0 elif z <= 2.5e+74: tmp = t_1 elif (z <= 1.35e+214) or not (z <= 2.3e+255): tmp = t_0 else: tmp = 6.0 * (x * z) return tmp
function code(x, y, z) t_0 = Float64(-6.0 * Float64(y * z)) t_1 = Float64(x * Float64(z * 6.0)) tmp = 0.0 if (z <= -5.4e+184) tmp = t_0; elseif (z <= -220000000.0) tmp = t_1; elseif (z <= -1.2e-121) tmp = Float64(y * 4.0); elseif (z <= 3.3e-308) tmp = Float64(x * -3.0); elseif (z <= 1.3e-177) tmp = Float64(y * 4.0); elseif (z <= 240.0) tmp = Float64(x * -3.0); elseif (z <= 2.5e+74) tmp = t_1; elseif ((z <= 1.35e+214) || !(z <= 2.3e+255)) tmp = t_0; else tmp = Float64(6.0 * Float64(x * z)); end return tmp end
function tmp_2 = code(x, y, z) t_0 = -6.0 * (y * z); t_1 = x * (z * 6.0); tmp = 0.0; if (z <= -5.4e+184) tmp = t_0; elseif (z <= -220000000.0) tmp = t_1; elseif (z <= -1.2e-121) tmp = y * 4.0; elseif (z <= 3.3e-308) tmp = x * -3.0; elseif (z <= 1.3e-177) tmp = y * 4.0; elseif (z <= 240.0) tmp = x * -3.0; elseif (z <= 2.5e+74) tmp = t_1; elseif ((z <= 1.35e+214) || ~((z <= 2.3e+255))) tmp = t_0; else tmp = 6.0 * (x * z); end tmp_2 = tmp; end
code[x_, y_, z_] := Block[{t$95$0 = N[(-6.0 * N[(y * z), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(x * N[(z * 6.0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -5.4e+184], t$95$0, If[LessEqual[z, -220000000.0], t$95$1, If[LessEqual[z, -1.2e-121], N[(y * 4.0), $MachinePrecision], If[LessEqual[z, 3.3e-308], N[(x * -3.0), $MachinePrecision], If[LessEqual[z, 1.3e-177], N[(y * 4.0), $MachinePrecision], If[LessEqual[z, 240.0], N[(x * -3.0), $MachinePrecision], If[LessEqual[z, 2.5e+74], t$95$1, If[Or[LessEqual[z, 1.35e+214], N[Not[LessEqual[z, 2.3e+255]], $MachinePrecision]], t$95$0, N[(6.0 * N[(x * z), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := -6 \cdot \left(y \cdot z\right)\\
t_1 := x \cdot \left(z \cdot 6\right)\\
\mathbf{if}\;z \leq -5.4 \cdot 10^{+184}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;z \leq -220000000:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq -1.2 \cdot 10^{-121}:\\
\;\;\;\;y \cdot 4\\
\mathbf{elif}\;z \leq 3.3 \cdot 10^{-308}:\\
\;\;\;\;x \cdot -3\\
\mathbf{elif}\;z \leq 1.3 \cdot 10^{-177}:\\
\;\;\;\;y \cdot 4\\
\mathbf{elif}\;z \leq 240:\\
\;\;\;\;x \cdot -3\\
\mathbf{elif}\;z \leq 2.5 \cdot 10^{+74}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 1.35 \cdot 10^{+214} \lor \neg \left(z \leq 2.3 \cdot 10^{+255}\right):\\
\;\;\;\;t_0\\
\mathbf{else}:\\
\;\;\;\;6 \cdot \left(x \cdot z\right)\\
\end{array}
\end{array}
(FPCore (x y z)
:precision binary64
(let* ((t_0 (* -6.0 (* y z))) (t_1 (* x (* z 6.0))))
(if (<= z -3.05e+184)
t_0
(if (<= z -220000000.0)
t_1
(if (<= z -2.45e-116)
(* y 4.0)
(if (<= z -3.3e-308)
(* x -3.0)
(if (<= z 1.2e-166)
(* y 4.0)
(if (<= z 240.0)
(* x -3.0)
(if (<= z 1.25e+75)
t_1
(if (<= z 6.2e+214)
t_0
(if (<= z 4.4e+257)
(* 6.0 (* x z))
(* z (* y -6.0)))))))))))))
double code(double x, double y, double z) {
double t_0 = -6.0 * (y * z);
double t_1 = x * (z * 6.0);
double tmp;
if (z <= -3.05e+184) {
tmp = t_0;
} else if (z <= -220000000.0) {
tmp = t_1;
} else if (z <= -2.45e-116) {
tmp = y * 4.0;
} else if (z <= -3.3e-308) {
tmp = x * -3.0;
} else if (z <= 1.2e-166) {
tmp = y * 4.0;
} else if (z <= 240.0) {
tmp = x * -3.0;
} else if (z <= 1.25e+75) {
tmp = t_1;
} else if (z <= 6.2e+214) {
tmp = t_0;
} else if (z <= 4.4e+257) {
tmp = 6.0 * (x * z);
} else {
tmp = z * (y * -6.0);
}
return tmp;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = (-6.0d0) * (y * z)
t_1 = x * (z * 6.0d0)
if (z <= (-3.05d+184)) then
tmp = t_0
else if (z <= (-220000000.0d0)) then
tmp = t_1
else if (z <= (-2.45d-116)) then
tmp = y * 4.0d0
else if (z <= (-3.3d-308)) then
tmp = x * (-3.0d0)
else if (z <= 1.2d-166) then
tmp = y * 4.0d0
else if (z <= 240.0d0) then
tmp = x * (-3.0d0)
else if (z <= 1.25d+75) then
tmp = t_1
else if (z <= 6.2d+214) then
tmp = t_0
else if (z <= 4.4d+257) then
tmp = 6.0d0 * (x * z)
else
tmp = z * (y * (-6.0d0))
end if
code = tmp
end function
public static double code(double x, double y, double z) {
double t_0 = -6.0 * (y * z);
double t_1 = x * (z * 6.0);
double tmp;
if (z <= -3.05e+184) {
tmp = t_0;
} else if (z <= -220000000.0) {
tmp = t_1;
} else if (z <= -2.45e-116) {
tmp = y * 4.0;
} else if (z <= -3.3e-308) {
tmp = x * -3.0;
} else if (z <= 1.2e-166) {
tmp = y * 4.0;
} else if (z <= 240.0) {
tmp = x * -3.0;
} else if (z <= 1.25e+75) {
tmp = t_1;
} else if (z <= 6.2e+214) {
tmp = t_0;
} else if (z <= 4.4e+257) {
tmp = 6.0 * (x * z);
} else {
tmp = z * (y * -6.0);
}
return tmp;
}
def code(x, y, z): t_0 = -6.0 * (y * z) t_1 = x * (z * 6.0) tmp = 0 if z <= -3.05e+184: tmp = t_0 elif z <= -220000000.0: tmp = t_1 elif z <= -2.45e-116: tmp = y * 4.0 elif z <= -3.3e-308: tmp = x * -3.0 elif z <= 1.2e-166: tmp = y * 4.0 elif z <= 240.0: tmp = x * -3.0 elif z <= 1.25e+75: tmp = t_1 elif z <= 6.2e+214: tmp = t_0 elif z <= 4.4e+257: tmp = 6.0 * (x * z) else: tmp = z * (y * -6.0) return tmp
function code(x, y, z) t_0 = Float64(-6.0 * Float64(y * z)) t_1 = Float64(x * Float64(z * 6.0)) tmp = 0.0 if (z <= -3.05e+184) tmp = t_0; elseif (z <= -220000000.0) tmp = t_1; elseif (z <= -2.45e-116) tmp = Float64(y * 4.0); elseif (z <= -3.3e-308) tmp = Float64(x * -3.0); elseif (z <= 1.2e-166) tmp = Float64(y * 4.0); elseif (z <= 240.0) tmp = Float64(x * -3.0); elseif (z <= 1.25e+75) tmp = t_1; elseif (z <= 6.2e+214) tmp = t_0; elseif (z <= 4.4e+257) tmp = Float64(6.0 * Float64(x * z)); else tmp = Float64(z * Float64(y * -6.0)); end return tmp end
function tmp_2 = code(x, y, z) t_0 = -6.0 * (y * z); t_1 = x * (z * 6.0); tmp = 0.0; if (z <= -3.05e+184) tmp = t_0; elseif (z <= -220000000.0) tmp = t_1; elseif (z <= -2.45e-116) tmp = y * 4.0; elseif (z <= -3.3e-308) tmp = x * -3.0; elseif (z <= 1.2e-166) tmp = y * 4.0; elseif (z <= 240.0) tmp = x * -3.0; elseif (z <= 1.25e+75) tmp = t_1; elseif (z <= 6.2e+214) tmp = t_0; elseif (z <= 4.4e+257) tmp = 6.0 * (x * z); else tmp = z * (y * -6.0); end tmp_2 = tmp; end
code[x_, y_, z_] := Block[{t$95$0 = N[(-6.0 * N[(y * z), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(x * N[(z * 6.0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -3.05e+184], t$95$0, If[LessEqual[z, -220000000.0], t$95$1, If[LessEqual[z, -2.45e-116], N[(y * 4.0), $MachinePrecision], If[LessEqual[z, -3.3e-308], N[(x * -3.0), $MachinePrecision], If[LessEqual[z, 1.2e-166], N[(y * 4.0), $MachinePrecision], If[LessEqual[z, 240.0], N[(x * -3.0), $MachinePrecision], If[LessEqual[z, 1.25e+75], t$95$1, If[LessEqual[z, 6.2e+214], t$95$0, If[LessEqual[z, 4.4e+257], N[(6.0 * N[(x * z), $MachinePrecision]), $MachinePrecision], N[(z * N[(y * -6.0), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := -6 \cdot \left(y \cdot z\right)\\
t_1 := x \cdot \left(z \cdot 6\right)\\
\mathbf{if}\;z \leq -3.05 \cdot 10^{+184}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;z \leq -220000000:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq -2.45 \cdot 10^{-116}:\\
\;\;\;\;y \cdot 4\\
\mathbf{elif}\;z \leq -3.3 \cdot 10^{-308}:\\
\;\;\;\;x \cdot -3\\
\mathbf{elif}\;z \leq 1.2 \cdot 10^{-166}:\\
\;\;\;\;y \cdot 4\\
\mathbf{elif}\;z \leq 240:\\
\;\;\;\;x \cdot -3\\
\mathbf{elif}\;z \leq 1.25 \cdot 10^{+75}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 6.2 \cdot 10^{+214}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;z \leq 4.4 \cdot 10^{+257}:\\
\;\;\;\;6 \cdot \left(x \cdot z\right)\\
\mathbf{else}:\\
\;\;\;\;z \cdot \left(y \cdot -6\right)\\
\end{array}
\end{array}
(FPCore (x y z)
:precision binary64
(let* ((t_0 (* 6.0 (* y (- 0.6666666666666666 z))))
(t_1 (* -6.0 (* (- y x) z))))
(if (<= z -860000000.0)
t_1
(if (<= z -1.02e-116)
t_0
(if (<= z -3.9e-308)
(* x -3.0)
(if (<= z 4.5e-172)
(* y 4.0)
(if (<= z 3.3e-27) (* x -3.0) (if (<= z 115000.0) t_0 t_1))))))))
double code(double x, double y, double z) {
double t_0 = 6.0 * (y * (0.6666666666666666 - z));
double t_1 = -6.0 * ((y - x) * z);
double tmp;
if (z <= -860000000.0) {
tmp = t_1;
} else if (z <= -1.02e-116) {
tmp = t_0;
} else if (z <= -3.9e-308) {
tmp = x * -3.0;
} else if (z <= 4.5e-172) {
tmp = y * 4.0;
} else if (z <= 3.3e-27) {
tmp = x * -3.0;
} else if (z <= 115000.0) {
tmp = t_0;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = 6.0d0 * (y * (0.6666666666666666d0 - z))
t_1 = (-6.0d0) * ((y - x) * z)
if (z <= (-860000000.0d0)) then
tmp = t_1
else if (z <= (-1.02d-116)) then
tmp = t_0
else if (z <= (-3.9d-308)) then
tmp = x * (-3.0d0)
else if (z <= 4.5d-172) then
tmp = y * 4.0d0
else if (z <= 3.3d-27) then
tmp = x * (-3.0d0)
else if (z <= 115000.0d0) then
tmp = t_0
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z) {
double t_0 = 6.0 * (y * (0.6666666666666666 - z));
double t_1 = -6.0 * ((y - x) * z);
double tmp;
if (z <= -860000000.0) {
tmp = t_1;
} else if (z <= -1.02e-116) {
tmp = t_0;
} else if (z <= -3.9e-308) {
tmp = x * -3.0;
} else if (z <= 4.5e-172) {
tmp = y * 4.0;
} else if (z <= 3.3e-27) {
tmp = x * -3.0;
} else if (z <= 115000.0) {
tmp = t_0;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z): t_0 = 6.0 * (y * (0.6666666666666666 - z)) t_1 = -6.0 * ((y - x) * z) tmp = 0 if z <= -860000000.0: tmp = t_1 elif z <= -1.02e-116: tmp = t_0 elif z <= -3.9e-308: tmp = x * -3.0 elif z <= 4.5e-172: tmp = y * 4.0 elif z <= 3.3e-27: tmp = x * -3.0 elif z <= 115000.0: tmp = t_0 else: tmp = t_1 return tmp
function code(x, y, z) t_0 = Float64(6.0 * Float64(y * Float64(0.6666666666666666 - z))) t_1 = Float64(-6.0 * Float64(Float64(y - x) * z)) tmp = 0.0 if (z <= -860000000.0) tmp = t_1; elseif (z <= -1.02e-116) tmp = t_0; elseif (z <= -3.9e-308) tmp = Float64(x * -3.0); elseif (z <= 4.5e-172) tmp = Float64(y * 4.0); elseif (z <= 3.3e-27) tmp = Float64(x * -3.0); elseif (z <= 115000.0) tmp = t_0; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z) t_0 = 6.0 * (y * (0.6666666666666666 - z)); t_1 = -6.0 * ((y - x) * z); tmp = 0.0; if (z <= -860000000.0) tmp = t_1; elseif (z <= -1.02e-116) tmp = t_0; elseif (z <= -3.9e-308) tmp = x * -3.0; elseif (z <= 4.5e-172) tmp = y * 4.0; elseif (z <= 3.3e-27) tmp = x * -3.0; elseif (z <= 115000.0) tmp = t_0; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_] := Block[{t$95$0 = N[(6.0 * N[(y * N[(0.6666666666666666 - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(-6.0 * N[(N[(y - x), $MachinePrecision] * z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -860000000.0], t$95$1, If[LessEqual[z, -1.02e-116], t$95$0, If[LessEqual[z, -3.9e-308], N[(x * -3.0), $MachinePrecision], If[LessEqual[z, 4.5e-172], N[(y * 4.0), $MachinePrecision], If[LessEqual[z, 3.3e-27], N[(x * -3.0), $MachinePrecision], If[LessEqual[z, 115000.0], t$95$0, t$95$1]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := 6 \cdot \left(y \cdot \left(0.6666666666666666 - z\right)\right)\\
t_1 := -6 \cdot \left(\left(y - x\right) \cdot z\right)\\
\mathbf{if}\;z \leq -860000000:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq -1.02 \cdot 10^{-116}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;z \leq -3.9 \cdot 10^{-308}:\\
\;\;\;\;x \cdot -3\\
\mathbf{elif}\;z \leq 4.5 \cdot 10^{-172}:\\
\;\;\;\;y \cdot 4\\
\mathbf{elif}\;z \leq 3.3 \cdot 10^{-27}:\\
\;\;\;\;x \cdot -3\\
\mathbf{elif}\;z \leq 115000:\\
\;\;\;\;t_0\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
(FPCore (x y z)
:precision binary64
(let* ((t_0 (* -6.0 (* (- y x) z))))
(if (<= z -1.3e-9)
t_0
(if (<= z -2.3e-117)
(* y 4.0)
(if (<= z 1.35e-306)
(* x -3.0)
(if (<= z 1.75e-169) (* y 4.0) (if (<= z 0.5) (* x -3.0) t_0)))))))
double code(double x, double y, double z) {
double t_0 = -6.0 * ((y - x) * z);
double tmp;
if (z <= -1.3e-9) {
tmp = t_0;
} else if (z <= -2.3e-117) {
tmp = y * 4.0;
} else if (z <= 1.35e-306) {
tmp = x * -3.0;
} else if (z <= 1.75e-169) {
tmp = y * 4.0;
} else if (z <= 0.5) {
tmp = x * -3.0;
} else {
tmp = t_0;
}
return tmp;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: t_0
real(8) :: tmp
t_0 = (-6.0d0) * ((y - x) * z)
if (z <= (-1.3d-9)) then
tmp = t_0
else if (z <= (-2.3d-117)) then
tmp = y * 4.0d0
else if (z <= 1.35d-306) then
tmp = x * (-3.0d0)
else if (z <= 1.75d-169) then
tmp = y * 4.0d0
else if (z <= 0.5d0) then
tmp = x * (-3.0d0)
else
tmp = t_0
end if
code = tmp
end function
public static double code(double x, double y, double z) {
double t_0 = -6.0 * ((y - x) * z);
double tmp;
if (z <= -1.3e-9) {
tmp = t_0;
} else if (z <= -2.3e-117) {
tmp = y * 4.0;
} else if (z <= 1.35e-306) {
tmp = x * -3.0;
} else if (z <= 1.75e-169) {
tmp = y * 4.0;
} else if (z <= 0.5) {
tmp = x * -3.0;
} else {
tmp = t_0;
}
return tmp;
}
def code(x, y, z): t_0 = -6.0 * ((y - x) * z) tmp = 0 if z <= -1.3e-9: tmp = t_0 elif z <= -2.3e-117: tmp = y * 4.0 elif z <= 1.35e-306: tmp = x * -3.0 elif z <= 1.75e-169: tmp = y * 4.0 elif z <= 0.5: tmp = x * -3.0 else: tmp = t_0 return tmp
function code(x, y, z) t_0 = Float64(-6.0 * Float64(Float64(y - x) * z)) tmp = 0.0 if (z <= -1.3e-9) tmp = t_0; elseif (z <= -2.3e-117) tmp = Float64(y * 4.0); elseif (z <= 1.35e-306) tmp = Float64(x * -3.0); elseif (z <= 1.75e-169) tmp = Float64(y * 4.0); elseif (z <= 0.5) tmp = Float64(x * -3.0); else tmp = t_0; end return tmp end
function tmp_2 = code(x, y, z) t_0 = -6.0 * ((y - x) * z); tmp = 0.0; if (z <= -1.3e-9) tmp = t_0; elseif (z <= -2.3e-117) tmp = y * 4.0; elseif (z <= 1.35e-306) tmp = x * -3.0; elseif (z <= 1.75e-169) tmp = y * 4.0; elseif (z <= 0.5) tmp = x * -3.0; else tmp = t_0; end tmp_2 = tmp; end
code[x_, y_, z_] := Block[{t$95$0 = N[(-6.0 * N[(N[(y - x), $MachinePrecision] * z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -1.3e-9], t$95$0, If[LessEqual[z, -2.3e-117], N[(y * 4.0), $MachinePrecision], If[LessEqual[z, 1.35e-306], N[(x * -3.0), $MachinePrecision], If[LessEqual[z, 1.75e-169], N[(y * 4.0), $MachinePrecision], If[LessEqual[z, 0.5], N[(x * -3.0), $MachinePrecision], t$95$0]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := -6 \cdot \left(\left(y - x\right) \cdot z\right)\\
\mathbf{if}\;z \leq -1.3 \cdot 10^{-9}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;z \leq -2.3 \cdot 10^{-117}:\\
\;\;\;\;y \cdot 4\\
\mathbf{elif}\;z \leq 1.35 \cdot 10^{-306}:\\
\;\;\;\;x \cdot -3\\
\mathbf{elif}\;z \leq 1.75 \cdot 10^{-169}:\\
\;\;\;\;y \cdot 4\\
\mathbf{elif}\;z \leq 0.5:\\
\;\;\;\;x \cdot -3\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\end{array}
(FPCore (x y z)
:precision binary64
(let* ((t_0 (* -6.0 (* y z))))
(if (<= z -0.68)
t_0
(if (<= z -2.95e-121)
(* y 4.0)
(if (<= z 2.7e-307)
(* x -3.0)
(if (<= z 4.4e-171) (* y 4.0) (if (<= z 0.65) (* x -3.0) t_0)))))))
double code(double x, double y, double z) {
double t_0 = -6.0 * (y * z);
double tmp;
if (z <= -0.68) {
tmp = t_0;
} else if (z <= -2.95e-121) {
tmp = y * 4.0;
} else if (z <= 2.7e-307) {
tmp = x * -3.0;
} else if (z <= 4.4e-171) {
tmp = y * 4.0;
} else if (z <= 0.65) {
tmp = x * -3.0;
} else {
tmp = t_0;
}
return tmp;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: t_0
real(8) :: tmp
t_0 = (-6.0d0) * (y * z)
if (z <= (-0.68d0)) then
tmp = t_0
else if (z <= (-2.95d-121)) then
tmp = y * 4.0d0
else if (z <= 2.7d-307) then
tmp = x * (-3.0d0)
else if (z <= 4.4d-171) then
tmp = y * 4.0d0
else if (z <= 0.65d0) then
tmp = x * (-3.0d0)
else
tmp = t_0
end if
code = tmp
end function
public static double code(double x, double y, double z) {
double t_0 = -6.0 * (y * z);
double tmp;
if (z <= -0.68) {
tmp = t_0;
} else if (z <= -2.95e-121) {
tmp = y * 4.0;
} else if (z <= 2.7e-307) {
tmp = x * -3.0;
} else if (z <= 4.4e-171) {
tmp = y * 4.0;
} else if (z <= 0.65) {
tmp = x * -3.0;
} else {
tmp = t_0;
}
return tmp;
}
def code(x, y, z): t_0 = -6.0 * (y * z) tmp = 0 if z <= -0.68: tmp = t_0 elif z <= -2.95e-121: tmp = y * 4.0 elif z <= 2.7e-307: tmp = x * -3.0 elif z <= 4.4e-171: tmp = y * 4.0 elif z <= 0.65: tmp = x * -3.0 else: tmp = t_0 return tmp
function code(x, y, z) t_0 = Float64(-6.0 * Float64(y * z)) tmp = 0.0 if (z <= -0.68) tmp = t_0; elseif (z <= -2.95e-121) tmp = Float64(y * 4.0); elseif (z <= 2.7e-307) tmp = Float64(x * -3.0); elseif (z <= 4.4e-171) tmp = Float64(y * 4.0); elseif (z <= 0.65) tmp = Float64(x * -3.0); else tmp = t_0; end return tmp end
function tmp_2 = code(x, y, z) t_0 = -6.0 * (y * z); tmp = 0.0; if (z <= -0.68) tmp = t_0; elseif (z <= -2.95e-121) tmp = y * 4.0; elseif (z <= 2.7e-307) tmp = x * -3.0; elseif (z <= 4.4e-171) tmp = y * 4.0; elseif (z <= 0.65) tmp = x * -3.0; else tmp = t_0; end tmp_2 = tmp; end
code[x_, y_, z_] := Block[{t$95$0 = N[(-6.0 * N[(y * z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -0.68], t$95$0, If[LessEqual[z, -2.95e-121], N[(y * 4.0), $MachinePrecision], If[LessEqual[z, 2.7e-307], N[(x * -3.0), $MachinePrecision], If[LessEqual[z, 4.4e-171], N[(y * 4.0), $MachinePrecision], If[LessEqual[z, 0.65], N[(x * -3.0), $MachinePrecision], t$95$0]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := -6 \cdot \left(y \cdot z\right)\\
\mathbf{if}\;z \leq -0.68:\\
\;\;\;\;t_0\\
\mathbf{elif}\;z \leq -2.95 \cdot 10^{-121}:\\
\;\;\;\;y \cdot 4\\
\mathbf{elif}\;z \leq 2.7 \cdot 10^{-307}:\\
\;\;\;\;x \cdot -3\\
\mathbf{elif}\;z \leq 4.4 \cdot 10^{-171}:\\
\;\;\;\;y \cdot 4\\
\mathbf{elif}\;z \leq 0.65:\\
\;\;\;\;x \cdot -3\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\end{array}
(FPCore (x y z)
:precision binary64
(if (or (<= x -9.8e-20)
(not
(or (<= x 1e-12)
(and (not (<= x 69000000000000.0)) (<= x 1.4e+53)))))
(* x (+ -3.0 (* z 6.0)))
(* 6.0 (* y (- 0.6666666666666666 z)))))
double code(double x, double y, double z) {
double tmp;
if ((x <= -9.8e-20) || !((x <= 1e-12) || (!(x <= 69000000000000.0) && (x <= 1.4e+53)))) {
tmp = x * (-3.0 + (z * 6.0));
} else {
tmp = 6.0 * (y * (0.6666666666666666 - z));
}
return tmp;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: tmp
if ((x <= (-9.8d-20)) .or. (.not. (x <= 1d-12) .or. (.not. (x <= 69000000000000.0d0)) .and. (x <= 1.4d+53))) then
tmp = x * ((-3.0d0) + (z * 6.0d0))
else
tmp = 6.0d0 * (y * (0.6666666666666666d0 - z))
end if
code = tmp
end function
public static double code(double x, double y, double z) {
double tmp;
if ((x <= -9.8e-20) || !((x <= 1e-12) || (!(x <= 69000000000000.0) && (x <= 1.4e+53)))) {
tmp = x * (-3.0 + (z * 6.0));
} else {
tmp = 6.0 * (y * (0.6666666666666666 - z));
}
return tmp;
}
def code(x, y, z): tmp = 0 if (x <= -9.8e-20) or not ((x <= 1e-12) or (not (x <= 69000000000000.0) and (x <= 1.4e+53))): tmp = x * (-3.0 + (z * 6.0)) else: tmp = 6.0 * (y * (0.6666666666666666 - z)) return tmp
function code(x, y, z) tmp = 0.0 if ((x <= -9.8e-20) || !((x <= 1e-12) || (!(x <= 69000000000000.0) && (x <= 1.4e+53)))) tmp = Float64(x * Float64(-3.0 + Float64(z * 6.0))); else tmp = Float64(6.0 * Float64(y * Float64(0.6666666666666666 - z))); end return tmp end
function tmp_2 = code(x, y, z) tmp = 0.0; if ((x <= -9.8e-20) || ~(((x <= 1e-12) || (~((x <= 69000000000000.0)) && (x <= 1.4e+53))))) tmp = x * (-3.0 + (z * 6.0)); else tmp = 6.0 * (y * (0.6666666666666666 - z)); end tmp_2 = tmp; end
code[x_, y_, z_] := If[Or[LessEqual[x, -9.8e-20], N[Not[Or[LessEqual[x, 1e-12], And[N[Not[LessEqual[x, 69000000000000.0]], $MachinePrecision], LessEqual[x, 1.4e+53]]]], $MachinePrecision]], N[(x * N[(-3.0 + N[(z * 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(6.0 * N[(y * N[(0.6666666666666666 - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -9.8 \cdot 10^{-20} \lor \neg \left(x \leq 10^{-12} \lor \neg \left(x \leq 69000000000000\right) \land x \leq 1.4 \cdot 10^{+53}\right):\\
\;\;\;\;x \cdot \left(-3 + z \cdot 6\right)\\
\mathbf{else}:\\
\;\;\;\;6 \cdot \left(y \cdot \left(0.6666666666666666 - z\right)\right)\\
\end{array}
\end{array}
(FPCore (x y z)
:precision binary64
(if (or (<= x -2.05e-20)
(and (not (<= x 1.12e-15))
(or (<= x 4.15e+21) (not (<= x 2.75e+54)))))
(* x (+ -3.0 (* z 6.0)))
(* y (* 6.0 (- 0.6666666666666666 z)))))
double code(double x, double y, double z) {
double tmp;
if ((x <= -2.05e-20) || (!(x <= 1.12e-15) && ((x <= 4.15e+21) || !(x <= 2.75e+54)))) {
tmp = x * (-3.0 + (z * 6.0));
} else {
tmp = y * (6.0 * (0.6666666666666666 - z));
}
return tmp;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: tmp
if ((x <= (-2.05d-20)) .or. (.not. (x <= 1.12d-15)) .and. (x <= 4.15d+21) .or. (.not. (x <= 2.75d+54))) then
tmp = x * ((-3.0d0) + (z * 6.0d0))
else
tmp = y * (6.0d0 * (0.6666666666666666d0 - z))
end if
code = tmp
end function
public static double code(double x, double y, double z) {
double tmp;
if ((x <= -2.05e-20) || (!(x <= 1.12e-15) && ((x <= 4.15e+21) || !(x <= 2.75e+54)))) {
tmp = x * (-3.0 + (z * 6.0));
} else {
tmp = y * (6.0 * (0.6666666666666666 - z));
}
return tmp;
}
def code(x, y, z): tmp = 0 if (x <= -2.05e-20) or (not (x <= 1.12e-15) and ((x <= 4.15e+21) or not (x <= 2.75e+54))): tmp = x * (-3.0 + (z * 6.0)) else: tmp = y * (6.0 * (0.6666666666666666 - z)) return tmp
function code(x, y, z) tmp = 0.0 if ((x <= -2.05e-20) || (!(x <= 1.12e-15) && ((x <= 4.15e+21) || !(x <= 2.75e+54)))) tmp = Float64(x * Float64(-3.0 + Float64(z * 6.0))); else tmp = Float64(y * Float64(6.0 * Float64(0.6666666666666666 - z))); end return tmp end
function tmp_2 = code(x, y, z) tmp = 0.0; if ((x <= -2.05e-20) || (~((x <= 1.12e-15)) && ((x <= 4.15e+21) || ~((x <= 2.75e+54))))) tmp = x * (-3.0 + (z * 6.0)); else tmp = y * (6.0 * (0.6666666666666666 - z)); end tmp_2 = tmp; end
code[x_, y_, z_] := If[Or[LessEqual[x, -2.05e-20], And[N[Not[LessEqual[x, 1.12e-15]], $MachinePrecision], Or[LessEqual[x, 4.15e+21], N[Not[LessEqual[x, 2.75e+54]], $MachinePrecision]]]], N[(x * N[(-3.0 + N[(z * 6.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * N[(6.0 * N[(0.6666666666666666 - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -2.05 \cdot 10^{-20} \lor \neg \left(x \leq 1.12 \cdot 10^{-15}\right) \land \left(x \leq 4.15 \cdot 10^{+21} \lor \neg \left(x \leq 2.75 \cdot 10^{+54}\right)\right):\\
\;\;\;\;x \cdot \left(-3 + z \cdot 6\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(6 \cdot \left(0.6666666666666666 - z\right)\right)\\
\end{array}
\end{array}
(FPCore (x y z) :precision binary64 (if (or (<= z -0.58) (not (<= z 0.6))) (* -6.0 (* (- y x) z)) (+ x (* (- y x) 4.0))))
double code(double x, double y, double z) {
double tmp;
if ((z <= -0.58) || !(z <= 0.6)) {
tmp = -6.0 * ((y - x) * z);
} else {
tmp = x + ((y - x) * 4.0);
}
return tmp;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: tmp
if ((z <= (-0.58d0)) .or. (.not. (z <= 0.6d0))) then
tmp = (-6.0d0) * ((y - x) * z)
else
tmp = x + ((y - x) * 4.0d0)
end if
code = tmp
end function
public static double code(double x, double y, double z) {
double tmp;
if ((z <= -0.58) || !(z <= 0.6)) {
tmp = -6.0 * ((y - x) * z);
} else {
tmp = x + ((y - x) * 4.0);
}
return tmp;
}
def code(x, y, z): tmp = 0 if (z <= -0.58) or not (z <= 0.6): tmp = -6.0 * ((y - x) * z) else: tmp = x + ((y - x) * 4.0) return tmp
function code(x, y, z) tmp = 0.0 if ((z <= -0.58) || !(z <= 0.6)) tmp = Float64(-6.0 * Float64(Float64(y - x) * z)); else tmp = Float64(x + Float64(Float64(y - x) * 4.0)); end return tmp end
function tmp_2 = code(x, y, z) tmp = 0.0; if ((z <= -0.58) || ~((z <= 0.6))) tmp = -6.0 * ((y - x) * z); else tmp = x + ((y - x) * 4.0); end tmp_2 = tmp; end
code[x_, y_, z_] := If[Or[LessEqual[z, -0.58], N[Not[LessEqual[z, 0.6]], $MachinePrecision]], N[(-6.0 * N[(N[(y - x), $MachinePrecision] * z), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(y - x), $MachinePrecision] * 4.0), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -0.58 \lor \neg \left(z \leq 0.6\right):\\
\;\;\;\;-6 \cdot \left(\left(y - x\right) \cdot z\right)\\
\mathbf{else}:\\
\;\;\;\;x + \left(y - x\right) \cdot 4\\
\end{array}
\end{array}
(FPCore (x y z) :precision binary64 (if (or (<= z -0.58) (not (<= z 0.6))) (* -6.0 (* (- y x) z)) (+ (* y 4.0) (* x -3.0))))
double code(double x, double y, double z) {
double tmp;
if ((z <= -0.58) || !(z <= 0.6)) {
tmp = -6.0 * ((y - x) * z);
} else {
tmp = (y * 4.0) + (x * -3.0);
}
return tmp;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: tmp
if ((z <= (-0.58d0)) .or. (.not. (z <= 0.6d0))) then
tmp = (-6.0d0) * ((y - x) * z)
else
tmp = (y * 4.0d0) + (x * (-3.0d0))
end if
code = tmp
end function
public static double code(double x, double y, double z) {
double tmp;
if ((z <= -0.58) || !(z <= 0.6)) {
tmp = -6.0 * ((y - x) * z);
} else {
tmp = (y * 4.0) + (x * -3.0);
}
return tmp;
}
def code(x, y, z): tmp = 0 if (z <= -0.58) or not (z <= 0.6): tmp = -6.0 * ((y - x) * z) else: tmp = (y * 4.0) + (x * -3.0) return tmp
function code(x, y, z) tmp = 0.0 if ((z <= -0.58) || !(z <= 0.6)) tmp = Float64(-6.0 * Float64(Float64(y - x) * z)); else tmp = Float64(Float64(y * 4.0) + Float64(x * -3.0)); end return tmp end
function tmp_2 = code(x, y, z) tmp = 0.0; if ((z <= -0.58) || ~((z <= 0.6))) tmp = -6.0 * ((y - x) * z); else tmp = (y * 4.0) + (x * -3.0); end tmp_2 = tmp; end
code[x_, y_, z_] := If[Or[LessEqual[z, -0.58], N[Not[LessEqual[z, 0.6]], $MachinePrecision]], N[(-6.0 * N[(N[(y - x), $MachinePrecision] * z), $MachinePrecision]), $MachinePrecision], N[(N[(y * 4.0), $MachinePrecision] + N[(x * -3.0), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -0.58 \lor \neg \left(z \leq 0.6\right):\\
\;\;\;\;-6 \cdot \left(\left(y - x\right) \cdot z\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot 4 + x \cdot -3\\
\end{array}
\end{array}
(FPCore (x y z) :precision binary64 (+ x (* (* (- y x) 6.0) (- 0.6666666666666666 z))))
double code(double x, double y, double z) {
return x + (((y - x) * 6.0) * (0.6666666666666666 - z));
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
code = x + (((y - x) * 6.0d0) * (0.6666666666666666d0 - z))
end function
public static double code(double x, double y, double z) {
return x + (((y - x) * 6.0) * (0.6666666666666666 - z));
}
def code(x, y, z): return x + (((y - x) * 6.0) * (0.6666666666666666 - z))
function code(x, y, z) return Float64(x + Float64(Float64(Float64(y - x) * 6.0) * Float64(0.6666666666666666 - z))) end
function tmp = code(x, y, z) tmp = x + (((y - x) * 6.0) * (0.6666666666666666 - z)); end
code[x_, y_, z_] := N[(x + N[(N[(N[(y - x), $MachinePrecision] * 6.0), $MachinePrecision] * N[(0.6666666666666666 - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(0.6666666666666666 - z\right)
\end{array}
(FPCore (x y z) :precision binary64 (if (or (<= x -2.8e+38) (not (<= x 1.6e+90))) (* x -3.0) (* y 4.0)))
double code(double x, double y, double z) {
double tmp;
if ((x <= -2.8e+38) || !(x <= 1.6e+90)) {
tmp = x * -3.0;
} else {
tmp = y * 4.0;
}
return tmp;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: tmp
if ((x <= (-2.8d+38)) .or. (.not. (x <= 1.6d+90))) then
tmp = x * (-3.0d0)
else
tmp = y * 4.0d0
end if
code = tmp
end function
public static double code(double x, double y, double z) {
double tmp;
if ((x <= -2.8e+38) || !(x <= 1.6e+90)) {
tmp = x * -3.0;
} else {
tmp = y * 4.0;
}
return tmp;
}
def code(x, y, z): tmp = 0 if (x <= -2.8e+38) or not (x <= 1.6e+90): tmp = x * -3.0 else: tmp = y * 4.0 return tmp
function code(x, y, z) tmp = 0.0 if ((x <= -2.8e+38) || !(x <= 1.6e+90)) tmp = Float64(x * -3.0); else tmp = Float64(y * 4.0); end return tmp end
function tmp_2 = code(x, y, z) tmp = 0.0; if ((x <= -2.8e+38) || ~((x <= 1.6e+90))) tmp = x * -3.0; else tmp = y * 4.0; end tmp_2 = tmp; end
code[x_, y_, z_] := If[Or[LessEqual[x, -2.8e+38], N[Not[LessEqual[x, 1.6e+90]], $MachinePrecision]], N[(x * -3.0), $MachinePrecision], N[(y * 4.0), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -2.8 \cdot 10^{+38} \lor \neg \left(x \leq 1.6 \cdot 10^{+90}\right):\\
\;\;\;\;x \cdot -3\\
\mathbf{else}:\\
\;\;\;\;y \cdot 4\\
\end{array}
\end{array}
(FPCore (x y z) :precision binary64 (if (<= x -1.55e+100) (* x -4.0) (* y 4.0)))
double code(double x, double y, double z) {
double tmp;
if (x <= -1.55e+100) {
tmp = x * -4.0;
} else {
tmp = y * 4.0;
}
return tmp;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: tmp
if (x <= (-1.55d+100)) then
tmp = x * (-4.0d0)
else
tmp = y * 4.0d0
end if
code = tmp
end function
public static double code(double x, double y, double z) {
double tmp;
if (x <= -1.55e+100) {
tmp = x * -4.0;
} else {
tmp = y * 4.0;
}
return tmp;
}
def code(x, y, z): tmp = 0 if x <= -1.55e+100: tmp = x * -4.0 else: tmp = y * 4.0 return tmp
function code(x, y, z) tmp = 0.0 if (x <= -1.55e+100) tmp = Float64(x * -4.0); else tmp = Float64(y * 4.0); end return tmp end
function tmp_2 = code(x, y, z) tmp = 0.0; if (x <= -1.55e+100) tmp = x * -4.0; else tmp = y * 4.0; end tmp_2 = tmp; end
code[x_, y_, z_] := If[LessEqual[x, -1.55e+100], N[(x * -4.0), $MachinePrecision], N[(y * 4.0), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -1.55 \cdot 10^{+100}:\\
\;\;\;\;x \cdot -4\\
\mathbf{else}:\\
\;\;\;\;y \cdot 4\\
\end{array}
\end{array}
(FPCore (x y z) :precision binary64 (* x -4.0))
double code(double x, double y, double z) {
return x * -4.0;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
code = x * (-4.0d0)
end function
public static double code(double x, double y, double z) {
return x * -4.0;
}
def code(x, y, z): return x * -4.0
function code(x, y, z) return Float64(x * -4.0) end
function tmp = code(x, y, z) tmp = x * -4.0; end
code[x_, y_, z_] := N[(x * -4.0), $MachinePrecision]
\begin{array}{l}
\\
x \cdot -4
\end{array}
(FPCore (x y z) :precision binary64 x)
double code(double x, double y, double z) {
return x;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
code = x
end function
public static double code(double x, double y, double z) {
return x;
}
def code(x, y, z): return x
function code(x, y, z) return x end
function tmp = code(x, y, z) tmp = x; end
code[x_, y_, z_] := x
\begin{array}{l}
\\
x
\end{array}
herbie shell --seed 2023350
(FPCore (x y z)
:name "Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, D"
:precision binary64
(+ x (* (* (- y x) 6.0) (- (/ 2.0 3.0) z))))