Details

Time bar (total: 18.1s)

sample297.0ms

Algorithm
intervals
Results
94.0ms47×body10240exit
82.0ms65×body1280valid
55.0ms288×body80valid
34.0ms42×body640valid
11.0ms21×body320valid
1.0msbody160valid

simplify1.1s

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

prune23.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 31.4b

localize43.0ms

Local error

Found 4 expressions with local error:

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

rewrite12.0ms

Algorithm
rewrite-expression-head
Rules
add-log-exp
add-sqr-sqrt exp-prod *-un-lft-identity exp-sum add-cube-cbrt
expm1-log1p-u pow1 add-cbrt-cube add-exp-log insert-posit16 log1p-expm1-u
rem-exp-log
distribute-rgt-in distribute-lft-in exp-to-pow fma-udef
Counts
4 → 56
Calls
4 calls:
2.0ms
(exp (fma eps x x))
5.0ms
(exp (* x (+ -1 eps)))
5.0ms
(exp (* x (+ -1 eps)))
0.0ms
(fma (exp (* x (+ -1 eps))) (/ 1 eps) (- (exp (* x (+ -1 eps))) (/ (- (/ 1 eps) 1) (exp (fma eps x x)))))

series187.0ms

Counts
4 → 12
Calls
4 calls:
16.0ms
(exp (fma eps x x))
22.0ms
(exp (* x (+ -1 eps)))
23.0ms
(exp (* x (+ -1 eps)))
125.0ms
(fma (exp (* x (+ -1 eps))) (/ 1 eps) (- (exp (* x (+ -1 eps))) (/ (- (/ 1 eps) 1) (exp (fma eps x x)))))

simplify1.0s

Counts
68 → 68
Iterations
IterNodes
done2006
31381
2451
1185
092

prune446.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.6b

localize15.0ms

Local error

Found 2 expressions with local error:

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

rewrite6.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt
pow1 *-un-lft-identity add-cbrt-cube add-exp-log add-cube-cbrt
associate-*r* associate-*l*
expm1-log1p-u insert-posit16 log1p-expm1-u add-log-exp
pow-prod-down prod-exp *-commutative cbrt-unprod fma-udef unswap-sqr
Counts
2 → 32
Calls
2 calls:
5.0ms
(* 2/3 x)
0.0ms
(fma (* 2/3 x) (* x x) (- 2 (* x x)))

series57.0ms

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

simplify737.0ms

Counts
38 → 38
Iterations
IterNodes
done2000
3985
2257
1108
053

prune159.0ms

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 0.6b

localize40.0ms

Local error

Found 4 expressions with local error:

1.5b
(cbrt (* (* (fma (* 2/3 x) (* x x) (- 2 (* x x))) (fma (* 2/3 x) (* x x) (- 2 (* x x)))) (fma (* 2/3 x) (* x x) (- 2 (* x x)))))
5.6b
(fma (* 2/3 x) (* x x) (- 2 (* x x)))
5.6b
(fma (* 2/3 x) (* x x) (- 2 (* x x)))
5.6b
(fma (* 2/3 x) (* x x) (- 2 (* x x)))

rewrite13.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
cbrt-prod pow1/3 pow3 rem-cbrt-cube
Counts
4 → 46
Calls
4 calls:
12.0ms
(cbrt (* (* (fma (* 2/3 x) (* x x) (- 2 (* x x))) (fma (* 2/3 x) (* x x) (- 2 (* x x)))) (fma (* 2/3 x) (* x x) (- 2 (* x x)))))
0.0ms
(fma (* 2/3 x) (* x x) (- 2 (* x x)))
0.0ms
(fma (* 2/3 x) (* x x) (- 2 (* x x)))
0.0ms
(fma (* 2/3 x) (* x x) (- 2 (* x x)))

series192.0ms

Counts
4 → 12
Calls
4 calls:
59.0ms
(cbrt (* (* (fma (* 2/3 x) (* x x) (- 2 (* x x))) (fma (* 2/3 x) (* x x) (- 2 (* x x)))) (fma (* 2/3 x) (* x x) (- 2 (* x x)))))
40.0ms
(fma (* 2/3 x) (* x x) (- 2 (* x x)))
43.0ms
(fma (* 2/3 x) (* x x) (- 2 (* x x)))
49.0ms
(fma (* 2/3 x) (* x x) (- 2 (* x x)))

simplify593.0ms

Counts
58 → 58
Iterations
IterNodes
done2001
3540
2152
163
036

prune314.0ms

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 0.6b

localize40.0ms

Local error

Found 4 expressions with local error:

0.0b
(fma (* 2/3 x) (* x x) 2)
0.3b
(* 2/3 x)
4.1b
(posit16->real (real->posit16 (- (fma (* 2/3 x) (* x x) 2) (* x x))))
5.6b
(- (fma (* 2/3 x) (* x x) 2) (* x x))

rewrite24.0ms

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt
*-un-lft-identity add-cube-cbrt
pow1 add-cbrt-cube add-exp-log add-log-exp
expm1-log1p-u insert-posit16 log1p-expm1-u
fma-neg associate-*r* associate-*l* prod-diff
fma-udef
sub-neg flip3-- diff-log pow-prod-down prod-exp associate--l+ *-commutative cbrt-unprod remove-posit16 flip-- difference-of-squares unswap-sqr
Counts
4 → 66
Calls
4 calls:
0.0ms
(fma (* 2/3 x) (* x x) 2)
10.0ms
(* 2/3 x)
0.0ms
(posit16->real (real->posit16 (- (fma (* 2/3 x) (* x x) 2) (* x x))))
12.0ms
(- (fma (* 2/3 x) (* x x) 2) (* x x))

series240.0ms

Counts
4 → 12
Calls
4 calls:
103.0ms
(fma (* 2/3 x) (* x x) 2)
16.0ms
(* 2/3 x)
64.0ms
(posit16->real (real->posit16 (- (fma (* 2/3 x) (* x x) 2) (* x x))))
57.0ms
(- (fma (* 2/3 x) (* x x) 2) (* x x))

simplify555.0ms

Counts
78 → 78
Iterations
IterNodes
done2001
2496
1196
094

prune708.0ms

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 0.6b

regimes144.0ms

Accuracy

96.7% (0.5b remaining)

Error of 0.9b against oracle of 0.4b and baseline of 16.3b

bsearch235.0ms

Steps
ItersRangePoint
9
0.5242927222148749
19453700.538560145
41.6575809018513

simplify6.0ms

Iterations
IterNodes
done33
133
028

end0.0ms

sample10.9s

Algorithm
intervals
Results
2.9s1899×body10240exit
2.9s9973×body80valid
2.7s1743×body1280valid
1.5s1295×body640valid
469.0ms620×body320valid
142.0ms307×body160valid