Details

Time bar (total: 2.9m)

sample185.0ms

Algorithm
intervals
Results
50.0ms269×body80nan
44.0ms146×body160valid
38.0ms525×pre80true
17.0ms110×body80valid

simplify175.0ms

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

prune29.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 29.0b

localize30.0ms

Local error

Found 4 expressions with local error:

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

rewrite39.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
27.0ms
(/ (- (sqrt (fma c (* -3 a) (* b b))) b) (* 3 a))
8.0ms
(- (sqrt (fma c (* -3 a) (* b b))) b)
2.0ms
(sqrt (fma c (* -3 a) (* b b)))
0.0ms
(fma c (* -3 a) (* b b))

series470.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
142.0ms
(- (sqrt (fma c (* -3 a) (* b b))) b)
122.0ms
(/ (- (sqrt (fma c (* -3 a) (* b b))) b) (* 3 a))
112.0ms
(sqrt (fma c (* -3 a) (* b b)))
95.0ms
(fma c (* -3 a) (* b b))

simplify9.1s

Counts
145 → 114
Calls
145 calls:
Slowest
1.0s
(- (* (sqrt (fma c (* -3 a) (* b b))) (sqrt (fma c (* -3 a) (* b b)))) (* b b))
338.0ms
(- (pow (sqrt (fma c (* -3 a) (* b b))) 3) (pow b 3))
301.0ms
(* (* (- (sqrt (fma c (* -3 a) (* b b))) b) (- (sqrt (fma c (* -3 a) (* b b))) b)) (- (sqrt (fma c (* -3 a) (* b b))) b))
269.0ms
(/ (* (* (- (sqrt (fma c (* -3 a) (* b b))) b) (- (sqrt (fma c (* -3 a) (* b b))) b)) (- (sqrt (fma c (* -3 a) (* b b))) b)) (* (* (* 3 a) (* 3 a)) (* 3 a)))
216.0ms
(/ (* (* (- (sqrt (fma c (* -3 a) (* b b))) b) (- (sqrt (fma c (* -3 a) (* b b))) b)) (- (sqrt (fma c (* -3 a) (* b b))) b)) (* (* (* 3 3) 3) (* (* a a) a)))

prune1.4s

Pruning

25 alts after pruning (25 fresh and 0 done)

Merged error: 26.2b

localize55.0ms

Local error

Found 4 expressions with local error:

27.4b
(- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b)))
0.4b
(/ (/ (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b))))) (* 3 a))
0.4b
(/ (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))))
0.3b
(* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b)))

rewrite206.0ms

Algorithm
rewrite-expression-head
Rules
52×times-frac
48×add-sqr-sqrt
32×*-un-lft-identity add-cube-cbrt
23×cube-unmult
20×add-cbrt-cube add-exp-log associate-/l*
11×difference-cubes
10×pow1
cbrt-undiv div-exp
associate-*l* add-log-exp
expm1-log1p-u associate-/r* sqrt-prod fma-udef insert-posit16 log1p-expm1-u div-inv
div-sub associate-*r* prod-exp cbrt-unprod associate-/l/
distribute-rgt-in clear-num frac-2neg distribute-lft-in sqrt-pow1 pow-plus flip3-- pow1/2 associate--l+ pow-prod-up flip-- unswap-sqr
sub-neg fma-neg diff-log prod-diff pow-prod-down *-commutative
Counts
4 → 145
Calls
4 calls:
Slowest
74.0ms
(/ (/ (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b))))) (* 3 a))
73.0ms
(/ (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))))
40.0ms
(- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b)))
15.0ms
(* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b)))

series3.9s

Counts
4 → 12
Calls
4 calls:
Slowest
1.6s
(* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b)))
1.2s
(- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b)))
613.0ms
(/ (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))))
554.0ms
(/ (/ (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b))))) (* 3 a))

simplify41.4s

Counts
195 → 157
Calls
195 calls:
Slowest
909.0ms
(* (* (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b)))) (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))))
908.0ms
(/ (/ (* (* (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b))) (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b)))) (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b)))) (* (* (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b))))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))))) (* (* (* 3 a) (* 3 a)) (* 3 a)))
845.0ms
(/ (/ (* (* (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b))) (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b)))) (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b)))) (* (* (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b))))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))))) (* (* (* 3 3) 3) (* (* a a) a)))
650.0ms
(/ (* (* (/ (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b))))) (/ (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))))) (/ (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))))) (* (* (* 3 3) 3) (* (* a a) a)))
629.0ms
(/ (* (* (/ (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b))))) (/ (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))))) (/ (- (* (sqrt (fma (* c a) -3 (* b b))) (fma (* c a) -3 (* b b))) (* b (* b b))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))))) (* (* (* 3 a) (* 3 a)) (* 3 a)))

prune2.6s

Pruning

39 alts after pruning (39 fresh and 0 done)

Merged error: 24.5b

localize86.0ms

Local error

Found 4 expressions with local error:

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

rewrite568.0ms

