Details

Time bar (total: 24.4s)

sample103.0ms

Algorithm
intervals
Results
31.0ms82×body10240exit
25.0ms55×body1280valid
21.0ms64×body640valid
7.0ms32×body320valid
6.0ms88×body80valid
2.0ms17×body160valid

simplify29.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
29.0ms
(/ (exp x) (- (exp x) 1))

prune7.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 39.8b

localize11.0ms

Local error

Found 2 expressions with local error:

4.1b
(- (exp x) 1)
0.0b
(/ (exp x) (- (exp x) 1))

rewrite23.0ms

Algorithm
rewrite-expression-head
Rules
41×add-sqr-sqrt
36×*-un-lft-identity
21×times-frac add-cube-cbrt
10×difference-of-squares
prod-diff
associate-/r*
difference-of-sqr-1 distribute-lft-out--
add-cbrt-cube add-log-exp
fma-neg add-exp-log associate-/l*
expm1-log1p-u pow1 flip3-- associate-/r/ insert-posit16 log1p-expm1-u flip--
cbrt-undiv expm1-def clear-num sub-neg frac-2neg diff-log div-exp div-inv
Counts
2 → 80
Calls
2 calls:
Slowest
13.0ms
(/ (exp x) (- (exp x) 1))
9.0ms
(- (exp x) 1)

series73.0ms

Counts
2 → 6
Calls
2 calls:
Slowest
48.0ms
(/ (exp x) (- (exp x) 1))
24.0ms
(- (exp x) 1)

simplify2.2s

Counts
88 → 86
Calls
88 calls:
Slowest
270.0ms
(+ x (+ (* 1/6 (pow x 3)) (* 1/2 (pow x 2))))
245.0ms
(/ (* (* (exp x) (exp x)) (exp x)) (* (* (- (exp x) 1) (- (exp x) 1)) (- (exp x) 1)))
73.0ms
(fma (sqrt (exp x)) (sqrt (exp x)) (- (* (sqrt 1) (sqrt 1))))
66.0ms
(+ (* (exp x) (exp x)) (+ (* 1 1) (* (exp x) 1)))
60.0ms
(fma (* (cbrt (exp x)) (cbrt (exp x))) (cbrt (exp x)) (- (* (cbrt 1) (* (cbrt 1) (cbrt 1)))))

prune593.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0b

localize20.0ms

Local error

Found 1 expressions with local error:

0.1b
(fma x 1/12 (+ 1/2 (/ 1 x)))

rewrite1.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt expm1-log1p-u pow1 *-un-lft-identity add-cbrt-cube add-exp-log add-cube-cbrt fma-udef insert-posit16 log1p-expm1-u add-log-exp
Counts
1 → 11
Calls
1 calls:
Slowest
1.0ms
(fma x 1/12 (+ 1/2 (/ 1 x)))

series26.0ms

Counts
1 → 3
Calls
1 calls:
Slowest
26.0ms
(fma x 1/12 (+ 1/2 (/ 1 x)))

simplify135.0ms

Counts
3 → 14
Calls
3 calls:
Slowest
50.0ms
(+ (* 1/12 x) (+ (/ 1 x) 1/2))
45.0ms
(+ (* 1/12 x) (+ (/ 1 x) 1/2))
38.0ms
(+ (* 1/12 x) (+ (/ 1 x) 1/2))

prune85.0ms

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0b

localize16.0ms

Local error

Found 4 expressions with local error:

25.9b
(cbrt (* (/ (exp x) (expm1 x)) (* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x)))))
0.2b
(* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x)))
0.1b
(* (/ (exp x) (expm1 x)) (* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x))))
0.0b
(/ (exp x) (expm1 x))

rewrite163.0ms

Algorithm
rewrite-expression-head
Rules
62×add-sqr-sqrt
59×times-frac add-cbrt-cube
47×*-un-lft-identity add-cube-cbrt
41×add-exp-log
26×associate-*l*
25×pow1
22×prod-exp cbrt-unprod
18×cbrt-undiv div-exp
14×associate-*r*
13×swap-sqr
11×frac-times associate-*r/
cbrt-div associate-*l/
pow-prod-up div-inv unswap-sqr
expm1-log1p-u pow-prod-down insert-posit16 log1p-expm1-u add-log-exp
associate-/r* associate-/l*
pow2 pow-plus cube-unmult pow-sqr *-commutative
cbrt-prod clear-num frac-2neg pow1/3 rem-cbrt-cube
Counts
4 → 181
Calls
4 calls:
Slowest
72.0ms
(cbrt (* (/ (exp x) (expm1 x)) (* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x)))))
44.0ms
(* (/ (exp x) (expm1 x)) (* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x))))
31.0ms
(* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x)))
11.0ms
(/ (exp x) (expm1 x))

series272.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
116.0ms
(* (/ (exp x) (expm1 x)) (* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x))))
80.0ms
(* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x)))
46.0ms
(/ (exp x) (expm1 x))
30.0ms
(cbrt (* (/ (exp x) (expm1 x)) (* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x)))))

simplify15.3s

Counts
180 → 193
Calls
180 calls:
Slowest
806.0ms
(* (* (* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x))) (/ (exp x) (expm1 x))) (* (* (* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x))) (* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x)))) (* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x)))))
628.0ms
(* (* (* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x))) (/ (exp x) (expm1 x))) (* (* (* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x))) (/ (exp x) (expm1 x))) (* (* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x))) (/ (exp x) (expm1 x)))))
541.0ms
(* (/ (* (* (exp x) (exp x)) (exp x)) (* (* (expm1 x) (expm1 x)) (expm1 x))) (* (/ (* (* (exp x) (exp x)) (exp x)) (* (* (expm1 x) (expm1 x)) (expm1 x))) (* (* (/ (exp x) (expm1 x)) (/ (exp x) (expm1 x))) (/ (exp x) (expm1 x)))))
505.0ms
(+ (- x (log (expm1 x))) (+ (- x (log (expm1 x))) (log (/ (exp x) (expm1 x)))))
489.0ms
(/ (* (* (exp x) (exp x)) (exp x)) (* (* (expm1 x) (expm1 x)) (expm1 x)))

prune1.7s

Pruning

2 alts after pruning (0 fresh and 2 done)

Merged error: 0b

regimes40.0ms

Accuracy

99% (0.2b remaining)

Error of 0.5b against oracle of 0.3b and baseline of 21.2b

bsearch36.0ms

end0.0ms

sample3.5s

Algorithm
intervals
Results
1.3s2188×body1280valid
1.1s2570×body10240exit
520.0ms1682×body640valid
212.0ms2849×body80valid
162.0ms853×body320valid
50.0ms428×body160valid