Average Error: 0.3 → 0.3
Time: 49.7s
Precision: 64
Internal Precision: 128
\[\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t\]
\[\left(\left(\left(\left(\log z + \log \left(\sqrt[3]{\sqrt{y + x}}\right)\right) + \log \left(\sqrt[3]{\sqrt{y + x}} \cdot \sqrt[3]{\sqrt{y + x}}\right)\right) + \log \left(\sqrt{y + x}\right)\right) - t\right) + \left(a - 0.5\right) \cdot \log t\]

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.3

    \[\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt0.3

    \[\leadsto \left(\left(\log \color{blue}{\left(\sqrt{x + y} \cdot \sqrt{x + y}\right)} + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t\]
  4. Applied log-prod0.3

    \[\leadsto \left(\left(\color{blue}{\left(\log \left(\sqrt{x + y}\right) + \log \left(\sqrt{x + y}\right)\right)} + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t\]
  5. Applied associate-+l+0.3

    \[\leadsto \left(\color{blue}{\left(\log \left(\sqrt{x + y}\right) + \left(\log \left(\sqrt{x + y}\right) + \log z\right)\right)} - t\right) + \left(a - 0.5\right) \cdot \log t\]
  6. Using strategy rm
  7. Applied add-cube-cbrt0.3

    \[\leadsto \left(\left(\log \left(\sqrt{x + y}\right) + \left(\log \color{blue}{\left(\left(\sqrt[3]{\sqrt{x + y}} \cdot \sqrt[3]{\sqrt{x + y}}\right) \cdot \sqrt[3]{\sqrt{x + y}}\right)} + \log z\right)\right) - t\right) + \left(a - 0.5\right) \cdot \log t\]
  8. Applied log-prod0.3

    \[\leadsto \left(\left(\log \left(\sqrt{x + y}\right) + \left(\color{blue}{\left(\log \left(\sqrt[3]{\sqrt{x + y}} \cdot \sqrt[3]{\sqrt{x + y}}\right) + \log \left(\sqrt[3]{\sqrt{x + y}}\right)\right)} + \log z\right)\right) - t\right) + \left(a - 0.5\right) \cdot \log t\]
  9. Applied associate-+l+0.3

    \[\leadsto \left(\left(\log \left(\sqrt{x + y}\right) + \color{blue}{\left(\log \left(\sqrt[3]{\sqrt{x + y}} \cdot \sqrt[3]{\sqrt{x + y}}\right) + \left(\log \left(\sqrt[3]{\sqrt{x + y}}\right) + \log z\right)\right)}\right) - t\right) + \left(a - 0.5\right) \cdot \log t\]
  10. Final simplification0.3

    \[\leadsto \left(\left(\left(\left(\log z + \log \left(\sqrt[3]{\sqrt{y + x}}\right)\right) + \log \left(\sqrt[3]{\sqrt{y + x}} \cdot \sqrt[3]{\sqrt{y + x}}\right)\right) + \log \left(\sqrt{y + x}\right)\right) - t\right) + \left(a - 0.5\right) \cdot \log t\]

Reproduce

herbie shell --seed 2019022 +o rules:numerics
(FPCore (x y z t a)
  :name "Numeric.SpecFunctions:logGammaL from math-functions-0.1.5.2"
  (+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))))

Details

Time bar (total: 47.8s)Debug log

sample754.0ms

Algorithm
intervals
Results
633.0ms1734×body80nan
44.0ms256×body80valid

simplify351.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
351.0ms
(+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t)))

prune18.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.2b

localize32.0ms

Local error

Found 3 expressions with local error:

0.6b
(+ (log (+ x y)) (log z))
0.1b
(+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t)))
0.1b
(* (- a 0.5) (log t))

rewrite141.0ms

Algorithm
rewrite-expression-head
Rules
11×*-un-lft-identity
add-cube-cbrt
add-sqr-sqrt
fma-def
pow1
associate-*l/
associate-+l+
add-log-exp
flip--
add-exp-log
add-cbrt-cube
flip3--
frac-add
log1p-expm1-u
flip-+
associate-+l-
associate-*l*
associate-*r*
flip3-+
log-prod
expm1-log1p-u
distribute-lft-out
log-pow
sum-log
log-div
+-commutative
cbrt-unprod
*-commutative
associate--l+
prod-exp
pow-prod-down
sub-neg
Counts
3 → 69
Calls
3 calls:
Slowest
128.0ms
(+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t)))
7.0ms
(+ (log (+ x y)) (log z))
5.0ms
(* (- a 0.5) (log t))

series316.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
191.0ms
(+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t)))
75.0ms
(+ (log (+ x y)) (log z))
49.0ms
(* (- a 0.5) (log t))

simplify3.4s