Algorithm
rewrite-expression-head
Rules
40×times-frac
28×add-sqr-sqrt *-un-lft-identity add-cube-cbrt
27×add-cbrt-cube add-exp-log
16×associate-/l*
13×pow1
prod-exp cbrt-unprod
cbrt-undiv div-exp
associate-*l* pow-prod-down add-log-exp
expm1-log1p-u associate-/r* insert-posit16 log1p-expm1-u div-inv
div-sub sqrt-prod associate-/l/
clear-num associate-+r- frac-2neg
sub-neg flip3-+ flip3-- distribute-rgt-out-- fma-neg diff-log associate-*r* prod-diff *-commutative flip-+ flip--
Counts
4 → 128
Calls
4 calls:
Slowest
259.0ms
(/ (+ (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3)) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b)))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))))
209.0ms
(/ (/ (+ (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3)) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b)))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b))))) (* 3 a))
72.0ms
(* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3))
25.0ms
(- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b)))

series1.3s

Counts
4 → 12
Calls
4 calls:
Slowest
451.0ms
(/ (+ (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3)) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b)))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))))
428.0ms
(/ (/ (+ (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3)) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b)))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b))))) (* 3 a))
251.0ms
(- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b)))
130.0ms
(* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3))

simplify40.6s

Counts
168 → 140
Calls
168 calls:
Slowest
1.5s
(/ (/ (* (* (+ (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3)) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b)))) (+ (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3)) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b))))) (+ (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3)) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b))))) (* (* (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b))))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))))) (* (* (* 3 3) 3) (* (* a a) a)))
1.4s
(/ (/ (* (* (+ (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3)) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b)))) (+ (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3)) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b))))) (+ (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3)) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b))))) (* (* (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b))))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))))) (* (* (* 3 a) (* 3 a)) (* 3 a)))
1.2s
(* (* (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b))) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b)))) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b))))
1.0s
(* (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))) (+ (* (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3)) (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3))) (- (* (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b))) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b)))) (* (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3)) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b)))))))
850.0ms
(/ (* (* (+ (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3)) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b)))) (+ (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3)) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b))))) (+ (* (sqrt (fma (* c a) -3 (* b b))) (* (* c a) -3)) (- (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* b (* b b))))) (* (* (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b)))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b))))) (fma b (sqrt (fma c (* a -3) (* b b))) (+ (* b b) (fma c (* a -3) (* b b))))))

prune2.5s

Pruning

44 alts after pruning (44 fresh and 0 done)

Merged error: 24.0b

localize149.0ms

Local error

Found 4 expressions with local error:

27.4b
(- (* (sqrt (fma -3 (* c a) (* b b))) (fma -3 (* c a) (* b b))) (* b (* b b)))
0.5b
(* (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* (sqrt (fma (* c a) -3 (* b b))) (* b b)))
0.5b
(* (* b (* b b)) (* b (* b b)))
0.5b
(* (* b (* b b)) (* b (* b b)))

rewrite307.0ms

Algorithm
rewrite-expression-head
Rules
638×pow1
241×pow-prod-up
212×pow-prod-down
112×add-cbrt-cube add-exp-log
81×prod-exp cbrt-unprod
69×pow-sqr
45×pow-plus
31×pow2
30×cube-unmult
add-log-exp
add-sqr-sqrt
expm1-log1p-u *-un-lft-identity add-cube-cbrt insert-posit16 log1p-expm1-u
swap-sqr associate-*r* associate-*l* *-commutative
associate--l+ fma-udef
distribute-rgt-in difference-cubes sub-neg distribute-lft-in flip3-- fma-neg diff-log prod-diff flip--
Counts
4 → 287
Calls
4 calls:
Slowest
102.0ms
(* (* b (* b b)) (* b (* b b)))
95.0ms
(* (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* (sqrt (fma (* c a) -3 (* b b))) (* b b)))
80.0ms
(* (* b (* b b)) (* b (* b b)))
22.0ms
(- (* (sqrt (fma -3 (* c a) (* b b))) (fma -3 (* c a) (* b b))) (* b (* b b)))

series1.6s

Counts
4 → 12
Calls
4 calls:
Slowest
1.3s
(- (* (sqrt (fma -3 (* c a) (* b b))) (fma -3 (* c a) (* b b))) (* b (* b b)))
191.0ms
(* (* (sqrt (fma (* c a) -3 (* b b))) (* b b)) (* (sqrt (fma (* c a) -3 (* b b))) (* b b)))
87.0ms
(* (* b (* b b)) (* b (* b b)))
55.0ms
(* (* b (* b b)) (* b (* b b)))

simplify50.9s

Counts
300 → 299
Calls
300 calls:
Slowest
1.4s
(* (* (* (* b (* b b)) (* b (* b b))) (* b (* b b))) (* (* (* b b) b) (* (* (* b b) b) (* (* b b) b))))
1.0s
(* (* (* (* b (* b b)) (* b (* b b))) (* b (* b b))) (* (* (* b b) b) (* (* (* b b) b) (* (* b b) b))))
1.0s
(* (* (* (* b b) b) (* (* (* b b) b) (* (* b b) b))) (* (* (* b (* b b)) (* b (* b b))) (* b (* b b))))
990.0ms
(* (* (* (* b b) b) (* (* (* b b) b) (* (* b b) b))) (* (* (* b (* b b)) (* b (* b b))) (* b (* b b))))
928.0ms
(* (* b (* b b)) (* b (* b b)))

prune7.8s

Pruning

38 alts after pruning (38 fresh and 0 done)

Merged error: 23.4b

regimes1.4s

Accuracy

0% (1.6b remaining)

Error of 24.7b against oracle of 23.1b and baseline of 24.7b

bsearch12.0ms

end0.0ms

sample4.9s

Algorithm
intervals
Results
1.4s16512×pre80true
1.2s4515×body160valid
1.1s8512×body80nan
507.0ms3485×body80valid