Details

Time bar (total: 3.5m)

sample120.0ms

Algorithm
intervals
Results
40.0ms35×body2560valid
18.0ms172×body80valid
18.0ms32×body1280valid
10.0ms95×body80nan
6.0ms14×body640valid
4.0msbody5120valid
4.0msbody320valid
1.0msbody160valid

simplify224.0ms

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

prune15.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 32.2b

localize47.0ms

Local error

Found 4 expressions with local error:

21.1b
(sqrt (fma (* a c) -4 (* b b)))
1.7b
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
1.2b
(fma (* a c) -4 (* b b))
0.1b
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)

rewrite52.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
22.0ms
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)
13.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))

series428.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
138.0ms
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)
101.0ms
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
100.0ms
(sqrt (fma (* a c) -4 (* b b)))
89.0ms
(fma (* a c) -4 (* b b))

simplify30.9s

Counts
334 → 252
Calls
334 calls:
Slowest
372.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)))
267.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))))))))
259.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))))))))
258.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))))))))
251.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))))))))

prune3.7s

Pruning

14 alts after pruning (14 fresh and 0 done)

Merged error: 3.5b

localize45.0ms

Local error

Found 4 expressions with local error:

21.1b
(sqrt (fma (* a c) -4 (* b b)))
1.7b
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
1.2b
(fma (* a c) -4 (* b b))
0.2b
(/ 1 (/ a (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2)))

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

series415.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
136.0ms
(/ 1 (/ a (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2)))
104.0ms
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
96.0ms
(sqrt (fma (* a c) -4 (* b b)))
78.0ms
(fma (* a c) -4 (* b b))

simplify2.4m

Counts
724 → 481
Calls
724 calls:
Slowest
836.0ms
(/ 1 (/ (* (cbrt a) (cbrt a)) (/ 1 (* (cbrt 2) (cbrt 2)))))
761.0ms
(/ (cbrt 1) (/ (sqrt a) (/ (- (sqrt (- b)) (sqrt (sqrt (fma (* a c) -4 (* b b))))) 2)))
721.0ms
(/ (sqrt 1) (/ (cbrt a) (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2)))
582.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)))))
569.0ms
(/ (sqrt 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.5s

Pruning

14 alts after pruning (13 fresh and 1 done)

Merged error: 3.5b

localize24.0ms

Local error

Found 4 expressions with local error:

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

rewrite64.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
50.0ms
(* (- (+ b (sqrt (fma a (* c -4) (* b b))))) (/ 1/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))

series402.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
119.0ms
(* (- (+ b (sqrt (fma a (* c -4) (* b b))))) (/ 1/2 a))
118.0ms
(+ b (sqrt (fma a (* c -4) (* b b))))
111.0ms
(sqrt (fma a (* c -4) (* b b)))
54.0ms
(fma a (* c -4) (* b b))

simplify4.2s

Counts
58 → 106
Calls
58 calls:
Slowest
384.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)))
350.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)
325.0ms
(* (- (+ (pow b 3) (pow (sqrt (fma a (* c -4) (* b b))) 3))) (/ 1/2 a))
290.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)))
282.0ms
(- (* 2 b) (* 2 (/ (* a c) b)))

prune1.2s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 3.4b

localize49.0ms

Local error

Found 4 expressions with local error:

21.1b
(sqrt (fma a (* c -4) (* b b)))
15.0b
(/ (* (- 0 (* a (* c -4))) -1/2) (* (- b (sqrt (fma a (* c -4) (* b b)))) a))
0.2b
(- b (sqrt (fma a (* c -4) (* b b))))
0.1b
(* (- b (sqrt (fma a (* c -4) (* b b)))) a)

rewrite72.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
37.0ms
(* (- b (sqrt (fma a (* c -4) (* b b)))) a)
21.0ms
(/ (* (- 0 (* a (* c -4))) -1/2) (* (- b (sqrt (fma a (* c -4) (* b b)))) a))
10.0ms
(- b (sqrt (fma a (* c -4) (* b b))))
2.0ms
(sqrt (fma a (* c -4) (* b b)))

series521.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
175.0ms
(/ (* (- 0 (* a (* c -4))) -1/2) (* (- b (sqrt (fma a (* c -4) (* b b)))) a))
121.0ms
(* (- b (sqrt (fma a (* c -4) (* b b)))) a)
116.0ms
(sqrt (fma a (* c -4) (* b b)))
109.0ms
(- b (sqrt (fma a (* c -4) (* b b))))

simplify12.6s

Counts
90 → 122
Calls
90 calls:
Slowest
1.6s
(/ (* (* (* (- 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)))
953.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)))
592.0ms
(/ (* (* a (* c -4)) -1/2) (* (- b (sqrt (fma a (* c -4) (* b b)))) a))

prune1.2s

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 3.4b

regimes218.0ms

Accuracy

95.5% (1.1b remaining)

Error of 6.6b against oracle of 5.5b and baseline of 29.2b

bsearch358.0ms

end0.0ms

sample4.5s

Algorithm
intervals
Results
1.3s1088×body2560valid
1.1s886×body1280valid
796.0ms5833×body80valid
371.0ms2877×body80nan
257.0ms432×body640valid
176.0ms227×body320valid
156.0ms111×body5120valid
31.0ms134×body160valid