Counts
44 → 78
Calls
44 calls:
Slowest
438.0ms
(- (+ (* a (log t)) (+ (log z) (log y))) (+ t (* 0.5 (log t))))
320.0ms
(- (+ (* 0.5 (log (/ -1 t))) (* a (log -1))) (+ (* a (log (/ -1 t))) (* 0.5 (log -1))))
279.0ms
(- (* 0.5 (log (/ 1 t))) (+ t (+ (log (/ 1 z)) (+ (log (/ 1 x)) (* a (log (/ 1 t)))))))
268.0ms
(- (* 2 (log -1)) (+ (log (/ -1 x)) (log (/ -1 z))))
219.0ms
(+ (* (- (pow (+ (log (+ x y)) (log z)) 3) (pow t 3)) (+ (* a a) (+ (* 0.5 0.5) (* a 0.5)))) (* (+ (* (+ (log (+ x y)) (log z)) (+ (log (+ x y)) (log z))) (+ (* t t) (* (+ (log (+ x y)) (log z)) t))) (* (- (pow a 3) (pow 0.5 3)) (log t))))

prune1.3s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 0.0b

localize19.0ms

Local error

Found 4 expressions with local error:

0.4b
(+ (log (sqrt (+ x y))) (log z))
0.4b
(+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z)))
0.1b
(+ (- (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) t) (* (- a 0.5) (log t)))
0.1b
(* (- a 0.5) (log t))

rewrite510.0ms

Algorithm
rewrite-expression-head
Rules
27×*-un-lft-identity
15×associate-+l+
14×pow1
13×add-cube-cbrt
13×fma-def
13×add-sqr-sqrt
12×distribute-lft-out
12×log-prod
10×log-pow
add-log-exp
associate-+l-
flip-+
sqrt-prod
add-exp-log
associate-*l/
sqrt-div
add-cbrt-cube
flip3-+
log-div
flip--
flip3--
sum-log
log1p-expm1-u
frac-add
expm1-log1p-u
associate-*l*
associate-*r*
+-commutative
pow1/2
associate-+r-
cbrt-unprod
*-commutative
associate--l+
prod-exp
pow-prod-down
sub-neg
associate-+r+
Counts
4 → 109
Calls
4 calls:
Slowest
478.0ms
(+ (- (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) t) (* (- a 0.5) (log t)))
16.0ms
(+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z)))
8.0ms
(* (- a 0.5) (log t))
5.0ms
(+ (log (sqrt (+ x y))) (log z))

series527.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
293.0ms
(+ (- (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) t) (* (- a 0.5) (log t)))
90.0ms
(+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z)))
78.0ms
(+ (log (sqrt (+ x y))) (log z))
65.0ms
(* (- a 0.5) (log t))

simplify3.8s

Counts
71 → 121
Calls
71 calls:
Slowest
353.0ms
(* (+ (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) t) (+ a 0.5))
333.0ms
(- (+ (* 0.5 (log (/ -1 t))) (* a (log -1))) (+ (* a (log (/ -1 t))) (* 0.5 (log -1))))
313.0ms
(+ (* (- (pow (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) 3) (pow t 3)) (+ a 0.5)) (* (+ (* (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z)))) (+ (* t t) (* (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) t))) (* (- (* a a) (* 0.5 0.5)) (log t))))
283.0ms
(+ (* (- (pow (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) 3) (pow t 3)) (+ (* a a) (+ (* 0.5 0.5) (* a 0.5)))) (* (+ (* (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z)))) (+ (* t t) (* (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) t))) (* (- (pow a 3) (pow 0.5 3)) (log t))))
258.0ms
(+ (* (- (* (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z)))) (* t t)) (+ (* a a) (+ (* 0.5 0.5) (* a 0.5)))) (* (+ (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) t) (* (- (pow a 3) (pow 0.5 3)) (log t))))

prune2.0s

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 0.0b

localize26.0ms

Local error

Found 4 expressions with local error:

0.6b
(cbrt (sqrt (+ x y)))
0.6b
(cbrt (sqrt (+ x y)))
0.6b
(cbrt (sqrt (+ x y)))
0.5b
(* (cbrt (sqrt (+ x y))) (cbrt (sqrt (+ x y))))

rewrite11.0ms

Algorithm
rewrite-expression-head
Rules
30×cbrt-prod
18×sqrt-div
18×cbrt-div
16×add-cube-cbrt
16×*-un-lft-identity
16×add-sqr-sqrt
15×sqrt-prod
flip-+
associate-*l*
associate-*r*
flip3-+
pow1
pow1/3
add-exp-log
add-log-exp
log1p-expm1-u
add-cbrt-cube
frac-times
expm1-log1p-u
pow-prod-up
associate-*r/
associate-*l/
pow-prod-down
cbrt-unprod
*-commutative
prod-exp
pow-plus
pow2
Counts
4 → 98
Calls
4 calls:
Slowest
6.0ms
(* (cbrt (sqrt (+ x y))) (cbrt (sqrt (+ x y))))
1.0ms
(cbrt (sqrt (+ x y)))
1.0ms
(cbrt (sqrt (+ x y)))
1.0ms
(cbrt (sqrt (+ x y)))

series416.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
122.0ms
(* (cbrt (sqrt (+ x y))) (cbrt (sqrt (+ x y))))
110.0ms
(cbrt (sqrt (+ x y)))
98.0ms
(cbrt (sqrt (+ x y)))
86.0ms
(cbrt (sqrt (+ x y)))

