Average Error: 0.1 → 0.1
Time: 6.5s
Precision: binary64
Cost: 7104
\[\left(\left(x - \left(y + 0.5\right) \cdot \log y\right) + y\right) - z\]
\[\left(x - \left(y + 0.5\right) \cdot \log y\right) + \left(y - z\right)\]
\left(\left(x - \left(y + 0.5\right) \cdot \log y\right) + y\right) - z
\left(x - \left(y + 0.5\right) \cdot \log y\right) + \left(y - z\right)
(FPCore (x y z) :precision binary64 (- (+ (- x (* (+ y 0.5) (log y))) y) z))
(FPCore (x y z) :precision binary64 (+ (- x (* (+ y 0.5) (log y))) (- y z)))
double code(double x, double y, double z) {
	return ((x - ((y + 0.5) * log(y))) + y) - z;
}
double code(double x, double y, double z) {
	return (x - ((y + 0.5) * log(y))) + (y - z);
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original0.1
Target0.1
Herbie0.1
\[\left(\left(y + x\right) - z\right) - \left(y + 0.5\right) \cdot \log y\]

Alternatives

Alternative 1
Error0.1
Cost7104
\[\left(y + \left(x - \left(y + 0.5\right) \cdot \log y\right)\right) - z\]
Alternative 2
Error0.8
Cost7304
\[\begin{array}{l} \mathbf{if}\;x \leq -112.66307892811862 \lor \neg \left(x \leq 3.1881042619195415 \cdot 10^{-27}\right):\\ \;\;\;\;\left(y + \left(x - y \cdot \log y\right)\right) - z\\ \mathbf{else}:\\ \;\;\;\;\left(y - z\right) - \left(y + 0.5\right) \cdot \log y\\ \end{array}\]
Alternative 3
Error0.8
Cost7304
\[\begin{array}{l} \mathbf{if}\;x \leq -149.7368857426866 \lor \neg \left(x \leq 3.1881042619195415 \cdot 10^{-27}\right):\\ \;\;\;\;\left(y + \left(x - y \cdot \log y\right)\right) - z\\ \mathbf{else}:\\ \;\;\;\;\left(y - \left(y + 0.5\right) \cdot \log y\right) - z\\ \end{array}\]
Alternative 4
Error8.2
Cost6976
\[\left(y + \left(x - y \cdot \log y\right)\right) - z\]
Alternative 5
Error14.3
Cost7169
\[\begin{array}{l} \mathbf{if}\;y \leq 203761468525983.38:\\ \;\;\;\;x - z\\ \mathbf{else}:\\ \;\;\;\;\left(y - y \cdot \log y\right) - z\\ \end{array}\]
Alternative 6
Error18.8
Cost7180
\[\begin{array}{l} \mathbf{if}\;y \leq 1.1240171951286433 \cdot 10^{+22} \lor \neg \left(y \leq 2.100629520269826 \cdot 10^{+46}\right) \land y \leq 8.348216274241809 \cdot 10^{+141}:\\ \;\;\;\;x - z\\ \mathbf{else}:\\ \;\;\;\;y - y \cdot \log y\\ \end{array}\]
Alternative 7
Error26.5
Cost192
\[x - z\]
Alternative 8
Error32.6
Cost456
\[\begin{array}{l} \mathbf{if}\;z \leq -5.004673611085021 \cdot 10^{+127} \lor \neg \left(z \leq 7.075589227888415 \cdot 10^{+62}\right):\\ \;\;\;\;-z\\ \mathbf{else}:\\ \;\;\;\;x\\ \end{array}\]
Alternative 9
Error44.0
Cost706
\[\begin{array}{l} \mathbf{if}\;x \leq -4.233692726659617 \cdot 10^{-05}:\\ \;\;\;\;x\\ \mathbf{elif}\;x \leq 3.5358741233197204 \cdot 10^{-15}:\\ \;\;\;\;1\\ \mathbf{else}:\\ \;\;\;\;x\\ \end{array}\]
Alternative 10
Error61.6
Cost64
\[1\]

Error

Derivation

  1. Initial program 0.1

    \[\left(\left(x - \left(y + 0.5\right) \cdot \log y\right) + y\right) - z\]
  2. Using strategy rm
  3. Applied associate--l+_binary64_112680.1

    \[\leadsto \color{blue}{\left(x - \left(y + 0.5\right) \cdot \log y\right) + \left(y - z\right)}\]
  4. Simplified0.1

    \[\leadsto \color{blue}{\left(x - \left(y + 0.5\right) \cdot \log y\right) + \left(y - z\right)}\]
  5. Final simplification0.1

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

Reproduce

herbie shell --seed 2021044 
(FPCore (x y z)
  :name "Numeric.SpecFunctions:stirlingError from math-functions-0.1.5.2"
  :precision binary64

  :herbie-target
  (- (- (+ y x) z) (* (+ y 0.5) (log y)))

  (- (+ (- x (* (+ y 0.5) (log y))) y) z))