Details

Time bar (total: 1.6m)

sample137.0ms

Algorithm
intervals
Results
37.0ms29×body1280valid
31.0ms42×body2560valid
22.0ms173×body80valid
12.0ms98×body80nan
9.0ms15×body640valid
6.0msbody5120valid
2.0msbody320valid
1.0msbody160valid

simplify200.0ms

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

prune14.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 33.7b

localize25.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)

rewrite74.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
45.0ms
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)
21.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))

series414.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
129.0ms
(sqrt (fma (* a c) -4 (* b b)))
116.0ms
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)
98.0ms
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
72.0ms
(fma (* a c) -4 (* b b))

simplify30.2s

Counts
334 → 252
Calls
334 calls:
Slowest
456.0ms
(fma (- (sqrt (fma (* a c) -4 (* b b)))) 1 (* (sqrt (fma (* a c) -4 (* b b))) 1))
391.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)))
262.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))))))))
249.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))))))))
241.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.3s

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 3.9b

localize54.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)

rewrite73.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
41.0ms
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)
21.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))

series432.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
132.0ms
(/ (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) a)
116.0ms
(sqrt (fma (* a c) -4 (* b b)))
112.0ms
(- (- b) (sqrt (fma (* a c) -4 (* b b))))
73.0ms
(fma (* a c) -4 (* b b))

simplify30.5s

Counts
334 → 252
Calls
334 calls:
Slowest
457.0ms
(/ (/ (sqrt (- (- b) (sqrt (fma (* a c) -4 (* b b))))) (sqrt 2)) a)
427.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)))
322.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))))))))
263.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))))))))
257.0ms
(/ (* (* (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2) (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2)) (/ (- (- b) (sqrt (fma (* a c) -4 (* b b)))) 2)) (* (* a a) a))

prune3.0s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 3.9b

localize44.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))

rewrite45.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
37.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))

series392.0ms

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

simplify3.9s

Counts
58 → 106
Calls
58 calls:
Slowest
337.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)))
336.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)))
307.0ms
(* (- (+ (pow b 3) (pow (sqrt (fma a (* c -4) (* b b))) 3))) (/ 1/2 a))
298.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)
230.0ms
(- (* 2 b) (* 2 (/ (* a c) b)))

prune1.2s

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 3.8b

localize41.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)

rewrite49.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
19.0ms
(* (- b (sqrt (fma a (* c -4) (* b b)))) a)
19.0ms
(/ (* (- 0 (* a (* c -4))) -1/2) (* (- b (sqrt (fma a (* c -4) (* b b)))) a))
5.0ms
(- b (sqrt (fma a (* c -4) (* b b))))
1.0ms
(sqrt (fma a (* c -4) (* b b)))

series485.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
202.0ms
(/ (* (- 0 (* a (* c -4))) -1/2) (* (- b (sqrt (fma a (* c -4) (* b b)))) a))
114.0ms
(* (- b (sqrt (fma a (* c -4) (* b b)))) a)
94.0ms
(- b (sqrt (fma a (* c -4) (* b b))))
76.0ms
(sqrt (fma a (* c -4) (* b b)))

simplify11.7s

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

prune1.7s

Pruning

9 alts after pruning (7 fresh and 2 done)

Merged error: 3.8b

regimes375.0ms

Accuracy

82.6% (4.6b remaining)

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

bsearch226.0ms

end0.0ms

sample5.2s

Algorithm
intervals
Results
1.7s1093×body2560valid
1.2s825×body1280valid
996.0ms5871×body80valid
435.0ms3022×body80nan
323.0ms447×body640valid
161.0ms116×body5120valid
128.0ms224×body320valid
36.0ms125×body160valid