simplify2.1s

Counts
74 → 110
Calls
74 calls:
Slowest
242.0ms
(- (+ (pow y 1/3) (* 1/3 (* x (pow (/ 1 (pow y 2)) 1/3)))) (* 1/9 (* (pow x 2) (pow (/ 1 (pow y 5)) 1/3))))
238.0ms
(- (+ (pow y 1/6) (* 1/6 (* x (pow (/ 1 (pow y 5)) 1/6)))) (* 5/72 (* (pow x 2) (pow (/ 1 (pow y 11)) 1/6))))
214.0ms
(- (+ (pow y 1/6) (* 1/6 (* x (pow (/ 1 (pow y 5)) 1/6)))) (* 5/72 (* (pow x 2) (pow (/ 1 (pow y 11)) 1/6))))
195.0ms
(- (+ (pow y 1/6) (* 1/6 (* x (pow (/ 1 (pow y 5)) 1/6)))) (* 5/72 (* (pow x 2) (pow (/ 1 (pow y 11)) 1/6))))
128.0ms
(cbrt (sqrt (- (* x x) (* y y))))

prune2.4s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 0.0b

localize14.0ms

Local error

Found 4 expressions with local error:

0.6b
(* (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))))
0.5b
(cbrt (* (* (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z)))) (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z)))))
0.4b
(+ (log (sqrt (+ x y))) (log z))
0.4b
(+ (log (sqrt (+ x y))) (log z))

rewrite140.0ms

Algorithm
rewrite-expression-head
Rules
40×*-un-lft-identity
37×flip-+
37×flip3-+
32×frac-times
26×cbrt-div
24×distribute-lft-out
23×pow1
16×log-pow
16×associate-*l/
12×add-cube-cbrt
12×log-prod
12×associate-+l+
12×add-sqr-sqrt
10×associate-*r/
10×fma-def
associate-*l*
associate-*r*
sqrt-prod
add-exp-log
add-cbrt-cube
add-log-exp
log1p-expm1-u
associate-+l-
sqrt-div
log-div
expm1-log1p-u
pow1/2
sum-log
+-commutative
cbrt-unprod
rem-cbrt-cube
pow-prod-up
*-commutative
prod-exp
pow-prod-down
pow3
pow1/3
pow-plus
distribute-lft-in
distribute-rgt-in
pow2
cbrt-prod
Counts
4 → 138
Calls
4 calls:
Slowest
78.0ms
(cbrt (* (* (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z)))) (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z)))))
48.0ms
(* (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))))
6.0ms
(+ (log (sqrt (+ x y))) (log z))
5.0ms
(+ (log (sqrt (+ x y))) (log z))

series436.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
186.0ms
(* (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))))
88.0ms
(cbrt (* (* (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z)))) (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z)))))
86.0ms
(+ (log (sqrt (+ x y))) (log z))
76.0ms
(+ (log (sqrt (+ x y))) (log z))

simplify11.0s

Counts
97 → 150
Calls
97 calls:
Slowest
1.1s
(* (+ (* (log (sqrt (+ x y))) (log (sqrt (+ x y)))) (- (* (+ (log (sqrt (+ x y))) (log z)) (+ (log (sqrt (+ x y))) (log z))) (* (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))))) (- (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))))
905.0ms
(cbrt (* (* (- (* (log (sqrt (+ x y))) (log (sqrt (+ x y)))) (* (+ (log (sqrt (+ x y))) (log z)) (+ (log (sqrt (+ x y))) (log z)))) (- (* (log (sqrt (+ x y))) (log (sqrt (+ x y)))) (* (+ (log (sqrt (+ x y))) (log z)) (+ (log (sqrt (+ x y))) (log z))))) (- (* (log (sqrt (+ x y))) (log (sqrt (+ x y)))) (* (+ (log (sqrt (+ x y))) (log z)) (+ (log (sqrt (+ x y))) (log z))))))
579.0ms
(* (+ (pow (log (sqrt (+ x y))) 3) (pow (+ (log (sqrt (+ x y))) (log z)) 3)) (- (* (log (sqrt (+ x y))) (log (sqrt (+ x y)))) (* (+ (log (sqrt (+ x y))) (log z)) (+ (log (sqrt (+ x y))) (log z)))))
542.0ms
(* (+ (pow (log (sqrt (+ x y))) 3) (pow (+ (log (sqrt (+ x y))) (log z)) 3)) (+ (pow (log (sqrt (+ x y))) 3) (pow (+ (log (sqrt (+ x y))) (log z)) 3)))
529.0ms
(- (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z)))

prune2.9s

Pruning

11 alts after pruning (9 fresh and 2 done)

Merged error: 0.0b

regimes1.6s

Accuracy

0% (0.2b remaining)

Error of 0.3b against oracle of 0.1b and baseline of 0.3b

bsearch5.0ms

end0.0ms

sample13.7s

Algorithm
intervals
Results
10.3s56306×body80nan
1.6s8025×body80valid