Average Error: 14.7 → 0.3
Time: 3.4m
Precision: 64
Internal Precision: 128
\[\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
\[\frac{\frac{\frac{1}{a} - \frac{1}{b}}{b - a}}{a + b} \cdot \frac{\pi}{2}\]

Error

Bits error versus a

Bits error versus b

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 14.7

    \[\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
  2. Initial simplification0.3

    \[\leadsto \frac{\frac{1}{a} - \frac{1}{b}}{b - a} \cdot \frac{\frac{\pi}{2}}{a + b}\]
  3. Using strategy rm
  4. Applied associate-*r/0.3

    \[\leadsto \color{blue}{\frac{\frac{\frac{1}{a} - \frac{1}{b}}{b - a} \cdot \frac{\pi}{2}}{a + b}}\]
  5. Using strategy rm
  6. Applied associate-/l*0.3

    \[\leadsto \color{blue}{\frac{\frac{\frac{1}{a} - \frac{1}{b}}{b - a}}{\frac{a + b}{\frac{\pi}{2}}}}\]
  7. Using strategy rm
  8. Applied associate-/r/0.3

    \[\leadsto \color{blue}{\frac{\frac{\frac{1}{a} - \frac{1}{b}}{b - a}}{a + b} \cdot \frac{\pi}{2}}\]
  9. Final simplification0.3

    \[\leadsto \frac{\frac{\frac{1}{a} - \frac{1}{b}}{b - a}}{a + b} \cdot \frac{\pi}{2}\]

Reproduce

herbie shell --seed 2018362 
(FPCore (a b)
  :name "NMSE Section 6.1 mentioned, B"
  (* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))

Details

Time bar (total: 3.3m)Debug log

start156.0ms

Algorithm
intervals

setup789.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.2b

localize27.0ms

Local error

Found 4 expressions with local error:

0.2b
(/ (- (/ 1 a) (/ 1 b)) (- b a))
0.2b
(/ (/ PI 2) (+ a b))
0.2b
(* (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ (/ PI 2) (+ a b)))
0.0b
(- (/ 1 a) (/ 1 b))

rewrite46.0ms

Algorithm
rewrite-expression-head
Counts
4 → 173
Calls

4 calls. Slowest were:

18.0ms
(/ (- (/ 1 a) (/ 1 b)) (- b a))
16.0ms
(* (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ (/ PI 2) (+ a b)))
6.0ms
(/ (/ PI 2) (+ a b))

series196.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

88.0ms
(* (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ (/ PI 2) (+ a b)))
77.0ms
(/ (/ PI 2) (+ a b))
18.0ms
(/ (- (/ 1 a) (/ 1 b)) (- b a))
14.0ms
(- (/ 1 a) (/ 1 b))

simplify5.6s

Counts
176 → 185
Calls

176 calls. Slowest were:

497.0ms
(+ (- (log (- (/ 1 a) (/ 1 b))) (log (- b a))) (- (log (/ PI 2)) (log (+ a b))))
393.0ms
(+ (log (/ (- (/ 1 a) (/ 1 b)) (- b a))) (- (log (/ PI 2)) (log (+ a b))))
338.0ms
(/ (* (* (/ PI 2) (/ PI 2)) (/ PI 2)) (* (* (+ a b) (+ a b)) (+ a b)))

prune2.5s

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 0.0b

localize6.0ms

Local error

Found 4 expressions with local error:

0.3b
(* (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ PI 2))
0.2b
(/ (- (/ 1 a) (/ 1 b)) (- b a))
0.2b
(/ (* (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ PI 2)) (+ a b))
0.0b
(- (/ 1 a) (/ 1 b))

rewrite39.0ms

Algorithm
rewrite-expression-head
Counts
4 → 149
Calls

4 calls. Slowest were:

11.0ms
(/ (* (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ PI 2)) (+ a b))
10.0ms
(* (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ PI 2))
9.0ms
(/ (- (/ 1 a) (/ 1 b)) (- b a))

series182.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

108.0ms
(/ (* (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ PI 2)) (+ a b))
38.0ms
(* (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ PI 2))
22.0ms
(/ (- (/ 1 a) (/ 1 b)) (- b a))
13.0ms
(- (/ 1 a) (/ 1 b))

simplify6.0s

Counts
145 → 161
Calls

145 calls. Slowest were:

370.0ms
(+ (- (log (- (/ 1 a) (/ 1 b))) (log (- b a))) (log (/ PI 2)))
338.0ms
(- (+ (log (/ (- (/ 1 a) (/ 1 b)) (- b a))) (log (/ PI 2))) (log (+ a b)))
331.0ms
(- (log (* (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ PI 2))) (log (+ a b)))

prune2.1s

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 0.0b

localize20.0ms

Local error

Found 4 expressions with local error:

0.5b
(/ (- (/ PI a) (/ PI b)) (* (- b a) 2))
0.2b
(/ PI a)
0.2b
(/ PI b)
0.2b
(/ (/ (- (/ PI a) (/ PI b)) (* (- b a) 2)) (+ a b))

rewrite42.0ms

Algorithm
rewrite-expression-head
Counts
4 → 120
Calls

4 calls. Slowest were:

26.0ms
(/ (/ (- (/ PI a) (/ PI b)) (* (- b a) 2)) (+ a b))
12.0ms
(/ (- (/ PI a) (/ PI b)) (* (- b a) 2))
0.0ms
(/ PI a)

series275.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

98.0ms
(/ (/ (- (/ PI a) (/ PI b)) (* (- b a) 2)) (+ a b))
63.0ms
(/ PI a)
62.0ms
(/ PI b)
52.0ms
(/ (- (/ PI a) (/ PI b)) (* (- b a) 2))

simplify8.4s

Counts
129 → 132
Calls

129 calls. Slowest were:

391.0ms
(- (- (log (- (/ PI a) (/ PI b))) (log (* (- b a) 2))) (log (+ a b)))
342.0ms
(- (log (/ (- (/ PI a) (/ PI b)) (* (- b a) 2))) (log (+ a b)))
313.0ms
(/ (- (/ PI a) (/ PI b)) (* (- (* b b) (* a a)) 2))

prune1.7s

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 0b

localize6.0ms

Local error

Found 4 expressions with local error:

0.3b
(/ (+ a b) (/ PI 2))
0.2b
(/ (- (/ 1 a) (/ 1 b)) (- b a))
0.2b
(/ (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ (+ a b) (/ PI 2)))
0.0b
(- (/ 1 a) (/ 1 b))

rewrite87.0ms

Algorithm
rewrite-expression-head
Counts
4 → 683
Calls

4 calls. Slowest were:

25.0ms
(/ (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ (+ a b) (/ PI 2)))
17.0ms
(/ (- (/ 1 a) (/ 1 b)) (- b a))
7.0ms
(- (/ 1 a) (/ 1 b))

series160.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

76.0ms
(/ (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ (+ a b) (/ PI 2)))
54.0ms
(/ (+ a b) (/ PI 2))
17.0ms
(/ (- (/ 1 a) (/ 1 b)) (- b a))
13.0ms
(- (/ 1 a) (/ 1 b))

simplify2.6m

Counts
1193 → 695
Calls

1193 calls. Slowest were:

740.0ms
(/ (/ (- (/ 1 a) (/ 1 b)) (cbrt (- b a))) (/ (sqrt (+ a b)) (/ 1 2)))
737.0ms
(/ (/ (- (sqrt (/ 1 a)) (sqrt (/ 1 b))) (cbrt (- b a))) (/ (cbrt (+ a b)) (/ 1 2)))
683.0ms
(/ (/ (- (sqrt (/ 1 a)) (sqrt (/ 1 b))) (cbrt (- b a))) (/ (sqrt (+ a b)) (/ 1 2)))

prune9.7s

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 0b

regimes145.0ms

Accuracy

0% (0.3b remaining)

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

bsearch3.0ms