Average Error: 14.7 → 0.3
Time: 32.8s
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{\pi}{a} - \frac{\pi}{b}}{2 \cdot \left(a + b\right)}}{b - a}\]

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. Simplified0.3

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

    \[\leadsto \color{blue}{\frac{\left(\frac{1}{a} - \frac{1}{b}\right) \cdot \frac{\frac{\pi}{2}}{a + b}}{b - a}}\]
  5. Simplified0.3

    \[\leadsto \frac{\color{blue}{\frac{\frac{\pi}{a} - \frac{\pi}{b}}{\left(a + b\right) \cdot 2}}}{b - a}\]
  6. Final simplification0.3

    \[\leadsto \frac{\frac{\frac{\pi}{a} - \frac{\pi}{b}}{2 \cdot \left(a + b\right)}}{b - a}\]

Reproduce

herbie shell --seed 2019022 
(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: 32.2s)Debug log

sample80.0ms

Algorithm
intervals
Results
65.0ms305×body80valid

simplify389.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
389.0ms
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b)))

prune12.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.2b

localize28.0ms

Local error

Found 4 expressions with local error:

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

rewrite46.0ms

Algorithm
rewrite-expression-head
Rules
78×*-un-lft-identity
72×times-frac
62×add-sqr-sqrt
46×add-cube-cbrt
43×div-inv
32×distribute-lft-out--
30×associate-*l*
20×add-exp-log
20×add-cbrt-cube
18×associate-*r*
12×associate-/l*
difference-of-squares
associate-/r/
add-log-exp
div-exp
associate-/r*
cbrt-undiv
pow1
associate-/l/
flip--
cbrt-unprod
prod-exp
flip3--
flip-+
frac-sub
flip3-+
frac-2neg
clear-num
*-commutative
associate-*r/
associate-*l/
pow-prod-down
div-sub
diff-log
sub-neg
frac-times
Counts
4 → 173
Calls
4 calls:
Slowest
20.0ms
(* (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ (/ PI 2) (+ a b)))
14.0ms
(/ (- (/ 1 a) (/ 1 b)) (- b a))
5.0ms
(/ (/ PI 2) (+ a b))
3.0ms
(- (/ 1 a) (/ 1 b))

series182.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
84.0ms
(* (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ (/ PI 2) (+ a b)))
64.0ms
(/ (/ PI 2) (+ a b))
24.0ms
(/ (- (/ 1 a) (/ 1 b)) (- b a))
9.0ms
(- (/ 1 a) (/ 1 b))

simplify5.2s

Counts
176 → 185
Calls
176 calls:
Slowest
812.0ms
(+ (- (log (- (/ 1 a) (/ 1 b))) (log (- b a))) (- (log (/ PI 2)) (log (+ a b))))
310.0ms
(+ (log (/ (- (/ 1 a) (/ 1 b)) (- b a))) (- (log (/ PI 2)) (log (+ a b))))
269.0ms
(/ (* (* (/ PI 2) (/ PI 2)) (/ PI 2)) (* (* (+ a b) (+ a b)) (+ a b)))
258.0ms
(+ (- (log (- (/ 1 a) (/ 1 b))) (log (- b a))) (log (/ (/ PI 2) (+ a b))))
223.0ms
(* (* (* (/ (- (/ 1 a) (/ 1 b)) (- b a)) (/ (- (/ 1 a) (/ 1 b)) (- b a))) (/ (- (/ 1 a) (/ 1 b)) (- b a))) (/ (* (* (/ PI 2) (/ PI 2)) (/ PI 2)) (* (* (+ a b) (+ a b)) (+ a b))))

prune1.9s

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 0b

localize28.0ms

Local error

Found 4 expressions with local error:

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

rewrite42.0ms

Algorithm
rewrite-expression-head
Rules
66×times-frac
39×*-un-lft-identity
39×add-sqr-sqrt
27×add-cube-cbrt
20×div-inv
18×associate-/l*
12×distribute-lft-out--
12×associate-/r/
11×add-exp-log
11×add-cbrt-cube
10×associate-*l/
difference-of-squares
flip-+
flip3-+
associate-/l/
add-log-exp
div-exp
frac-2neg
associate-/r*
clear-num
cbrt-undiv
pow1
div-sub
flip--
flip3--
frac-sub
Counts
4 → 120
Calls
4 calls:
Slowest
21.0ms
(/ (/ (- (/ PI a) (/ PI b)) (* (+ a b) 2)) (- b a))
17.0ms
(/ (- (/ PI a) (/ PI b)) (* (+ a b) 2))
0.0ms
(/ PI a)
0.0ms
(/ PI b)

series299.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
91.0ms
(/ (/ (- (/ PI a) (/ PI b)) (* (+ a b) 2)) (- b a))
85.0ms
(/ (- (/ PI a) (/ PI b)) (* (+ a b) 2))
63.0ms
(/ PI b)
59.0ms
(/ PI a)

simplify7.6s

Counts
129 → 132
Calls
129 calls:
Slowest
343.0ms
(/ (- (/ PI a) (/ PI b)) (* (- (* a a) (* b b)) 2))
317.0ms
(/ (/ (- (/ PI a) (/ PI b)) (* (+ a b) 2)) (cbrt (- b a)))
290.0ms
(/ (/ (- (/ PI a) (/ PI b)) (* (+ a b) 2)) (sqrt (- b a)))
273.0ms
(/ (/ 1 (* (+ a b) 2)) (- b a))
267.0ms
(- (log (/ (- (/ PI a) (/ PI b)) (* (+ a b) 2))) (log (- b a)))

