Average Error: 28.5 → 28.5
Time: 44.3s
Precision: 64
Internal Precision: 128
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
\[\frac{1}{(\left((\left(y \cdot y\right) \cdot \left(y + a\right) + \left((y \cdot b + c)_*\right))_*\right) \cdot y + i)_*} \cdot (\left(y \cdot y\right) \cdot \left((\left((x \cdot y + z)_*\right) \cdot y + 27464.7644705)_*\right) + \left((230661.510616 \cdot y + t)_*\right))_*\]

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Bits error versus c

Bits error versus i

Derivation

  1. Initial program 28.5

    \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
  2. Using strategy rm
  3. Applied *-un-lft-identity28.5

    \[\leadsto \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\color{blue}{1 \cdot \left(\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i\right)}}\]
  4. Applied associate-/r*28.5

    \[\leadsto \color{blue}{\frac{\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{1}}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}\]
  5. Simplified28.5

    \[\leadsto \frac{\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{1}}{\color{blue}{(\left((\left(y \cdot y\right) \cdot \left(a + y\right) + \left((y \cdot b + c)_*\right))_*\right) \cdot y + i)_*}}\]
  6. Using strategy rm
  7. Applied associate-/l/28.5

    \[\leadsto \color{blue}{\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{(\left((\left(y \cdot y\right) \cdot \left(a + y\right) + \left((y \cdot b + c)_*\right))_*\right) \cdot y + i)_* \cdot 1}}\]
  8. Simplified28.5

    \[\leadsto \frac{\color{blue}{(\left(y \cdot y\right) \cdot \left((y \cdot \left((y \cdot x + z)_*\right) + 27464.7644705)_*\right) + \left((y \cdot 230661.510616 + t)_*\right))_*}}{(\left((\left(y \cdot y\right) \cdot \left(a + y\right) + \left((y \cdot b + c)_*\right))_*\right) \cdot y + i)_* \cdot 1}\]
  9. Using strategy rm
  10. Applied *-un-lft-identity28.5

    \[\leadsto \frac{\color{blue}{1 \cdot (\left(y \cdot y\right) \cdot \left((y \cdot \left((y \cdot x + z)_*\right) + 27464.7644705)_*\right) + \left((y \cdot 230661.510616 + t)_*\right))_*}}{(\left((\left(y \cdot y\right) \cdot \left(a + y\right) + \left((y \cdot b + c)_*\right))_*\right) \cdot y + i)_* \cdot 1}\]
  11. Applied times-frac28.5

    \[\leadsto \color{blue}{\frac{1}{(\left((\left(y \cdot y\right) \cdot \left(a + y\right) + \left((y \cdot b + c)_*\right))_*\right) \cdot y + i)_*} \cdot \frac{(\left(y \cdot y\right) \cdot \left((y \cdot \left((y \cdot x + z)_*\right) + 27464.7644705)_*\right) + \left((y \cdot 230661.510616 + t)_*\right))_*}{1}}\]
  12. Simplified28.5

    \[\leadsto \frac{1}{(\left((\left(y \cdot y\right) \cdot \left(a + y\right) + \left((y \cdot b + c)_*\right))_*\right) \cdot y + i)_*} \cdot \color{blue}{(\left(y \cdot y\right) \cdot \left((\left((x \cdot y + z)_*\right) \cdot y + 27464.7644705)_*\right) + \left((230661.510616 \cdot y + t)_*\right))_*}\]
  13. Final simplification28.5

    \[\leadsto \frac{1}{(\left((\left(y \cdot y\right) \cdot \left(y + a\right) + \left((y \cdot b + c)_*\right))_*\right) \cdot y + i)_*} \cdot (\left(y \cdot y\right) \cdot \left((\left((x \cdot y + z)_*\right) \cdot y + 27464.7644705)_*\right) + \left((230661.510616 \cdot y + t)_*\right))_*\]

Reproduce

herbie shell --seed 2019010 +o rules:numerics
(FPCore (x y z t a b c i)
  :name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
  (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))

Details

