Average Error: 52.4 → 36.8
Time: 3.9m
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 1.32697165991436 \cdot 10^{+154}:\\ \;\;\;\;\frac{\frac{i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}{\left(i \cdot \left(\alpha + \beta\right) + i \cdot i\right) + \beta \cdot \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\\ \mathbf{else}:\\ \;\;\;\;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 < 1.32697165991436e+154

    1. Initial program 50.4

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

      \[\leadsto \frac{\color{blue}{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\]
    4. Using strategy rm
    5. Applied distribute-rgt-in34.4

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

    if 1.32697165991436e+154 < 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 48.7

      \[\leadsto \color{blue}{0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification36.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 1.32697165991436 \cdot 10^{+154}:\\ \;\;\;\;\frac{\frac{i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}{\left(i \cdot \left(\alpha + \beta\right) + i \cdot i\right) + \beta \cdot \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]

Reproduce

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

sample82.0ms

Algorithm
intervals

simplify223.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

223.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))

prune7.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 52.3b

localize32.0ms

Local error

Found 4 expressions with local error:

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

rewrite92.0ms

Algorithm
rewrite-expression-head
Counts
4 → 155
Calls

4 calls. Slowest were:

39.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))
28.0ms
(/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))))
14.0ms
(* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))

series1.0s

Counts
4 → 12
Calls

4 calls. Slowest were:

747.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))
166.0ms
(/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))))
102.0ms
(* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))
24.0ms
(* i (+ (+ alpha beta) i))

simplify37.6s

Counts
173 → 167
Calls

173 calls. Slowest were:

907.0ms
(/ (- (+ alpha beta) (* 2 i)) (cbrt (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)))
678.0ms
(* (* (* (* i (+ (+ alpha beta) i)) (* i (+ (+ alpha beta) i))) (* i (+ (+ alpha beta) i))) (* (* (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))))
640.0ms
(/ (* (* (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))))) (/ (* (* 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) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)))

prune2.5s

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 35.2b

localize11.0ms

Local error

Found 4 expressions with local error:

40.5b
(/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))
35.3b
(/ (/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))
4.3b
(/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))))
0.0b
(* i (+ (+ alpha beta) i))

rewrite59.0ms

Algorithm
rewrite-expression-head
Counts
4 → 164
Calls

4 calls. Slowest were:

30.0ms
(/ (/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))
12.0ms
(/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))
11.0ms
(/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))))

series1.1s

Counts
4 → 12
Calls

4 calls. Slowest were:

778.0ms
(/ (/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))
168.0ms
(/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))))
150.0ms
(/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))
24.0ms
(* i (+ (+ alpha beta) i))

simplify34.3s

Counts
190 → 176
Calls

190 calls. Slowest were:

1.1s
(* (+ (pow (+ alpha beta) 3) (pow (* 2 i) 3)) (+ (pow (+ alpha beta) 3) (pow (* 2 i) 3)))
908.0ms
(* (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i))) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i))))
809.0ms
(cbrt (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))

prune2.4s

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 35.2b

localize18.0ms

Local error

Found 4 expressions with local error:

40.5b
(/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i))))
35.3b
(/ (/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i))))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))
4.3b
(/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i)))))
0.0b
(* (+ alpha beta) i)

rewrite131.0ms

Algorithm
rewrite-expression-head
Counts
4 → 162
Calls

4 calls. Slowest were:

81.0ms
(/ (/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i))))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))
26.0ms
(/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i)))))
19.0ms
(/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i))))

series1.1s

Counts
4 → 12
Calls

4 calls. Slowest were:

761.0ms
(/ (/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i))))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))
156.0ms
(/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i)))))
133.0ms
(/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i))))
25.0ms
(* (+ alpha beta) i)

simplify35.5s

Counts
187 → 174
Calls

187 calls. Slowest were:

874.0ms
(* (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i))) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i))))
664.0ms
(* (+ (pow (+ alpha beta) 3) (pow (* 2 i) 3)) (+ (pow (+ alpha beta) 3) (pow (* 2 i) 3)))
656.0ms
(/ (/ (* (* (* i (+ (+ alpha beta) i)) (* i (+ (+ alpha beta) i))) (* i (+ (+ alpha beta) i))) (* (* (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i)))) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i))))) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i)))))) (* (* (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)))

prune2.5s

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 35.2b

localize9.0ms

Local error

Found 4 expressions with local error:

40.7b
(/ (* i (+ (+ alpha beta) i)) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))))
40.5b
(/ (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i))))
0.1b
(/ (/ (* i (+ (+ alpha beta) i)) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (/ (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i)))))
0.0b
(* (+ alpha beta) i)

rewrite91.0ms

Algorithm
rewrite-expression-head
Counts
4 → 319
Calls

4 calls. Slowest were:

33.0ms
(/ (/ (* i (+ (+ alpha beta) i)) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (/ (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i)))))
30.0ms
(/ (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i))))
11.0ms
(/ (* i (+ (+ alpha beta) i)) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))))

series1.0s

Counts
4 → 12
Calls

4 calls. Slowest were:

758.0ms
(/ (/ (* i (+ (+ alpha beta) i)) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (/ (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i)))))
170.0ms
(/ (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0) (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i))))
95.0ms
(/ (* i (+ (+ alpha beta) i)) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))))
24.0ms
(* (+ alpha beta) i)

simplify1.8m

Counts
494 → 331
Calls

494 calls. Slowest were:

1.0s
(/ (sqrt (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) (cbrt (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i)))))
891.0ms
(/ (sqrt (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) (sqrt (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i)))))
890.0ms
(/ (- (+ alpha beta) (* 2 i)) (/ 1 (+ (* beta alpha) (+ (* (+ alpha beta) i) (* i i)))))

prune6.6s

Pruning

4 alts after pruning (2 fresh and 2 done)

Merged error: 35.2b

regimes167.0ms

Accuracy

53.5% (1.2b remaining)

Error of 36.8b against oracle of 35.6b and baseline of 38.2b

bsearch171.0ms

end0.0ms

sample2.5s

Algorithm
intervals