Average Error: 0.0 → 0.0
Time: 24.7s
Precision: 64
Internal Precision: 128
\[\frac{1}{x - 1} + \frac{x}{x + 1}\]
\[\sqrt[3]{\left(\left(\frac{1}{x - 1} + \frac{x}{x + 1}\right) \cdot \left(\frac{1}{x - 1} + \frac{x}{x + 1}\right)\right) \cdot \left(\frac{1}{x - 1} + \frac{x}{x + 1}\right)}\]

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\frac{1}{x - 1} + \frac{x}{x + 1}\]
  2. Using strategy rm
  3. Applied add-cbrt-cube0.0

    \[\leadsto \color{blue}{\sqrt[3]{\left(\left(\frac{1}{x - 1} + \frac{x}{x + 1}\right) \cdot \left(\frac{1}{x - 1} + \frac{x}{x + 1}\right)\right) \cdot \left(\frac{1}{x - 1} + \frac{x}{x + 1}\right)}}\]
  4. Final simplification0.0

    \[\leadsto \sqrt[3]{\left(\left(\frac{1}{x - 1} + \frac{x}{x + 1}\right) \cdot \left(\frac{1}{x - 1} + \frac{x}{x + 1}\right)\right) \cdot \left(\frac{1}{x - 1} + \frac{x}{x + 1}\right)}\]

Reproduce

herbie shell --seed 2018360 +o rules:numerics
(FPCore (x)
  :name "Asymptote B"
  (+ (/ 1 (- x 1)) (/ x (+ x 1))))

Details

Time bar (total: 22.3s)Debug log

start60.0ms

Algorithm
intervals

setup24.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.0b

localize26.0ms

Local error

Found 3 expressions with local error:

0.0b
(/ 1 (- x 1))
0.0b
(+ (/ 1 (- x 1)) (/ x (+ x 1)))
0.0b
(/ x (+ x 1))

rewrite13.0ms

Algorithm
rewrite-expression-head
Counts
3 → 59
Calls

3 calls. Slowest were:

10.0ms
(+ (/ 1 (- x 1)) (/ x (+ x 1)))
2.0ms
(/ 1 (- x 1))
1.0ms
(/ x (+ x 1))

series84.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

56.0ms
(+ (/ 1 (- x 1)) (/ x (+ x 1)))
16.0ms
(/ x (+ x 1))
12.0ms
(/ 1 (- x 1))

simplify1.0s

Counts
29 → 68
Calls

29 calls. Slowest were:

250.0ms
(- (+ (* 2 (pow x 2)) (+ (* 2 (pow x 4)) 1)))
161.0ms
(- (+ x (+ (pow x 2) 1)))
75.0ms
(- (+ x (pow x 3)) (pow x 2))

prune559.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0b

localize10.0ms

Local error

Found 4 expressions with local error:

0.0b
(/ 1 (- x 1))
0.0b
(+ (/ 1 (- x 1)) (/ x (+ x 1)))
0.0b
(exp (+ (/ 1 (- x 1)) (/ x (+ x 1))))
0.0b
(/ x (+ x 1))

rewrite41.0ms

Algorithm
rewrite-expression-head
Counts
4 → 76
Calls

4 calls. Slowest were:

26.0ms
(exp (+ (/ 1 (- x 1)) (/ x (+ x 1))))
11.0ms
(+ (/ 1 (- x 1)) (/ x (+ x 1)))
2.0ms
(/ 1 (- x 1))

series137.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

91.0ms
(exp (+ (/ 1 (- x 1)) (/ x (+ x 1))))
25.0ms
(+ (/ 1 (- x 1)) (/ x (+ x 1)))
10.0ms
(/ 1 (- x 1))
10.0ms
(/ x (+ x 1))

simplify1.5s

Counts
40 → 88
Calls

40 calls. Slowest were:

401.0ms
(- (+ (* 2/3 (* (pow x 6) (exp -1))) (exp -1)) (* 2 (* (pow x 2) (exp -1))))
179.0ms
(- (+ (* 2 (pow x 2)) (+ (* 2 (pow x 4)) 1)))
117.0ms
(+ (* 4 (/ E (pow x 4))) (+ E (* 2 (/ E (pow x 2)))))

prune1.0s

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0b

localize11.0ms

Local error

Found 4 expressions with local error:

0.0b
(/ 1 (- x 1))
0.0b
(/ 1 (- x 1))
0.0b
(/ 1 (- x 1))
0.0b
(cbrt (* (* (+ (/ 1 (- x 1)) (/ x (+ x 1))) (+ (/ 1 (- x 1)) (/ x (+ x 1)))) (+ (/ 1 (- x 1)) (/ x (+ x 1)))))

rewrite35.0ms

Algorithm
rewrite-expression-head
Counts
4 → 135
Calls

4 calls. Slowest were:

28.0ms
(cbrt (* (* (+ (/ 1 (- x 1)) (/ x (+ x 1))) (+ (/ 1 (- x 1)) (/ x (+ x 1)))) (+ (/ 1 (- x 1)) (/ x (+ x 1)))))
1.0ms
(/ 1 (- x 1))
1.0ms
(/ 1 (- x 1))

series63.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

39.0ms
(cbrt (* (* (+ (/ 1 (- x 1)) (/ x (+ x 1))) (+ (/ 1 (- x 1)) (/ x (+ x 1)))) (+ (/ 1 (- x 1)) (/ x (+ x 1)))))
11.0ms
(/ 1 (- x 1))
7.0ms
(/ 1 (- x 1))
6.0ms
(/ 1 (- x 1))

simplify15.6s

Counts
95 → 147
Calls

95 calls. Slowest were:

930.0ms
(cbrt (* (* (+ (/ 1 (- x 1)) (/ x (+ x 1))) (- (* (/ 1 (- x 1)) (/ 1 (- x 1))) (* (/ x (+ x 1)) (/ x (+ x 1))))) (- (* (/ 1 (- x 1)) (/ 1 (- x 1))) (* (/ x (+ x 1)) (/ x (+ x 1))))))
855.0ms
(cbrt (* (* (+ (/ 1 (- x 1)) (/ x (+ x 1))) (- (* (/ 1 (- x 1)) (/ 1 (- x 1))) (* (/ x (+ x 1)) (/ x (+ x 1))))) (+ (/ 1 (- x 1)) (/ x (+ x 1)))))
777.0ms
(cbrt (* (* (- (* (/ 1 (- x 1)) (/ 1 (- x 1))) (* (/ x (+ x 1)) (/ x (+ x 1)))) (- (* (/ 1 (- x 1)) (/ 1 (- x 1))) (* (/ x (+ x 1)) (/ x (+ x 1))))) (+ (/ 1 (- x 1)) (/ x (+ x 1)))))

prune2.0s

Pruning

2 alts after pruning (0 fresh and 2 done)

Merged error: 0b

regimes77.0ms

Accuracy

0% (0.0b remaining)

Error of 0.0b against oracle of 0.0b and baseline of 0.0b

bsearch3.0ms