Average Error: 3.5 → 2.3
Time: 3.9m
Precision: 64
Internal Precision: 128
\[\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
\[\begin{array}{l} \mathbf{if}\;\beta \le 5.97924189304454 \cdot 10^{+188}:\\ \;\;\;\;\frac{\frac{1}{\frac{\left(\beta + \alpha\right) + 2}{\frac{1.0 + \left(\left(\beta + \alpha\right) + \alpha \cdot \beta\right)}{\left(\beta + \alpha\right) + 2}}}}{\left(\left(\beta + \alpha\right) + 2\right) + 1.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{1}{\left(\sqrt{2} - \left(\beta + \alpha\right) \cdot \sqrt{2}\right) \cdot 1.0 + \left(\frac{\beta \cdot 0.5}{\sqrt{2}} + \left(\alpha \cdot 0.5\right) \cdot \sqrt{\frac{1}{2}}\right)}}{\sqrt{\left(\beta + \alpha\right) + 2} \cdot \left(\left(\beta + \alpha\right) + 2\right)}}{\left(\left(\beta + \alpha\right) + 2\right) + 1.0}\\ \end{array}\]

Error

Bits error versus alpha

Bits error versus beta

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if beta < 5.97924189304454e+188

    1. Initial program 1.7

      \[\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity1.7

      \[\leadsto \frac{\frac{\color{blue}{1 \cdot \frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
    4. Applied associate-/l*1.7

      \[\leadsto \frac{\color{blue}{\frac{1}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]

    if 5.97924189304454e+188 < beta

    1. Initial program 15.4

      \[\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity15.4

      \[\leadsto \frac{\frac{\color{blue}{1 \cdot \frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
    4. Applied associate-/l*15.4

      \[\leadsto \frac{\color{blue}{\frac{1}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
    5. Using strategy rm
    6. Applied div-inv15.4

      \[\leadsto \frac{\frac{1}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\color{blue}{\left(\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0\right) \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot 1}}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
    7. Applied add-sqr-sqrt15.4

      \[\leadsto \frac{\frac{1}{\frac{\color{blue}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1} \cdot \sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\left(\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0\right) \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot 1}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
    8. Applied times-frac15.4

      \[\leadsto \frac{\frac{1}{\color{blue}{\frac{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0} \cdot \frac{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}{\frac{1}{\left(\alpha + \beta\right) + 2 \cdot 1}}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
    9. Applied associate-/r*15.4

      \[\leadsto \frac{\color{blue}{\frac{\frac{1}{\frac{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}}}{\frac{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}{\frac{1}{\left(\alpha + \beta\right) + 2 \cdot 1}}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
    10. Simplified15.4

      \[\leadsto \frac{\frac{\frac{1}{\frac{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}}}{\color{blue}{\sqrt{2 + \left(\beta + \alpha\right)} \cdot \left(2 + \left(\beta + \alpha\right)\right)}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
    11. Taylor expanded around 0 5.8

      \[\leadsto \frac{\frac{\frac{1}{\color{blue}{\left(1.0 \cdot \sqrt{2} + \left(0.5 \cdot \frac{\beta}{\sqrt{2}} + 0.5 \cdot \left(\sqrt{\frac{1}{2}} \cdot \alpha\right)\right)\right) - \left(1.0 \cdot \left(\sqrt{2} \cdot \alpha\right) + 1.0 \cdot \left(\sqrt{2} \cdot \beta\right)\right)}}}{\sqrt{2 + \left(\beta + \alpha\right)} \cdot \left(2 + \left(\beta + \alpha\right)\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
    12. Simplified5.8

      \[\leadsto \frac{\frac{\frac{1}{\color{blue}{\left(\frac{0.5 \cdot \beta}{\sqrt{2}} + \sqrt{\frac{1}{2}} \cdot \left(0.5 \cdot \alpha\right)\right) + \left(\sqrt{2} - \sqrt{2} \cdot \left(\alpha + \beta\right)\right) \cdot 1.0}}}{\sqrt{2 + \left(\beta + \alpha\right)} \cdot \left(2 + \left(\beta + \alpha\right)\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification2.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;\beta \le 5.97924189304454 \cdot 10^{+188}:\\ \;\;\;\;\frac{\frac{1}{\frac{\left(\beta + \alpha\right) + 2}{\frac{1.0 + \left(\left(\beta + \alpha\right) + \alpha \cdot \beta\right)}{\left(\beta + \alpha\right) + 2}}}}{\left(\left(\beta + \alpha\right) + 2\right) + 1.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{1}{\left(\sqrt{2} - \left(\beta + \alpha\right) \cdot \sqrt{2}\right) \cdot 1.0 + \left(\frac{\beta \cdot 0.5}{\sqrt{2}} + \left(\alpha \cdot 0.5\right) \cdot \sqrt{\frac{1}{2}}\right)}}{\sqrt{\left(\beta + \alpha\right) + 2} \cdot \left(\left(\beta + \alpha\right) + 2\right)}}{\left(\left(\beta + \alpha\right) + 2\right) + 1.0}\\ \end{array}\]

Reproduce

herbie shell --seed 2018365 
(FPCore (alpha beta)
  :name "Octave 3.8, jcobi/3"
  :pre (and (> alpha -1) (> beta -1))
  (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)))

Details

Time bar (total: 3.8m)Debug log

start83.0ms

Algorithm
intervals

setup716.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 1.8b

localize34.0ms

Local error

Found 4 expressions with local error:

1.7b
(/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1)))
0.1b
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0))
0.0b
(/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1)))
0.0b
(+ (+ alpha beta) (* beta alpha))

rewrite179.0ms

Algorithm
rewrite-expression-head
Counts
4 → 349
Calls

4 calls. Slowest were:

79.0ms
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0))
50.0ms
(/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1)))
39.0ms
(/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1)))

series192.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

75.0ms
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0))
63.0ms
(/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1)))
43.0ms
(/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1)))
10.0ms
(+ (+ alpha beta) (* beta alpha))

simplify1.5m

Counts
524 → 361
Calls

524 calls. Slowest were:

874.0ms
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 1) (* 2 1)))) (* (cbrt (+ (+ alpha beta) (* 2 1))) (cbrt (+ (+ alpha beta) (* 2 1))))) 1)
841.0ms
(/ (/ (/ (sqrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (sqrt (+ (+ alpha beta) (* 2 1)))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0))
816.0ms
(/ (/ (* (* (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1)))) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1)))) (* (* (+ (+ alpha beta) (* 2 1)) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1)))) (* (* (+ (+ (+ alpha beta) (* 2 1)) 1.0) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) (+ (+ (+ alpha beta) (* 2 1)) 1.0)))

prune7.3s

Pruning

6 alts after pruning (6 fresh and 0 done)

Merged error: 0b

localize15.0ms

Local error

Found 4 expressions with local error:

1.7b
(/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1)))
0.1b
(/ (/ 1 (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))))) (+ (+ (+ alpha beta) (* 2 1)) 1.0))
0.0b
(/ 1 (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1)))))
0.0b
(/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))))

