(FPCore (a b_2 c)
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))
↓
(FPCore (a b_2 c)
:precision binary64
(if (<= b_2 -2.5e+115)
(/ b_2 (/ a -2.0))
(if (<= b_2 2.55e-20)
(/ (- (sqrt (- (* b_2 b_2) (* a c))) b_2) a)
(/ (* c -0.5) b_2))))
double code(double a, double b_2, double c) {
return (-b_2 + sqrt(((b_2 * b_2) - (a * c)))) / a;
}
↓
double code(double a, double b_2, double c) {
double tmp;
if (b_2 <= -2.5e+115) {
tmp = b_2 / (a / -2.0);
} else if (b_2 <= 2.55e-20) {
tmp = (sqrt(((b_2 * b_2) - (a * c))) - b_2) / a;
} else {
tmp = (c * -0.5) / b_2;
}
return tmp;
}
real(8) function code(a, b_2, c)
real(8), intent (in) :: a
real(8), intent (in) :: b_2
real(8), intent (in) :: c
code = (-b_2 + sqrt(((b_2 * b_2) - (a * c)))) / a
end function
↓
real(8) function code(a, b_2, c)
real(8), intent (in) :: a
real(8), intent (in) :: b_2
real(8), intent (in) :: c
real(8) :: tmp
if (b_2 <= (-2.5d+115)) then
tmp = b_2 / (a / (-2.0d0))
else if (b_2 <= 2.55d-20) then
tmp = (sqrt(((b_2 * b_2) - (a * c))) - b_2) / a
else
tmp = (c * (-0.5d0)) / b_2
end if
code = tmp
end function
public static double code(double a, double b_2, double c) {
return (-b_2 + Math.sqrt(((b_2 * b_2) - (a * c)))) / a;
}
↓
public static double code(double a, double b_2, double c) {
double tmp;
if (b_2 <= -2.5e+115) {
tmp = b_2 / (a / -2.0);
} else if (b_2 <= 2.55e-20) {
tmp = (Math.sqrt(((b_2 * b_2) - (a * c))) - b_2) / a;
} else {
tmp = (c * -0.5) / b_2;
}
return tmp;
}
def code(a, b_2, c):
return (-b_2 + math.sqrt(((b_2 * b_2) - (a * c)))) / a