Details

Time bar (total: 1.2m)

sample91.0ms

Algorithm
intervals
Results
25.0ms152×body160valid
20.0ms496×pre80true
18.0ms240×body80nan
9.0ms104×body80valid

simplify161.0ms

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

prune11.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 30.5b

localize29.0ms

Local error

Found 4 expressions with local error:

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

rewrite47.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
34.0ms
(/ (- (sqrt (fma -3 (* c a) (* b b))) b) (* 3 a))
8.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))

series363.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
101.0ms
(- (sqrt (fma -3 (* c a) (* b b))) b)
97.0ms
(/ (- (sqrt (fma -3 (* c a) (* b b))) b) (* 3 a))
95.0ms
(sqrt (fma -3 (* c a) (* b b)))
70.0ms
(fma -3 (* c a) (* b b))

simplify4.7s

Counts
87 → 114
Calls
87 calls:
Slowest
545.0ms
(- (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (* b b))
355.0ms
(- (pow (sqrt (fma -3 (* c a) (* b b))) 3) (pow b 3))
232.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)))
186.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)))
135.0ms
(- (log (- (sqrt (fma -3 (* c a) (* b b))) b)) (+ (log 3) (log a)))

prune1.4s

Pruning

24 alts after pruning (24 fresh and 0 done)

Merged error: 27.6b

localize73.0ms

Local error

Found 4 expressions with local error:

29.3b
(- (* (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))))
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))))

rewrite123.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
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))))
26.0ms
(- (* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c)))) (* b (* b b)))
18.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))))

series470.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
186.0ms
(- (* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c)))) (* 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))))
90.0ms
(* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c))))
69.0ms
(* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b))))

simplify11.2s

Counts
116 → 141
Calls
116 calls:
Slowest
1.0s
(* (* (* (* 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)))))
472.0ms
(* (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)) (* 3 a))
461.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)))))
407.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)))

prune3.0s

Pruning

28 alts after pruning (28 fresh and 0 done)

Merged error: 2.5b

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

rewrite181.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
81.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))))
45.0ms
(* (* a c) (* a c))
37.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)))))
17.0ms
(* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b))))

series466.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
245.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)))))
106.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))))
42.0ms
(* (* a c) (* a c))

simplify14.7s

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)))))
1.0s
(* (* (* (* 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)))))
793.0ms
(* (* (* (* a a) a) (* (* c c) c)) (* (* (* a a) a) (* (* c c) c)))
723.0ms
(* (* (* (* a c) (* a c)) (* a c)) (* (* (* a c) (* a c)) (* a c)))
453.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)))

prune3.0s

Pruning

46 alts after pruning (46 fresh and 0 done)

Merged error: 2.1b

localize86.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.4b
(/ (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) (* 3 a))
0.3b
(fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b)))

rewrite76.0ms

Algorithm
rewrite-expression-head
Rules
43×pow1
36×times-frac
30×add-cbrt-cube add-exp-log
22×add-sqr-sqrt *-un-lft-identity add-cube-cbrt
17×pow-prod-down
10×prod-exp cbrt-unprod associate-/l*
cbrt-undiv div-exp
div-inv
expm1-log1p-u associate-/r* 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 fma-udef associate-/l/
Counts
4 → 123
Calls
4 calls:
Slowest
50.0ms
(* (* a c) (* a c))
12.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)))))
11.0ms
(/ (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) (* 3 a))
0.0ms
(fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b)))

series626.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
247.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)))))
193.0ms
(/ (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) (* 3 a))
144.0ms
(fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b)))
42.0ms
(* (* a c) (* a c))

simplify21.4s

Counts
114 → 135
Calls
114 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))))))
736.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))))))
695.0ms
(* (* (* (* a a) a) (* (* c c) c)) (* (* (* a a) a) (* (* c c) c)))
677.0ms
(/ (/ (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) a) (fma b (sqrt (fma -3 (* a c) (* b b))) (+ (* b b) (fma -3 (* a c) (* b b)))))
666.0ms
(* (* (* (* a c) (* a c)) (* a c)) (* (* (* a c) (* a c)) (* a c)))

prune2.0s

Pruning

45 alts after pruning (45 fresh and 0 done)

Merged error: 2.1b

regimes1.2s

Accuracy

24.3% (6.6b remaining)

Error of 9.0b against oracle of 2.4b and baseline of 11.1b

bsearch59.0ms

end0.0ms

sample4.9s

Algorithm
intervals
Results
1.6s4565×body160valid
1.1s16243×pre80true
1.0s8243×body80nan
518.0ms3435×body80valid