Time bar (total: 41.7s)Debug log

sample147.0ms

Algorithm
intervals

simplify172.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
172.0ms
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i))

prune28.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 30.4b

localize74.0ms

Local error

Found 4 expressions with local error:

30.4b
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i))
0.1b
(* (+ (* (+ (* x y) z) y) 27464.7644705) y)
0.1b
(* (+ (* (+ y a) y) b) y)
0.1b
(* (+ (* (+ (* (+ y a) y) b) y) c) y)

rewrite148.0ms

Algorithm
rewrite-expression-head
Rules
15×add-cube-cbrt
15×*-un-lft-identity
15×add-sqr-sqrt
associate-*l*
times-frac
add-exp-log
associate-*l/
add-cbrt-cube
flip-+
flip3-+
add-log-exp
log1p-expm1-u
pow1
expm1-log1p-u
associate-/l*
*-commutative
associate-/r*
associate-/l/
associate-/r/
div-inv
div-exp
frac-2neg
clear-num
cbrt-undiv
Counts
4 → 78
Calls
4 calls:
Slowest
79.0ms
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i))
30.0ms
(* (+ (* (+ (* (+ y a) y) b) y) c) y)
21.0ms
(* (+ (* (+ (* x y) z) y) 27464.7644705) y)
17.0ms
(* (+ (* (+ y a) y) b) y)

series483.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
333.0ms
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i))
59.0ms
(* (+ (* (+ (* (+ y a) y) b) y) c) y)
56.0ms
(* (+ (* (+ (* x y) z) y) 27464.7644705) y)
35.0ms
(* (+ (* (+ y a) y) b) y)

simplify11.4s

Counts
53 → 90
Calls
53 calls:
Slowest
560.0ms
(- (log (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t)) (log (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))
502.0ms
(+ (* (* (+ (* (+ (* (+ y a) y) b) y) c) y) (* (+ (* (+ (* (+ y a) y) b) y) c) y)) (- (* i i) (* (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))
490.0ms
(+ (pow (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) 3) (pow t 3))
484.0ms
(- (* (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y)) (* t t))
419.0ms
(/ (* (cbrt (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t)) (cbrt (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t))) 1)

prune2.0s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 29.6b

localize51.0ms

Local error

Found 4 expressions with local error:

30.4b
(/ (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) 1) (fma (fma (* y y) (+ a y) (fma y b c)) y i))
4.9b
(fma (* y y) (+ a y) (fma y b c))
0.1b
(* (+ (* (+ (* x y) z) y) 27464.7644705) y)
0.1b
(* (+ (* x y) z) y)

rewrite76.0ms

Algorithm
rewrite-expression-head
Rules
15×add-cube-cbrt
15×*-un-lft-identity
15×add-sqr-sqrt
12×times-frac
add-exp-log
associate-*l*
add-cbrt-cube
div-inv
add-log-exp
associate-/l*
log1p-expm1-u
associate-*l/
pow1
expm1-log1p-u
associate-/r*
flip-+
*-commutative
flip3-+
associate-/l/
fma-udef
div-exp
frac-2neg
clear-num
cbrt-undiv
Counts
4 → 74
Calls
4 calls:
Slowest
44.0ms
(/ (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) 1) (fma (fma (* y y) (+ a y) (fma y b c)) y i))
21.0ms
(* (+ (* (+ (* x y) z) y) 27464.7644705) y)
9.0ms
(* (+ (* x y) z) y)
0.0ms
(fma (* y y) (+ a y) (fma y b c))

series477.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
329.0ms
(/ (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) 1) (fma (fma (* y y) (+ a y) (fma y b c)) y i))
59.0ms
(fma (* y y) (+ a y) (fma y b c))
57.0ms
(* (+ (* (+ (* x y) z) y) 27464.7644705) y)
31.0ms
(* (+ (* x y) z) y)

simplify8.5s

Counts
53 → 86
Calls
53 calls:
Slowest
466.0ms
(/ (sqrt (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) 1)) 1)
442.0ms
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) 1)
425.0ms
(+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t)
392.0ms
(+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t)
374.0ms
(* (+ (pow (* (+ (* x y) z) y) 3) (pow 27464.7644705 3)) y)

