\[\left(\left(x + y \cdot z\right) + t \cdot a\right) + \left(a \cdot z\right) \cdot b
\]
↓
\[\begin{array}{l}
t_1 := x + y \cdot z\\
\mathbf{if}\;a \leq -6.8 \cdot 10^{+112}:\\
\;\;\;\;\left(t + b \cdot z\right) \cdot a + x\\
\mathbf{elif}\;a \leq 10^{-60}:\\
\;\;\;\;\left(t_1 + t \cdot a\right) + \left(a \cdot z\right) \cdot b\\
\mathbf{else}:\\
\;\;\;\;t_1 + a \cdot \left(z \cdot b + t\right)\\
\end{array}
\]
(FPCore (x y z t a b)
:precision binary64
(+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)))
↓
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ x (* y z))))
(if (<= a -6.8e+112)
(+ (* (+ t (* b z)) a) x)
(if (<= a 1e-60)
(+ (+ t_1 (* t a)) (* (* a z) b))
(+ t_1 (* a (+ (* z b) t)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x + (y * z);
double tmp;
if (a <= -6.8e+112) {
tmp = ((t + (b * z)) * a) + x;
} else if (a <= 1e-60) {
tmp = (t_1 + (t * a)) + ((a * z) * b);
} else {
tmp = t_1 + (a * ((z * b) + t));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
code = ((x + (y * z)) + (t * a)) + ((a * z) * b)
end function
↓
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = x + (y * z)
if (a <= (-6.8d+112)) then
tmp = ((t + (b * z)) * a) + x
else if (a <= 1d-60) then
tmp = (t_1 + (t * a)) + ((a * z) * b)
else
tmp = t_1 + (a * ((z * b) + t))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return ((x + (y * z)) + (t * a)) + ((a * z) * b);
}
↓
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x + (y * z);
double tmp;
if (a <= -6.8e+112) {
tmp = ((t + (b * z)) * a) + x;
} else if (a <= 1e-60) {
tmp = (t_1 + (t * a)) + ((a * z) * b);
} else {
tmp = t_1 + (a * ((z * b) + t));
}
return tmp;
}
def code(x, y, z, t, a, b):
return ((x + (y * z)) + (t * a)) + ((a * z) * b)
↓
def code(x, y, z, t, a, b):
t_1 = x + (y * z)
tmp = 0
if a <= -6.8e+112:
tmp = ((t + (b * z)) * a) + x
elif a <= 1e-60:
tmp = (t_1 + (t * a)) + ((a * z) * b)
else:
tmp = t_1 + (a * ((z * b) + t))
return tmp
function code(x, y, z, t, a, b)
return Float64(Float64(Float64(x + Float64(y * z)) + Float64(t * a)) + Float64(Float64(a * z) * b))
end
↓
function code(x, y, z, t, a, b)
t_1 = Float64(x + Float64(y * z))
tmp = 0.0
if (a <= -6.8e+112)
tmp = Float64(Float64(Float64(t + Float64(b * z)) * a) + x);
elseif (a <= 1e-60)
tmp = Float64(Float64(t_1 + Float64(t * a)) + Float64(Float64(a * z) * b));
else
tmp = Float64(t_1 + Float64(a * Float64(Float64(z * b) + t)));
end
return tmp
end
function tmp = code(x, y, z, t, a, b)
tmp = ((x + (y * z)) + (t * a)) + ((a * z) * b);
end
↓
function tmp_2 = code(x, y, z, t, a, b)
t_1 = x + (y * z);
tmp = 0.0;
if (a <= -6.8e+112)
tmp = ((t + (b * z)) * a) + x;
elseif (a <= 1e-60)
tmp = (t_1 + (t * a)) + ((a * z) * b);
else
tmp = t_1 + (a * ((z * b) + t));
end
tmp_2 = tmp;
end
herbie shell --seed 2023075
(FPCore (x y z t a b)
:name "Graphics.Rasterific.CubicBezier:cachedBezierAt from Rasterific-0.6.1"
:precision binary64
:herbie-target
(if (< z -11820553527347888000.0) (+ (* z (+ (* b a) y)) (+ x (* t a))) (if (< z 4.7589743188364287e-122) (+ (* (+ (* b z) t) a) (+ (* z y) x)) (+ (* z (+ (* b a) y)) (+ x (* t a)))))
(+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)))