Details

Time bar (total: 1.1m)

sample99.0ms

Algorithm
intervals
Results
30.0ms144×body160valid
21.0ms510×pre80true
19.0ms254×body80nan
9.0ms112×body80valid

simplify145.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
145.0ms
(/ (+ (- b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a))

prune15.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 28.7b

localize22.0ms

Local error

Found 4 expressions with local error:

28.5b
(- (sqrt (fma -3 (* c a) (* b b))) b)
0.4b
(/ (- (sqrt (fma -3 (* c a) (* b b))) b) (* 3 a))
0.2b
(fma -3 (* c a) (* b b))
0.1b
(sqrt (fma -3 (* c a) (* b b)))

rewrite56.0ms

Algorithm
rewrite-expression-head
Rules
34×add-sqr-sqrt
27×*-un-lft-identity
21×add-cube-cbrt
18×prod-diff sqrt-prod
add-cbrt-cube add-exp-log
times-frac fma-neg associate-/l* add-log-exp difference-of-squares
pow1
expm1-log1p-u insert-posit16 log1p-expm1-u
distribute-lft-out--
cbrt-undiv flip3-- div-exp flip-- associate-/l/
rem-sqrt-square clear-num associate-/r* sub-neg frac-2neg sqrt-pow1 pow1/2 diff-log div-sub prod-exp cbrt-unprod fma-udef div-inv
Counts
4 → 102
Calls
4 calls:
Slowest
35.0ms
(/ (- (sqrt (fma -3 (* c a) (* b b))) b) (* 3 a))
15.0ms
(- (sqrt (fma -3 (* c a) (* b b))) b)
2.0ms
(sqrt (fma -3 (* c a) (* b b)))
0.0ms
(fma -3 (* c a) (* b b))

series403.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
128.0ms
(- (sqrt (fma -3 (* c a) (* b b))) b)
104.0ms
(/ (- (sqrt (fma -3 (* c a) (* b b))) b) (* 3 a))
86.0ms
(sqrt (fma -3 (* c a) (* b b)))
84.0ms
(fma -3 (* c a) (* b b))

simplify4.5s

Counts
87 → 114
Calls
87 calls:
Slowest
595.0ms
(- (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (* b b))
359.0ms
(- (pow (sqrt (fma -3 (* c a) (* b b))) 3) (pow b 3))
225.0ms
(/ (* (* (- (sqrt (fma -3 (* c a) (* b b))) b) (- (sqrt (fma -3 (* c a) (* b b))) b)) (- (sqrt (fma -3 (* c a) (* b b))) b)) (* (* (* 3 a) (* 3 a)) (* 3 a)))
201.0ms
(/ (* (* (- (sqrt (fma -3 (* c a) (* b b))) b) (- (sqrt (fma -3 (* c a) (* b b))) b)) (- (sqrt (fma -3 (* c a) (* b b))) b)) (* (* (* 3 3) 3) (* (* a a) a)))
142.0ms
(- (log (- (sqrt (fma -3 (* c a) (* b b))) b)) (+ (log 3) (log a)))

prune1.5s

Pruning

28 alts after pruning (28 fresh and 0 done)

Merged error: 25.8b

localize78.0ms

Local error

Found 4 expressions with local error:

27.5b
(- (* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c)))) (* b (* b b)))
0.4b
(* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b))))
0.4b
(* (* 3 a) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b))))
0.4b
(* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c))))

rewrite100.0ms

Algorithm
rewrite-expression-head
Rules
34×add-sqr-sqrt
30×pow1
22×sqrt-prod
16×*-un-lft-identity add-cube-cbrt
13×add-cbrt-cube associate-*l* add-exp-log
12×associate-*r*
10×sqrt-pow1 pow1/2
swap-sqr
pow-prod-down pow-prod-up
add-log-exp unswap-sqr
prod-exp cbrt-unprod
expm1-log1p-u fma-udef insert-posit16 log1p-expm1-u
distribute-rgt-in distribute-lft-in pow-plus cube-unmult pow-sqr *-commutative
associate--l+ associate-*r/
pow2 difference-cubes sub-neg rem-square-sqrt flip3-+ flip3-- fma-neg sqrt-unprod diff-log prod-diff flip-+ flip--
Counts
4 → 129
Calls
4 calls:
Slowest
59.0ms
(* (* 3 a) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b))))
16.0ms
(* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b))))
15.0ms
(- (* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c)))) (* b (* b b)))
8.0ms
(* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c))))

