Average Error: 23.9 → 11.3
Time: 2.4m
Precision: 64
Internal Precision: 128
\[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0}{2.0}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 7.994388813508306 \cdot 10^{+186}:\\ \;\;\;\;\frac{\sqrt[3]{\left(\left(\frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)} \cdot \left(\beta + \alpha\right) + 1.0\right) \cdot \left(\frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)} \cdot \left(\beta + \alpha\right) + 1.0\right)\right) \cdot \left(\frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)} \cdot \left(\beta + \alpha\right) + 1.0\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{8.0}{\alpha} - 4.0}{\alpha \cdot \alpha} + \frac{2.0}{\alpha}}{2.0}\\ \end{array}\]

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if alpha < 7.994388813508306e+186

    1. Initial program 17.8

      \[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0}{2.0}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity17.8

      \[\leadsto \frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\color{blue}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0\right)}} + 1.0}{2.0}\]
    4. Applied *-un-lft-identity17.8

      \[\leadsto \frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\color{blue}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0\right)} + 1.0}{2.0}\]
    5. Applied times-frac6.6

      \[\leadsto \frac{\frac{\color{blue}{\frac{\alpha + \beta}{1} \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0\right)} + 1.0}{2.0}\]
    6. Applied times-frac6.6

      \[\leadsto \frac{\color{blue}{\frac{\frac{\alpha + \beta}{1}}{1} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0}} + 1.0}{2.0}\]
    7. Simplified6.6

      \[\leadsto \frac{\color{blue}{\left(\beta + \alpha\right)} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0}{2.0}\]
    8. Using strategy rm
    9. Applied add-cbrt-cube6.6

      \[\leadsto \frac{\color{blue}{\sqrt[3]{\left(\left(\left(\beta + \alpha\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0\right) \cdot \left(\left(\beta + \alpha\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0\right)\right) \cdot \left(\left(\beta + \alpha\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0\right)}}}{2.0}\]

    if 7.994388813508306e+186 < alpha

    1. Initial program 63.2

      \[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0}{2.0}\]
    2. Taylor expanded around -inf 41.8

      \[\leadsto \frac{\color{blue}{\left(2.0 \cdot \frac{1}{\alpha} + 8.0 \cdot \frac{1}{{\alpha}^{3}}\right) - 4.0 \cdot \frac{1}{{\alpha}^{2}}}}{2.0}\]
    3. Simplified41.8

      \[\leadsto \frac{\color{blue}{\frac{2.0}{\alpha} + \frac{\frac{8.0}{\alpha} - 4.0}{\alpha \cdot \alpha}}}{2.0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification11.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 7.994388813508306 \cdot 10^{+186}:\\ \;\;\;\;\frac{\sqrt[3]{\left(\left(\frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)} \cdot \left(\beta + \alpha\right) + 1.0\right) \cdot \left(\frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)} \cdot \left(\beta + \alpha\right) + 1.0\right)\right) \cdot \left(\frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)} \cdot \left(\beta + \alpha\right) + 1.0\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{8.0}{\alpha} - 4.0}{\alpha \cdot \alpha} + \frac{2.0}{\alpha}}{2.0}\\ \end{array}\]

Reproduce

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

Details

Time bar (total: 2.2m)Debug log

start114.0ms

Algorithm
intervals

setup627.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 23.3b

localize54.0ms

Local error

Found 3 expressions with local error:

21.8b
(/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i)))
0.9b
(+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
0.1b
(/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))

rewrite185.0ms

Algorithm
rewrite-expression-head
Counts
3 → 99
Calls

3 calls. Slowest were:

118.0ms
(+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
46.0ms
(/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
19.0ms
(/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i)))

series515.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

225.0ms
(/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
210.0ms
(+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
79.0ms
(/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i)))

simplify14.8s

Counts
107 → 108
Calls

107 calls. Slowest were:

617.0ms
(/ (/ (* (* (* (+ alpha beta) (- beta alpha)) (* (+ alpha beta) (- beta alpha))) (* (+ alpha beta) (- beta alpha))) (* (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (+ alpha beta) (* 2 i)))) (* (* (+ (+ (+ alpha beta) (* 2 i)) 2.0) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
483.0ms
(/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
471.0ms
(/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))

prune1.9s

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 6.8b

localize30.0ms

Local error

Found 4 expressions with local error:

2.8b
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
2.1b
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
0.3b
(/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))
0.1b
(/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))

rewrite102.0ms

Algorithm
rewrite-expression-head
Counts
4 → 197
Calls

4 calls. Slowest were:

40.0ms
(/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
26.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
21.0ms
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))

series568.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

202.0ms
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
168.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
145.0ms
(/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
53.0ms
(/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))

simplify26.3s

Counts
224 → 209
Calls

224 calls. Slowest were:

