Details

Time bar (total: 1.2m)

sample188.0ms

Algorithm
intervals
Results
39.0ms14×body640valid
36.0ms34×body2560valid
30.0ms168×body80valid
29.0ms34×body1280valid
17.0ms101×body80nan
7.0ms14×body320valid
5.0msbody5120valid
1.0msbody160valid

simplify225.0ms

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

prune23.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 32.4b

localize45.0ms

Local error

Found 4 expressions with local error:

19.5b
(sqrt (fma (* a c) -4 (* b b)))
0.6b
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
0.4b
(fma (* a c) -4 (* b b))
0.1b
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)

rewrite45.0ms

Algorithm
rewrite-expression-head
Rules
169×add-sqr-sqrt
168×*-un-lft-identity
159×times-frac
116×add-cube-cbrt
60×prod-diff
46×sqrt-prod
34×distribute-rgt-neg-in
26×distribute-lft-out-- difference-of-squares
25×associate-/l*
21×distribute-lft-neg-in
10×fma-neg
add-cbrt-cube add-exp-log
add-log-exp
neg-mul-1
pow1 div-inv
expm1-log1p-u insert-posit16 log1p-expm1-u
cbrt-undiv associate-/r* div-exp
diff-log div-sub
associate--l- neg-sub0 rem-sqrt-square clear-num sub-neg frac-2neg sqrt-pow1 flip3-- pow1/2 neg-log fma-udef flip-- associate-/l/
Counts
4 → 240
Calls
4 calls:
Slowest
19.0ms
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)
10.0ms
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
2.0ms
(sqrt (fma (* a c) -4 (* b b)))
0.0ms
(fma (* a c) -4 (* b b))

series428.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
136.0ms
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)
112.0ms
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
95.0ms
(fma (* a c) -4 (* b b))
84.0ms
(sqrt (fma (* a c) -4 (* b b)))

simplify30.6s

Counts
334 → 252
Calls
334 calls:
Slowest
414.0ms
(/ (/ (* (cbrt (- (- b) (sqrt (fma (* a c) -4 (* b b))))) (cbrt (- (- b) (sqrt (fma (* a c) -4 (* b b)))))) (* (cbrt 2) (cbrt 2))) (* (cbrt a) (cbrt a)))
261.0ms
(fma (- (* (cbrt b) (cbrt b))) (cbrt b) (- (* (cbrt (sqrt (fma (* a c) -4 (* b b)))) (* (cbrt (sqrt (fma (* a c) -4 (* b b)))) (cbrt (sqrt (fma (* a c) -4 (* b b))))))))
258.0ms
(fma (* (cbrt b) (cbrt b)) (- (cbrt b)) (- (* (cbrt (sqrt (fma (* a c) -4 (* b b)))) (* (cbrt (sqrt (fma (* a c) -4 (* b b)))) (cbrt (sqrt (fma (* a c) -4 (* b b))))))))
250.0ms
(/ (/ (* (cbrt (- (- b) (sqrt (fma (* a c) -4 (* b b))))) (cbrt (- (- b) (sqrt (fma (* a c) -4 (* b b)))))) (sqrt 2)) (* (cbrt a) (cbrt a)))
250.0ms
(fma (- 1) b (- (* (cbrt (sqrt (fma (* a c) -4 (* b b)))) (* (cbrt (sqrt (fma (* a c) -4 (* b b)))) (cbrt (sqrt (fma (* a c) -4 (* b b))))))))

prune3.1s

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 3.4b

localize33.0ms

Local error

Found 4 expressions with local error:

19.5b
(sqrt (fma a (* c -4) (* b b)))
0.6b
(+ b (sqrt (fma a (* c -4) (* b b))))
0.2b
(* (- (+ b (sqrt (fma a (* c -4) (* b b))))) (/ 1/2 a))
0.0b
(fma a (* c -4) (* b b))

rewrite43.0ms

Algorithm
rewrite-expression-head
Rules
22×add-sqr-sqrt *-un-lft-identity
16×add-cube-cbrt
13×associate-*r*
12×associate-*l*
10×times-frac
add-cbrt-cube add-exp-log
pow1
add-log-exp
distribute-lft-neg-in expm1-log1p-u distribute-rgt-neg-in insert-posit16 log1p-expm1-u distribute-neg-frac
fma-def flip3-+ sqrt-prod flip-+ distribute-lft-out
frac-times associate-*l/ prod-exp cbrt-unprod unswap-sqr
distribute-lft-neg-out cbrt-undiv +-commutative rem-sqrt-square neg-mul-1 sum-log sqrt-pow1 pow1/2 div-exp pow-prod-down associate-*r/ *-commutative fma-udef div-inv
Counts
4 → 94
Calls
4 calls:
Slowest
35.0ms
(* (- (+ b (sqrt (fma a (* c -4) (* b b))))) (/ 1/2 a))
5.0ms
(+ b (sqrt (fma a (* c -4) (* b b))))
1.0ms
(sqrt (fma a (* c -4) (* b b)))
0.0ms
(fma a (* c -4) (* b b))