series440.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
162.0ms
(- (* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c)))) (* b (* b b)))
114.0ms
(* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c))))
108.0ms
(* (* 3 a) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b))))
55.0ms
(* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b))))

simplify11.0s

Counts
116 → 141
Calls
116 calls:
Slowest
1.3s
(* (* (* (* 3 a) (* 3 a)) (* 3 a)) (* (* (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b))) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)))) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)))))
1.0s
(* (* (* (* 3 3) 3) (* (* a a) a)) (* (* (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b))) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)))) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)))))
438.0ms
(* (* (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (sqrt (fma -3 (* c a) (* b b)))) (* (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (sqrt (fma -3 (* c a) (* b b)))))
438.0ms
(* (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)) (* 3 a))
429.0ms
(- (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)))

prune2.7s

Pruning

27 alts after pruning (27 fresh and 0 done)

Merged error: 2.7b

localize57.0ms

Local error

Found 4 expressions with local error:

0.5b
(* (* a c) (* a c))
0.4b
(* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b))))
0.4b
(* (* 3 a) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b))))
0.3b
(/ (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) (* (* 3 a) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)))))

rewrite192.0ms

Algorithm
rewrite-expression-head
Rules
63×pow1
32×add-cbrt-cube add-exp-log
27×add-sqr-sqrt
23×pow-prod-down
18×sqrt-prod
15×*-un-lft-identity prod-exp add-cube-cbrt cbrt-unprod
10×associate-*r*
swap-sqr pow-prod-up
sqrt-pow1 pow1/2 associate-*l*
pow-sqr
expm1-log1p-u associate-*r/ insert-posit16 log1p-expm1-u add-log-exp unswap-sqr
cbrt-undiv times-frac pow-plus div-exp *-commutative associate-/l*
pow2 flip3-+ associate-/r/ flip-+
distribute-rgt-in clear-num associate-/r* rem-square-sqrt frac-2neg distribute-lft-in sqrt-unprod div-inv
Counts
4 → 142
Calls
4 calls:
Slowest
63.0ms
(* (* 3 a) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b))))
57.0ms
(/ (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) (* (* 3 a) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)))))
51.0ms
(* (* a c) (* a c))
17.0ms
(* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b))))

series564.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
294.0ms
(/ (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) (* (* 3 a) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)))))
109.0ms
(* (* 3 a) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b))))
91.0ms
(* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b))))
70.0ms
(* (* a c) (* a c))

simplify13.8s

Counts
134 → 154
Calls
134 calls:
Slowest
1.0s
(* (* (* (* 3 3) 3) (* (* a a) a)) (* (* (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b))) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)))) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)))))
998.0ms
(* (* (* (* 3 a) (* 3 a)) (* 3 a)) (* (* (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b))) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)))) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)))))
784.0ms
(* (* (* (* a a) a) (* (* c c) c)) (* (* (* a a) a) (* (* c c) c)))
643.0ms
(* (* (* (* a c) (* a c)) (* a c)) (* (* (* a c) (* a c)) (* a c)))
514.0ms
(* (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)) (* 3 a))

prune3.0s

Pruning

43 alts after pruning (43 fresh and 0 done)

Merged error: 2.2b

localize58.0ms

Local error

Found 4 expressions with local error:

0.5b
(* (* c a) (* c a))
0.4b
(* (/ 1/3 a) (/ (fma (* b -9/2) (* c a) (/ (* (* c a) (* c a)) (/ b 27/8))) (fma (sqrt (fma -3 (* c a) (* b b))) b (+ (* b b) (fma -3 (* c a) (* b b))))))
0.4b
(/ 1/3 a)
0.3b
(/ (fma (* b -9/2) (* c a) (/ (* (* c a) (* c a)) (/ b 27/8))) (fma (sqrt (fma -3 (* c a) (* b b))) b (+ (* b b) (fma -3 (* c a) (* b b)))))

rewrite66.0ms

