Details

Time bar (total: 1.6m)

sample113.0ms

Algorithm
halfpoints

simplify44.0ms

Counts
1 → 1
Iterations
IterNodes
done17
217
116
011

prune12.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 1.1b

localize137.0ms

Local error

Found 3 expressions with local error:

0.1b
(+.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)))

rewrite38.0ms

Algorithm
rewrite-expression-head
Rules
11×*p16-lft-identity-expand *p16-rgt-identity-expand p16-*-un-lft-identity
p16-times-frac
+p16-lft-identity-expand introduce-quire -p16-rgt-identity-expand +p16-rgt-identity-expand
/p16-rgt-identity-expand
associate-/r* associate-/l*
associate-+l+ associate-+r+ associate--l+ p16-flip-- associate--r+ associate-/l/
associate--l- +-commutative insert-quire-sub associate-+r- sub-neg insert-quire-add associate-/r/ insert-quire-fdp-add associate-+l- insert-quire-fdp-sub associate--r-
Counts
3 → 61
Calls
3 calls:
14.0ms
(+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))
9.0ms
(-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))
13.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)))

simplify3.7s

Counts
64 → 64
Iterations
IterNodes
done5020
32194
2345
176
042

prune450.0ms

Pruning

6 alts after pruning (6 fresh and 0 done)

Merged error: 0.7b

localize122.0ms

Local error

Found 3 expressions with local error:

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)) (quire16->posit16 (quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)))
3.7b
(quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)

rewrite13.0ms

Algorithm
rewrite-expression-head
Rules
10×*p16-lft-identity-expand *p16-rgt-identity-expand p16-*-un-lft-identity
p16-times-frac
+p16-lft-identity-expand introduce-quire -p16-rgt-identity-expand /p16-rgt-identity-expand +p16-rgt-identity-expand
associate-/r* associate-/l*
associate--l+ p16-flip-- associate--r+ associate-/l/
associate--l- insert-quire-sub sub-neg associate-/r/ insert-quire-fdp-sub associate--r-
Counts
3 → 44
Calls
3 calls:
5.0ms
(-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im))
5.0ms
(/.p16 (-.p16 (*.p16 x.im y.re) (*.p16 x.re y.im)) (quire16->posit16 (quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)))
1.0ms
(quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)

series0.0ms

Counts
3 → 3
Calls
3 calls:
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)) (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)

simplify2.5s

Counts
47 → 47
Iterations
IterNodes
done5001
31362
2310
165
036

prune460.0ms

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0.7b

localize146.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)))
3.7b
(quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)
6.5b
(quire16-mul-sub (posit16->quire16 (*.p16 x.im y.re)) x.re y.im)

rewrite7.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:
4.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)))
1.0ms
(quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)
1.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)

simplify197.0ms

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

prune277.0ms

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 0.7b

localize175.0ms

Local error

Found 4 expressions with local error:

0.3b
(/.p16 (real->posit16 1.0) (quire16->posit16 (quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)))
0.9b
(*.p16 (/.p16 (real->posit16 1.0) (quire16->posit16 (quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im))) (quire16->posit16 (quire16-mul-sub (posit16->quire16 (*.p16 y.re x.im)) x.re y.im)))
3.7b
(quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)
6.5b
(quire16-mul-sub (posit16->quire16 (*.p16 y.re x.im)) x.re y.im)

rewrite15.0ms

Algorithm
rewrite-expression-head
Rules
18×*p16-lft-identity-expand p16-times-frac *p16-rgt-identity-expand p16-*-un-lft-identity
13×associate-*l*
/p16-rgt-identity-expand
+p16-lft-identity-expand +p16-rgt-identity-expand
associate-/r* associate-*r* associate-/l*
distribute-rgt-in distribute-lft-in introduce-quire -p16-rgt-identity-expand associate-/r/
associate-*l/ associate-*r/ *-commutative associate-/l/
Counts
4 → 56
Calls
4 calls:
4.0ms
(/.p16 (real->posit16 1.0) (quire16->posit16 (quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)))
6.0ms
(*.p16 (/.p16 (real->posit16 1.0) (quire16->posit16 (quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im))) (quire16->posit16 (quire16-mul-sub (posit16->quire16 (*.p16 y.re x.im)) x.re y.im)))
1.0ms
(quire16-mul-add (posit16->quire16 (*.p16 y.re y.re)) y.im y.im)
1.0ms
(quire16-mul-sub (posit16->quire16 (*.p16 y.re x.im)) x.re y.im)

series0.0ms

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

simplify1.4m

Counts
60 → 60
Iterations
IterNodes
done5058
64872
51178
4359
3215
2125
150
029

prune18.0ms