Details

Time bar (total: 1.6m)

sample171.0ms

Algorithm
intervals
Results
42.0ms42×body2560valid
40.0ms98×body80nan
27.0ms173×body80valid
24.0ms29×body1280valid
10.0ms15×body640valid
8.0msbody5120valid
3.0msbody320valid
2.0msbody160valid

simplify205.0ms

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

prune23.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 33.7b

localize45.0ms

Local error

Found 4 expressions with local error:

23.0b
(sqrt (fma (* a c) -4 (* b b)))
1.1b
(- (- 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)

rewrite65.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
31.0ms
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)
22.0ms
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
3.0ms
(sqrt (fma (* a c) -4 (* b b)))
0.0ms
(fma (* a c) -4 (* b b))

series443.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
126.0ms
(sqrt (fma (* a c) -4 (* b b)))
113.0ms
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)
109.0ms
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
94.0ms
(fma (* a c) -4 (* b b))

simplify30.2s

Counts
334 → 252
Calls
334 calls:
Slowest
448.0ms
(/ (/ (cbrt (- (- b) (sqrt (fma (* a c) -4 (* b b))))) (sqrt 2)) (sqrt a))
369.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)))
310.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))))))))
261.0ms
(fma (sqrt (- b)) (sqrt (- 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))))))))
251.0ms
(/ (/ (* (cbrt (- (- b) (sqrt (fma (* a c) -4 (* b b))))) (cbrt (- (- b) (sqrt (fma (* a c) -4 (* b b)))))) (* (cbrt 2) (cbrt 2))) (sqrt a))

prune3.2s

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 3.9b

localize30.0ms

Local error

Found 4 expressions with local error:

23.0b
(sqrt (fma (* a c) -4 (* b b)))
1.1b
(- (- 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)

rewrite50.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
32.0ms
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)
11.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))

series433.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
124.0ms
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)
121.0ms
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
109.0ms
(sqrt (fma (* a c) -4 (* b b)))
78.0ms
(fma (* a c) -4 (* b b))

simplify29.8s

Counts
334 → 252
Calls
334 calls:
Slowest
524.0ms
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) (sqrt 2)) a)
371.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)))
274.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))))))))
269.0ms
(fma (sqrt (- b)) (sqrt (- 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))))))))
236.0ms
(fma (sqrt b) (- (sqrt 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.2s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 3.9b

localize23.0ms

Local error

Found 4 expressions with local error:

23.0b
(sqrt (fma a (* c -4) (* b b)))
1.1b
(+ 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))

rewrite75.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
66.0ms
(* (- (+ b (sqrt (fma a (* c -4) (* b b))))) (/ 1/2 a))
5.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))

series433.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
132.0ms
(* (- (+ b (sqrt (fma a (* c -4) (* b b))))) (/ 1/2 a))
131.0ms
(sqrt (fma a (* c -4) (* b b)))
114.0ms
(+ b (sqrt (fma a (* c -4) (* b b))))
56.0ms
(fma a (* c -4) (* b b))

simplify4.1s

Counts
58 → 106
Calls
58 calls:
Slowest
331.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)))
331.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)))
287.0ms
(* (- (+ (pow b 3) (pow (sqrt (fma a (* c -4) (* b b))) 3))) 1/2)
286.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)
269.0ms
(* (- (+ (pow b 3) (pow (sqrt (fma a (* c -4) (* b b))) 3))) (/ 1/2 a))

prune1.3s

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 3.8b

localize38.0ms

Local error

Found 4 expressions with local error:

23.0b
(sqrt (fma a (* c -4) (* b b)))
12.2b
(/ (* (- 0 (* a (* c -4))) -1/2) (* (- b (sqrt (fma a (* c -4) (* b b)))) a))
0.7b
(- b (sqrt (fma a (* c -4) (* b b))))
0.1b
(* (- b (sqrt (fma a (* c -4) (* b b)))) a)

rewrite91.0ms

Algorithm
rewrite-expression-head
Rules
31×add-sqr-sqrt
24×*-un-lft-identity
20×add-cube-cbrt
18×add-cbrt-cube prod-diff add-exp-log
14×sqrt-prod
pow1
associate-*l* associate-*l/ add-log-exp
prod-exp cbrt-unprod
expm1-log1p-u cbrt-undiv flip3-- div-exp insert-posit16 log1p-expm1-u flip-- difference-of-squares
fma-neg associate-*r*
associate-/r/ distribute-lft-out-- 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 pow-prod-down distribute-frac-neg *-commutative div-inv associate-/l* unswap-sqr sub0-neg
Counts
4 → 110
Calls
4 calls:
Slowest
39.0ms
(/ (* (- 0 (* a (* c -4))) -1/2) (* (- b (sqrt (fma a (* c -4) (* b b)))) a))
36.0ms
(* (- b (sqrt (fma a (* c -4) (* b b)))) a)
12.0ms
(- b (sqrt (fma a (* c -4) (* b b))))
1.0ms
(sqrt (fma a (* c -4) (* b b)))

series562.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
234.0ms
(/ (* (- 0 (* a (* c -4))) -1/2) (* (- b (sqrt (fma a (* c -4) (* b b)))) a))
126.0ms
(- b (sqrt (fma a (* c -4) (* b b))))
105.0ms
(* (- b (sqrt (fma a (* c -4) (* b b)))) a)
97.0ms
(sqrt (fma a (* c -4) (* b b)))

simplify12.7s

Counts
90 → 122
Calls
90 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.3s
(/ (* (* (* (- 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)))
1.0s
(/ (* (* (* (- 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)))
490.0ms
(/ (* (* a (* c -4)) -1/2) (* (- b (sqrt (fma a (* c -4) (* b b)))) a))

prune1.5s

Pruning

9 alts after pruning (7 fresh and 2 done)

Merged error: 3.8b

regimes310.0ms

Accuracy

82.6% (4.6b remaining)

Error of 10.3b against oracle of 5.7b and baseline of 32.2b

bsearch188.0ms

end0.0ms

sample5.0s

Algorithm
intervals
Results
1.6s1093×body2560valid
1.4s5871×body80valid
685.0ms825×body1280valid
388.0ms3022×body80nan
316.0ms447×body640valid
164.0ms116×body5120valid
93.0ms224×body320valid
35.0ms125×body160valid