Details

Time bar (total: 2.2m)

sample143.0ms

Algorithm
intervals
Results
34.0ms195×body80valid
25.0ms24×body2560valid
24.0ms30×body1280valid
17.0ms100×body80nan
9.0ms14×body640valid
5.0ms10×body320valid
4.0msbody5120valid
1.0msbody160valid

simplify169.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
169.0ms
(/ (+ (- b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))

prune20.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 31.2b

localize21.0ms

Local error

Found 4 expressions with local error:

21.9b
(sqrt (fma b b (* c (* -4 a))))
0.8b
(fma b b (* c (* -4 a)))
0.4b
(- (sqrt (fma b b (* c (* -4 a)))) b)
0.1b
(/ (/ (- (sqrt (fma b b (* c (* -4 a)))) b) 2) a)

rewrite56.0ms

Algorithm
rewrite-expression-head
Rules
138×times-frac
135×add-sqr-sqrt
108×*-un-lft-identity
82×add-cube-cbrt
28×sqrt-prod
26×difference-of-squares
22×associate-/l*
18×prod-diff
13×distribute-lft-out--
add-cbrt-cube add-exp-log
fma-neg add-log-exp
pow1 div-inv
expm1-log1p-u insert-posit16 log1p-expm1-u
cbrt-undiv associate-/r* div-exp
div-sub
rem-sqrt-square clear-num sub-neg frac-2neg sqrt-pow1 flip3-- pow1/2 diff-log fma-udef flip-- associate-/l/
Counts
4 → 179
Calls
4 calls:
Slowest
39.0ms
(/ (/ (- (sqrt (fma b b (* c (* -4 a)))) b) 2) a)
10.0ms
(- (sqrt (fma b b (* c (* -4 a)))) b)
1.0ms
(sqrt (fma b b (* c (* -4 a))))
0.0ms
(fma b b (* c (* -4 a)))

series455.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
130.0ms
(/ (/ (- (sqrt (fma b b (* c (* -4 a)))) b) 2) a)
127.0ms
(sqrt (fma b b (* c (* -4 a))))
124.0ms
(- (sqrt (fma b b (* c (* -4 a)))) b)
74.0ms
(fma b b (* c (* -4 a)))

simplify21.0s

Counts
282 → 191
Calls
282 calls:
Slowest
513.0ms
(* (* (/ (/ (- (sqrt (fma b b (* c (* -4 a)))) b) 2) a) (/ (/ (- (sqrt (fma b b (* c (* -4 a)))) b) 2) a)) (/ (/ (- (sqrt (fma b b (* c (* -4 a)))) b) 2) a))
472.0ms
(/ (/ (- (sqrt (sqrt (fma b b (* c (* -4 a))))) (sqrt b)) (sqrt 2)) a)
407.0ms
(- (pow (sqrt (fma b b (* c (* -4 a)))) 3) (pow b 3))
407.0ms
(/ (/ (* (cbrt (- (sqrt (fma b b (* c (* -4 a)))) b)) (cbrt (- (sqrt (fma b b (* c (* -4 a)))) b))) (* (cbrt 2) (cbrt 2))) (* (cbrt a) (cbrt a)))
393.0ms
(- (* (sqrt (fma b b (* c (* -4 a)))) (sqrt (fma b b (* c (* -4 a))))) (* b b))

prune2.6s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 7.0b

localize23.0ms

Local error

Found 4 expressions with local error:

21.9b
(sqrt (fma b b (* c (* -4 a))))
11.4b
(/ (* c (* -4 a)) (+ (sqrt (fma b b (* c (* -4 a)))) b))
2.8b
(/ (/ (/ (* c (* -4 a)) (+ (sqrt (fma b b (* c (* -4 a)))) b)) 2) a)
0.9b
(+ (sqrt (fma b b (* c (* -4 a)))) b)

rewrite127.0ms

Algorithm
rewrite-expression-head
Rules
274×times-frac
142×*-un-lft-identity
113×add-sqr-sqrt
112×add-cube-cbrt
35×associate-/l*
33×add-cbrt-cube add-exp-log
26×associate-/r/
18×div-inv
15×cbrt-undiv div-exp distribute-lft-out
14×flip3-+ flip-+
associate-/r*
fma-def prod-exp sqrt-prod cbrt-unprod add-log-exp
pow1
expm1-log1p-u insert-posit16 log1p-expm1-u
clear-num frac-2neg
+-commutative rem-sqrt-square sum-log sqrt-pow1 pow1/2 associate-/l/
Counts
4 → 230
Calls
4 calls:
Slowest
56.0ms
(/ (/ (/ (* c (* -4 a)) (+ (sqrt (fma b b (* c (* -4 a)))) b)) 2) a)
53.0ms
(/ (* c (* -4 a)) (+ (sqrt (fma b b (* c (* -4 a)))) b))
10.0ms
(+ (sqrt (fma b b (* c (* -4 a)))) b)
1.0ms
(sqrt (fma b b (* c (* -4 a))))

series701.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
253.0ms
(/ (* c (* -4 a)) (+ (sqrt (fma b b (* c (* -4 a)))) b))
247.0ms
(/ (/ (/ (* c (* -4 a)) (+ (sqrt (fma b b (* c (* -4 a)))) b)) 2) a)
105.0ms
(+ (sqrt (fma b b (* c (* -4 a)))) b)
96.0ms
(sqrt (fma b b (* c (* -4 a))))

simplify1.2m

Counts
346 → 242
Calls
346 calls:
Slowest
1.2s
(/ (/ (/ (* (* (* c c) c) (* (* (* -4 a) (* -4 a)) (* -4 a))) (* (* (+ (sqrt (fma b b (* c (* -4 a)))) b) (+ (sqrt (fma b b (* c (* -4 a)))) b)) (+ (sqrt (fma b b (* c (* -4 a)))) b))) (* (* 2 2) 2)) (* (* a a) a))
1.2s
(/ (/ (/ (* (* (* c (* -4 a)) (* c (* -4 a))) (* c (* -4 a))) (* (* (+ (sqrt (fma b b (* c (* -4 a)))) b) (+ (sqrt (fma b b (* c (* -4 a)))) b)) (+ (sqrt (fma b b (* c (* -4 a)))) b))) (* (* 2 2) 2)) (* (* a a) a))
1.0s
(/ (/ (/ (* (* (* c c) c) (* (* (* -4 -4) -4) (* (* a a) a))) (* (* (+ (sqrt (fma b b (* c (* -4 a)))) b) (+ (sqrt (fma b b (* c (* -4 a)))) b)) (+ (sqrt (fma b b (* c (* -4 a)))) b))) (* (* 2 2) 2)) (* (* a a) a))
757.0ms
(/ (/ (+ (* (sqrt (fma b b (* c (* -4 a)))) (sqrt (fma b b (* c (* -4 a))))) (- (* b b) (* (sqrt (fma b b (* c (* -4 a)))) b))) (cbrt 2)) (sqrt a))
576.0ms
(/ (/ (* c (* -4 a)) (+ (sqrt (fma b b (* c (* -4 a)))) b)) 1)

prune2.9s

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 6.9b

localize64.0ms

Local error

Found 4 expressions with local error:

21.9b
(sqrt (fma b b (* (* a -4) c)))
0.9b
(+ b (sqrt (fma b b (* (* a -4) c))))
0.8b
(fma b b (* (* a -4) c))
0.1b
(/ (* -2 c) (+ b (sqrt (fma b b (* (* a -4) c)))))

rewrite42.0ms

Algorithm
rewrite-expression-head
Rules
14×*-un-lft-identity
add-sqr-sqrt add-cbrt-cube add-exp-log
add-cube-cbrt
add-log-exp
pow1
expm1-log1p-u associate-/r* times-frac insert-posit16 log1p-expm1-u
fma-def sqrt-prod distribute-lft-out
cbrt-undiv flip3-+ div-exp associate-/r/ flip-+
+-commutative rem-sqrt-square clear-num sum-log frac-2neg sqrt-pow1 pow1/2 prod-exp cbrt-unprod fma-udef div-inv associate-/l*
Counts
4 → 73
Calls
4 calls:
Slowest
28.0ms
(/ (* -2 c) (+ b (sqrt (fma b b (* (* a -4) c)))))
10.0ms
(+ b (sqrt (fma b b (* (* a -4) c))))
3.0ms
(sqrt (fma b b (* (* a -4) c)))
0.0ms
(fma b b (* (* a -4) c))

series618.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
270.0ms
(/ (* -2 c) (+ b (sqrt (fma b b (* (* a -4) c)))))
139.0ms
(+ b (sqrt (fma b b (* (* a -4) c))))
125.0ms
(sqrt (fma b b (* (* a -4) c)))
83.0ms
(fma b b (* (* a -4) c))

simplify7.6s

Counts
89 → 85
Calls
89 calls:
Slowest
500.0ms
(sqrt (/ (* -2 c) (+ b (sqrt (fma b b (* (* a -4) c))))))
403.0ms
(* (* (/ (* -2 c) (+ b (sqrt (fma b b (* (* a -4) c))))) (/ (* -2 c) (+ b (sqrt (fma b b (* (* a -4) c)))))) (/ (* -2 c) (+ b (sqrt (fma b b (* (* a -4) c))))))
347.0ms
(/ (* -2 c) (- (* b b) (* (sqrt (fma b b (* (* a -4) c))) (sqrt (fma b b (* (* a -4) c))))))
336.0ms
(/ (* (* (* -2 -2) -2) (* (* c c) c)) (* (* (+ b (sqrt (fma b b (* (* a -4) c)))) (+ b (sqrt (fma b b (* (* a -4) c))))) (+ b (sqrt (fma b b (* (* a -4) c))))))
296.0ms
(/ (* -2 c) (+ (pow b 3) (pow (sqrt (fma b b (* (* a -4) c))) 3)))

prune1.1s

Pruning

9 alts after pruning (7 fresh and 2 done)

Merged error: 6.9b

localize32.0ms

Local error

Found 4 expressions with local error:

21.9b
(sqrt (fma b b (* c (* -4 a))))
0.8b
(fma b b (* c (* -4 a)))
0.4b
(- (sqrt (fma b b (* c (* -4 a)))) b)
0.1b
(/ (- (sqrt (fma b b (* c (* -4 a)))) b) (* a 2))

rewrite38.0ms

Algorithm
rewrite-expression-head
Rules
34×add-sqr-sqrt
27×*-un-lft-identity
21×add-cube-cbrt
18×prod-diff sqrt-prod
add-cbrt-cube add-exp-log
times-frac fma-neg associate-/l* add-log-exp difference-of-squares
pow1
expm1-log1p-u insert-posit16 log1p-expm1-u
distribute-lft-out--
cbrt-undiv flip3-- div-exp flip-- associate-/l/
rem-sqrt-square clear-num associate-/r* sub-neg frac-2neg sqrt-pow1 pow1/2 diff-log div-sub prod-exp cbrt-unprod fma-udef div-inv
Counts
4 → 102
Calls
4 calls:
Slowest
27.0ms
(/ (- (sqrt (fma b b (* c (* -4 a)))) b) (* a 2))
7.0ms
(- (sqrt (fma b b (* c (* -4 a)))) b)
1.0ms
(sqrt (fma b b (* c (* -4 a))))
0.0ms
(fma b b (* c (* -4 a)))

series449.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
177.0ms
(/ (- (sqrt (fma b b (* c (* -4 a)))) b) (* a 2))
125.0ms
(- (sqrt (fma b b (* c (* -4 a)))) b)
97.0ms
(sqrt (fma b b (* c (* -4 a))))
50.0ms
(fma b b (* c (* -4 a)))

simplify9.7s

Counts
145 → 114
Calls
145 calls:
Slowest
435.0ms
(- (* (sqrt (fma b b (* c (* -4 a)))) (sqrt (fma b b (* c (* -4 a))))) (* b b))
316.0ms
(* (* (- (sqrt (fma b b (* c (* -4 a)))) b) (- (sqrt (fma b b (* c (* -4 a)))) b)) (- (sqrt (fma b b (* c (* -4 a)))) b))
308.0ms
(- (pow (sqrt (fma b b (* c (* -4 a)))) 3) (pow b 3))
246.0ms
(/ (* (* (- (sqrt (fma b b (* c (* -4 a)))) b) (- (sqrt (fma b b (* c (* -4 a)))) b)) (- (sqrt (fma b b (* c (* -4 a)))) b)) (* (* (* a 2) (* a 2)) (* a 2)))
245.0ms
(/ (* (* (- (sqrt (fma b b (* c (* -4 a)))) b) (- (sqrt (fma b b (* c (* -4 a)))) b)) (- (sqrt (fma b b (* c (* -4 a)))) b)) (* (* (* a a) a) (* (* 2 2) 2)))

prune1.3s

Pruning

9 alts after pruning (6 fresh and 3 done)

Merged error: 6.9b

regimes263.0ms

Accuracy

96.1% (0.9b remaining)

Error of 6.4b against oracle of 5.5b and baseline of 28.9b

bsearch203.0ms

end0.0ms

sample4.4s

Algorithm
intervals
Results
1.4s5843×body80valid
1.0s1049×body2560valid
732.0ms889×body1280valid
421.0ms2926×body80nan
257.0ms490×body640valid
153.0ms223×body320valid
106.0ms107×body5120valid
29.0ms114×body160valid