Average Error: 23.8 → 12.9
Time: 2.7m
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 863261300362360.1:\\ \;\;\;\;\frac{\sqrt[3]{\left(\left(\beta - \alpha\right) \cdot \frac{\frac{\beta + \alpha}{\left(\beta + \alpha\right) + i \cdot 2}}{2.0 + \left(\left(\beta + \alpha\right) + i \cdot 2\right)} + 1.0\right) \cdot \left(\left(\left(\beta - \alpha\right) \cdot \frac{\frac{\beta + \alpha}{\left(\beta + \alpha\right) + i \cdot 2}}{2.0 + \left(\left(\beta + \alpha\right) + i \cdot 2\right)} + 1.0\right) \cdot \left(\left(\beta - \alpha\right) \cdot \frac{\frac{\beta + \alpha}{\left(\beta + \alpha\right) + i \cdot 2}}{2.0 + \left(\left(\beta + \alpha\right) + i \cdot 2\right)} + 1.0\right)\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{2.0}{\alpha} + \frac{\frac{8.0}{\alpha} - 4.0}{\alpha \cdot \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 < 863261300362360.1

    1. Initial program 10.9

      \[\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 associate-/l*0.2

      \[\leadsto \frac{\frac{\color{blue}{\frac{\alpha + \beta}{\frac{\left(\alpha + \beta\right) + 2 \cdot i}{\beta - \alpha}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0}{2.0}\]
    4. Using strategy rm
    5. Applied *-un-lft-identity0.2

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

      \[\leadsto \frac{\frac{\frac{\alpha + \beta}{\color{blue}{\frac{1}{\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. Using strategy rm
    8. Applied *-un-lft-identity0.2

      \[\leadsto \frac{\frac{\frac{\alpha + \beta}{\frac{1}{\frac{\beta - \alpha}{\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}\]
    9. Applied associate-/r/0.2

      \[\leadsto \frac{\frac{\frac{\alpha + \beta}{\color{blue}{\frac{1}{\beta - \alpha} \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}\]
    10. Applied *-un-lft-identity0.2

      \[\leadsto \frac{\frac{\frac{\color{blue}{1 \cdot \left(\alpha + \beta\right)}}{\frac{1}{\beta - \alpha} \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}\]
    11. Applied times-frac0.2

      \[\leadsto \frac{\frac{\color{blue}{\frac{1}{\frac{1}{\beta - \alpha}} \cdot \frac{\alpha + \beta}{\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}\]
    12. Applied times-frac0.2

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

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

      \[\leadsto \frac{\color{blue}{\sqrt[3]{\left(\left(\left(\beta - \alpha\right) \cdot \frac{\frac{\alpha + \beta}{\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{\alpha + \beta}{\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{\alpha + \beta}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0\right)}}}{2.0}\]

    if 863261300362360.1 < alpha

    1. Initial program 52.1

      \[\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 40.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. Simplified40.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 simplification12.9

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

Reproduce

herbie shell --seed 2019004 
(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.7m)Debug log

sample54.0ms

Algorithm
intervals

simplify544.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

544.0ms
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) 2.0)

prune11.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 22.3b

localize30.0ms

Local error

Found 3 expressions with local error:

17.4b
(/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i)))
2.3b
(+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
0.0b
(/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))

rewrite124.0ms

Algorithm
rewrite-expression-head
Counts
3 → 99
Calls

3 calls. Slowest were:

65.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))
9.0ms
(/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i)))

series534.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

236.0ms
(/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
221.0ms
(+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
77.0ms
(/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i)))

simplify14.8s

Counts
107 → 108
Calls

107 calls. Slowest were:

612.0ms
(/ (* (cbrt (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i)))) (cbrt (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))))) 1)
563.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)))
462.0ms
(/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))

prune1.4s

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 5.5b

localize32.0ms

Local error

Found 4 expressions with local error:

2.3b
(+ (/ (/ (+ alpha beta) (/ (+ (+ alpha beta) (* 2 i)) (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
0.1b
(/ (+ alpha beta) (/ (+ (+ alpha beta) (* 2 i)) (- beta alpha)))
0.0b
(/ (/ (+ alpha beta) (/ (+ (+ alpha beta) (* 2 i)) (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
0.0b
(/ (+ (+ alpha beta) (* 2 i)) (- beta alpha))

rewrite191.0ms

Algorithm
rewrite-expression-head
Counts
4 → 343
Calls

4 calls. Slowest were:

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

series571.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

247.0ms
(+ (/ (/ (+ alpha beta) (/ (+ (+ alpha beta) (* 2 i)) (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
181.0ms
(/ (/ (+ alpha beta) (/ (+ (+ alpha beta) (* 2 i)) (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
87.0ms
(/ (+ (+ alpha beta) (* 2 i)) (- beta alpha))
56.0ms
(/ (+ alpha beta) (/ (+ (+ alpha beta) (* 2 i)) (- beta alpha)))

simplify1.0m

Counts
516 → 355
Calls

516 calls. Slowest were:

750.0ms
(/ (/ (* (cbrt (+ alpha beta)) (cbrt (+ alpha beta))) (/ (sqrt (+ (+ alpha beta) (* 2 i))) 1)) (sqrt (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
568.0ms
(/ (/ (sqrt (+ alpha beta)) (+ (* beta beta) (+ (* alpha alpha) (* beta alpha)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
562.0ms
(/ (/ (+ alpha beta) (/ (sqrt (+ (+ alpha beta) (* 2 i))) (- beta alpha))) (sqrt (+ (+ (+ alpha beta) (* 2 i)) 2.0)))

prune5.0s

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 5.5b

localize20.0ms

Local error

Found 4 expressions with local error:

2.3b
(+ (/ (/ (+ alpha beta) (/ 1 (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
0.1b
(/ 1 (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))))
0.1b
(/ (+ alpha beta) (/ 1 (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))))
0.0b
(/ (/ (+ alpha beta) (/ 1 (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))

rewrite113.0ms

Algorithm
rewrite-expression-head
Counts
4 → 182
Calls

4 calls. Slowest were:

75.0ms
(+ (/ (/ (+ alpha beta) (/ 1 (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
24.0ms
(/ (/ (+ alpha beta) (/ 1 (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
5.0ms
(/ (+ alpha beta) (/ 1 (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))))

series578.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

244.0ms
(+ (/ (/ (+ alpha beta) (/ 1 (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
179.0ms
(/ (/ (+ alpha beta) (/ 1 (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
91.0ms
(/ 1 (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))))
64.0ms
(/ (+ alpha beta) (/ 1 (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))))

simplify39.6s

Counts
224 → 194
Calls

224 calls. Slowest were:

737.0ms
(/ (/ (* (* (+ alpha beta) (+ alpha beta)) (+ alpha beta)) (* (* (/ 1 (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))) (/ 1 (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))))) (/ 1 (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))))) (* (* (+ (+ (+ alpha beta) (* 2 i)) 2.0) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
586.0ms
(/ (/ (+ alpha beta) (/ 1 (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))))) (sqrt (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
469.0ms
(/ (/ (sqrt (+ alpha beta)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))

prune2.6s

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 5.5b

localize12.0ms

Local error

Found 4 expressions with local error:

4.0b
(+ (* (- beta alpha) (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
2.0b
(* (- beta alpha) (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
0.1b
(/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
0.0b
(/ (+ alpha beta) (+ (+ alpha beta) (* 2 i)))

rewrite82.0ms

Algorithm
rewrite-expression-head
Counts
4 → 195
Calls

4 calls. Slowest were:

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

series505.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

214.0ms
(* (- beta alpha) (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
167.0ms
(+ (* (- beta alpha) (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
85.0ms
(/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
39.0ms
(/ (+ alpha beta) (+ (+ alpha beta) (* 2 i)))

simplify26.3s

Counts
222 → 207
Calls

222 calls. Slowest were:

834.0ms
(/ (/ (* (* (+ alpha beta) (+ alpha beta)) (+ alpha beta)) (* (* (+ (+ 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)))
602.0ms
(* (- (pow beta 3) (pow alpha 3)) (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
566.0ms
(* (* (* (- beta alpha) (- beta alpha)) (- beta alpha)) (/ (/ (* (* (+ alpha beta) (+ alpha beta)) (+ alpha beta)) (* (* (+ (+ 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))))

prune2.5s

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 5.5b

regimes258.0ms

Accuracy

-7.8% (6.9b remaining)

Error of 12.9b against oracle of 6.0b and baseline of 12.4b

bsearch69.0ms

end0.0ms

sample3.2s

Algorithm
intervals