996.0ms
(* (- (* beta beta) (* alpha alpha)) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
590.0ms
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
587.0ms
(/ (/ (cbrt (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))

prune3.8s

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 6.8b

localize25.0ms

Local error

Found 4 expressions with local error:

2.8b
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
2.8b
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
2.8b
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
2.1b
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))

rewrite114.0ms

Algorithm
rewrite-expression-head
Counts
4 → 104
Calls

4 calls. Slowest were:

31.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
30.0ms
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
26.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)

series639.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

192.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
180.0ms
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
139.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
129.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)

simplify13.2s

Counts
79 → 116
Calls

79 calls. Slowest were:

750.0ms
(* (+ (pow beta 3) (pow alpha 3)) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
562.0ms
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
511.0ms
(sqrt (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))

prune2.7s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 6.8b

localize21.0ms

Local error

Found 4 expressions with local error:

9.3b
(+ (* (+ beta alpha) (/ (/ (/ (- beta alpha) (* (cbrt (+ (+ alpha beta) (* 2 i))) (cbrt (+ (+ alpha beta) (* 2 i))))) (cbrt (+ (+ alpha beta) (* 2 i)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
2.1b
(* (+ beta alpha) (/ (/ (/ (- beta alpha) (* (cbrt (+ (+ alpha beta) (* 2 i))) (cbrt (+ (+ alpha beta) (* 2 i))))) (cbrt (+ (+ alpha beta) (* 2 i)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
0.8b
(cbrt (+ (+ alpha beta) (* 2 i)))
0.8b
(cbrt (+ (+ alpha beta) (* 2 i)))

rewrite131.0ms

Algorithm
rewrite-expression-head
Counts
4 → 357
Calls

4 calls. Slowest were:

68.0ms
(* (+ beta alpha) (/ (/ (/ (- beta alpha) (* (cbrt (+ (+ alpha beta) (* 2 i))) (cbrt (+ (+ alpha beta) (* 2 i))))) (cbrt (+ (+ alpha beta) (* 2 i)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
39.0ms
(+ (* (+ beta alpha) (/ (/ (/ (- beta alpha) (* (cbrt (+ (+ alpha beta) (* 2 i))) (cbrt (+ (+ alpha beta) (* 2 i))))) (cbrt (+ (+ alpha beta) (* 2 i)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
2.0ms
(cbrt (+ (+ alpha beta) (* 2 i)))

series764.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

211.0ms
(cbrt (+ (+ alpha beta) (* 2 i)))
197.0ms
(* (+ beta alpha) (/ (/ (/ (- beta alpha) (* (cbrt (+ (+ alpha beta) (* 2 i))) (cbrt (+ (+ alpha beta) (* 2 i))))) (cbrt (+ (+ alpha beta) (* 2 i)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
181.0ms
(cbrt (+ (+ alpha beta) (* 2 i)))
175.0ms
(+ (* (+ beta alpha) (/ (/ (/ (- beta alpha) (* (cbrt (+ (+ alpha beta) (* 2 i))) (cbrt (+ (+ alpha beta) (* 2 i))))) (cbrt (+ (+ alpha beta) (* 2 i)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)

simplify57.5s

Counts
336 → 369
Calls

336 calls. Slowest were:

606.0ms
(/ (/ (cbrt (+ (* (+ alpha beta) (+ alpha beta)) (- (* (* 2 i) (* 2 i)) (* (+ alpha beta) (* 2 i))))) (cbrt (cbrt (+ (+ alpha beta) (* 2 i))))) (cbrt (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
567.0ms
(/ (/ (* (cbrt (+ (* (+ alpha beta) (+ alpha beta)) (- (* (* 2 i) (* 2 i)) (* (+ alpha beta) (* 2 i))))) (cbrt (+ (* (+ alpha beta) (+ alpha beta)) (- (* (* 2 i) (* 2 i)) (* (+ alpha beta) (* 2 i)))))) (cbrt (sqrt (+ (+ alpha beta) (* 2 i))))) (sqrt (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
550.0ms
(* (* (* (+ beta alpha) (+ beta alpha)) (+ beta alpha)) (/ (* (* (/ (/ (- beta alpha) (* (cbrt (+ (+ alpha beta) (* 2 i))) (cbrt (+ (+ alpha beta) (* 2 i))))) (cbrt (+ (+ alpha beta) (* 2 i)))) (/ (/ (- beta alpha) (* (cbrt (+ (+ alpha beta) (* 2 i))) (cbrt (+ (+ alpha beta) (* 2 i))))) (cbrt (+ (+ alpha beta) (* 2 i))))) (/ (/ (- beta alpha) (* (cbrt (+ (+ alpha beta) (* 2 i))) (cbrt (+ (+ alpha beta) (* 2 i))))) (cbrt (+ (+ alpha beta) (* 2 i))))) (* (* (+ (+ (+ alpha beta) (* 2 i)) 2.0) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) (+ (+ (+ alpha beta) (* 2 i)) 2.0))))

prune10.1s

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 6.8b

regimes390.0ms

Accuracy

15.2% (5.3b remaining)

Error of 11.3b against oracle of 6.1b and baseline of 12.3b

bsearch112.0ms