Details

Time bar (total: 23.6s)

sample276.0ms

Algorithm
intervals
Results
103.0ms56×body10240exit
61.0ms64×body1280valid
41.0ms316×body80valid
32.0ms48×body640valid
7.0ms17×body320valid
3.0ms11×body160valid

simplify1.7s

Counts
1 → 1
Iterations
IterNodes
done5001
41436
3398
2124
149
019

prune20.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 32.6b

localize40.0ms

Local error

Found 4 expressions with local error:

0.0b
(* x (+ -1 eps))
0.0b
(fma (exp (* x (+ -1 eps))) (/ 1 eps) (exp (* x (+ -1 eps))))
0.0b
(/ (- (/ 1 eps) 1) (exp (fma eps x x)))
3.9b
(- (fma (exp (* x (+ -1 eps))) (/ 1 eps) (exp (* x (+ -1 eps)))) (/ (- (/ 1 eps) 1) (exp (fma eps x x))))

rewrite124.0ms

Algorithm
rewrite-expression-head
Rules
406×add-sqr-sqrt
327×times-frac
301×*-un-lft-identity
180×prod-diff
144×add-cube-cbrt
104×difference-of-squares
59×fma-udef
57×exp-sum
51×difference-of-sqr-1
35×distribute-lft-out--
21×div-inv
14×associate-/l*
add-cbrt-cube
add-exp-log
pow1 add-log-exp
expm1-log1p-u associate-/r* associate-*r* insert-posit16 log1p-expm1-u
fma-neg associate-*l*
flip3-- div-sub associate-*r/ flip-- associate-/l/
distribute-rgt-in cbrt-undiv clear-num sub-neg frac-2neg distribute-lft-in flip3-+ diff-log div-exp pow-prod-down prod-exp associate--l+ *-commutative cbrt-unprod flip-+ distribute-lft-out associate--r- unswap-sqr
Counts
4 → 332
Calls
4 calls:
26.0ms
(* x (+ -1 eps))
0.0ms
(fma (exp (* x (+ -1 eps))) (/ 1 eps) (exp (* x (+ -1 eps))))
54.0ms
(/ (- (/ 1 eps) 1) (exp (fma eps x x)))
28.0ms
(- (fma (exp (* x (+ -1 eps))) (/ 1 eps) (exp (* x (+ -1 eps)))) (/ (- (/ 1 eps) 1) (exp (fma eps x x))))

series270.0ms

Counts
4 → 12
Calls
4 calls:
43.0ms
(* x (+ -1 eps))
34.0ms
(fma (exp (* x (+ -1 eps))) (/ 1 eps) (exp (* x (+ -1 eps))))
44.0ms
(/ (- (/ 1 eps) 1) (exp (fma eps x x)))
149.0ms
(- (fma (exp (* x (+ -1 eps))) (/ 1 eps) (exp (* x (+ -1 eps)))) (/ (- (/ 1 eps) 1) (exp (fma eps x x))))

simplify2.2s

Counts
344 → 344
Iterations
IterNodes
done5001
23825
11412
0537

prune2.2s

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.4b

localize16.0ms

Local error

Found 2 expressions with local error:

0.1b
(* (* x x) x)
5.6b
(fma (* (* x x) x) 2/3 (- 2 (* x x)))

rewrite25.0ms

Algorithm
rewrite-expression-head
Rules
21×pow1
add-cbrt-cube add-exp-log
pow-plus pow-prod-up
add-sqr-sqrt
*-un-lft-identity associate-*r* pow-prod-down prod-exp add-cube-cbrt cbrt-unprod
pow2 expm1-log1p-u pow-sqr insert-posit16 log1p-expm1-u add-log-exp
associate-*l* pow3 *-commutative fma-udef unswap-sqr
Counts
2 → 42
Calls
2 calls:
24.0ms
(* (* x x) x)
1.0ms
(fma (* (* x x) x) 2/3 (- 2 (* x x)))

series94.0ms

Counts
2 → 6
Calls
2 calls:
59.0ms
(* (* x x) x)
35.0ms
(fma (* (* x x) x) 2/3 (- 2 (* x x)))

simplify1.9s

Counts
48 → 48
Iterations
IterNodes
done5000
41580
3616
2267
1122
055

prune183.0ms

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 0.4b

localize26.0ms

Local error

Found 2 expressions with local error:

0.0b
(fma (* x x) (fma x 2/3 -1) 2)
0.1b
(fma x 2/3 -1)

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
2 → 22
Calls
2 calls:
0.0ms
(fma (* x x) (fma x 2/3 -1) 2)
0.0ms
(fma x 2/3 -1)

series81.0ms

Counts
2 → 6
Calls
2 calls:
39.0ms
(fma (* x x) (fma x 2/3 -1) 2)
41.0ms
(fma x 2/3 -1)

simplify2.3s

Counts
28 → 28
Iterations
IterNodes
done5002
41425
3411
2148
166
038

prune136.0ms

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0.4b

localize53.0ms

Local error

Found 3 expressions with local error:

0.0b
(fma (* x x) (posit16->real (real->posit16 (fma x 2/3 -1))) 2)
0.1b
(fma x 2/3 -1)
13.0b
(posit16->real (real->posit16 (fma x 2/3 -1)))

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 insert-posit16 log1p-expm1-u add-log-exp
fma-udef
remove-posit16
Counts
3 → 33
Calls
3 calls:
0.0ms
(fma (* x x) (posit16->real (real->posit16 (fma x 2/3 -1))) 2)
0.0ms
(fma x 2/3 -1)
0.0ms
(posit16->real (real->posit16 (fma x 2/3 -1)))

series160.0ms

Counts
3 → 9
Calls
3 calls:
45.0ms
(fma (* x x) (posit16->real (real->posit16 (fma x 2/3 -1))) 2)
62.0ms
(fma x 2/3 -1)
53.0ms
(posit16->real (real->posit16 (fma x 2/3 -1)))

simplify2.0s

Counts
42 → 42
Iterations
IterNodes
done5009
41702
3507
2189
180
049

prune354.0ms

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0.4b

regimes111.0ms

Accuracy

95.9% (0.7b remaining)

Error of 1.1b against oracle of 0.4b and baseline of 16.5b

bsearch180.0ms

Steps
ItersRangePoint
8
5.220773054910798
2842.495256040047
64.8190525609748

simplify390.0ms

Iterations
IterNodes
done32
132
026

end0.0ms

sample8.9s

Algorithm
intervals
Results
3.1s1901×body10240exit
2.1s1680×body1280valid
1.5s10104×body80valid
1.3s1287×body640valid
330.0ms644×body320valid
77.0ms320×body160valid