real(4) function code(s, u)
real(4), intent (in) :: s
real(4), intent (in) :: u
code = s * log((1.0e0 / (1.0e0 - (4.0e0 * u))))
end function
↓
real(4) function code(s, u)
real(4), intent (in) :: s
real(4), intent (in) :: u
real(4) :: t_0
real(4) :: tmp
t_0 = 1.0e0 - (4.0e0 * u)
if (t_0 <= 0.9577999711036682e0) then
tmp = s * log((1.0e0 / t_0))
else
tmp = (u * (4.0e0 * s)) + (s * ((21.333333333333332e0 * (u ** 3.0e0)) + ((8.0e0 * (u ** 2.0e0)) + (64.0e0 * (u ** 4.0e0)))))
end if
code = tmp
end function
function code(s, u)
return Float32(s * log(Float32(Float32(1.0) / Float32(Float32(1.0) - Float32(Float32(4.0) * u)))))
end
↓
function code(s, u)
t_0 = Float32(Float32(1.0) - Float32(Float32(4.0) * u))
tmp = Float32(0.0)
if (t_0 <= Float32(0.9577999711036682))
tmp = Float32(s * log(Float32(Float32(1.0) / t_0)));
else
tmp = Float32(Float32(u * Float32(Float32(4.0) * s)) + Float32(s * Float32(Float32(Float32(21.333333333333332) * (u ^ Float32(3.0))) + Float32(Float32(Float32(8.0) * (u ^ Float32(2.0))) + Float32(Float32(64.0) * (u ^ Float32(4.0)))))));
end
return tmp
end
function tmp = code(s, u)
tmp = s * log((single(1.0) / (single(1.0) - (single(4.0) * u))));
end
↓
function tmp_2 = code(s, u)
t_0 = single(1.0) - (single(4.0) * u);
tmp = single(0.0);
if (t_0 <= single(0.9577999711036682))
tmp = s * log((single(1.0) / t_0));
else
tmp = (u * (single(4.0) * s)) + (s * ((single(21.333333333333332) * (u ^ single(3.0))) + ((single(8.0) * (u ^ single(2.0))) + (single(64.0) * (u ^ single(4.0))))));
end
tmp_2 = tmp;
end