rewrite126.0ms

Algorithm
rewrite-expression-head
Counts
4 → 218
Calls

4 calls. Slowest were:

45.0ms
(/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1)))
38.0ms
(/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))))
25.0ms
(/ (/ 1 (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))))) (+ (+ (+ alpha beta) (* 2 1)) 1.0))

series351.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

111.0ms
(/ (/ 1 (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))))) (+ (+ (+ alpha beta) (* 2 1)) 1.0))
97.0ms
(/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))))
94.0ms
(/ 1 (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1)))))
49.0ms
(/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1)))

simplify35.0s

Counts
250 → 230
Calls

250 calls. Slowest were:

724.0ms
(+ (pow (+ (+ alpha beta) (* beta alpha)) 3) (pow 1.0 3))
636.0ms
(/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))))
596.0ms
(- (* (+ (+ alpha beta) (* beta alpha)) (+ (+ alpha beta) (* beta alpha))) (* 1.0 1.0))

prune4.2s

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 0b

localize45.0ms

Local error

Found 4 expressions with local error:

10.5b
(/ (/ 1 (/ (sqrt (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* beta alpha)) 1.0))) (* (sqrt (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha))))
1.8b
(/ (sqrt (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* beta alpha)) 1.0))
0.5b
(/ 1 (/ (sqrt (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* beta alpha)) 1.0)))
0.1b
(* (sqrt (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha)))

rewrite75.0ms

Algorithm
rewrite-expression-head
Counts
4 → 153
Calls

4 calls. Slowest were:

37.0ms
(/ (sqrt (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* beta alpha)) 1.0))
19.0ms
(/ (/ 1 (/ (sqrt (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* beta alpha)) 1.0))) (* (sqrt (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha))))
12.0ms
(/ 1 (/ (sqrt (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* beta alpha)) 1.0)))

series384.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

