Details

Time bar (total: 3.3m)

sample108.0ms

Algorithm
intervals
Results
31.0ms43×body2560valid
21.0ms174×body80valid
17.0ms30×body1280valid
11.0ms81×body80nan
8.0ms17×body640valid
2.0msbody320valid
1.0msbody5120valid
1.0msbody160valid

simplify231.0ms

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

prune13.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 34.0b

localize47.0ms

Local error

Found 4 expressions with local error:

22.7b
(sqrt (fma (* a c) -4 (* b b)))
1.6b
(fma (* a c) -4 (* b b))
1.0b
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
0.1b
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)

rewrite37.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
20.0ms
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)
10.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))

series427.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
127.0ms
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)
119.0ms
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
104.0ms
(sqrt (fma (* a c) -4 (* b b)))
76.0ms
(fma (* a c) -4 (* b b))

simplify30.0s

Counts
334 → 252
Calls
334 calls:
Slowest
405.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)))
278.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))))))))
268.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 (* (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))))))))
256.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

12 alts after pruning (12 fresh and 0 done)

Merged error: 3.6b

localize36.0ms

Local error

Found 4 expressions with local error:

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

rewrite62.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
46.0ms
(* (- (+ b (sqrt (fma a (* c -4) (* b b))))) (/ 1/2 a))
11.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))

series393.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
126.0ms
(sqrt (fma a (* c -4) (* b b)))
100.0ms
(+ b (sqrt (fma a (* c -4) (* b b))))
96.0ms
(* (- (+ b (sqrt (fma a (* c -4) (* b b))))) (/ 1/2 a))
71.0ms
(fma a (* c -4) (* b b))

simplify4.3s

Counts
58 → 106
Calls
58 calls:
Slowest
672.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)
309.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
(* (- (- (* b b) (* (sqrt (fma a (* c -4) (* b b))) (sqrt (fma a (* c -4) (* b b)))))) (/ 1/2 a))
257.0ms
(- (* 2 b) (* 2 (/ (* a c) b)))
255.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.2s

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 3.6b

localize43.0ms

Local error

Found 4 expressions with local error:

22.7b
(sqrt (fma (* a c) -4 (* b b)))
1.6b
(fma (* a c) -4 (* b b))
1.0b
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
0.2b
(/ 1 (/ a (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2)))

rewrite65.0ms

Algorithm
rewrite-expression-head
Rules
792×times-frac
512×add-sqr-sqrt
511×*-un-lft-identity
363×add-cube-cbrt
80×associate-/r*
74×distribute-lft-out-- difference-of-squares
70×sqrt-prod
60×prod-diff
58×distribute-rgt-neg-in
25×add-exp-log
21×distribute-lft-neg-in
17×div-inv
15×div-exp
13×add-cbrt-cube
10×fma-neg
add-log-exp
neg-mul-1
pow1 cbrt-undiv
associate-/r/
expm1-log1p-u insert-posit16 log1p-expm1-u
rec-exp 1-exp associate-/l*
diff-log
associate--l- neg-sub0 rem-sqrt-square clear-num sub-neg frac-2neg sqrt-pow1 flip3-- pow1/2 neg-log fma-udef pow-flip flip-- inv-pow
Counts
4 → 469
Calls
4 calls:
Slowest
21.0ms
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
20.0ms
(/ 1 (/ a (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2)))
3.0ms
(sqrt (fma (* a c) -4 (* b b)))
0.0ms
(fma (* a c) -4 (* b b))

series461.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
171.0ms
(/ 1 (/ a (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2)))
118.0ms
(sqrt (fma (* a c) -4 (* b b)))
106.0ms
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
65.0ms
(fma (* a c) -4 (* b b))

simplify2.3m

Counts
724 → 481
Calls
724 calls:
Slowest
813.0ms
(/ (sqrt 1) (/ (cbrt a) (/ (- (sqrt (- b)) (sqrt (sqrt (fma (* a c) -4 (* b b))))) (sqrt 2))))
690.0ms
(/ (cbrt 1) (/ (sqrt a) (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) (cbrt 2))))
685.0ms
(/ 1 (/ (* (cbrt a) (cbrt a)) (/ (sqrt (- (- b) (sqrt (fma (* a c) -4 (* b b))))) (sqrt 2))))
674.0ms
(/ (* (cbrt 1) (cbrt 1)) (/ 1 (/ (* (cbrt (- (- b) (sqrt (fma (* a c) -4 (* b b))))) (cbrt (- (- b) (sqrt (fma (* a c) -4 (* b b)))))) (* (cbrt 2) (cbrt 2)))))
558.0ms
(/ 1 (/ 1 (/ (* (cbrt (- (- b) (sqrt (fma (* a c) -4 (* b b))))) (cbrt (- (- b) (sqrt (fma (* a c) -4 (* b b)))))) (* (cbrt 2) (cbrt 2)))))

