Details

Time bar (total: 1.3m)

sample165.0ms

Algorithm
intervals
Results
44.0ms148×body160valid
38.0ms517×pre80true
36.0ms261×body80nan
16.0ms108×body80valid

simplify167.0ms

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

prune12.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 28.2b

localize21.0ms

Local error

Found 4 expressions with local error:

28.0b
(- (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)))

rewrite38.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 -3 (* c a) (* b b))) b) (* 3 a))
8.0ms
(- (sqrt (fma -3 (* c a) (* b b))) b)
1.0ms
(sqrt (fma -3 (* c a) (* b b)))
0.0ms
(fma -3 (* c a) (* b b))

series378.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
111.0ms
(- (sqrt (fma -3 (* c a) (* b b))) b)
100.0ms
(/ (- (sqrt (fma -3 (* c a) (* b b))) b) (* 3 a))
96.0ms
(sqrt (fma -3 (* c a) (* b b)))
71.0ms
(fma -3 (* c a) (* b b))

simplify4.4s

Counts
87 → 114
Calls
87 calls:
Slowest
512.0ms
(- (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (* b b))
306.0ms
(- (pow (sqrt (fma -3 (* c a) (* b b))) 3) (pow b 3))
282.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)))
183.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)))
146.0ms
(fma (* (cbrt (sqrt (fma -3 (* c a) (* b b)))) (cbrt (sqrt (fma -3 (* c a) (* b b))))) (cbrt (sqrt (fma -3 (* c a) (* b b)))) (- (* (cbrt b) (* (cbrt b) (cbrt b)))))

prune1.4s

Pruning

21 alts after pruning (21 fresh and 0 done)

Merged error: 25.5b

localize65.0ms

Local error

Found 4 expressions with local error:

26.9b
(- (* (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
(/ (- (* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c)))) (* b (* b 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)))))
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))))

rewrite576.0ms

Algorithm
rewrite-expression-head
Rules
30×add-sqr-sqrt
24×pow1
20×add-cbrt-cube add-exp-log
18×sqrt-prod
15×*-un-lft-identity add-cube-cbrt
associate-*r*
sqrt-pow1 pow1/2 swap-sqr
associate-*l* prod-exp cbrt-unprod
cube-unmult pow-prod-down add-log-exp
pow-prod-up
expm1-log1p-u times-frac associate-*r/ insert-posit16 log1p-expm1-u associate-/l* unswap-sqr
difference-cubes cbrt-undiv div-exp pow-sqr
distribute-rgt-in distribute-lft-in flip3-+ flip3-- associate--l+ associate-/r/ *-commutative flip-+ fma-udef flip-- associate-/l/
pow2 clear-num associate-/r* sub-neg rem-square-sqrt frac-2neg pow-plus fma-neg sqrt-unprod diff-log div-sub prod-diff div-inv
Counts
4 → 130
Calls
4 calls:
Slowest
427.0ms
(/ (- (* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c)))) (* b (* b 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)))))
103.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))))
34.0ms
(- (* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c)))) (* b (* b b)))
9.0ms
(* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b))))

series916.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
542.0ms
(/ (- (* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c)))) (* b (* b 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)))))
188.0ms
(- (* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c)))) (* b (* b b)))
113.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))))
72.0ms
(* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b))))

simplify15.9s

Counts
116 → 142
Calls
116 calls:
Slowest
1.9s
(/ (* (* (- (* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c)))) (* b (* b b))) (- (* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c)))) (* b (* b b)))) (- (* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c)))) (* b (* b 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)))) (* (* 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))))) (* (* 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))))))
949.0ms
(* (* (* (* 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)))))
930.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)))))
470.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)))))
441.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.5s

Pruning

25 alts after pruning (25 fresh and 0 done)

Merged error: 3.0b

localize105.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.4b
(/ (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)))))

rewrite145.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
67.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))))
42.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)))))
24.0ms
(* (* a c) (* a c))
10.0ms
(* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b))))

series501.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
264.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)))))
125.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))))
73.0ms
(* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b))))
39.0ms
(* (* a c) (* a c))

