Details

Time bar (total: 1.2m)

sample86.0ms

Algorithm
intervals
Results
20.0ms517×pre80true
20.0ms129×body160valid
19.0ms261×body80nan
10.0ms127×body80valid

simplify173.0ms

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

prune12.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 26.3b

localize21.0ms

Local error

Found 4 expressions with local error:

26.3b
(- (sqrt (fma -3 (* c a) (* b b))) b)
0.4b
(/ (- (sqrt (fma -3 (* c a) (* b b))) b) (* 3 a))
0.3b
(fma -3 (* c a) (* b b))
0.1b
(sqrt (fma -3 (* c a) (* b b)))

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

series389.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
115.0ms
(/ (- (sqrt (fma -3 (* c a) (* b b))) b) (* 3 a))
105.0ms
(- (sqrt (fma -3 (* c a) (* b b))) b)
94.0ms
(sqrt (fma -3 (* c a) (* b b)))
74.0ms
(fma -3 (* c a) (* b b))

simplify4.1s

Counts
87 → 114
Calls
87 calls:
Slowest
432.0ms
(- (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (* b b))
334.0ms
(- (pow (sqrt (fma -3 (* c a) (* b b))) 3) (pow b 3))
211.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)))
190.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)))
141.0ms
(- (log (- (sqrt (fma -3 (* c a) (* b b))) b)) (+ (log 3) (log a)))

prune1.5s

Pruning

24 alts after pruning (24 fresh and 0 done)

Merged error: 23.6b

localize108.0ms

Local error

Found 4 expressions with local error:

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

rewrite147.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
89.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))))
31.0ms
(- (* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c)))) (* b (* b b)))
17.0ms
(* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b))))
8.0ms
(* (sqrt (fma b b (* a (* -3 c)))) (fma b b (* a (* -3 c))))

series471.0ms

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

simplify10.3s

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)))))
863.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)))))
478.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)))))
469.0ms
(* (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)) (* 3 a))
377.0ms
(- (+ (* 27/8 (/ (* (pow a 2) (pow c 2)) b)) (pow b 3)) (* 9/2 (* a (* b c))))

prune2.9s

Pruning

25 alts after pruning (25 fresh and 0 done)

Merged error: 3.1b

localize65.0ms

Local error

Found 4 expressions with local error:

0.5b
(* (* a c) (* a c))
0.5b
(* (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)))))

rewrite156.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
64.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
(/ (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)))))
37.0ms
(* (* a c) (* a c))
9.0ms
(* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b))))

series501.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) (+ (* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b)))) (+ (* b b) (* (sqrt (fma -3 (* c a) (* b b))) b)))))
141.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))))
76.0ms
(* (sqrt (fma -3 (* c a) (* b b))) (sqrt (fma -3 (* c a) (* b b))))
36.0ms
(* (* a c) (* a c))

simplify13.3s

Counts
134 → 154
Calls
134 calls:
Slowest
888.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)))))
880.0ms
(* (* (* (* a a) a) (* (* c c) c)) (* (* (* a a) a) (* (* c c) c)))
854.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)))))
660.0ms
(* (* (* (* a c) (* a c)) (* a c)) (* (* (* a c) (* a c)) (* a c)))
493.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)))))

prune2.8s

Pruning

42 alts after pruning (42 fresh and 0 done)

Merged error: 2.7b

localize62.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
(/ (* (* a c) (* a c)) b)

rewrite82.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
38.0ms
(/ (* (* a c) (* a c)) b)
24.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)))))
6.0ms
(/ (fma -9/2 (* (* a c) b) (* 27/8 (/ (* (* a c) (* a c)) b))) (* 3 a))

series513.0ms

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

simplify24.7s

Counts
133 → 154
Calls
133 calls:
Slowest
1.1s
(/ (/ (* (* (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))))))
749.0ms
(* (* (* (* a a) a) (* (* c c) c)) (* (* (* a a) a) (* (* c c) c)))
712.0ms
(* (* (* (* a c) (* a c)) (* a c)) (* (* (* a c) (* a c)) (* a c)))
673.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))))))
669.0ms
(/ (/ (* (* (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 3) 3) (* (* a a) 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))))))

prune2.4s

Pruning

43 alts after pruning (43 fresh and 0 done)

Merged error: 2.7b

regimes1.3s

Accuracy

26.6% (6.6b remaining)

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

bsearch71.0ms

end0.0ms

sample5.4s

Algorithm
intervals
Results
2.1s4439×body160valid
1.2s8574×body80nan
1.1s16574×pre80true
504.0ms3561×body80valid