Average Error: 23.4 → 12.1
Time: 4.8m
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 1.0531705228716414 \cdot 10^{+73}:\\ \;\;\;\;\frac{\log \left(e^{\frac{\frac{\beta + \alpha}{\frac{\left(\beta + \alpha\right) + 2 \cdot i}{\beta - \alpha}}}{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)} + 1.0}\right)}{2.0}\\ \mathbf{elif}\;\alpha \le 2.133812814160932 \cdot 10^{+123} \lor \neg \left(\alpha \le 7.380623390398522 \cdot 10^{+180}\right):\\ \;\;\;\;\frac{\frac{\frac{8.0}{\alpha} - 4.0}{\alpha \cdot \alpha} + \frac{2.0}{\alpha}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{1.0 + \frac{\beta + \alpha}{\sqrt{\left(\beta + \alpha\right) + 2 \cdot i}} \cdot \frac{\frac{\beta - \alpha}{\sqrt{\left(\beta + \alpha\right) + 2 \cdot i}}}{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}}{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 3 regimes
  2. if alpha < 1.0531705228716414e+73

    1. Initial program 12.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. Using strategy rm
    3. Applied associate-/l*2.3

      \[\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 add-log-exp2.3

      \[\leadsto \frac{\color{blue}{\log \left(e^{\frac{\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}\right)}}{2.0}\]

    if 1.0531705228716414e+73 < alpha < 2.133812814160932e+123 or 7.380623390398522e+180 < alpha

    1. Initial program 57.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. Using strategy rm
    3. Applied associate-/l*44.0

      \[\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 div-inv44.3

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

      \[\leadsto \frac{\frac{\color{blue}{\frac{\frac{\alpha + \beta}{\left(\alpha + \beta\right) + 2 \cdot i}}{\frac{1}{\beta - \alpha}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0}{2.0}\]
    7. Taylor expanded around -inf 41.1

      \[\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}\]
    8. Simplified41.1

      \[\leadsto \frac{\color{blue}{\frac{2.0}{\alpha} + \frac{\frac{8.0}{\alpha} - 4.0}{\alpha \cdot \alpha}}}{2.0}\]

    if 2.133812814160932e+123 < alpha < 7.380623390398522e+180

    1. Initial program 53.3

      \[\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-identity53.3

      \[\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 add-sqr-sqrt53.3

      \[\leadsto \frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\color{blue}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot i} \cdot \sqrt{\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}\]
    5. Applied times-frac38.9

      \[\leadsto \frac{\frac{\color{blue}{\frac{\alpha + \beta}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot i}} \cdot \frac{\beta - \alpha}{\sqrt{\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-frac38.8

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 1.0531705228716414 \cdot 10^{+73}:\\ \;\;\;\;\frac{\log \left(e^{\frac{\frac{\beta + \alpha}{\frac{\left(\beta + \alpha\right) + 2 \cdot i}{\beta - \alpha}}}{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)} + 1.0}\right)}{2.0}\\ \mathbf{elif}\;\alpha \le 2.133812814160932 \cdot 10^{+123} \lor \neg \left(\alpha \le 7.380623390398522 \cdot 10^{+180}\right):\\ \;\;\;\;\frac{\frac{\frac{8.0}{\alpha} - 4.0}{\alpha \cdot \alpha} + \frac{2.0}{\alpha}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{1.0 + \frac{\beta + \alpha}{\sqrt{\left(\beta + \alpha\right) + 2 \cdot i}} \cdot \frac{\frac{\beta - \alpha}{\sqrt{\left(\beta + \alpha\right) + 2 \cdot i}}}{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}}{2.0}\\ \end{array}\]

Reproduce

herbie shell --seed 2019005 
(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: 4.8m)Debug log

sample112.0ms

Algorithm
intervals

simplify514.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune7.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 24.3b

localize41.0ms

Local error

Found 3 expressions with local error:

22.4b
(/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i)))
2.7b
(+ (/ (/ (* (+ 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))

rewrite164.0ms

Algorithm
rewrite-expression-head
Counts
3 → 99
Calls

3 calls. Slowest were:

109.0ms
(+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
42.0ms
(/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
10.0ms
(/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i)))

series528.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

244.0ms
(+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
219.0ms
(/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
65.0ms
(/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i)))

simplify15.4s

Counts
107 → 108
Calls

107 calls. Slowest were:

696.0ms
(/ (* (* (* (+ alpha beta) (+ alpha beta)) (+ alpha beta)) (* (* (- beta alpha) (- beta alpha)) (- beta alpha))) (* (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (+ alpha beta) (* 2 i))))
574.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)))
560.0ms
(/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))

prune1.3s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 7.7b

localize27.0ms

Local error

Found 4 expressions with local error:

2.7b
(+ (/ (/ (+ 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))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
0.1b
(/ (+ alpha beta) (/ (+ (+ alpha beta) (* 2 i)) (- beta alpha)))
0.0b
(/ (+ (+ alpha beta) (* 2 i)) (- beta alpha))

rewrite144.0ms

Algorithm
rewrite-expression-head
Counts
4 → 343
Calls

4 calls. Slowest were:

68.0ms
(+ (/ (/ (+ alpha beta) (/ (+ (+ alpha beta) (* 2 i)) (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
40.0ms
(/ (/ (+ alpha beta) (/ (+ (+ alpha beta) (* 2 i)) (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
15.0ms
(/ (+ (+ alpha beta) (* 2 i)) (- beta alpha))

series613.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

277.0ms
(+ (/ (/ (+ alpha beta) (/ (+ (+ alpha beta) (* 2 i)) (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
211.0ms
(/ (/ (+ alpha beta) (/ (+ (+ alpha beta) (* 2 i)) (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
78.0ms
(/ (+ (+ alpha beta) (* 2 i)) (- beta alpha))
47.0ms
(/ (+ alpha beta) (/ (+ (+ alpha beta) (* 2 i)) (- beta alpha)))

simplify1.1m

Counts
516 → 355
Calls

516 calls. Slowest were:

619.0ms
(/ (/ (cbrt (+ alpha beta)) (/ (cbrt (+ (+ alpha beta) (* 2 i))) (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
592.0ms
(/ (/ 1 (/ (* (cbrt (+ (+ alpha beta) (* 2 i))) (cbrt (+ (+ alpha beta) (* 2 i)))) 1)) (* (cbrt (+ (+ (+ alpha beta) (* 2 i)) 2.0)) (cbrt (+ (+ (+ alpha beta) (* 2 i)) 2.0))))
561.0ms
(/ (/ (cbrt (+ alpha beta)) (+ (* beta beta) (+ (* alpha alpha) (* beta alpha)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))

prune4.9s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 7.6b

localize18.0ms

Local error

Found 4 expressions with local error:

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

rewrite224.0ms

Algorithm
rewrite-expression-head
Counts
4 → 561
Calls

4 calls. Slowest were:

135.0ms
(+ (/ (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
34.0ms
(/ (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
21.0ms
(/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha)))

series524.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

254.0ms
(+ (/ (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
186.0ms
(/ (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
60.0ms
(/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha)))
24.0ms
(/ 1 (- beta alpha))

simplify2.5m

Counts
904 → 573
Calls

904 calls. Slowest were:

699.0ms
(/ (/ (/ (sqrt (+ alpha beta)) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha))) (sqrt (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
690.0ms
(/ (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha))) (sqrt (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
660.0ms
(/ (* (cbrt (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i)))) (cbrt (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))))) (/ 1 (- (* beta beta) (* alpha alpha))))

prune9.0s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 7.6b

localize25.0ms

Local error

Found 4 expressions with local error:

4.2b
(+ (/ (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
4.2b
(+ (/ (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
4.2b
(+ (/ (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
0.2b
(/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha)))

rewrite425.0ms

Algorithm
rewrite-expression-head
Counts
4 → 159
Calls

4 calls. Slowest were:

150.0ms
(+ (/ (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
125.0ms
(+ (/ (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
123.0ms
(+ (/ (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)

series805.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

249.0ms
(+ (/ (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
248.0ms
(+ (/ (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
230.0ms
(+ (/ (/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
78.0ms
(/ (/ (+ alpha beta) (+ (+ alpha beta) (* 2 i))) (/ 1 (- beta alpha)))

simplify27.7s

Counts
220 → 171
Calls

220 calls. Slowest were:

679.0ms
(/ (/ (+ alpha beta) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i)))) (sqrt (/ 1 (- beta alpha))))
499.0ms
(/ (/ (+ alpha beta) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i)))) (/ 1 (- (pow beta 3) (pow alpha 3))))
488.0ms
(/ (+ alpha beta) (+ (pow (+ alpha beta) 3) (pow (* 2 i) 3)))

prune3.0s

Pruning

12 alts after pruning (11 fresh and 1 done)

Merged error: 7.6b

regimes499.0ms

Accuracy

9% (6.1b remaining)

Error of 12.1b against oracle of 6.0b and baseline of 12.7b

bsearch245.0ms

end0.0ms

sample3.1s

Algorithm
intervals