180.0ms
(/ (/ 1 (/ (sqrt (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* beta alpha)) 1.0))) (* (sqrt (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha))))
105.0ms
(/ (sqrt (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* beta alpha)) 1.0))
71.0ms
(/ 1 (/ (sqrt (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* beta alpha)) 1.0)))
27.0ms
(* (sqrt (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha)))

simplify17.2s

Counts
146 → 165
Calls

146 calls. Slowest were:

561.0ms
(- (+ (+ alpha beta) (* beta alpha)) 1.0)
495.0ms
(* (sqrt (- 2 (+ beta alpha))) (+ (* 2 2) (- (* (+ beta alpha) (+ beta alpha)) (* 2 (+ beta alpha)))))
477.0ms
(/ (* (* (/ 1 (/ (sqrt (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* beta alpha)) 1.0))) (/ 1 (/ (sqrt (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* beta alpha)) 1.0)))) (/ 1 (/ (sqrt (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* beta alpha)) 1.0)))) (* (* (* (sqrt (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha))) (* (sqrt (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha)))) (* (sqrt (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha)))))

prune3.5s

Pruning

6 alts after pruning (4 fresh and 2 done)

Merged error: 0b

localize84.0ms

Local error

Found 4 expressions with local error:

1.7b
(/ (+ (+ (* alpha beta) alpha) (+ beta 1.0)) (+ 2 (+ beta alpha)))
1.7b
(/ (+ (+ (* alpha beta) (+ beta 1.0)) alpha) (+ 2 (+ beta alpha)))
1.2b
(/ (sqrt (/ (+ (+ (* alpha beta) alpha) (+ beta 1.0)) (+ 2 (+ beta alpha)))) (* (+ 2 (+ beta alpha)) (sqrt (+ (+ beta 1.0) (+ alpha 2)))))
0.6b
(/ (sqrt (/ (+ (+ (* alpha beta) (+ beta 1.0)) alpha) (+ 2 (+ beta alpha)))) (sqrt (+ (+ alpha 2) (+ beta 1.0))))

rewrite182.0ms

Algorithm
rewrite-expression-head
Counts
4 → 319
Calls

4 calls. Slowest were:

53.0ms
(/ (+ (+ (* alpha beta) (+ beta 1.0)) alpha) (+ 2 (+ beta alpha)))
48.0ms
(/ (sqrt (/ (+ (+ (* alpha beta) (+ beta 1.0)) alpha) (+ 2 (+ beta alpha)))) (sqrt (+ (+ alpha 2) (+ beta 1.0))))
45.0ms
(/ (+ (+ (* alpha beta) alpha) (+ beta 1.0)) (+ 2 (+ beta alpha)))

series334.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

122.0ms
(/ (sqrt (/ (+ (+ (* alpha beta) (+ beta 1.0)) alpha) (+ 2 (+ beta alpha)))) (sqrt (+ (+ alpha 2) (+ beta 1.0))))
104.0ms
(/ (sqrt (/ (+ (+ (* alpha beta) alpha) (+ beta 1.0)) (+ 2 (+ beta alpha)))) (* (+ 2 (+ beta alpha)) (sqrt (+ (+ beta 1.0) (+ alpha 2)))))
59.0ms
(/ (+ (+ (* alpha beta) alpha) (+ beta 1.0)) (+ 2 (+ beta alpha)))
49.0ms
(/ (+ (+ (* alpha beta) (+ beta 1.0)) alpha) (+ 2 (+ beta alpha)))

simplify58.3s

Counts
454 → 331
Calls

454 calls. Slowest were:

824.0ms
(sqrt (* (+ (* alpha alpha) (- (* 2 2) (* alpha 2))) (+ (* beta beta) (- (* 1.0 1.0) (* beta 1.0)))))
814.0ms
(+ (pow (+ (* alpha beta) (+ beta 1.0)) 3) (pow alpha 3))
654.0ms
(/ (sqrt (/ (+ (+ (* alpha beta) (+ beta 1.0)) alpha) (- (* 2 2) (* (+ beta alpha) (+ beta alpha))))) (* (cbrt (sqrt (+ (+ alpha 2) (+ beta 1.0)))) (cbrt (sqrt (+ (+ alpha 2) (+ beta 1.0))))))

prune8.8s

Pruning

6 alts after pruning (3 fresh and 3 done)

Merged error: 0b

regimes145.0ms

Accuracy

51.7% (1.2b remaining)

Error of 2.3b against oracle of 1.1b and baseline of 3.5b

bsearch230.0ms