Details

Time bar (total: 17.6s)

sample104.0ms

Algorithm
halfpoints

simplify12.0ms

Counts
1 → 1
Iterations
IterNodes
done17
217
116
011

prune9.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 1.2b

localize191.0ms

Local error

Found 3 expressions with local error:

0.2b
(+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))
0.3b
(-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))
1.0b
(/.p16 (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))

rewrite59.0ms

Algorithm
rewrite-expression-head
Rules
163×*p16-lft-identity-expand p16-*-un-lft-identity
96×p16-times-frac
75×*p16-rgt-identity-expand
56×distribute-lft-out--
40×p16-distribute-lft-out distribute-lft-out
15×introduce-quire
14×distribute-rgt-out--
12×associate-/r*
10×distribute-rgt-out
associate-/l*
+p16-lft-identity-expand -p16-rgt-identity-expand +p16-rgt-identity-expand
/p16-rgt-identity-expand insert-quire-fdp-add insert-quire-fdp-sub
associate-+l+ associate-+r+ associate--l+ p16-flip-- *-commutative associate--r+ associate-/l/
associate--l- +-commutative insert-quire-sub associate-+r- sub-neg insert-quire-add associate-/r/ associate-+l- associate--r-
Counts
3 → 184
Calls
3 calls:
11.0ms
(+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))
7.0ms
(-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))
34.0ms
(/.p16 (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))

series0.0ms

Counts
3 → 3
Calls
3 calls:
0.0ms
(+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))
0.0ms
(-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))
0.0ms
(/.p16 (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))

simplify1.9s

Counts
187 → 187
Iterations
IterNodes
done5014
32254
2354
179
045

prune707.0ms

Pruning

6 alts after pruning (6 fresh and 0 done)

Merged error: 0.8b

localize239.0ms

Local error

Found 3 expressions with local error:

0.2b
(+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))
1.0b
(/.p16 (quire16->posit16 (quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))
6.3b
(quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)

rewrite55.0ms

Algorithm
rewrite-expression-head
Rules
60×*p16-lft-identity-expand p16-*-un-lft-identity
36×p16-times-frac
30×*p16-rgt-identity-expand
20×p16-distribute-lft-out distribute-lft-out
12×associate-/r*
introduce-quire
distribute-rgt-out insert-quire-fdp-add
+p16-lft-identity-expand -p16-rgt-identity-expand /p16-rgt-identity-expand +p16-rgt-identity-expand
associate-/l*
associate-+l+ associate-+r+
+-commutative associate-+r- insert-quire-add associate-/r/ *-commutative associate-+l- associate-/l/
Counts
3 → 91
Calls
3 calls:
17.0ms
(+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))
34.0ms
(/.p16 (quire16->posit16 (quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))
0.0ms
(quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)

series0.0ms

Counts
3 → 3
Calls
3 calls:
0.0ms
(+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))
0.0ms
(/.p16 (quire16->posit16 (quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im)))
0.0ms
(quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)

simplify6.0s

Counts
94 → 94
Iterations
IterNodes
done5001
41113
3252
287
138
031

prune692.0ms

Pruning

6 alts after pruning (6 fresh and 0 done)

Merged error: 0.8b

localize280.0ms

Local error

Found 3 expressions with local error:

1.0b
(/.p16 (quire16->posit16 (quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)) (quire16->posit16 (quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)))
5.4b
(quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)
6.3b
(quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)

rewrite3.0ms

Algorithm
rewrite-expression-head
Rules
*p16-lft-identity-expand p16-times-frac *p16-rgt-identity-expand p16-*-un-lft-identity
associate-/r* /p16-rgt-identity-expand associate-/l*
+p16-lft-identity-expand introduce-quire -p16-rgt-identity-expand associate-/r/ +p16-rgt-identity-expand associate-/l/
Counts
3 → 25
Calls
3 calls:
2.0ms
(/.p16 (quire16->posit16 (quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)) (quire16->posit16 (quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)))
0.0ms
(quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)
0.0ms
(quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)

series0.0ms

Counts
3 → 3
Calls
3 calls:
0.0ms
(/.p16 (quire16->posit16 (quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)) (quire16->posit16 (quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)))
0.0ms
(quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)
0.0ms
(quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)

simplify83.0ms

Counts
28 → 28
Iterations
IterNodes
done102
7102
6101
594
485
375
258
126
024

prune462.0ms

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0.8b

localize371.0ms

Local error

Found 4 expressions with local error:

0.3b
(/.p16 (real->posit16 1.0) (/.p16 (quire16->posit16 (quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)) (quire16->posit16 (quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im))))
1.1b
(/.p16 (quire16->posit16 (quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)) (quire16->posit16 (quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)))
5.4b
(quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)
6.3b
(quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)

rewrite13.0ms

Algorithm
rewrite-expression-head
Rules
84×p16-times-frac
55×*p16-lft-identity-expand p16-*-un-lft-identity
54×*p16-rgt-identity-expand
19×associate-/r*
14×associate-/r/
11×/p16-rgt-identity-expand associate-/l*
associate-/l/
+p16-lft-identity-expand introduce-quire -p16-rgt-identity-expand +p16-rgt-identity-expand remove-double-div.p16
Counts
4 → 100
Calls
4 calls:
7.0ms
(/.p16 (real->posit16 1.0) (/.p16 (quire16->posit16 (quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)) (quire16->posit16 (quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im))))
2.0ms
(/.p16 (quire16->posit16 (quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)) (quire16->posit16 (quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)))
0.0ms
(quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)
0.0ms
(quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)

series0.0ms

Counts
4 → 4
Calls
4 calls:
0.0ms
(/.p16 (real->posit16 1.0) (/.p16 (quire16->posit16 (quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)) (quire16->posit16 (quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im))))
0.0ms
(/.p16 (quire16->posit16 (quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)) (quire16->posit16 (quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)))
0.0ms
(quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)
0.0ms
(quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)

simplify936.0ms

Counts
104 → 104
Iterations
IterNodes
done1053
61053
51045
4997
3587
299
145
032

prune675.0ms

Pruning

9 alts after pruning (7 fresh and 2 done)

Merged error: 0.7b

regimes1.2s

Accuracy

0% (0.4b remaining)

Error of 1.0b against oracle of 0.6b and baseline of 1.0b

bsearch0.0ms

simplify3.0ms

Iterations
IterNodes
done13
013

end0.0ms

sample3.7s

Algorithm
halfpoints