Average Error: 52.5 → 37.5
Time: 1.6m
Precision: 64
Internal Precision: 128
\[\frac{\frac{\left(i \cdot \left(\left(\alpha + \beta\right) + i\right)\right) \cdot \left(\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 3.825151236284462 \cdot 10^{+157}:\\ \;\;\;\;\frac{\frac{(\left(\left(\alpha + \beta\right) + i\right) \cdot i + \left(\alpha \cdot \beta\right))_*}{(i \cdot 2 + \left(\alpha + \beta\right))_*}}{\sqrt{(\left((i \cdot 2 + \left(\alpha + \beta\right))_*\right) \cdot \left((i \cdot 2 + \left(\alpha + \beta\right))_*\right) + \left(-1.0\right))_*}} \cdot \frac{\frac{1}{\frac{(2 \cdot i + \left(\alpha + \beta\right))_*}{(\left(\alpha + \beta\right) \cdot i + \left(i \cdot i\right))_*}}}{\sqrt{(\left((2 \cdot i + \left(\alpha + \beta\right))_*\right) \cdot \left((2 \cdot i + \left(\alpha + \beta\right))_*\right) + \left(-1.0\right))_*}}\\ \mathbf{else}:\\ \;\;\;\;e^{(2 \cdot \left(\log i\right) + \left(\log \frac{1}{4}\right))_* - \log \left((\left((i \cdot 2 + \left(\alpha + \beta\right))_*\right) \cdot \left((i \cdot 2 + \left(\alpha + \beta\right))_*\right) + \left(-1.0\right))_*\right)}\\ \end{array}\]

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 2 regimes
  2. if alpha < 3.825151236284462e+157

    1. Initial program 50.3

      \[\frac{\frac{\left(i \cdot \left(\left(\alpha + \beta\right) + i\right)\right) \cdot \left(\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt50.4

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

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

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

      \[\leadsto \color{blue}{\frac{\frac{(\left(\alpha + \beta\right) \cdot i + \left(i \cdot i\right))_*}{(2 \cdot i + \left(\alpha + \beta\right))_*}}{\sqrt{(\left((2 \cdot i + \left(\alpha + \beta\right))_*\right) \cdot \left((2 \cdot i + \left(\alpha + \beta\right))_*\right) + \left(-1.0\right))_*}}} \cdot \frac{\frac{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}}\]
    7. Simplified35.2

      \[\leadsto \frac{\frac{(\left(\alpha + \beta\right) \cdot i + \left(i \cdot i\right))_*}{(2 \cdot i + \left(\alpha + \beta\right))_*}}{\sqrt{(\left((2 \cdot i + \left(\alpha + \beta\right))_*\right) \cdot \left((2 \cdot i + \left(\alpha + \beta\right))_*\right) + \left(-1.0\right))_*}} \cdot \color{blue}{\frac{\frac{(\left(i + \left(\alpha + \beta\right)\right) \cdot i + \left(\beta \cdot \alpha\right))_*}{(i \cdot 2 + \left(\alpha + \beta\right))_*}}{\sqrt{(\left((i \cdot 2 + \left(\alpha + \beta\right))_*\right) \cdot \left((i \cdot 2 + \left(\alpha + \beta\right))_*\right) + \left(-1.0\right))_*}}}\]
    8. Using strategy rm
    9. Applied *-un-lft-identity35.2

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

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

    if 3.825151236284462e+157 < alpha

    1. Initial program 62.5

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

      \[\leadsto \frac{\color{blue}{\frac{1}{4} \cdot {i}^{2}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\]
    3. Using strategy rm
    4. Applied add-exp-log47.9

      \[\leadsto \frac{\frac{1}{4} \cdot {i}^{2}}{\color{blue}{e^{\log \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0\right)}}}\]
    5. Applied add-exp-log47.9

      \[\leadsto \frac{\color{blue}{e^{\log \left(\frac{1}{4} \cdot {i}^{2}\right)}}}{e^{\log \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0\right)}}\]
    6. Applied div-exp47.9

      \[\leadsto \color{blue}{e^{\log \left(\frac{1}{4} \cdot {i}^{2}\right) - \log \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0\right)}}\]
    7. Simplified47.7

      \[\leadsto e^{\color{blue}{(2 \cdot \left(\log i\right) + \left(\log \frac{1}{4}\right))_* - \log \left((\left((i \cdot 2 + \left(\beta + \alpha\right))_*\right) \cdot \left((i \cdot 2 + \left(\beta + \alpha\right))_*\right) + \left(-1.0\right))_*\right)}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification37.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 3.825151236284462 \cdot 10^{+157}:\\ \;\;\;\;\frac{\frac{(\left(\left(\alpha + \beta\right) + i\right) \cdot i + \left(\alpha \cdot \beta\right))_*}{(i \cdot 2 + \left(\alpha + \beta\right))_*}}{\sqrt{(\left((i \cdot 2 + \left(\alpha + \beta\right))_*\right) \cdot \left((i \cdot 2 + \left(\alpha + \beta\right))_*\right) + \left(-1.0\right))_*}} \cdot \frac{\frac{1}{\frac{(2 \cdot i + \left(\alpha + \beta\right))_*}{(\left(\alpha + \beta\right) \cdot i + \left(i \cdot i\right))_*}}}{\sqrt{(\left((2 \cdot i + \left(\alpha + \beta\right))_*\right) \cdot \left((2 \cdot i + \left(\alpha + \beta\right))_*\right) + \left(-1.0\right))_*}}\\ \mathbf{else}:\\ \;\;\;\;e^{(2 \cdot \left(\log i\right) + \left(\log \frac{1}{4}\right))_* - \log \left((\left((i \cdot 2 + \left(\alpha + \beta\right))_*\right) \cdot \left((i \cdot 2 + \left(\alpha + \beta\right))_*\right) + \left(-1.0\right))_*\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2018362 +o rules:numerics
(FPCore (alpha beta i)
  :name "Octave 3.8, jcobi/4"
  :pre (and (> alpha -1) (> beta -1) (> i 1))
  (/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)))

Details

Time bar (total: 1.5m)Debug log

start74.0ms

Algorithm
intervals

setup281.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 50.4b

localize37.0ms

Local error

Found 4 expressions with local error:

44.6b
(/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))))
33.0b
(/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))
0.1b
(* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))
0.0b
(* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))

rewrite134.0ms

Algorithm
rewrite-expression-head
Counts
4 → 178
Calls

4 calls. Slowest were:

56.0ms
(/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))
27.0ms
(/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))))
26.0ms
(* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))