simplify14.2s

Counts
134 → 154
Calls
134 calls:
Slowest
1.1s
(* (* (* (* 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)))))
853.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)))))
767.0ms
(* (* (* (* a a) a) (* (* c c) c)) (* (* (* a a) a) (* (* c c) c)))
692.0ms
(* (* 3 a) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)))
617.0ms
(* (* (* (* a c) (* a c)) (* a c)) (* (* (* a c) (* a c)) (* a c)))

prune3.0s

Pruning

40 alts after pruning (40 fresh and 0 done)

Merged error: 2.6b

localize76.0ms

Local error

Found 4 expressions with local error:

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

rewrite100.0ms

Algorithm
rewrite-expression-head
Rules
48×add-cbrt-cube add-exp-log
43×pow1
39×times-frac
24×add-sqr-sqrt *-un-lft-identity add-cube-cbrt
18×prod-exp cbrt-unprod
17×pow-prod-down
12×cbrt-undiv div-exp
11×associate-/l*
associate-/r* div-inv
expm1-log1p-u pow-sqr pow-prod-up insert-posit16 log1p-expm1-u add-log-exp
clear-num frac-2neg
pow-plus
pow2 swap-sqr associate-*r* associate-*l* *-commutative associate-/l/
Counts
4 → 142
Calls
4 calls:
Slowest
40.0ms
(/ (* (* a c) (* a c)) b)
33.0ms
(* (* a c) (* a c))
17.0ms
(/ (/ (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) (* 3 a)) (fma b (sqrt (fma -3 (* a c) (* b b))) (+ (* b b) (fma -3 (* a c) (* b b)))))
7.0ms
(/ (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) (* 3 a))

series509.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
261.0ms
(/ (/ (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) (* 3 a)) (fma b (sqrt (fma -3 (* a c) (* b b))) (+ (* b b) (fma -3 (* a c) (* b b)))))
169.0ms
(/ (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) (* 3 a))
42.0ms
(/ (* (* a c) (* a c)) b)
37.0ms
(* (* a c) (* a c))

simplify24.0s

Counts
133 → 154
Calls
133 calls:
Slowest
1.2s
(/ (/ (* (* (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b)))) (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b)))) (* (* (* 3 a) (* 3 a)) (* 3 a))) (* (* (fma b (sqrt (fma -3 (* a c) (* b b))) (+ (* b b) (fma -3 (* a c) (* b b)))) (fma b (sqrt (fma -3 (* a c) (* b b))) (+ (* b b) (fma -3 (* a c) (* b b))))) (fma b (sqrt (fma -3 (* a c) (* b b))) (+ (* b b) (fma -3 (* a c) (* b b))))))
723.0ms
(/ (* (* (/ (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) (* 3 a)) (/ (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) (* 3 a))) (/ (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) (* 3 a))) (* (* (fma b (sqrt (fma -3 (* a c) (* b b))) (+ (* b b) (fma -3 (* a c) (* b b)))) (fma b (sqrt (fma -3 (* a c) (* b b))) (+ (* b b) (fma -3 (* a c) (* b b))))) (fma b (sqrt (fma -3 (* a c) (* b b))) (+ (* b b) (fma -3 (* a c) (* b b))))))
694.0ms
(* (* (* (* a a) a) (* (* c c) c)) (* (* (* a a) a) (* (* c c) c)))
632.0ms
(* (* (* (* a c) (* a c)) (* a c)) (* (* (* a c) (* a c)) (* a c)))
621.0ms
(- (+ (+ (log a) (log c)) (+ (log a) (log c))) (log b))

prune2.4s

Pruning

42 alts after pruning (42 fresh and 0 done)

Merged error: 2.5b

regimes1.4s

Accuracy

23.6% (6.9b remaining)

Error of 9.3b against oracle of 2.4b and baseline of 11.5b

bsearch17.0ms

end0.0ms

sample4.4s

Algorithm
intervals
Results
1.5s4443×body160valid
1.1s16439×pre80true
1.0s8439×body80nan
459.0ms3557×body80valid