?

Average Accuracy: 99.9% → 99.9%
Time: 10.5s
Precision: binary64
Cost: 13184

?

\[\left(x \cdot \log y - z\right) - y \]
\[\mathsf{fma}\left(x, \log y, -y\right) - z \]
(FPCore (x y z) :precision binary64 (- (- (* x (log y)) z) y))
(FPCore (x y z) :precision binary64 (- (fma x (log y) (- y)) z))
double code(double x, double y, double z) {
	return ((x * log(y)) - z) - y;
}
double code(double x, double y, double z) {
	return fma(x, log(y), -y) - z;
}
function code(x, y, z)
	return Float64(Float64(Float64(x * log(y)) - z) - y)
end
function code(x, y, z)
	return Float64(fma(x, log(y), Float64(-y)) - z)
end
code[x_, y_, z_] := N[(N[(N[(x * N[Log[y], $MachinePrecision]), $MachinePrecision] - z), $MachinePrecision] - y), $MachinePrecision]
code[x_, y_, z_] := N[(N[(x * N[Log[y], $MachinePrecision] + (-y)), $MachinePrecision] - z), $MachinePrecision]
\left(x \cdot \log y - z\right) - y
\mathsf{fma}\left(x, \log y, -y\right) - z

Error?

Derivation?

  1. Initial program 99.9%

    \[\left(x \cdot \log y - z\right) - y \]
  2. Applied egg-rr32.9%

    \[\leadsto \color{blue}{{\left(\sqrt{\mathsf{fma}\left(x, \log y, -\left(y + z\right)\right)}\right)}^{2}} \]
    Proof

    [Start]99.9

    \[ \left(x \cdot \log y - z\right) - y \]

    add-sqr-sqrt [=>]32.9

    \[ \color{blue}{\sqrt{\left(x \cdot \log y - z\right) - y} \cdot \sqrt{\left(x \cdot \log y - z\right) - y}} \]

    pow2 [=>]32.9

    \[ \color{blue}{{\left(\sqrt{\left(x \cdot \log y - z\right) - y}\right)}^{2}} \]

    associate--l- [=>]32.9

    \[ {\left(\sqrt{\color{blue}{x \cdot \log y - \left(z + y\right)}}\right)}^{2} \]

    fma-neg [=>]32.9

    \[ {\left(\sqrt{\color{blue}{\mathsf{fma}\left(x, \log y, -\left(z + y\right)\right)}}\right)}^{2} \]

    +-commutative [=>]32.9

    \[ {\left(\sqrt{\mathsf{fma}\left(x, \log y, -\color{blue}{\left(y + z\right)}\right)}\right)}^{2} \]
  3. Applied egg-rr99.9%

    \[\leadsto \color{blue}{\mathsf{fma}\left(x, \log y, -y\right) + \left(-z\right)} \]
    Proof

    [Start]32.9

    \[ {\left(\sqrt{\mathsf{fma}\left(x, \log y, -\left(y + z\right)\right)}\right)}^{2} \]

    unpow2 [=>]32.9

    \[ \color{blue}{\sqrt{\mathsf{fma}\left(x, \log y, -\left(y + z\right)\right)} \cdot \sqrt{\mathsf{fma}\left(x, \log y, -\left(y + z\right)\right)}} \]

    add-sqr-sqrt [<=]99.9

    \[ \color{blue}{\mathsf{fma}\left(x, \log y, -\left(y + z\right)\right)} \]

    fma-udef [=>]99.9

    \[ \color{blue}{x \cdot \log y + \left(-\left(y + z\right)\right)} \]

    distribute-neg-in [=>]99.9

    \[ x \cdot \log y + \color{blue}{\left(\left(-y\right) + \left(-z\right)\right)} \]

    associate-+r+ [=>]99.9

    \[ \color{blue}{\left(x \cdot \log y + \left(-y\right)\right) + \left(-z\right)} \]

    fma-def [=>]99.9

    \[ \color{blue}{\mathsf{fma}\left(x, \log y, -y\right)} + \left(-z\right) \]
  4. Final simplification99.9%

    \[\leadsto \mathsf{fma}\left(x, \log y, -y\right) - z \]

Alternatives

Alternative 1
Accuracy99.9%
Cost13184
\[\mathsf{fma}\left(x, \log y, \left(-y\right) - z\right) \]
Alternative 2
Accuracy85.0%
Cost7249
\[\begin{array}{l} t_0 := x \cdot \log y\\ \mathbf{if}\;y \leq 2.75 \cdot 10^{+23}:\\ \;\;\;\;t_0 - z\\ \mathbf{elif}\;y \leq 6.2 \cdot 10^{+146} \lor \neg \left(y \leq 4.4 \cdot 10^{+173}\right) \land y \leq 1.15 \cdot 10^{+214}:\\ \;\;\;\;t_0 - y\\ \mathbf{else}:\\ \;\;\;\;\left(-y\right) - z\\ \end{array} \]
Alternative 3
Accuracy84.7%
Cost6985
\[\begin{array}{l} \mathbf{if}\;x \leq -1.35 \cdot 10^{-23} \lor \neg \left(x \leq 2.3 \cdot 10^{+29}\right):\\ \;\;\;\;x \cdot \log y - y\\ \mathbf{else}:\\ \;\;\;\;\left(-y\right) - z\\ \end{array} \]
Alternative 4
Accuracy78.4%
Cost6857
\[\begin{array}{l} \mathbf{if}\;x \leq -3.7 \cdot 10^{+53} \lor \neg \left(x \leq 8.5 \cdot 10^{+133}\right):\\ \;\;\;\;x \cdot \log y\\ \mathbf{else}:\\ \;\;\;\;\left(-y\right) - z\\ \end{array} \]
Alternative 5
Accuracy99.9%
Cost6848
\[\left(x \cdot \log y - z\right) - y \]
Alternative 6
Accuracy51.3%
Cost656
\[\begin{array}{l} \mathbf{if}\;z \leq -2.85 \cdot 10^{+112}:\\ \;\;\;\;-z\\ \mathbf{elif}\;z \leq 8.8 \cdot 10^{-7}:\\ \;\;\;\;-y\\ \mathbf{elif}\;z \leq 8.2 \cdot 10^{+50}:\\ \;\;\;\;-z\\ \mathbf{elif}\;z \leq 1.08 \cdot 10^{+95}:\\ \;\;\;\;-y\\ \mathbf{else}:\\ \;\;\;\;-z\\ \end{array} \]
Alternative 7
Accuracy66.4%
Cost256
\[\left(-y\right) - z \]
Alternative 8
Accuracy34.1%
Cost128
\[-y \]
Alternative 9
Accuracy2.3%
Cost64
\[y \]
Alternative 10
Accuracy2.3%
Cost64
\[z \]

Error

Reproduce?

herbie shell --seed 2023151 
(FPCore (x y z)
  :name "Statistics.Distribution.Poisson:$clogProbability from math-functions-0.1.5.2"
  :precision binary64
  (- (- (* x (log y)) z) y))