prune2.5s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 29.6b

localize31.0ms

Local error

Found 4 expressions with local error:

30.4b
(/ (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t)) (* (fma (fma (* y y) (+ a y) (fma y b c)) y i) 1))
4.9b
(fma (* y y) (+ a y) (fma y b c))
0.8b
(fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t))
0.0b
(fma (fma (* y y) (+ a y) (fma y b c)) y i)

rewrite6.0ms

Algorithm
rewrite-expression-head
Rules
add-cube-cbrt
add-exp-log
add-cbrt-cube
*-un-lft-identity
add-sqr-sqrt
add-log-exp
log1p-expm1-u
pow1
expm1-log1p-u
associate-/l*
fma-udef
times-frac
div-inv
div-exp
frac-2neg
associate-/r*
clear-num
cbrt-undiv
Counts
4 → 51
Calls
4 calls:
Slowest
5.0ms
(/ (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t)) (* (fma (fma (* y y) (+ a y) (fma y b c)) y i) 1))
0.0ms
(fma (* y y) (+ a y) (fma y b c))
0.0ms
(fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t))
0.0ms
(fma (fma (* y y) (+ a y) (fma y b c)) y i)

series447.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
258.0ms
(/ (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t)) (* (fma (fma (* y y) (+ a y) (fma y b c)) y i) 1))
92.0ms
(fma (fma (* y y) (+ a y) (fma y b c)) y i)
50.0ms
(fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t))
46.0ms
(fma (* y y) (+ a y) (fma y b c))

simplify3.0s

Counts
22 → 63
Calls
22 calls:
Slowest
404.0ms
(/ (sqrt (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t))) 1)
354.0ms
(- (log (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t))) (log (* (fma (fma (* y y) (+ a y) (fma y b c)) y i) 1)))
352.0ms
(/ (cbrt (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t))) 1)
339.0ms
(* (cbrt (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t))) (cbrt (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t))))
273.0ms
(/ (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t)) 1)

prune1.5s

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 29.6b

localize43.0ms

Local error

Found 4 expressions with local error:

30.3b
(* (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i)) (fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t)))
4.9b
(fma (* y y) (+ a y) (fma y b c))
0.8b
(fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t))
0.4b
(/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i))

rewrite18.0ms

Algorithm
rewrite-expression-head
Rules
add-exp-log
add-cube-cbrt
*-un-lft-identity
pow1
add-sqr-sqrt
add-cbrt-cube
add-log-exp
log1p-expm1-u
fma-udef
associate-*l*
expm1-log1p-u
associate-*r*
associate-/r*
div-inv
prod-exp
rec-exp
inv-pow
pow-flip
cbrt-unprod
*-commutative
associate-*l/
pow-prod-down
distribute-lft-in
frac-2neg
clear-num
distribute-rgt-in
Counts
4 → 62
Calls
4 calls:
Slowest
9.0ms
(* (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i)) (fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t)))
2.0ms
(/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i))
0.0ms
(fma (* y y) (+ a y) (fma y b c))
0.0ms
(fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t))

series634.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
457.0ms
(* (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i)) (fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t)))
70.0ms
(/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i))
55.0ms
(fma (* y y) (+ a y) (fma y b c))
52.0ms
(fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t))

simplify3.5s

Counts
28 → 74
Calls
28 calls:
Slowest
603.0ms
(* 1 (fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t)))
483.0ms
(* (fma 230661.510616 y t) (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i)))
391.0ms
(* (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i)) (fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t)))
286.0ms
(* (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i)) (fma 230661.510616 y t))
206.0ms
(* (cbrt (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i))) (cbrt (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i))))

prune1.8s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 29.6b

regimes1.3s

Accuracy

0% (0.8b remaining)

Error of 28.5b against oracle of 27.7b and baseline of 28.5b

bsearch4.0ms

end0.0ms

sample3.4s

Algorithm
intervals