\[x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}
\]
↓
\[x \cdot e^{\left(\log z - t\right) \cdot y + \left(-a\right) \cdot \left(z + b\right)}
\]
(FPCore (x y z t a b)
:precision binary64
(* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1.0 z)) b))))))
↓
(FPCore (x y z t a b)
:precision binary64
(* x (exp (+ (* (- (log z) t) y) (* (- a) (+ z b))))))
double code(double x, double y, double z, double t, double a, double b) {
return x * exp(((y * (log(z) - t)) + (a * (log((1.0 - z)) - b))));
}
↓
double code(double x, double y, double z, double t, double a, double b) {
return x * exp((((log(z) - t) * y) + (-a * (z + b))));
}
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 * exp(((y * (log(z) - t)) + (a * (log((1.0d0 - 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
code = x * exp((((log(z) - t) * y) + (-a * (z + b))))
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return x * Math.exp(((y * (Math.log(z) - t)) + (a * (Math.log((1.0 - z)) - b))));
}
↓
public static double code(double x, double y, double z, double t, double a, double b) {
return x * Math.exp((((Math.log(z) - t) * y) + (-a * (z + b))));
}
def code(x, y, z, t, a, b):
return x * math.exp(((y * (math.log(z) - t)) + (a * (math.log((1.0 - z)) - b))))
↓
def code(x, y, z, t, a, b):
return x * math.exp((((math.log(z) - t) * y) + (-a * (z + b))))
function code(x, y, z, t, a, b)
return Float64(x * exp(Float64(Float64(y * Float64(log(z) - t)) + Float64(a * Float64(log(Float64(1.0 - z)) - b)))))
end
↓
function code(x, y, z, t, a, b)
return Float64(x * exp(Float64(Float64(Float64(log(z) - t) * y) + Float64(Float64(-a) * Float64(z + b)))))
end
function tmp = code(x, y, z, t, a, b)
tmp = x * exp(((y * (log(z) - t)) + (a * (log((1.0 - z)) - b))));
end
↓
function tmp = code(x, y, z, t, a, b)
tmp = x * exp((((log(z) - t) * y) + (-a * (z + b))));
end
herbie shell --seed 2023074
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, B"
:precision binary64
(* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1.0 z)) b))))))