\[\log \left(1 + e^{x}\right) - x \cdot y
\]
↓
\[\log \left(1 + e^{x}\right) - x \cdot y
\]
(FPCore (x y) :precision binary64 (- (log (+ 1.0 (exp x))) (* x y)))
↓
(FPCore (x y) :precision binary64 (- (log (+ 1.0 (exp x))) (* x y)))
double code(double x, double y) {
return log((1.0 + exp(x))) - (x * y);
}
↓
double code(double x, double y) {
return log((1.0 + exp(x))) - (x * y);
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
code = log((1.0d0 + exp(x))) - (x * y)
end function
↓
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
code = log((1.0d0 + exp(x))) - (x * y)
end function
public static double code(double x, double y) {
return Math.log((1.0 + Math.exp(x))) - (x * y);
}
↓
public static double code(double x, double y) {
return Math.log((1.0 + Math.exp(x))) - (x * y);
}
def code(x, y):
return math.log((1.0 + math.exp(x))) - (x * y)
↓
def code(x, y):
return math.log((1.0 + math.exp(x))) - (x * y)
function code(x, y)
return Float64(log(Float64(1.0 + exp(x))) - Float64(x * y))
end
↓
function code(x, y)
return Float64(log(Float64(1.0 + exp(x))) - Float64(x * y))
end
function tmp = code(x, y)
tmp = log((1.0 + exp(x))) - (x * y);
end
↓
function tmp = code(x, y)
tmp = log((1.0 + exp(x))) - (x * y);
end
code[x_, y_] := N[(N[Log[N[(1.0 + N[Exp[x], $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]
↓
code[x_, y_] := N[(N[Log[N[(1.0 + N[Exp[x], $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]
\log \left(1 + e^{x}\right) - x \cdot y
↓
\log \left(1 + e^{x}\right) - x \cdot y
Alternatives
| Alternative 1 |
|---|
| Error | 0.4 |
|---|
| Cost | 13120 |
|---|
\[\mathsf{log1p}\left(e^{x}\right) - x \cdot y
\]
| Alternative 2 |
|---|
| Error | 0.6 |
|---|
| Cost | 6980 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -1100:\\
\;\;\;\;x \cdot \left(-y\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(0.5 - y\right) + \log 2\\
\end{array}
\]
| Alternative 3 |
|---|
| Error | 12.2 |
|---|
| Cost | 6852 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -0.00022:\\
\;\;\;\;x \cdot \left(-y\right)\\
\mathbf{else}:\\
\;\;\;\;\log 2 + x \cdot 0.5\\
\end{array}
\]
| Alternative 4 |
|---|
| Error | 0.9 |
|---|
| Cost | 6852 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -1100:\\
\;\;\;\;x \cdot \left(-y\right)\\
\mathbf{else}:\\
\;\;\;\;\log 2 - x \cdot y\\
\end{array}
\]
| Alternative 5 |
|---|
| Error | 12.2 |
|---|
| Cost | 6724 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -0.000105:\\
\;\;\;\;x \cdot \left(-y\right)\\
\mathbf{else}:\\
\;\;\;\;\log \left(x + 2\right)\\
\end{array}
\]
| Alternative 6 |
|---|
| Error | 12.5 |
|---|
| Cost | 6596 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -0.00015:\\
\;\;\;\;x \cdot \left(-y\right)\\
\mathbf{else}:\\
\;\;\;\;\log 2\\
\end{array}
\]
| Alternative 7 |
|---|
| Error | 33.9 |
|---|
| Cost | 256 |
|---|
\[x \cdot \left(-y\right)
\]
| Alternative 8 |
|---|
| Error | 61.7 |
|---|
| Cost | 192 |
|---|
\[x \cdot 0.5
\]