Algorithm
rewrite-expression-head
Rules
46×add-sqr-sqrt
45×pow1
40×times-frac
34×*-un-lft-identity add-cube-cbrt
32×add-cbrt-cube add-exp-log
18×pow-prod-down
14×associate-*r* associate-*l*
12×prod-exp cbrt-unprod
cbrt-undiv associate-/r* div-exp associate-/l*
expm1-log1p-u pow-sqr pow-prod-up insert-posit16 log1p-expm1-u div-inv add-log-exp unswap-sqr
clear-num frac-2neg pow-plus *-commutative
pow2 frac-times swap-sqr associate-*l/ associate-*r/
Counts
4 → 150
Calls
4 calls:
Slowest
33.0ms
(* (* c a) (* c a))
15.0ms
(* (/ 1/3 a) (/ (fma (* b -9/2) (* c a) (/ (* (* c a) (* c a)) (/ b 27/8))) (fma (sqrt (fma -3 (* c a) (* b b))) b (+ (* b b) (fma -3 (* c a) (* b b))))))
8.0ms
(/ (fma (* b -9/2) (* c a) (/ (* (* c a) (* c a)) (/ b 27/8))) (fma (sqrt (fma -3 (* c a) (* b b))) b (+ (* b b) (fma -3 (* c a) (* b b)))))
7.0ms
(/ 1/3 a)

series791.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
478.0ms
(* (/ 1/3 a) (/ (fma (* b -9/2) (* c a) (/ (* (* c a) (* c a)) (/ b 27/8))) (fma (sqrt (fma -3 (* c a) (* b b))) b (+ (* b b) (fma -3 (* c a) (* b b))))))
232.0ms
(/ (fma (* b -9/2) (* c a) (/ (* (* c a) (* c a)) (/ b 27/8))) (fma (sqrt (fma -3 (* c a) (* b b))) b (+ (* b b) (fma -3 (* c a) (* b b)))))
51.0ms
(* (* c a) (* c a))
30.0ms
(/ 1/3 a)

simplify18.5s

Counts
138 → 162
Calls
138 calls:
Slowest
1.2s
(* (/ (* (* 1/3 1/3) 1/3) (* (* a a) a)) (/ (* (* (fma (* b -9/2) (* c a) (/ (* (* c a) (* c a)) (/ b 27/8))) (fma (* b -9/2) (* c a) (/ (* (* c a) (* c a)) (/ b 27/8)))) (fma (* b -9/2) (* c a) (/ (* (* c a) (* c a)) (/ b 27/8)))) (* (* (fma (sqrt (fma -3 (* c a) (* b b))) b (+ (* b b) (fma -3 (* c a) (* b b)))) (fma (sqrt (fma -3 (* c a) (* b b))) b (+ (* b b) (fma -3 (* c a) (* b b))))) (fma (sqrt (fma -3 (* c a) (* b b))) b (+ (* b b) (fma -3 (* c a) (* b b)))))))
764.0ms
(* (* (* (* c c) c) (* (* a a) a)) (* (* (* c c) c) (* (* a a) a)))
722.0ms
(+ (- (log 1/3) (log a)) (log (/ (fma (* b -9/2) (* c a) (/ (* (* c a) (* c a)) (/ b 27/8))) (fma (sqrt (fma -3 (* c a) (* b b))) b (+ (* b b) (fma -3 (* c a) (* b b)))))))
635.0ms
(* (* (* (* c a) (* c a)) (* c a)) (* (* (* c a) (* c a)) (* c a)))
623.0ms
(* (* (* (/ 1/3 a) (/ 1/3 a)) (/ 1/3 a)) (/ (* (* (fma (* b -9/2) (* c a) (/ (* (* c a) (* c a)) (/ b 27/8))) (fma (* b -9/2) (* c a) (/ (* (* c a) (* c a)) (/ b 27/8)))) (fma (* b -9/2) (* c a) (/ (* (* c a) (* c a)) (/ b 27/8)))) (* (* (fma (sqrt (fma -3 (* c a) (* b b))) b (+ (* b b) (fma -3 (* c a) (* b b)))) (fma (sqrt (fma -3 (* c a) (* b b))) b (+ (* b b) (fma -3 (* c a) (* b b))))) (fma (sqrt (fma -3 (* c a) (* b b))) b (+ (* b b) (fma -3 (* c a) (* b b)))))))

prune2.5s

Pruning

49 alts after pruning (48 fresh and 1 done)

Merged error: 2.2b

regimes1.5s

Accuracy

24.4% (6.6b remaining)

Error of 9.1b against oracle of 2.4b and baseline of 11.2b

bsearch86.0ms

end0.0ms

sample4.8s

Algorithm
intervals
Results
1.5s8358×body80nan
1.3s4451×body160valid
1.0s16358×pre80true
508.0ms3549×body80valid