prune6.1s

Pruning

9 alts after pruning (7 fresh and 2 done)

Merged error: 3.6b

localize46.0ms

Local error

Found 4 expressions with local error:

22.7b
(sqrt (fma c (* -4 a) (* b b)))
1.0b
(/ 1 (sqrt 2))
1.0b
(- (- b) (sqrt (fma c (* -4 a) (* b b))))
0.5b
(* a (sqrt 2))

rewrite27.0ms

Algorithm
rewrite-expression-head
Rules
73×add-sqr-sqrt
68×*-un-lft-identity
64×add-cube-cbrt
60×prod-diff
50×sqrt-prod
22×distribute-rgt-neg-in
21×distribute-lft-neg-in
18×times-frac
10×fma-neg add-exp-log
pow1
add-cbrt-cube add-log-exp
neg-mul-1
associate-/r* associate-*r*
expm1-log1p-u insert-posit16 log1p-expm1-u
associate-*l* pow-flip associate-/l*
sqrt-pow1 pow1/2 diff-log div-exp distribute-lft-out-- difference-of-squares unswap-sqr
associate--l- neg-sub0 cbrt-undiv rem-sqrt-square rec-exp clear-num sub-neg frac-2neg flip3-- 1-exp pow-prod-down neg-log prod-exp *-commutative cbrt-unprod div-inv flip-- inv-pow
Counts
4 → 180
Calls
4 calls:
Slowest
11.0ms
(- (- b) (sqrt (fma c (* -4 a) (* b b))))
7.0ms
(* a (sqrt 2))
5.0ms
(/ 1 (sqrt 2))
1.0ms
(sqrt (fma c (* -4 a) (* b b)))

series220.0ms

Counts
4 → 10
Calls
4 calls:
Slowest
91.0ms
(- (- b) (sqrt (fma c (* -4 a) (* b b))))
86.0ms
(sqrt (fma c (* -4 a) (* b b)))
44.0ms
(* a (sqrt 2))
0.0ms
(/ 1 (sqrt 2))

simplify10.1s

Counts
215 → 190
Calls
215 calls:
Slowest
234.0ms
(fma (sqrt (- b)) (sqrt (- b)) (- (* (cbrt (sqrt (fma c (* -4 a) (* b b)))) (* (cbrt (sqrt (fma c (* -4 a) (* b b)))) (cbrt (sqrt (fma c (* -4 a) (* b b))))))))
215.0ms
(* (/ 1 (sqrt 2)) (/ (- (- b) (sqrt (fma c (* -4 a) (* b b)))) (* a (sqrt 2))))
183.0ms
(fma (* (cbrt (- b)) (cbrt (- b))) (cbrt (- b)) (- (* (cbrt (sqrt (fma c (* -4 a) (* b b)))) (* (cbrt (sqrt (fma c (* -4 a) (* b b)))) (cbrt (sqrt (fma c (* -4 a) (* b b))))))))
175.0ms
(fma (- (cbrt (sqrt (fma c (* -4 a) (* b b))))) (* (cbrt (sqrt (fma c (* -4 a) (* b b)))) (cbrt (sqrt (fma c (* -4 a) (* b b))))) (* (cbrt (sqrt (fma c (* -4 a) (* b b)))) (* (cbrt (sqrt (fma c (* -4 a) (* b b)))) (cbrt (sqrt (fma c (* -4 a) (* b b)))))))
162.0ms
(fma (- (* (cbrt b) (cbrt b))) (cbrt b) (- (* (cbrt (sqrt (fma c (* -4 a) (* b b)))) (* (cbrt (sqrt (fma c (* -4 a) (* b b)))) (cbrt (sqrt (fma c (* -4 a) (* b b))))))))

prune1.9s

Pruning

9 alts after pruning (6 fresh and 3 done)

Merged error: 3.6b

regimes337.0ms

Accuracy

83.6% (4.6b remaining)

Error of 10.3b against oracle of 5.8b and baseline of 33.6b

bsearch173.0ms

end0.0ms

sample3.5s

Algorithm
intervals
Results
983.0ms5924×body80valid
834.0ms1091×body2560valid
505.0ms891×body1280valid
484.0ms426×body640valid
275.0ms2809×body80nan
96.0ms107×body5120valid
65.0ms229×body320valid
18.0ms97×body160valid