series457.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
137.0ms
(* (- (+ b (sqrt (fma a (* c -4) (* b b))))) (/ 1/2 a))
125.0ms
(+ b (sqrt (fma a (* c -4) (* b b))))
104.0ms
(sqrt (fma a (* c -4) (* b b)))
90.0ms
(fma a (* c -4) (* b b))

simplify4.1s

Counts
58 → 106
Calls
58 calls:
Slowest
393.0ms
(* (* (* (- (+ b (sqrt (fma a (* c -4) (* b b))))) (- (+ b (sqrt (fma a (* c -4) (* b b)))))) (- (+ b (sqrt (fma a (* c -4) (* b b)))))) (/ (* (* 1/2 1/2) 1/2) (* (* a a) a)))
303.0ms
(- (* 2 b) (* 2 (/ (* a c) b)))
292.0ms
(* (+ (* b b) (- (* (sqrt (fma a (* c -4) (* b b))) (sqrt (fma a (* c -4) (* b b)))) (* b (sqrt (fma a (* c -4) (* b b)))))) a)
282.0ms
(* (- (+ (pow b 3) (pow (sqrt (fma a (* c -4) (* b b))) 3))) (/ 1/2 a))
247.0ms
(* (* (* (- (+ b (sqrt (fma a (* c -4) (* b b))))) (- (+ b (sqrt (fma a (* c -4) (* b b)))))) (- (+ b (sqrt (fma a (* c -4) (* b b)))))) (* (* (/ 1/2 a) (/ 1/2 a)) (/ 1/2 a)))

prune1.3s

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 3.4b

localize413.0ms

Local error

Found 4 expressions with local error:

19.5b
(sqrt (fma a (* c -4) (* b b)))
14.4b
(/ (* (- 0 (* a (* c -4))) -1/2) (* (- b (sqrt (fma a (* c -4) (* b b)))) a))
0.4b
(- b (sqrt (fma a (* c -4) (* b b))))
0.2b
(* a (* c -4))

rewrite57.0ms

Algorithm
rewrite-expression-head
Rules
24×add-sqr-sqrt
21×*-un-lft-identity add-cbrt-cube add-exp-log
19×add-cube-cbrt
18×prod-diff
13×sqrt-prod
10×pow1
prod-exp cbrt-unprod
add-log-exp
expm1-log1p-u cbrt-undiv div-exp associate-*l/ insert-posit16 log1p-expm1-u
flip3-- fma-neg associate-*l* pow-prod-down flip--
associate-/r/ difference-of-squares associate-/l/
distribute-lft-neg-out rem-sqrt-square clear-num associate-/r* sub-neg frac-2neg sqrt-pow1 times-frac pow1/2 diff-log associate-*r* distribute-frac-neg *-commutative div-inv associate-/l* distribute-lft-out-- sub0-neg
Counts
4 → 105
Calls
4 calls:
Slowest
22.0ms
(/ (* (- 0 (* a (* c -4))) -1/2) (* (- b (sqrt (fma a (* c -4) (* b b)))) a))
19.0ms
(* a (* c -4))
6.0ms
(- b (sqrt (fma a (* c -4) (* b b))))
2.0ms
(sqrt (fma a (* c -4) (* b b)))

series461.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
216.0ms
(/ (* (- 0 (* a (* c -4))) -1/2) (* (- b (sqrt (fma a (* c -4) (* b b)))) a))
112.0ms
(- b (sqrt (fma a (* c -4) (* b b))))
111.0ms
(sqrt (fma a (* c -4) (* b b)))
22.0ms
(* a (* c -4))

simplify12.6s