series1.0s

Counts
4 → 12
Calls

4 calls. Slowest were:

722.0ms
(/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))
182.0ms
(/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))))
78.0ms
(* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))
45.0ms
(* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))

simplify48.1s

Counts
191 → 190
Calls

191 calls. Slowest were:

1.2s
(* (* i (+ (+ alpha beta) i)) (* i (+ (+ alpha beta) i)))
1.0s
(* (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i))) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i))))
879.0ms
(* (* i (+ (+ alpha beta) i)) (* i (+ (+ alpha beta) i)))

prune3.9s

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 32.9b

localize10.0ms

Local error

Found 2 expressions with local error:

32.9b
(/ (* 1/4 (pow i 2)) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))
0.0b
(* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))

rewrite48.0ms

Algorithm
rewrite-expression-head
Counts
2 → 55
Calls

2 calls. Slowest were:

26.0ms
(* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))
21.0ms
(/ (* 1/4 (pow i 2)) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))

series190.0ms

Counts
2 → 6
Calls

2 calls. Slowest were:

150.0ms
(/ (* 1/4 (pow i 2)) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))
40.0ms
(* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))

simplify12.2s

Counts
44 → 61
Calls

44 calls. Slowest were:

953.0ms
(* (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i))) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i))))
733.0ms
(/ 1/4 (* (cbrt (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) (cbrt (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))))
655.0ms
(+ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)

prune1.2s

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 32.9b

localize71.0ms

Local error

Found 4 expressions with local error:

37.2b
(sqrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0)))
37.2b
(sqrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0)))
32.7b
(/ (fma (+ i (+ alpha beta)) i (* beta alpha)) (fma i 2 (+ alpha beta)))
32.5b
(/ (fma (+ alpha beta) i (* i i)) (fma 2 i (+ alpha beta)))

rewrite10.0ms

Algorithm
rewrite-expression-head
Counts
4 → 86
Calls

4 calls. Slowest were:

4.0ms
(/ (fma (+ alpha beta) i (* i i)) (fma 2 i (+ alpha beta)))
4.0ms
(/ (fma (+ i (+ alpha beta)) i (* beta alpha)) (fma i 2 (+ alpha beta)))
1.0ms
(sqrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0)))

series409.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

143.0ms
(sqrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0)))
119.0ms
(sqrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0)))
74.0ms
(/ (fma (+ alpha beta) i (* i i)) (fma 2 i (+ alpha beta)))
73.0ms
(/ (fma (+ i (+ alpha beta)) i (* beta alpha)) (fma i 2 (+ alpha beta)))

simplify8.9s

Counts
70 → 98
Calls

70 calls. Slowest were:

721.0ms
(sqrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0)))
659.0ms
(sqrt (sqrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))))
619.0ms
(sqrt (* (cbrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))) (cbrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0)))))

prune2.5s

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 32.9b

localize18.0ms

Local error

Found 4 expressions with local error:

37.2b
(sqrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0)))
37.2b
(sqrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0)))
32.7b
(/ (fma (+ i (+ alpha beta)) i (* beta alpha)) (fma i 2 (+ alpha beta)))
32.5b
(/ (fma 2 i (+ alpha beta)) (fma (+ alpha beta) i (* i i)))

rewrite11.0ms

Algorithm
rewrite-expression-head
Counts
4 → 86
Calls

4 calls. Slowest were:

4.0ms
(/ (fma 2 i (+ alpha beta)) (fma (+ alpha beta) i (* i i)))
4.0ms
(/ (fma (+ i (+ alpha beta)) i (* beta alpha)) (fma i 2 (+ alpha beta)))
1.0ms
(sqrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0)))

series361.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

119.0ms
(sqrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0)))
98.0ms
(sqrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0)))
84.0ms
(/ (fma (+ i (+ alpha beta)) i (* beta alpha)) (fma i 2 (+ alpha beta)))
60.0ms
(/ (fma 2 i (+ alpha beta)) (fma (+ alpha beta) i (* i i)))

simplify9.1s

Counts
70 → 98
Calls

70 calls. Slowest were:

709.0ms
(sqrt (* (cbrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))) (cbrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0)))))
671.0ms
(sqrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0)))
624.0ms
(sqrt (sqrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0))))

prune2.9s

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 32.9b

regimes391.0ms

Accuracy

52.9% (1.4b remaining)

Error of 37.5b against oracle of 36.1b and baseline of 39.1b

bsearch189.0ms