(FPCore (x y z t a) :precision binary64 (+ x (/ (* y (- z t)) a)))
↓
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (- z t))) (t_2 (+ x (* (/ y a) (- z t)))))
(if (<= t_1 -4e+252) t_2 (if (<= t_1 1e+74) (+ x (* (/ 1.0 a) t_1)) t_2))))
double code(double x, double y, double z, double t, double a) {
return x + ((y * (z - t)) / a);
}
↓
double code(double x, double y, double z, double t, double a) {
double t_1 = y * (z - t);
double t_2 = x + ((y / a) * (z - t));
double tmp;
if (t_1 <= -4e+252) {
tmp = t_2;
} else if (t_1 <= 1e+74) {
tmp = x + ((1.0 / a) * t_1);
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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
code = x + ((y * (z - t)) / a)
end function
↓
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = y * (z - t)
t_2 = x + ((y / a) * (z - t))
if (t_1 <= (-4d+252)) then
tmp = t_2
else if (t_1 <= 1d+74) then
tmp = x + ((1.0d0 / a) * t_1)
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
return x + ((y * (z - t)) / a);
}
↓
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y * (z - t);
double t_2 = x + ((y / a) * (z - t));
double tmp;
if (t_1 <= -4e+252) {
tmp = t_2;
} else if (t_1 <= 1e+74) {
tmp = x + ((1.0 / a) * t_1);
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a):
return x + ((y * (z - t)) / a)
↓
def code(x, y, z, t, a):
t_1 = y * (z - t)
t_2 = x + ((y / a) * (z - t))
tmp = 0
if t_1 <= -4e+252:
tmp = t_2
elif t_1 <= 1e+74:
tmp = x + ((1.0 / a) * t_1)
else:
tmp = t_2
return tmp
function code(x, y, z, t, a)
return Float64(x + Float64(Float64(y * Float64(z - t)) / a))
end
↓
function code(x, y, z, t, a)
t_1 = Float64(y * Float64(z - t))
t_2 = Float64(x + Float64(Float64(y / a) * Float64(z - t)))
tmp = 0.0
if (t_1 <= -4e+252)
tmp = t_2;
elseif (t_1 <= 1e+74)
tmp = Float64(x + Float64(Float64(1.0 / a) * t_1));
else
tmp = t_2;
end
return tmp
end
function tmp = code(x, y, z, t, a)
tmp = x + ((y * (z - t)) / a);
end
↓
function tmp_2 = code(x, y, z, t, a)
t_1 = y * (z - t);
t_2 = x + ((y / a) * (z - t));
tmp = 0.0;
if (t_1 <= -4e+252)
tmp = t_2;
elseif (t_1 <= 1e+74)
tmp = x + ((1.0 / a) * t_1);
else
tmp = t_2;
end
tmp_2 = tmp;
end
herbie shell --seed 2023010
(FPCore (x y z t a)
:name "Optimisation.CirclePacking:place from circle-packing-0.1.0.4, E"
:precision binary64
:herbie-target
(if (< y -1.0761266216389975e-10) (+ x (/ 1.0 (/ (/ a (- z t)) y))) (if (< y 2.894426862792089e-49) (+ x (/ (* y (- z t)) a)) (+ x (/ y (/ a (- z t))))))
(+ x (/ (* y (- z t)) a)))