Counts
85 → 117
Calls
85 calls:
Slowest
1.7s
(/ (* (* (* (- 0 (* a (* c -4))) -1/2) (* (- 0 (* a (* c -4))) -1/2)) (* (- 0 (* a (* c -4))) -1/2)) (* (* (* (- b (sqrt (fma a (* c -4) (* b b)))) a) (* (- b (sqrt (fma a (* c -4) (* b b)))) a)) (* (- b (sqrt (fma a (* c -4) (* b b)))) a)))
1.2s
(/ (* (* (* (- 0 (* a (* c -4))) -1/2) (* (- 0 (* a (* c -4))) -1/2)) (* (- 0 (* a (* c -4))) -1/2)) (* (* (* (- b (sqrt (fma a (* c -4) (* b b)))) (- b (sqrt (fma a (* c -4) (* b b))))) (- b (sqrt (fma a (* c -4) (* b b))))) (* (* a a) a)))
1.1s
(/ (* (* (* (- 0 (* a (* c -4))) (- 0 (* a (* c -4)))) (- 0 (* a (* c -4)))) (* (* -1/2 -1/2) -1/2)) (* (* (* (- b (sqrt (fma a (* c -4) (* b b)))) a) (* (- b (sqrt (fma a (* c -4) (* b b)))) a)) (* (- b (sqrt (fma a (* c -4) (* b b)))) a)))
889.0ms
(/ (* (* (* (- 0 (* a (* c -4))) (- 0 (* a (* c -4)))) (- 0 (* a (* c -4)))) (* (* -1/2 -1/2) -1/2)) (* (* (* (- b (sqrt (fma a (* c -4) (* b b)))) (- b (sqrt (fma a (* c -4) (* b b))))) (- b (sqrt (fma a (* c -4) (* b b))))) (* (* a a) a)))
536.0ms
(/ (* (* a (* c -4)) -1/2) (* (- b (sqrt (fma a (* c -4) (* b b)))) a))

prune1.4s

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 3.4b

localize22.0ms

Local error

Found 4 expressions with local error:

19.5b
(sqrt (fma b b (* -4 (* a c))))
0.5b
(fma b b (* -4 (* a c)))
0.4b
(- b (sqrt (fma b b (* -4 (* a c)))))
0.2b
(* c (/ 2 (- b (sqrt (fma b b (* -4 (* a c)))))))

rewrite59.0ms

Algorithm
rewrite-expression-head
Rules
51×add-sqr-sqrt
37×*-un-lft-identity
29×add-cube-cbrt
24×associate-*r*
19×times-frac
18×prod-diff
16×sqrt-prod
add-cbrt-cube add-exp-log
difference-of-squares
pow1
add-log-exp
expm1-log1p-u insert-posit16 log1p-expm1-u distribute-lft-out--
fma-neg associate-*l*
flip3-- prod-exp associate-/r/ cbrt-unprod flip-- unswap-sqr
cbrt-undiv rem-sqrt-square sub-neg sqrt-pow1 pow1/2 diff-log div-exp pow-prod-down associate-*r/ *-commutative fma-udef div-inv
Counts
4 → 112
Calls
4 calls:
Slowest
45.0ms
(* c (/ 2 (- b (sqrt (fma b b (* -4 (* a c)))))))
10.0ms
(- b (sqrt (fma b b (* -4 (* a c)))))
1.0ms
(sqrt (fma b b (* -4 (* a c))))
0.0ms
(fma b b (* -4 (* a c)))

series580.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
283.0ms
(* c (/ 2 (- b (sqrt (fma b b (* -4 (* a c)))))))
113.0ms
(- b (sqrt (fma b b (* -4 (* a c)))))
100.0ms
(sqrt (fma b b (* -4 (* a c))))
83.0ms
(fma b b (* -4 (* a c)))

simplify7.0s

Counts
97 → 124
Calls
97 calls:
Slowest
375.0ms
(* (* (* c c) c) (* (* (/ 2 (- b (sqrt (fma b b (* -4 (* a c)))))) (/ 2 (- b (sqrt (fma b b (* -4 (* a c))))))) (/ 2 (- b (sqrt (fma b b (* -4 (* a c))))))))
319.0ms
(- (* 2 b) (* 2 (/ (* a c) b)))
240.0ms
(fma (sqrt b) (sqrt b) (- (* (cbrt (sqrt (fma b b (* -4 (* a c))))) (* (cbrt (sqrt (fma b b (* -4 (* a c))))) (cbrt (sqrt (fma b b (* -4 (* a c)))))))))
229.0ms
(fma (* (cbrt b) (cbrt b)) (cbrt b) (- (* (cbrt (sqrt (fma b b (* -4 (* a c))))) (* (cbrt (sqrt (fma b b (* -4 (* a c))))) (cbrt (sqrt (fma b b (* -4 (* a c)))))))))
191.0ms
(- b (* 2 (/ (* a c) b)))

prune1.5s

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 3.4b

regimes402.0ms

Accuracy

94.2% (1.4b remaining)

Error of 7.0b against oracle of 5.6b and baseline of 28.9b

bsearch412.0ms

end0.0ms

sample5.0s

Algorithm
intervals
Results
2.0s1063×body2560valid
1.0s5872×body80valid
802.0ms866×body1280valid
379.0ms2905×body80nan
303.0ms456×body640valid
171.0ms112×body5120valid
103.0ms253×body320valid
27.0ms97×body160valid