Average Error: 23.8 → 12.5
Time: 1.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}\]
\[\frac{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{2 \cdot i + \left(\alpha + \beta\right)}}{2.0 + \left(2 \cdot i + \left(\alpha + \beta\right)\right)} + 1.0}{2.0}\]

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. Initial program 23.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-identity23.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-identity23.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-frac12.5

    \[\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-frac12.5

    \[\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. Simplified12.5

    \[\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. Final simplification12.5

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

Reproduce

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

sample90.0ms

Algorithm
intervals
Results
256×(pre true 80)
221×(body real 80)
14×(body real 1280)
11×(body real 640)
(body real 320)
(body real 160)

simplify498.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
498.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: 18.9b

localize55.0ms

Local error

Found 4 expressions with local error:

18.8b
(/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i)))
1.1b
(+ (/ (/ (* (+ 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))
0.0b
(+ (+ alpha beta) (* 2 i))

rewrite166.0ms

Algorithm
rewrite-expression-head
Rules
42×times-frac
24×add-cube-cbrt
24×*-un-lft-identity
24×add-sqr-sqrt
18×add-exp-log
18×add-cbrt-cube
12×associate-/r/
11×flip-+
11×flip3-+
10×associate-/l*
associate-/l/
div-exp
cbrt-undiv
add-log-exp
div-inv
associate-/r*
pow1
frac-times
flip--
flip3--
cbrt-unprod
associate-*r/
prod-exp
associate-*l/
frac-2neg
clear-num
+-commutative
sum-log
associate-+l+
Counts
4 → 111
Calls
4 calls:
Slowest
92.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)))
6.0ms
(+ (+ alpha beta) (* 2 i))

series514.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
215.0ms
(/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
201.0ms
(+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0)
76.0ms
(/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i)))
21.0ms
(+ (+ alpha beta) (* 2 i))

simplify14.4s

Counts
111 → 123
Calls
111 calls:
Slowest
753.0ms
(/ (/ 1 (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
555.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)))
454.0ms
(/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
390.0ms
(/ (/ (* (+ alpha beta) (- beta alpha)) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i)))) 1)
380.0ms
(- (- (+ (log (+ alpha beta)) (log (- beta alpha))) (log (+ (+ alpha beta) (* 2 i)))) (log (+ (+ (+ alpha beta) (* 2 i)) 2.0)))

prune1.7s

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 4.5b

localize29.0ms

Local error

Found 4 expressions with local error:

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

rewrite99.0ms

Algorithm
rewrite-expression-head
Rules
162×times-frac
94×add-cube-cbrt
94×*-un-lft-identity
94×add-sqr-sqrt
51×associate-*r*
20×associate-/r/
20×add-exp-log
20×add-cbrt-cube
18×associate-/l*
13×flip-+
13×flip3-+
10×div-inv
div-exp
cbrt-undiv
associate-/r*
pow1
add-log-exp
associate-/l/
cbrt-unprod
prod-exp
associate-*l*
div-sub
associate-*l/
frac-2neg
clear-num
frac-times
flip--
*-commutative
associate-*r/
pow-prod-down
flip3--
+-commutative
Counts
4 → 197
Calls
4 calls:
Slowest
41.0ms
(/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
25.0ms
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
16.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
10.0ms
(/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))

series563.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
216.0ms
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
158.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
124.0ms
(/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
65.0ms
(/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))

simplify26.3s

Counts
224 → 209
Calls
224 calls:
Slowest
852.0ms
(/ (/ (cbrt (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
704.0ms
(* (- (* beta beta) (* alpha alpha)) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
593.0ms
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
510.0ms
(sqrt (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
479.0ms
(cbrt (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))

prune2.8s

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 4.5b

localize15.0ms

Local error

Found 4 expressions with local error:

2.3b
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
2.3b
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
2.3b
(+ (* (+ 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)))

rewrite96.0ms

Algorithm
rewrite-expression-head
Rules
72×times-frac
51×associate-*r*
42×add-cube-cbrt
42×*-un-lft-identity
42×add-sqr-sqrt
13×add-exp-log
13×add-cbrt-cube
flip-+
flip3-+
associate-/r/
pow1
add-log-exp
div-inv
cbrt-unprod
prod-exp
associate-*l*
div-exp
+-commutative
cbrt-undiv
associate-*l/
frac-times
*-commutative
associate-*r/
pow-prod-down
Counts
4 → 104
Calls
4 calls:
Slowest
26.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
25.0ms
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
21.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
20.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)

series627.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
168.0ms
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
161.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
152.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
146.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)

simplify13.4s

Counts
79 → 116
Calls
79 calls:
Slowest
582.0ms
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
568.0ms
(* (+ (pow beta 3) (pow alpha 3)) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
568.0ms
(* (- (* beta beta) (* alpha alpha)) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
539.0ms
(/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
489.0ms
(cbrt (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))

prune1.9s

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 4.5b

localize69.0ms

Local error

Found 4 expressions with local error:

2.3b
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
2.3b
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
2.3b
(+ (* (* (+ beta alpha) (/ (/ (* (cbrt (- beta alpha)) (cbrt (- beta alpha))) (* (cbrt (+ (+ alpha beta) (* 2 i))) (cbrt (+ (+ alpha beta) (* 2 i))))) 1)) (/ (/ (cbrt (- beta alpha)) (cbrt (+ (+ 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)))

rewrite152.0ms

Algorithm
rewrite-expression-head
Rules
72×times-frac
51×associate-*r*
42×add-cube-cbrt
42×*-un-lft-identity
42×add-sqr-sqrt
13×add-exp-log
13×add-cbrt-cube
flip-+
flip3-+
associate-/r/
pow1
add-log-exp
div-inv
cbrt-unprod
prod-exp
associate-*l*
div-exp
+-commutative
cbrt-undiv
associate-*l/
frac-times
*-commutative
associate-*r/
pow-prod-down
Counts
4 → 104
Calls
4 calls:
Slowest
83.0ms
(+ (* (* (+ beta alpha) (/ (/ (* (cbrt (- beta alpha)) (cbrt (- beta alpha))) (* (cbrt (+ (+ alpha beta) (* 2 i))) (cbrt (+ (+ alpha beta) (* 2 i))))) 1)) (/ (/ (cbrt (- beta alpha)) (cbrt (+ (+ alpha beta) (* 2 i)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
31.0ms
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
24.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
13.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)

series675.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
200.0ms
(+ (* (* (+ beta alpha) (/ (/ (* (cbrt (- beta alpha)) (cbrt (- beta alpha))) (* (cbrt (+ (+ alpha beta) (* 2 i))) (cbrt (+ (+ alpha beta) (* 2 i))))) 1)) (/ (/ (cbrt (- beta alpha)) (cbrt (+ (+ alpha beta) (* 2 i)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
165.0ms
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
155.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)
154.0ms
(+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0)

simplify12.9s

Counts
79 → 116
Calls
79 calls:
Slowest
524.0ms
(* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
506.0ms
(/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))
495.0ms
(+ (log (+ beta alpha)) (log (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))))
488.0ms
(* (- (* beta beta) (* alpha alpha)) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))
486.0ms
(sqrt (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))

prune2.8s

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 4.5b

regimes361.0ms

Accuracy

0% (6.5b remaining)

Error of 12.5b against oracle of 6.0b and baseline of 12.5b

bsearch4.0ms

end0.0ms

sample2.9s

Algorithm
intervals
Results
8000×(pre true 80)
6324×(body real 80)
577×(body real 640)
542×(body real 1280)
363×(body real 320)
194×(body real 160)