Average Error: 0.0 → 0.0
Time: 47.1s
Precision: 64
Internal Precision: 128
\[\frac{-\left(f + n\right)}{f - n}\]
\[\log \left(\sqrt{\sqrt[3]{e^{\frac{-\left(n + f\right)}{f - n}} \cdot \left(e^{\frac{-\left(n + f\right)}{f - n}} \cdot e^{\frac{-\left(n + f\right)}{f - n}}\right)}} \cdot \sqrt{e^{\frac{-\left(n + f\right)}{f - n}}}\right)\]

Error

Bits error versus f

Bits error versus n

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\frac{-\left(f + n\right)}{f - n}\]
  2. Using strategy rm
  3. Applied add-log-exp0.0

    \[\leadsto \color{blue}{\log \left(e^{\frac{-\left(f + n\right)}{f - n}}\right)}\]
  4. Using strategy rm
  5. Applied add-sqr-sqrt0.0

    \[\leadsto \log \color{blue}{\left(\sqrt{e^{\frac{-\left(f + n\right)}{f - n}}} \cdot \sqrt{e^{\frac{-\left(f + n\right)}{f - n}}}\right)}\]
  6. Using strategy rm
  7. Applied add-cbrt-cube0.0

    \[\leadsto \log \left(\sqrt{e^{\frac{-\left(f + n\right)}{f - n}}} \cdot \sqrt{\color{blue}{\sqrt[3]{\left(e^{\frac{-\left(f + n\right)}{f - n}} \cdot e^{\frac{-\left(f + n\right)}{f - n}}\right) \cdot e^{\frac{-\left(f + n\right)}{f - n}}}}}\right)\]
  8. Final simplification0.0

    \[\leadsto \log \left(\sqrt{\sqrt[3]{e^{\frac{-\left(n + f\right)}{f - n}} \cdot \left(e^{\frac{-\left(n + f\right)}{f - n}} \cdot e^{\frac{-\left(n + f\right)}{f - n}}\right)}} \cdot \sqrt{e^{\frac{-\left(n + f\right)}{f - n}}}\right)\]

Reproduce

herbie shell --seed 2018360 +o rules:numerics
(FPCore (f n)
  :name "subtraction fraction"
  (/ (- (+ f n)) (- f n)))

Details

Time bar (total: 44.9s)Debug log

start274.0ms

Algorithm
intervals

setup115.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.0b

localize25.0ms

Local error

Found 1 expressions with local error:

0.0b
(/ (- (+ f n)) (- f n))

rewrite14.0ms

Algorithm
rewrite-expression-head
Counts
1 → 63
Calls

1 calls. Slowest were:

11.0ms
(/ (- (+ f n)) (- f n))

series497.0ms

Counts
1 → 3
Calls

1 calls. Slowest were:

496.0ms
(/ (- (+ f n)) (- f n))

simplify1.0s

Counts
81 → 66
Calls

81 calls. Slowest were:

245.0ms
(- (- (* f f) (* n n)))
81.0ms
(/ (* (* (- (+ f n)) (- (+ f n))) (- (+ f n))) (* (* (- f n) (- f n)) (- f n)))
51.0ms
(/ (- (* (cbrt (+ f n)) (cbrt (+ f n)))) (* (cbrt (- f n)) (cbrt (- f n))))

prune598.0ms

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 0.0b

localize14.0ms

Local error

Found 3 expressions with local error:

0.0b
(/ (- (+ f n)) (- f n))
0.0b
(exp (/ (- (+ f n)) (- f n)))
0.0b
(log (exp (/ (- (+ f n)) (- f n))))

rewrite29.0ms

Algorithm
rewrite-expression-head
Counts
3 → 164
Calls

3 calls. Slowest were:

9.0ms
(/ (- (+ f n)) (- f n))
9.0ms
(exp (/ (- (+ f n)) (- f n)))
7.0ms
(log (exp (/ (- (+ f n)) (- f n))))

series157.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

71.0ms
(exp (/ (- (+ f n)) (- f n)))
45.0ms
(log (exp (/ (- (+ f n)) (- f n))))
41.0ms
(/ (- (+ f n)) (- f n))

simplify2.4s

Counts
168 → 173
Calls

168 calls. Slowest were:

297.0ms
(- (- (* f f) (* n n)))
136.0ms
(exp (/ (- (+ f n)) (- (* f f) (* n n))))
93.0ms
(/ (* (* (- (+ f n)) (- (+ f n))) (- (+ f n))) (* (* (- f n) (- f n)) (- f n)))

prune1.9s

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 0.0b

localize9.0ms

Local error

Found 4 expressions with local error:

0.6b
(* (sqrt (exp (/ (- (+ f n)) (- f n)))) (sqrt (exp (/ (- (+ f n)) (- f n)))))
0.0b
(/ (- (+ f n)) (- f n))
0.0b
(/ (- (+ f n)) (- f n))
0.0b
(exp (/ (- (+ f n)) (- f n)))

rewrite32.0ms

Algorithm
rewrite-expression-head
Counts
4 → 214
Calls

4 calls. Slowest were:

13.0ms
(* (sqrt (exp (/ (- (+ f n)) (- f n)))) (sqrt (exp (/ (- (+ f n)) (- f n)))))
5.0ms
(exp (/ (- (+ f n)) (- f n)))
4.0ms
(/ (- (+ f n)) (- f n))

series260.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

93.0ms
(* (sqrt (exp (/ (- (+ f n)) (- f n)))) (sqrt (exp (/ (- (+ f n)) (- f n)))))
93.0ms
(exp (/ (- (+ f n)) (- f n)))
41.0ms
(/ (- (+ f n)) (- f n))
34.0ms
(/ (- (+ f n)) (- f n))

simplify4.3s

Counts
240 → 226
Calls

240 calls. Slowest were:

287.0ms
(- (- (* f f) (* n n)))
241.0ms
(- (- (* f f) (* n n)))
212.0ms
(* (* (* (sqrt (exp (/ (- (+ f n)) (- f n)))) (sqrt (exp (/ (- (+ f n)) (- f n))))) (sqrt (exp (/ (- (+ f n)) (- f n))))) (* (* (sqrt (exp (/ (- (+ f n)) (- f n)))) (sqrt (exp (/ (- (+ f n)) (- f n))))) (sqrt (exp (/ (- (+ f n)) (- f n))))))

prune3.3s

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0.0b

localize41.0ms

Local error

Found 4 expressions with local error:

0.7b
(cbrt (* (* (exp (/ (- (+ f n)) (- f n))) (exp (/ (- (+ f n)) (- f n)))) (exp (/ (- (+ f n)) (- f n)))))
0.6b
(* (exp (/ (- (+ f n)) (- f n))) (exp (/ (- (+ f n)) (- f n))))
0.6b
(* (sqrt (exp (/ (- (+ f n)) (- f n)))) (sqrt (cbrt (* (* (exp (/ (- (+ f n)) (- f n))) (exp (/ (- (+ f n)) (- f n)))) (exp (/ (- (+ f n)) (- f n)))))))
0.4b
(* (* (exp (/ (- (+ f n)) (- f n))) (exp (/ (- (+ f n)) (- f n)))) (exp (/ (- (+ f n)) (- f n))))

rewrite378.0ms

Algorithm
rewrite-expression-head
Counts
4 → 488
Calls

4 calls. Slowest were:

139.0ms
(* (* (exp (/ (- (+ f n)) (- f n))) (exp (/ (- (+ f n)) (- f n)))) (exp (/ (- (+ f n)) (- f n))))
104.0ms
(cbrt (* (* (exp (/ (- (+ f n)) (- f n))) (exp (/ (- (+ f n)) (- f n)))) (exp (/ (- (+ f n)) (- f n)))))
53.0ms
(* (exp (/ (- (+ f n)) (- f n))) (exp (/ (- (+ f n)) (- f n))))

series536.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

182.0ms
(* (* (exp (/ (- (+ f n)) (- f n))) (exp (/ (- (+ f n)) (- f n)))) (exp (/ (- (+ f n)) (- f n))))
144.0ms
(* (exp (/ (- (+ f n)) (- f n))) (exp (/ (- (+ f n)) (- f n))))
106.0ms
(cbrt (* (* (exp (/ (- (+ f n)) (- f n))) (exp (/ (- (+ f n)) (- f n)))) (exp (/ (- (+ f n)) (- f n)))))
104.0ms
(* (sqrt (exp (/ (- (+ f n)) (- f n)))) (sqrt (cbrt (* (* (exp (/ (- (+ f n)) (- f n))) (exp (/ (- (+ f n)) (- f n)))) (exp (/ (- (+ f n)) (- f n)))))))

simplify21.9s

Counts
781 → 500
Calls

781 calls. Slowest were:

479.0ms
(+ (+ (* f f) (+ (* n n) (* f n))) (+ (* f f) (+ (* n n) (* f n))))
373.0ms
(* (* (* (* (exp (/ (- (+ f n)) (- f n))) (exp (/ (- (+ f n)) (- f n)))) (exp (/ (- (+ f n)) (- f n)))) (* (* (exp (/ (- (+ f n)) (- f n))) (exp (/ (- (+ f n)) (- f n)))) (exp (/ (- (+ f n)) (- f n))))) (* (* (exp (/ (- (+ f n)) (- f n))) (exp (/ (- (+ f n)) (- f n)))) (exp (/ (- (+ f n)) (- f n)))))
328.0ms
(* (* (exp (/ (- (* (cbrt (+ f n)) (cbrt (+ f n)))) (* (cbrt (- f n)) (cbrt (- f n))))) (exp (/ (- (* (cbrt (+ f n)) (cbrt (+ f n)))) (* (cbrt (- f n)) (cbrt (- f n)))))) (exp (/ (- (* (cbrt (+ f n)) (cbrt (+ f n)))) (* (cbrt (- f n)) (cbrt (- f n))))))

prune7.0s

Pruning

3 alts after pruning (1 fresh and 2 done)

Merged error: 0.0b

regimes134.0ms

Accuracy

0% (0.0b remaining)

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

bsearch6.0ms