prune1.2s

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 0b

localize21.0ms

Local error

Found 4 expressions with local error:

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

rewrite31.0ms

Algorithm
rewrite-expression-head
Rules
43×*-un-lft-identity
43×add-sqr-sqrt
36×times-frac
27×add-cube-cbrt
24×associate-*r*
20×div-inv
16×distribute-lft-out--
11×add-exp-log
11×add-cbrt-cube
difference-of-squares
associate-/r/
add-log-exp
associate-/l*
associate-*l*
associate-/r*
pow1
flip--
flip3--
associate-/l/
flip-+
cbrt-unprod
frac-sub
prod-exp
div-exp
flip3-+
frac-2neg
clear-num
cbrt-undiv
*-commutative
associate-*r/
associate-*l/
pow-prod-down
div-sub
diff-log
sub-neg
frac-times
Counts
4 → 122
Calls
4 calls:
Slowest
10.0ms
(/ (- (/ 1/2 a) (/ 1/2 b)) (- b a))
10.0ms
(* (/ PI (+ a b)) (/ (- (/ 1/2 a) (/ 1/2 b)) (- b a)))
4.0ms
(- (/ 1/2 a) (/ 1/2 b))
1.0ms
(/ PI (+ a b))

series204.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
106.0ms
(* (/ PI (+ a b)) (/ (- (/ 1/2 a) (/ 1/2 b)) (- b a)))
45.0ms
(/ PI (+ a b))
30.0ms
(/ (- (/ 1/2 a) (/ 1/2 b)) (- b a))
22.0ms
(- (/ 1/2 a) (/ 1/2 b))

simplify2.9s

Counts
111 → 134
Calls
111 calls:
Slowest
249.0ms
(+ (log (/ PI (+ a b))) (- (log (- (/ 1/2 a) (/ 1/2 b))) (log (- b a))))
207.0ms
(/ (* (* (- (/ 1/2 a) (/ 1/2 b)) (- (/ 1/2 a) (/ 1/2 b))) (- (/ 1/2 a) (/ 1/2 b))) (* (* (- b a) (- b a)) (- b a)))
169.0ms
(+ (log (/ PI (+ a b))) (log (/ (- (/ 1/2 a) (/ 1/2 b)) (- b a))))
143.0ms
(- (* (/ 1/2 a) (/ 1/2 a)) (* (/ 1/2 b) (/ 1/2 b)))
122.0ms
(* (/ PI (+ a b)) (/ (- (/ 1/2 a) (/ 1/2 b)) (- b a)))

prune1.4s

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 0b

localize8.0ms

Local error

Found 4 expressions with local error:

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

rewrite36.0ms

Algorithm
rewrite-expression-head
Rules
34×*-un-lft-identity
31×times-frac
26×associate-/r*
26×add-sqr-sqrt
24×div-inv
18×add-cube-cbrt
16×distribute-lft-out--
13×associate-/r/
add-exp-log
add-cbrt-cube
add-log-exp
associate-/l*
difference-of-squares
flip--
flip3--
pow1
associate-/l/
frac-sub
frac-2neg
clear-num
associate-*l/
div-exp
cbrt-undiv
flip-+
diff-log
flip3-+
sub-neg
Counts
4 → 116
Calls
4 calls:
Slowest
16.0ms
(/ (* (+ a b) 2) (- (/ 1 a) (/ 1 b)))
7.0ms
(- (/ 1 a) (/ 1 b))
6.0ms
(/ (/ PI (/ (* (+ a b) 2) (- (/ 1 a) (/ 1 b)))) (- b a))
4.0ms
(/ PI (/ (* (+ a b) 2) (- (/ 1 a) (/ 1 b))))

series218.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
96.0ms
(/ PI (/ (* (+ a b) 2) (- (/ 1 a) (/ 1 b))))
69.0ms
(/ (/ PI (/ (* (+ a b) 2) (- (/ 1 a) (/ 1 b)))) (- b a))
45.0ms
(/ (* (+ a b) 2) (- (/ 1 a) (/ 1 b)))
8.0ms
(- (/ 1 a) (/ 1 b))

simplify6.6s

Counts
109 → 128
Calls
109 calls:
Slowest
594.0ms
(/ (/ 1 (/ (* (+ a b) 2) (- (/ 1 a) (/ 1 b)))) (sqrt (- b a)))
553.0ms
(/ (/ 1 (/ (* (+ a b) 2) (- (/ 1 a) (/ 1 b)))) (cbrt (- b a)))
380.0ms
(* (- (* a a) (* b b)) 2)
315.0ms
(- (log (/ PI (/ (* (+ a b) 2) (- (/ 1 a) (/ 1 b))))) (log (- b a)))
239.0ms
(/ (* (cbrt (/ PI (/ (* (+ a b) 2) (- (/ 1 a) (/ 1 b))))) (cbrt (/ PI (/ (* (+ a b) 2) (- (/ 1 a) (/ 1 b)))))) (sqrt (- b a)))

prune1.2s

Pruning

8 alts after pruning (6 fresh and 2 done)

Merged error: 0b

regimes124.0ms

Accuracy

0% (0.2b remaining)

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

bsearch2.0ms

end0.0ms

sample2.5s

Algorithm
intervals
Results
2.3s9588×body80valid