emergency commit
[cl-cudd.git] / distr / cudd / doc / cudd.ps
blob739fe48d42b820b99af8c6475a3f04574e24feb2
1 %!PS-Adobe-2.0
2 %%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
3 %%Title: cudd.dvi
4 %%Pages: 47
5 %%PageOrder: Ascend
6 %%BoundingBox: 0 0 596 842
7 %%DocumentFonts: Times-Roman CMMI12 Times-Bold Times-Italic CMSY10 CMR10
8 %%+ CMMI10 CMMI8 Courier CMSY8 CMR8 Times-BoldItalic
9 %%EndComments
10 %DVIPSWebPage: (www.radicaleye.com)
11 %DVIPSCommandLine: dvips -Ppdf -o cudd.ps cudd
12 %DVIPSParameters: dpi=8000, compressed
13 %DVIPSSource:  TeX output 2009.02.20:2323
14 %%BeginProcSet: tex.pro
16 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
17 N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
18 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
19 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
20 landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
21 mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
22 matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
23 exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
24 statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
25 N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
26 /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
27 /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
28 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
29 df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
30 definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
31 }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
32 B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
33 1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
34 /BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
35 setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
36 restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
37 /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
38 }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
39 bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
40 mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
41 SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
42 userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
43 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
44 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
45 /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
46 /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
47 (LaserWriter 16/600)]{A length product length le{A length product exch 0
48 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
49 end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
50 grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
51 imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
52 exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
53 fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
54 delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
55 B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
56 p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
57 rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
59 %%EndProcSet
60 %%BeginProcSet: alt-rule.pro
62 % Patch by TVZ
63 % Makes dvips files draw rules with stroke rather than fill.
64 % Makes narrow rules more predictable at low resolutions
65 % after distilling to PDF.
66 % May have unknown consequences for very thick rules.
67 % Tested only with dvips 5.85(k).
68 TeXDict begin
69 /QV {
70   gsave newpath /ruleY X /ruleX X
71   Rx Ry gt
72   { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry }
73   { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx }
74   ifelse
75   setlinewidth 0 setlinecap stroke grestore
76 } bind def
77 end
79 %%EndProcSet
80 %%BeginProcSet: texc.pro
82 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
83 N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
84 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
85 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
86 landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
87 mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
88 matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
89 exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
90 statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
91 N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
92 /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
93 /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
94 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
95 df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
96 definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
97 }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
98 B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
99 1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
100 1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
101 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
102 sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
103 rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
104 gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
105 /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
106 /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
107 A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
108 get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
109 ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
110 fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
111 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
112 chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
113 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
114 forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
115 /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
116 }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
117 bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
118 mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
119 SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
120 userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
121 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
122 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
123 /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
124 /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
125 (LaserWriter 16/600)]{A length product length le{A length product exch 0
126 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
127 end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
128 grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
129 imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
130 exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
131 fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
132 delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
133 B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
134 p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
135 rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
137 %%EndProcSet
138 %%BeginProcSet: 8r.enc
139 % File  8r.enc as of 2002-03-12 for PSNFSS 9
141 % This is the encoding vector for Type1 and TrueType fonts to be used
142 % with TeX.  This file is part of the PSNFSS bundle, version 9
144 % Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt
146 % Idea is to have all the characters normally included in Type 1 fonts
147 % available for typesetting. This is effectively the characters in Adobe
148 % Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro.
150 % Character code assignments were made as follows:
152 % (1) the Windows ANSI characters are almost all in their Windows ANSI
153 % positions, because some Windows users cannot easily reencode the
154 % fonts, and it makes no difference on other systems. The only Windows
155 % ANSI characters not available are those that make no sense for
156 % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
157 % (173). quotesingle and grave are moved just because it's such an
158 % irritation not having them in TeX positions.
160 % (2) Remaining characters are assigned arbitrarily to the lower part
161 % of the range, avoiding 0, 10 and 13 in case we meet dumb software.
163 % (3) Y&Y Lucida Bright includes some extra text characters; in the
164 % hopes that other PostScript fonts, perhaps created for public
165 % consumption, will include them, they are included starting at 0x12.
167 % (4) Remaining positions left undefined are for use in (hopefully)
168 % upward-compatible revisions, if someday more characters are generally
169 % available.
171 % (5) hyphen appears twice for compatibility with both ASCII and Windows.
173 % (6) /Euro is assigned to 128, as in Windows ANSI
175 /TeXBase1Encoding [
176 % 0x00 (encoded characters from Adobe Standard not in Windows 3.1)
177   /.notdef /dotaccent /fi /fl
178   /fraction /hungarumlaut /Lslash /lslash
179   /ogonek /ring /.notdef
180   /breve /minus /.notdef 
181 % These are the only two remaining unencoded characters, so may as
182 % well include them.
183   /Zcaron /zcaron 
184 % 0x10
185  /caron /dotlessi 
186 % (unusual TeX characters available in, e.g., Lucida Bright)
187  /dotlessj /ff /ffi /ffl 
188  /.notdef /.notdef /.notdef /.notdef
189  /.notdef /.notdef /.notdef /.notdef
190  % very contentious; it's so painful not having quoteleft and quoteright
191  % at 96 and 145 that we move the things normally found there down to here.
192  /grave /quotesingle 
193 % 0x20 (ASCII begins)
194  /space /exclam /quotedbl /numbersign
195  /dollar /percent /ampersand /quoteright
196  /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
197 % 0x30
198  /zero /one /two /three /four /five /six /seven
199  /eight /nine /colon /semicolon /less /equal /greater /question
200 % 0x40
201  /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O
202 % 0x50
203  /P /Q /R /S /T /U /V /W
204  /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
205 % 0x60
206  /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o
207 % 0x70
208  /p /q /r /s /t /u /v /w
209  /x /y /z /braceleft /bar /braceright /asciitilde
210  /.notdef % rubout; ASCII ends
211 % 0x80
212  /Euro /.notdef /quotesinglbase /florin
213  /quotedblbase /ellipsis /dagger /daggerdbl
214  /circumflex /perthousand /Scaron /guilsinglleft
215  /OE /.notdef /.notdef /.notdef
216 % 0x90
217  /.notdef /.notdef /.notdef /quotedblleft
218  /quotedblright /bullet /endash /emdash
219  /tilde /trademark /scaron /guilsinglright
220  /oe /.notdef /.notdef /Ydieresis
221 % 0xA0
222  /.notdef % nobreakspace
223  /exclamdown /cent /sterling
224  /currency /yen /brokenbar /section
225  /dieresis /copyright /ordfeminine /guillemotleft
226  /logicalnot
227  /hyphen % Y&Y (also at 45); Windows' softhyphen
228  /registered
229  /macron
230 % 0xD0
231  /degree /plusminus /twosuperior /threesuperior
232  /acute /mu /paragraph /periodcentered
233  /cedilla /onesuperior /ordmasculine /guillemotright
234  /onequarter /onehalf /threequarters /questiondown
235 % 0xC0
236  /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
237  /Egrave /Eacute /Ecircumflex /Edieresis
238  /Igrave /Iacute /Icircumflex /Idieresis
239 % 0xD0
240  /Eth /Ntilde /Ograve /Oacute
241  /Ocircumflex /Otilde /Odieresis /multiply
242  /Oslash /Ugrave /Uacute /Ucircumflex
243  /Udieresis /Yacute /Thorn /germandbls
244 % 0xE0
245  /agrave /aacute /acircumflex /atilde
246  /adieresis /aring /ae /ccedilla
247  /egrave /eacute /ecircumflex /edieresis
248  /igrave /iacute /icircumflex /idieresis
249 % 0xF0
250  /eth /ntilde /ograve /oacute
251  /ocircumflex /otilde /odieresis /divide
252  /oslash /ugrave /uacute /ucircumflex
253  /udieresis /yacute /thorn /ydieresis
254 ] def
256 %%EndProcSet
257 %%BeginProcSet: texps.pro
259 TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
260 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
261 exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
262 ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
263 pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
264 div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
265 /nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
266 definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
267 sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
268 mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
269 exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
270 forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
273 %%EndProcSet
274 %%BeginProcSet: special.pro
276 TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
277 /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
278 /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
279 /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
280 /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
281 X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
282 /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
283 /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
284 {userdict/md get type/dicttype eq{userdict begin md length 10 add md
285 maxlength ge{/md md dup length 20 add dict copy def}if end md begin
286 /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
287 atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
288 itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
289 transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
290 curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
291 pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
292 if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
293 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
294 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
295 yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
296 neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
297 noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
298 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
299 neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
300 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
301 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
302 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
303 TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
304 Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
305 }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
306 save N userdict maxlength dict begin/magscale true def normalscale
307 currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
308 /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
309 psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
310 psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
311 TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
312 @MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
313 newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
314 closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
315 /@beginspecial{SDict begin/SpecialSave save N gsave normalscale
316 currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
317 N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
318 neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
319 rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
320 scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
321 lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
322 ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
323 /setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
324 pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
325 restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
326 /rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
327 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
328 moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
329 matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
330 savematrix setmatrix}N end
332 %%EndProcSet
333 %%BeginProcSet: color.pro
335 TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
336 setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
337 }repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
338 /TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
339 setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
340 /currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
341 known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
342 /Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
343 /Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
344 setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
345 setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
346 0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
347 /Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
348 setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
349 0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
350 0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
351 0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
352 /Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
353 setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
354 setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
355 0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
356 /Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
357 setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
358 0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
359 0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
360 0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
361 /BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
362 setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
363 /CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
364 0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
365 0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
366 0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
367 setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
368 0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
369 /Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
370 setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
371 0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
372 1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
373 /PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
374 setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
375 0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
376 DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
377 setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
378 setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
379 setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
381 %%EndProcSet
382 %%BeginFont: CMR8
383 %!PS-AdobeFont-1.1: CMR8 1.0
384 %%CreationDate: 1991 Aug 20 16:39:40
385 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
386 11 dict begin
387 /FontInfo 7 dict dup begin
388 /version (1.0) readonly def
389 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
390 /FullName (CMR8) readonly def
391 /FamilyName (Computer Modern) readonly def
392 /Weight (Medium) readonly def
393 /ItalicAngle 0 def
394 /isFixedPitch false def
395 end readonly def
396 /FontName /CMR8 def
397 /PaintType 0 def
398 /FontType 1 def
399 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
400 /Encoding 256 array
401 0 1 255 {1 index exch /.notdef put} for
402 dup 48 /zero put
403 dup 49 /one put
404 dup 50 /two put
405 dup 51 /three put
406 readonly def
407 /FontBBox{-36 -250 1070 750}readonly def
408 /UniqueID 5000791 def
409 currentdict end
410 currentfile eexec
411 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
412 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
413 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
414 D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
415 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
416 2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C
417 68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361
418 3645B82392D5CAE11A7CB49D7E2E82DCD485CBA1772CE422BB1D7283AD675B65
419 48A7EA0069A883EC1DAA3E1F9ECE7586D6CF0A128CD557C7E5D7AA3EA97EBAD3
420 9619D1BFCF4A6D64768741EDEA0A5B0EFBBF347CDCBE2E03D756967A16B613DB
421 0FC45FA2A3312E0C46A5FD0466AB097C58FFEEC40601B8395E52775D0AFCD7DB
422 8AB317333110531E5C44A4CB4B5ACD571A1A60960B15E450948A5EEA14DD330F
423 EA209265DB8E1A1FC80DCD3860323FD26C113B041A88C88A21655878680A4466
424 FA10403D24BB97152A49B842C180E4D258C9D48F21D057782D90623116830BA3
425 9902B3C5F2F2DD01433B0D7099C07DBDE268D0FFED5169BCD03D48B2F058AD62
426 D8678C626DC7A3F352152C99BA963EF95F8AD11DB8B0D351210A17E4C2C55AD8
427 9EB64172935D3C20A398F3EEEEC31551966A7438EF3FEE422C6D4E05337620D5
428 ACC7B52BED984BFAAD36EF9D20748B05D07BE4414A63975125D272FAD83F76E6
429 10FFF8363014BE526D580873C5A42B70FA911EC7B86905F13AFE55EB0273F582
430 83158793B8CC296B8DE1DCCF1250FD57CB0E035C7EDA3B0092ED940D37A05493
431 2EC54E09B984FCA4AB7D2EA182BCF1263AA244B07EC0EA901C077A059F709F30
432 4384CB5FA748F2054FAD9A7A43D4EA427918BD414F766531136B60C3477C6632
433 BEFE3897B58C19276A301926C2AEF2756B367319772C9B201C49B4D935A8267B
434 041D6F1783B6AEA4DAC4F5B3507D7032AA640AAB12E343A4E9BDCF419C04A721
435 3888B25AF4E293AACED9A6BDC78E61DA1C424C6503CC1885F762BE0618B16C14
436 7386EB4C4B9B3142B9662F48CF5B55DC44261F9F0F975611120F7B9846423136
437 B3A568B97F5822B76CF10ECD4CD0C64DC55413CC2E843FB37053EAFE985A98CF
438 9E408707AB2BBD2F036B622F74397BE4BEFA06A0CC51A30C326C3654B5E548B5
439 FD5BE6BFFD05A02E81F12A94892139862012A6776D80F0B7C3E90F8E34918601
440 8A6B25676CDD71F0DBD7CF514F0363B15B6C7E62EF9BE227EB164481CC0EF812
441 8B8B5FDD0FA1815E629760FDEAA026094F96B05BE963194E99D2E5444F62C26B
442 1BBAD76672EEC98948B7D9C81CAEBBB7C9CBA16CBDFC595D7AD3F92651B63D50
443 CC7E92F4E96C4DE2721AFEE94FBFE5843979D30068BC1F11E5374F6F6EF4586C
444 AB699727770D97A8681D2E75E907027302832D0834FD7BB48EE89D7F0A39E263
445 C34F09602BDEF782A7BCF182CB6D8603E31EF82E669B294BBE9B5AD29CD12FA9
446 DD1CAAC8AB4DBB663F8C50472C9D7CF3CFB9AE712D83B306991B89F75A87A6C8
447 CF7901236E9EE16204F26C79404A6EB87AC532A29C47C9455D0F3DCCA48E2B26
448 1240EB3CD115047EC6C4E3F5B3680127DF7509CD26BEF7C542D0332B2A2F680F
449 ECAC3A2C958DC3F17576DEBDB9478343EE622DF8C8F7C488ED049690697A6B1D
450 BAFF45A781099100DD7B0A0598A4A93E088E8B44198EB0DE3761F141AEF45C92
451 1A71F32189FEFCC7978570BEBD53305BFB9B68829998196345770721ABAE7410
452 50A99976446ABBBF31130CE1A85B4F37B85BBCCD2E31C072B96F005E7506BA7B
453 6AF46E32CEAB608411DACC4D93ECE77BC4C4282DE8FC4189C8661A93F0A3C0CC
454 B09077804522B3675B87F45E9E0AB99AFC3F6A979FB2030642DB80CBB4A92BA9
455 8FEADF534577FE567839008FEB0F6CD811ACB7CEDCEFC98807636A24B6EDAD43
456 83CE013C9E660F3F3DB842554D04B5D8277640A931ED4CC700F8BCFF901775C6
457 DBE1A76EE8ADC5601FF1DC4EC663E3E960064875BBCA81F5B82118A055D48C9D
458 C2DC4C00BB1B42B6C3D00354040080ACAD10EE6A464E5F62E5AC4236FF2D2A6A
459 BBFE55CD6E55990D15C6A13229F0AB706D61C746EF99E2AF9365
460 0000000000000000000000000000000000000000000000000000000000000000
461 0000000000000000000000000000000000000000000000000000000000000000
462 0000000000000000000000000000000000000000000000000000000000000000
463 0000000000000000000000000000000000000000000000000000000000000000
464 0000000000000000000000000000000000000000000000000000000000000000
465 0000000000000000000000000000000000000000000000000000000000000000
466 0000000000000000000000000000000000000000000000000000000000000000
467 0000000000000000000000000000000000000000000000000000000000000000
468 cleartomark
469 %%EndFont 
470 %%BeginFont: CMSY8
471 %!PS-AdobeFont-1.1: CMSY8 1.0
472 %%CreationDate: 1991 Aug 15 07:22:10
473 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
474 11 dict begin
475 /FontInfo 7 dict dup begin
476 /version (1.0) readonly def
477 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
478 /FullName (CMSY8) readonly def
479 /FamilyName (Computer Modern) readonly def
480 /Weight (Medium) readonly def
481 /ItalicAngle -14.035 def
482 /isFixedPitch false def
483 end readonly def
484 /FontName /CMSY8 def
485 /PaintType 0 def
486 /FontType 1 def
487 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
488 /Encoding 256 array
489 0 1 255 {1 index exch /.notdef put} for
490 dup 161 /minus put
491 dup 48 /prime put
492 readonly def
493 /FontBBox{-30 -955 1185 779}readonly def
494 /UniqueID 5000818 def
495 currentdict end
496 currentfile eexec
497 D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
498 7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
499 A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
500 E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
501 221A37D9A807DD01161779DDE7D5FC1B2109839E5B52DFBB2A7C1B5D8E7E8AA0
502 5B10EA43D6A8ED61AF5B23D49920D8F79DAB6A59062134D84AC0100187A6CD1F
503 80F5DDD9D222ACB1C23326A7656A635C4A241CCD32CBFDF8363206B8AA36E107
504 1477F5496111E055C7491002AFF272E46ECC46422F0380D093284870022523FB
505 DA1716CC4F2E2CCAD5F173FCBE6EDDB874AD255CD5E5C0F86214393FCB5F5C20
506 9C3C2BB5886E36FC3CCC21483C3AC193485A46E9D22BD7201894E4D45ADD9BF1
507 CC5CF6A5010B5654AC0BE0DA903DB563B13840BA3015F72E51E3BC80156388BA
508 F83C7D393392BCBC227771CDCB976E93302530FA3F4BEF341997D4302A48384A
509 CEFFC1559462EA5F60DC05245E8499D8E61397B2C094CEED1AF26EE15A837209
510 ECE64FEF41ABE8DDA7BE1F351CF14E07BA8FD40CEFBFC3CE7B9D4912D6FE752D
511 9CF163084E688DDCC4B5AAEDEB6E94DDDE34330BA35394A8B485E767F0F94A71
512 4532F3B89C51AC3FD1C082EF41EA489B9595B4120FDCA2F599C88F5058126CD1
513 4C7F96B4FE22BAB1A5E16F215DECBCE4186C68B6263BD5331CDC1FF9F30332A7
514 7B831255A41A642C5719272C6B5993171CA395A0D11B6376457EC30E1CDE47A4
515 9B9EE95D112C64084901B6357E881C0DEB6836B80F21E57B660388BA4F7B89EB
516 9AF7DE8AEA702FC5B765552F78058A20E424277F667A4E9955A797593CE44E19
517 A98F149CA17D6379040A1C836CA18234278DFDA205EFD55D527C7F38766D4C97
519 0000000000000000000000000000000000000000000000000000000000000000
520 0000000000000000000000000000000000000000000000000000000000000000
521 0000000000000000000000000000000000000000000000000000000000000000
522 0000000000000000000000000000000000000000000000000000000000000000
523 0000000000000000000000000000000000000000000000000000000000000000
524 0000000000000000000000000000000000000000000000000000000000000000
525 0000000000000000000000000000000000000000000000000000000000000000
526 0000000000000000000000000000000000000000000000000000000000000000
527 cleartomark
528 %%EndFont 
529 %%BeginFont: CMMI8
530 %!PS-AdobeFont-1.1: CMMI8 1.100
531 %%CreationDate: 1996 Jul 23 07:53:54
532 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
533 11 dict begin
534 /FontInfo 7 dict dup begin
535 /version (1.100) readonly def
536 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
537 /FullName (CMMI8) readonly def
538 /FamilyName (Computer Modern) readonly def
539 /Weight (Medium) readonly def
540 /ItalicAngle -14.04 def
541 /isFixedPitch false def
542 end readonly def
543 /FontName /CMMI8 def
544 /PaintType 0 def
545 /FontType 1 def
546 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
547 /Encoding 256 array
548 0 1 255 {1 index exch /.notdef put} for
549 dup 110 /n put
550 readonly def
551 /FontBBox{-24 -250 1110 750}readonly def
552 /UniqueID 5087383 def
553 currentdict end
554 currentfile eexec
555 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
556 3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
557 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
558 B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
559 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
560 D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
561 5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
562 4391C9DF440285B8FC159D0E98D4258FC57892DDF753642CD526A96ACEDA4120
563 788F22B1D09F149794E66DD1AC2C2B3BC6FEC59D626F427CD5AE9C54C7F78F62
564 C36F49B3C2E5E62AFB56DCEE87445A12A942C14AE618D1FE1B11A9CF9FAA1F32
565 617B598CE5058715EF3051E228F72F651040AD99A741F247C68007E68C84E9D1
566 D0BF99AA5D777D88A7D3CED2EA67F4AE61E8BC0495E7DA382E82DDB2B009DD63
567 532C74E3BE5EC555A014BCBB6AB31B8286D7712E0E926F8696830672B8214E9B
568 5D0740C16ADF0AFD47C4938F373575C6CA91E46D88DE24E682DEC44B57EA8AF8
569 4E57D45646073250D82C4B50CBBB0B369932618301F3D4186277103B53B3C9E6
570 DB42D6B30115F67B9D078220D5752644930643BDF9FACF684EBE13E39B65055E
571 B1BD054C324962025EC79E1D155936FE32D9F2224353F2A46C3558EF216F6BB2
572 A304BAF752BEEC36C4440B556AEFECF454BA7CBBA7537BCB10EBC21047333A89
573 8936419D857CD9F59EBA20B0A3D9BA4A0D3395336B4CDA4BA6451B6E4D1370FA
574 D9BDABB7F271BC1C6C48D9DF1E5A6FAE788F5609DE3C48D47A67097C547D9817
575 AD3A7CCE2B771843D69F860DA4059A71494281C0AD8D4BAB3F67BB6739723C04
576 AE05F9E35B2B2CB9C7874C114F57A185C8563C0DCCA93F8096384D71A2994748
577 A3C7C8B8AF54961A8838AD279441D9A5EB6C1FE26C98BD025F353124DA68A827
578 AE2AF8D25CA48031C242AA433EEEBB8ABA4B96821786C38BACB5F58C3D5DA011
579 85B385124C2B6534F3CD1866AF92009D93B97F763AA3CF46C60636D7FC1564CF
580 1DDFBC12CA37D27A79B11F2AFF2D70DBEE03CF1DFA5B864A2DC22266E4FA43DC
581 3F2CC229231F1F72874E6A74A90E8003B9AF1BFAA55C071FDDE5C94E4AE3C5BF
582 936EDFD4164624881410AB9EF0593F823D40BA7D059992104D08E41EBAD8F276
583 A84EE2C9AEBC7CCB72AA6B6E6FE52293DC7BC34C2D1B69418392608FC5920291
584 733654FA401E05F3E647B1C6AF4BECC3E802F9963344B05EC3DE8C774293CDB4
585 3F057D6F258BD341848FA7FDCFD4D1923FCAB51FA8ADAE6D9F19C1FFA6EB5E9F
586 ECF844CEC6C1320D3F00C7259EF5812526F58248C61F89A42D9C9288CA8076FA
587 77E1C950940D8D6A7D852A0D0ABEBF2EDEDCDF6DDE0C8CCAC8DA9B28207D9CF8
588 46446E1153D8D8795EE914B12349137D4BE461BCF5A6A3CF15FA5B9E91EB9B90
589 0483916D0CD40EDC29EB0B996B16462A64F3B19B57802D9AFE3F1D91D9A8553C
590 531EB8B4E975037ED620EED3020388BFE705958B1E3AD4638B9CC8644C2F4024
591 5DACD97151C3DF7A448CC3
592 0000000000000000000000000000000000000000000000000000000000000000
593 0000000000000000000000000000000000000000000000000000000000000000
594 0000000000000000000000000000000000000000000000000000000000000000
595 0000000000000000000000000000000000000000000000000000000000000000
596 0000000000000000000000000000000000000000000000000000000000000000
597 0000000000000000000000000000000000000000000000000000000000000000
598 0000000000000000000000000000000000000000000000000000000000000000
599 0000000000000000000000000000000000000000000000000000000000000000
600 cleartomark
601 %%EndFont 
602 %%BeginFont: CMMI10
603 %!PS-AdobeFont-1.1: CMMI10 1.100
604 %%CreationDate: 1996 Jul 23 07:53:57
605 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
606 11 dict begin
607 /FontInfo 7 dict dup begin
608 /version (1.100) readonly def
609 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
610 /FullName (CMMI10) readonly def
611 /FamilyName (Computer Modern) readonly def
612 /Weight (Medium) readonly def
613 /ItalicAngle -14.04 def
614 /isFixedPitch false def
615 end readonly def
616 /FontName /CMMI10 def
617 /PaintType 0 def
618 /FontType 1 def
619 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
620 /Encoding 256 array
621 0 1 255 {1 index exch /.notdef put} for
622 dup 59 /comma put
623 dup 76 /L put
624 dup 85 /U put
625 dup 102 /f put
626 dup 103 /g put
627 dup 104 /h put
628 dup 105 /i put
629 dup 110 /n put
630 dup 120 /x put
631 readonly def
632 /FontBBox{-32 -250 1048 750}readonly def
633 /UniqueID 5087385 def
634 currentdict end
635 currentfile eexec
636 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
637 3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
638 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
639 B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
640 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
641 D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
642 9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
643 990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
644 6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
645 DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
646 59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
647 D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
648 8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
649 6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
650 1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
651 03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
652 95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
653 74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
654 3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
655 47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
656 AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
657 42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
658 40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
659 B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
660 95601766758C197F327101A9C9BF396ED625E27A7791ADF7474135C50F2F927A
661 5B5E332A003F858399565E4C02931D19AC2866CEFAB2288ACA215F2B7BE37156
662 89009B14D623E0A872AC17AA52D29EA6E8D725A05A300AAD937745F61803544E
663 978846734C4C8FEA576A5D77903920CF4531C051776BBDF99ABD8C09849E586C
664 ED0E1D51A0047D2FF9097EA10DE0E397D69BC302D7A949CC435EE46C508FB6D6
665 DAA66F2EDD3A6881D50A440A702018A99102DE5039F7CA1EF9F4C36D5C66AA4C
666 97C81079C961F48C6EC9E1C26E3740945443C9A262373410B96043CF52CA074A
667 D18DAFCE0ADE27C2C4A109C21C1B2A8E2F9DF1F14ED57195984F76A5B4213F69
668 53C017777402DB63066D528BD2C690959CFE72FAE34C98CA3E797C3CE2B8544E
669 143B2BB6D7ED137528BC8BB4AB4BB49A295C43C96E92D2D4AA0157DD37CFE2DA
670 921259A6876045871A994E1316BD39142279BEED0AFCAE7F8D847650D409C934
671 D8D16486AC153C8C6F5849270F71DBB5A744A258D5EF64F8819025F49B5A3D29
672 889F9CE6CAFB1A44F503559B63B9BEB727C9FD6F99F1E618DEC55C349E1D24BA
673 3E4599AC645E89E2852D0E152DC94465071B3835EDC93C2924778DFAC1664734
674 98F5583DDF83315203AAF78897CE1768F22083276F6D29D07C72CE4B3FF6F293
675 28DC673F80626F8654E4FCF6A0263C1DB7AC8F63790729256F9B969908F3A176
676 05D7AD6ED5F8E8AF79890282AE7B4C55AEE6526920983A72C5876DE620CF4E3A
677 7D1376FEF0B296F62C5C29D8D9BEE6B622AAFB66335001F92DAA1E119CFD5101
678 08FCB0F238A64FCF56A62C7C08C0871C8D15DB0374C53D39CCD8B1058BAA3FAF
679 F9785E2D17FCE278B5179EB8AE77B6F1ADBDA6284B0658A07D91B044ABD82EE8
680 C9F1763A966496728615DD1EBAB159D7CF6168DBB2582815DA6733785828DF75
681 D6848392D3E479E5527DFC967F36D3D66CA6FE01FC6FA9BF6AD401051013DE6A
682 C69971B1271DFE6ED6A8B53B394CE11FEE75CB1F9AB278A74FD2765FFA3773F9
683 F61B5B11C462CE38287536B946E7BD1F8AE0C8F5804B04AFDBB624A2489DAE07
684 903F90656C96D1E1C2101FBB9B48C66BFED1B572CEEA04A16AAFE734E754251F
685 EC12CAF4D56AA5A936D40CBB44E76FF4780B8594967138A1E3092254DB2D4C2C
686 CDECE9AF76FAF9B3DED9847C79C1723CDD328E4B0B15566C6CD8490ADFEB9169
687 418B34C36EF4FB43EF7FB5F1BFE7F795E85FEBA443DCABD076418BA94DAE6505
688 D4E6075D792C0C1A6BDFF56326FBA965DFB9519F072BBB8CA486D4C9AA6FCF62
689 3CDACB91B41C69837DB4E6DACD0AC582A044D526E340343720AED1742DC4E52F
690 67579B3A625C4B5E508BCFF3DA667DAE69B25F9D50996033797C42D7CBD85F99
691 AB2CDCF739E3B2C6AEA3C315AC2D0F0D48B293B1397A9C1E304260CD8D0C3497
692 27385284419D6B3BFCD701C367149332FA1A58EAA22A193C24375D40482129C0
693 55BD4147CF597B64FD1F3F3545A03235B6918790D39B7473FE8AE5ED218500D2
694 1F6B8EE7632762D06578544C16D9D3866B4A8295904C95CE224E15044770C7B8
695 F7408C215A0FA286CAE554D3C51D6BF20B33F4890784816A1AD1B202C381DA82
696 01CBEFC0B043181DCD849BCCF035C87708B6E3A9CE4D68B61E35B9CF54123A30
697 0939400BA136E6CD4D30F42259ADDAAC17D613E6998BBE4F37C414F397D802AF
698 83EB5B4247C648B834C3F59C566F252EACE08706E410299F72BEAB9A49274E5E
699 74F834B4A5983F4C00932124B5D9DFA54E5EF7C1CB9A97C29B49BBCE6F00AE13
700 E9CB172D2033E719841728DAB47C858BA8C0687B844B7FC5C2513F5A88A9E5DF
701 436A28193F1C9A42F840634CCB6681EFC5249080769728E330520A5D6D50164C
702 0C9A8456535BC89E45BDA70C62CC42C5E750470EFAE512202D95E5BAF604352E
703 8001E29161B7D6FB6CAD331E42E636021B2854923894715B496038F4AEDBD1E9
704 12CC6F15B440C87B8633C43B5D696AFE0C8ACDDC98503A6B3F8685987D178FD6
705 E3E8DC9763CCB10ED3D8E065CF3354496D648053B2F0B7B5596528AA91EB6F7D
706 F7E856ECB8DDB8523CAB5CB6349827450C58A3B007CB9928AF1E98DF77D84B4A
707 A97B85CEC023289C82A2189AB947C56BAA64911653C2FFFB4D546F3A08821136
708 14E904163C9F1CBC64BCC368CBE5764423BB308364B8CA907F38687A153BB01F
709 6BAE773B21DB3FFE55F9523A52C6286FA2C090F4B8EA11A7C793AC55AAEDDF0C
710 5E9219B11A940F1ACDE2E124F42F040C9B29D8A56099B0592E1FC33C42B5BAF5
711 5CD5E0997B66D81132C4DEE5A9B34AB0761164E23B1418D9AF2EF466EE648BF7
712 B550A0559B37AA4EEFE096D5B7B65A891FBB0364CDB8FAC49A7011152CA04B0C
713 4A91E982CF0E718DBDCAE97F90BC2D22EEA14CDE4003702563D5E02D758A3839
714 4A4DDC3DF05069E1F23CB5B5ED68DBFDD1E26FF41967D5158056D86DE8BFAE94
715 407645A693988C796417224C91661505FA3983863E2563E4228A5E76BA5E72B9
716 10C08AF95D0C4C29E812EF8B3E2CD401562C1C7A35E49054D492DE9712D89C49
717 FCB524E3D479A05DABA3D774E30F247A9287407468809AB93E53C3F9B5F5A6D7
718 74F447C46BDA6AC95BBFF5A39268259C1E4A4C16FBE30C2DAD58C1D3F9DF5887
719 CFE667D2E29DDBA05CE796355F0E1EC3A10FA0421074651E0B584FBD4A04D4C1
720 3B4E8E729EB0F7676958F4A3677504132AEAF0DF00F781E4CC4E055917D0F363
721 327C3C8E48E75675D425B02D4387269FC8487A325155B0335D
722 0000000000000000000000000000000000000000000000000000000000000000
723 0000000000000000000000000000000000000000000000000000000000000000
724 0000000000000000000000000000000000000000000000000000000000000000
725 0000000000000000000000000000000000000000000000000000000000000000
726 0000000000000000000000000000000000000000000000000000000000000000
727 0000000000000000000000000000000000000000000000000000000000000000
728 0000000000000000000000000000000000000000000000000000000000000000
729 0000000000000000000000000000000000000000000000000000000000000000
730 cleartomark
731 %%EndFont 
732 %%BeginFont: CMR10
733 %!PS-AdobeFont-1.1: CMR10 1.00B
734 %%CreationDate: 1992 Feb 19 19:54:52
735 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
736 11 dict begin
737 /FontInfo 7 dict dup begin
738 /version (1.00B) readonly def
739 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
740 /FullName (CMR10) readonly def
741 /FamilyName (Computer Modern) readonly def
742 /Weight (Medium) readonly def
743 /ItalicAngle 0 def
744 /isFixedPitch false def
745 end readonly def
746 /FontName /CMR10 def
747 /PaintType 0 def
748 /FontType 1 def
749 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
750 /Encoding 256 array
751 0 1 255 {1 index exch /.notdef put} for
752 dup 40 /parenleft put
753 dup 41 /parenright put
754 dup 43 /plus put
755 dup 48 /zero put
756 dup 49 /one put
757 dup 50 /two put
758 dup 53 /five put
759 dup 61 /equal put
760 readonly def
761 /FontBBox{-251 -250 1009 969}readonly def
762 /UniqueID 5000793 def
763 currentdict end
764 currentfile eexec
765 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
766 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
767 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
768 D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
769 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
770 2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
771 87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
772 D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
773 92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
774 295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
775 409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
776 4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
777 2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
778 0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
779 B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
780 24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
781 43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
782 D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
783 5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
784 96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
785 7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC390E75D51F36C3E61E
786 E84B5AD036ADADEBD4F8D399AA559B34270D370DEDF077D1D49253F313C333CB
787 F22FD740EDE076FE3383503F159888E77132A06528CEBA5BB0E57C07D36B73D7
788 C81B71200D95D73A1AD33BBA5CA3E34B94447EAB8D27625CBFF13B56F87A9B74
789 4B52A09BAB0AABD5E398B1E5E9868BC080EFC7ECBDA4D6817C3255A51A814A04
790 0839172E2CCECB4F6E7B5B6B3B61D5858256AD27D93969EBB34C7EE68BF805D0
791 39CA6AC7DECCD1A395E7BA297AB0E97B3290EDAED775EAB0D7D553F222A3B014
792 FFA358EE448BBB24E1B44CE0BB474DFA01B0F4C4964248444FCA4DDEA8FDA9B8
793 82F96DCBEF94CAC9C8F48922899CB1E7D70F650E6471E5408C44554E72599D97
794 BC1D32360ECFB378192605E726A3DDA7E5B02736CEB7BE8A5C27AE952F4946D0
795 1DD1D65C1D50D0317984B781D64B6075D35EC1E3507FD4FE2E7097A0EE116EEC
796 3497D2D84B19F68EBF7125FB02920466AE4FE25A3C3068A83A513556D05359A3
797 93B6C6929BA47044787EEBA3A38E8266CF1D13DB69779644DF8AFE2C2C5C81F9
798 75CBC9CA07E6CB70211CA62FD7CF596132333970E5233AAFBF984EC110664810
799 AEFBADCE663CADF91D36D1587C5D7E7F63E3A674856AD7CDB99CD276D3659ED0
800 CA0FDC17251E69BA7F2F3AC57257831C31AFBB0DADF44F7E6EF84D63C03E75FF
801 886FFDAF8153EA8E0779E46935AB0AEFC84AC2061291D39E5F67FB75BEA48EDA
802 030512CDB14B16D466CFBC58D3764B83AF5C00D05A3F052F53BBE4E1417773CA
803 BDBEAC50BB7BFF981255BDA6650870E4D67BCB80A63BA050F2650934CB6E742B
804 B2B2A115C1F9827C979E8F2E92C0A1F428288643C8A27B7105587366E1BFF1FB
805 056DE92CAD4A7F391A483DE4E9930E8C5BA9B215F1E3FA4798A1740A9B72810A
806 44CD1D1ECAC8ED7BA3655C4EEF6BF28A2B0B23B0BF783A4FBDDB1246B5EEA601
807 6440F98C0A3B6ED360561479EA83990A78A0F4608698B30FE6476AED9349D11F
808 FB467D3C19D7A3539B8A2DA0C54454A231B87FB441A1BE6893E0F67081E8FF09
809 FC20412C452D8227D4BA7665EA8F14A1987845CF8570EDD926F4EF5F2D85DB99
810 736D7A939D4313F589033FA135D6366EB8B63C026357360A9E8717656ADABA76
811 11B9D672B7D57F1422CAEA295A774CB1F6BEAE51A7A9F7EACF6F22CC6412F1D6
812 9DDF884EB94F91B5F301039EE962C51F7FCEF8319CE80F46A7E3187EE60342DB
813 4057C2374CF68AAD30B5979B24D41ED8A803A1E6EA845D7E7675031A2D4257D8
814 4BE91A75006673CE3C24AA4C4138EED6DE5147FD16049BC523D54F26BF951AAC
815 85157DB39E8B38798267AE2E5266331CFAA0E4D18D2F5C50277BE056498E569E
816 90AB0A7127F94F0EEC3FC2DC7BF421A2A855318646BACC78EC03D14CC41AB9CA
817 61649659F81614F8FA9E052F37445DBAF2B0873A06015E16A268544FB047AD0A
818 E9EF324844E8CA272D00944D54B691CA137E1CF59B69F59D5F9A40EEA081C9EC
819 6AD88DB832E588F5AACA900198105A8D59C215DCD387B32FE34E9B8476AB5C7A
820 B739EEE6840ACBFDC79501A04FFB2A57D3A4D3D181D68F074DFB0E828C41FBE3
821 E7D0F2A7CE0AC1C7ED09FD9C6E085C89E8BC46BA83A8CED54EDB6EDE1B55B349
822 84C37F33BB71994A8EF29050A902448E21CA0B2B5E9DDCF43ACBB79CC841E7EA
823 5D8BA0D8C18DDFB3B72559BF6251A5F026FAEB035509D20058FEC5FDB1B7E329
824 3E299B4FBDF2BD3A5D27035BB8732C3688C3C203D1664522CEBC8BCAC7D4E643
825 6490E8CAE79FB51F9285A64099719EA841CD4710392D94660920608397214CEA
826 588A9CFC233DA75C7C8F381ECEA4065F431122D472D333B2E260DB32F5CCCB15
827 56BB953DEC3B6E451B212ABBE079888B73C48744CF5A9C1DCB47C423C647A94F
828 2B4358B020B2C5FDF1D4B7BE081BC0F4EA86359DFE9BDCC1CBDA475618A71ED4
829 F61834FCC9DAA616C7C8D2407333ECE57AD5F5F43FD077EB12C2310BF7EB1EFC
830 1EAEE06F0891DEFD32AF69082D203207524CA6DC8005C22C1C1CE2C6CBED42B3
831 122148A0A6BAFC0DEEEC37594B68494BB5EF16E510C1CD4BF3F6597F98E5362C
832 544F51DC368425AD6A867D1E6E9AB208C77982536D56581A539597DC172F1D09
833 BF027427518C4CCD96BD4321DD8FF54C8D034F66F32F3A2DDFA05E33E5C5408B
834 8C8511FE0E8F52F38475B84E2A2F5F7B09F8F92D8E1DE2754E683A39EE71BD78
835 EFFA9E0804386F6B98CB37112C4A8844C8E2F26C8920CD18089BE16D20922DD4
836 AF2EFCE40BCFFB79A001E1DFF89AC67B02FFB09FD38354B57A5FAD9BA3640064
837 E4CB7CFC355B5384699A57E86513CA2F89B938688A3F42A6FDBC6E92D50C050E
838 B96AFCE7691A96AEC83213FC00BD81EA3895
839 0000000000000000000000000000000000000000000000000000000000000000
840 0000000000000000000000000000000000000000000000000000000000000000
841 0000000000000000000000000000000000000000000000000000000000000000
842 0000000000000000000000000000000000000000000000000000000000000000
843 0000000000000000000000000000000000000000000000000000000000000000
844 0000000000000000000000000000000000000000000000000000000000000000
845 0000000000000000000000000000000000000000000000000000000000000000
846 0000000000000000000000000000000000000000000000000000000000000000
847 cleartomark
848 %%EndFont 
849 %%BeginFont: CMSY10
850 %!PS-AdobeFont-1.1: CMSY10 1.0
851 %%CreationDate: 1991 Aug 15 07:20:57
852 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
853 11 dict begin
854 /FontInfo 7 dict dup begin
855 /version (1.0) readonly def
856 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
857 /FullName (CMSY10) readonly def
858 /FamilyName (Computer Modern) readonly def
859 /Weight (Medium) readonly def
860 /ItalicAngle -14.035 def
861 /isFixedPitch false def
862 end readonly def
863 /FontName /CMSY10 def
864 /PaintType 0 def
865 /FontType 1 def
866 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
867 /Encoding 256 array
868 0 1 255 {1 index exch /.notdef put} for
869 dup 162 /periodcentered put
870 dup 178 /bullet put
871 dup 102 /braceleft put
872 dup 103 /braceright put
873 readonly def
874 /FontBBox{-29 -960 1116 775}readonly def
875 /UniqueID 5000820 def
876 currentdict end
877 currentfile eexec
878 D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
879 7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
880 A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
881 E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
882 221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
883 27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
884 5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
885 0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
886 DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
887 71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
888 4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
889 515DB70A8D4F6146FE068DC1E5DE8BC57030ACE57A0A31C99BEDB251A0ECAD78
890 253AB3339E847FBB1AF693606A973F6ECD887C325CA59C6A4A9AC48AF5551D10
891 EE26B8C4DA13F670D3F0C09187B9AB37F2BA6A32F8D363393D22215650EEE7F8
892 DFB1378390C44F36098EA2DA6CB943DACFB8AECD62E46F120BE7A15C19200094
893 7975CA278BAF5E155531F90FCBFE67D2AC15BA6E3B15FEF09F697956F198D111
894 16292151DECACDAF2B2CF42B82DE6D4515735744887745770F8D8656BAEEFC04
895 2F6A832F466D4244F1F9998BF49A413F094108FC90F586AEB324888BD885F2A1
896 C749504E6DCB10F6A2B797826939AFA46BD208A268FB4C6635264B2B39F6E11E
897 34ED5B3D02E6C9178BFE61AE0A0B6B789E394F8A33730EC5E4484F2D962268F5
898 8FD36EAD6CF68C7120E82FD8B2EA91095227CFF985054557361FD9B1E8FACB8C
899 A17AD35513D4D69B5D52470A6B4796299442430E66AAB39A574CF4C4D0838C52
900 B675FB04C646FE52C599EA039302B200CEA102986E6549225D22F30455B7947B
901 5DCF0190B5296E12FA026272B1D2076B630CABB8F71589ECB69B95486A650A09
902 05D11C00F0909A7228A107C7D27074FC6B5380FB3534816E122D65369D70C68E
903 98E1951DA9756B3CD665F378B661506661175A89D37889CDB07D1692988875EE
904 878DC0771EF29DDB382287584FE12E47FD7CEE6C130E2D2B3028C8C54B83C977
905 26845C0960D62A50B290605368BE2568340524244ABCEE470B683E92456DEE76
906 228DCCBDBC688458DF63F2C1E4D8BA46657CB79B9E28179AD2459603874FC200
907 CAB2ABDBD725DB89EB7E7C5DFE03826FC7EA65F57CF87E382A976D70F44596B5
908 53C6DC34FE7F2B295D67AA8A550F1DF1D040237352D42F14D1D0E7A23318E53B
909 BA0958CC11E47508EE8D9DCAB8116452978F0963222D14739F8E890A39AB41BC
910 B66B92570A18
911 0000000000000000000000000000000000000000000000000000000000000000
912 0000000000000000000000000000000000000000000000000000000000000000
913 0000000000000000000000000000000000000000000000000000000000000000
914 0000000000000000000000000000000000000000000000000000000000000000
915 0000000000000000000000000000000000000000000000000000000000000000
916 0000000000000000000000000000000000000000000000000000000000000000
917 0000000000000000000000000000000000000000000000000000000000000000
918 0000000000000000000000000000000000000000000000000000000000000000
919 cleartomark
920 %%EndFont 
921 %%BeginFont: CMMI12
922 %!PS-AdobeFont-1.1: CMMI12 1.100
923 %%CreationDate: 1996 Jul 27 08:57:55
924 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
925 11 dict begin
926 /FontInfo 7 dict dup begin
927 /version (1.100) readonly def
928 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
929 /FullName (CMMI12) readonly def
930 /FamilyName (Computer Modern) readonly def
931 /Weight (Medium) readonly def
932 /ItalicAngle -14.04 def
933 /isFixedPitch false def
934 end readonly def
935 /FontName /CMMI12 def
936 /PaintType 0 def
937 /FontType 1 def
938 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
939 /Encoding 256 array
940 0 1 255 {1 index exch /.notdef put} for
941 dup 60 /less put
942 dup 62 /greater put
943 readonly def
944 /FontBBox{-30 -250 1026 750}readonly def
945 /UniqueID 5087386 def
946 currentdict end
947 currentfile eexec
948 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
949 3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
950 532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
951 B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
952 986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
953 D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
954 5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
955 4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67
956 3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993
957 EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F
958 4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59
959 2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A
960 323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C
961 2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1
962 D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA
963 5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F
964 0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D
965 A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77
966 2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60
967 00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8
968 CA0DA1186446DD565542BCCC7D339A1EB34C7F49246E8D72E987EB477C6DB757
969 99AF86CEBCD7605C487A00CD2CD093098182DC57B20D78ECE0BECF3A0BF88EBA
970 C866DB19F34BBBED6634AFC0F08D2AFB2A92578A6F8B4ADCD6594737FF6EED7D
971 5B536DA9E3E2CADB40DB7C600EA4D100D33C3B92B1CF857E012C4EB370BA8295
972 55B50047CD58E912E67E22C1B92F41D0BEE742201DF198F3766AE35EA71D8195
973 A8C94D661C40D718CB09497485FAA34204229AECFE644C93FFDA54C789E4F751
974 3D2519F7CB9E79B2ABE3101DF2EBFAD375469CDC687FB3DC2833EDC0F946B41F
975 F28D72FFF2A9B8B0D76DC542537612E2BE0F3FB9601C897386359C55E867A547
976 F872005F5C56C6EC5E9685E03D7A82653BE8B69741C4DF332AEEB2AA450B23F3
977 EABD5ED060606CC7DB1762632EC3C6C4A66ADAF61A97D949DEA5156B4CF34765
978 67AC3F10AE17199A710A882D47979F9D41AA2CB794648BE47479F0B00E18BF04
979 923F54CEC1214BAFA39BB65ECB013875899E9901B7882D16D2E2C97AD3353668
980 A6070081E4DC627AF9192599F5876369908FBDFA11E8D6CB2E83896E9C897CEC
981 FD1D25651D66A333AF531FF74E1B0DEB1E3D1B5B7D3FB9D1C8BF60517B31C8D2
982 1C264F44BC9AF3D9BA5280D1618EED96C11ED24F789FAA263394C658DFCA8DE9
983 D47D9E188E212F9EC1DCF449DFDAB8437FAB9EA9AF01AE1714E8F932855182
984 0000000000000000000000000000000000000000000000000000000000000000
985 0000000000000000000000000000000000000000000000000000000000000000
986 0000000000000000000000000000000000000000000000000000000000000000
987 0000000000000000000000000000000000000000000000000000000000000000
988 0000000000000000000000000000000000000000000000000000000000000000
989 0000000000000000000000000000000000000000000000000000000000000000
990 0000000000000000000000000000000000000000000000000000000000000000
991 0000000000000000000000000000000000000000000000000000000000000000
992 cleartomark
993 %%EndFont 
994 TeXDict begin 39158280 55380996 1000 8000 8000 (cudd.dvi)
995 @start /Fa 137[538 674 1[472 472 8[337 2[404 538 606
996 538 16[808 13[875 808 67[{ TeXBase1Encoding ReEncodeFont }12
997 1212.12 /Times-BoldItalic rf /Fb 136[665 7[498 2[277
998 108[{ TeXBase1Encoding ReEncodeFont }3 996.264 /Times-Italic
999 rf /Fc 204[470 470 470 470 48[{}4 885.568 /CMR8 rf /Fd
1000 207[255 47[732{}2 885.568 /CMSY8 rf /Fe 133[442 498 498
1001 719 498 498 277 388 332 1[498 498 498 775 277 498 1[277
1002 498 498 332 442 498 442 498 442 9[940 719 719 609 11[719
1003 2[609 719 665 7[277 277 10[277 249 332 249 41[554 2[{
1004  TeXBase1Encoding ReEncodeFont }39 996.264 /Times-Roman
1005 rf /Ff 201[332 332 332 332 332 332 49[{ TeXBase1Encoding ReEncodeFont }
1006 6 664.176 /Times-Roman rf /Fg 201[443 443 443 443 443
1007 443 49[{ TeXBase1Encoding ReEncodeFont }6 885.568 /Times-Roman
1008 rf /Fh 130[727 727 727 727 727 727 727 727 727 727 727
1009 727 727 727 727 727 727 727 727 727 727 727 727 727 727
1010 727 727 727 727 1[727 1[727 727 727 727 1[727 1[727 727
1011 727 727 727 727 727 727 727 727 727 2[727 727 727 727
1012 727 727 727 727 727 727 727 727 727 727 727 727 727 727
1013 727 727 727 727 727 727 727 727 727 727 727 727 727 727
1014 727 727 2[727 1[727 727 727 33[{ TeXBase1Encoding ReEncodeFont }84
1015 1212.12 /Courier rf /Fi 133[590 664 1[959 664 739 442
1016 517 590 739 739 664 739 1107 369 739 1[369 739 664 442
1017 590 739 590 739 664 6[886 2[1328 959 959 886 739 959
1018 1[812 1033 1[1254 886 1033 1[517 1033 1033 812 1[959
1019 959 886 959 7[664 664 664 664 664 664 664 664 664 664
1020 369 332 46[{ TeXBase1Encoding ReEncodeFont }56 1328.35
1021 /Times-Bold rf /Fj 145[571 110[{}1 885.568 /CMMI8 rf
1022 /Fk 135[693 9[728 4[418 698 578 593 16[828 8[825 16[337
1023 59[{}9 1212.12 /CMMI10 rf /Fl 194[943 7[606 2[606 606
1024 606 4[943 1[471 471 40[{}8 1212.12 /CMR10 rf /Fm 152[606
1025 606 86[606 13[337 1[{}4 1212.12 /CMSY10 rf /Fn 133[472
1026 538 538 808 538 606 337 472 472 606 606 606 606 875 337
1027 538 337 337 606 606 337 538 606 538 606 606 6[674 1[741
1028 1010 741 875 674 606 741 875 741 875 808 1010 674 808
1029 538 404 875 875 741 741 875 808 741 741 7[606 1[606 3[606
1030 606 606 2[303 404 3[404 404 404 35[606 606 2[{
1031  TeXBase1Encoding ReEncodeFont }63 1212.12 /Times-Italic
1032 rf /Fo 87[404 16[1212 606 1[538 538 24[538 606 606 875
1033 606 606 337 472 404 606 606 606 606 943 337 606 337 337
1034 606 606 404 538 606 538 606 538 3[404 1[404 741 875 875
1035 1144 875 875 741 674 808 875 674 875 875 1078 741 875
1036 472 404 875 875 674 741 875 808 808 875 5[337 337 606
1037 606 606 606 606 606 606 606 606 606 337 303 404 303 684
1038 1[404 404 404 1[1010 33[674 674 2[{ TeXBase1Encoding ReEncodeFont }82
1039 1212.12 /Times-Roman rf /Fp 105[606 27[538 606 606 875
1040 606 674 404 472 538 1[674 606 674 1010 337 674 1[337
1041 674 606 404 538 674 538 674 606 6[808 875 875 1212 875
1042 875 808 674 875 1[741 943 875 1144 808 2[472 943 943
1043 741 808 875 875 808 875 5[404 404 1[606 606 606 606 606
1044 606 606 606 606 1[303 1[303 691 3[404 36[674 2[{
1045  TeXBase1Encoding ReEncodeFont }64 1212.12 /Times-Bold
1046 rf /Fq 135[797 1151 1[886 531 620 708 2[797 886 1328
1047 443 886 1[443 886 797 531 708 886 708 1[797 11[1151 1063
1048 1[1151 1[974 2[1505 3[620 1240 1240 2[1151 1151 1[1151
1049 10[797 797 797 797 797 797 5[909 3[531 39[{
1050  TeXBase1Encoding ReEncodeFont }38 1594.02 /Times-Bold
1051 rf /Fr 193[1012 1[1012 60[{}2 1328.35 /CMMI12 rf /Fs
1052 133[590 664 2[664 664 369 517 442 1[664 664 664 1033
1053 369 2[369 1[664 442 590 664 590 664 590 11[959 1[739
1054 12[739 812 959 886 886 1[1223 6[664 6[664 1[664 1[332
1055 1[332 44[{ TeXBase1Encoding ReEncodeFont }33 1328.35
1056 /Times-Roman rf /Ft 140[744 637 2[956 956 1488 532 956
1057 1[532 1[956 1[849 1[849 1[849 11[1381 2[1276 1[1064 11[1381
1058 1276 8[532 5[956 1[956 3[478 46[{ TeXBase1Encoding ReEncodeFont }21
1059 1912.83 /Times-Roman rf end
1060 %%EndProlog
1061 %%BeginSetup
1062 %%Feature: *Resolution 8000dpi
1063 TeXDict begin
1064 %%PaperSize: A4
1065  end
1066 %%EndSetup
1067 %%Page: 1 1
1068 TeXDict begin 1 0 bop Black Black Black Black 10724 12498
1069 a Ft(CUDD:)478 b(CU)g(Decision)h(Diagram)g(P)-29 b(ackage)20777
1070 14933 y(Release)479 b(2.4.2)21909 18301 y Fs(F)-20 b(abio)332
1071 b(Somenzi)9599 19851 y(Department)h(of)g(Electrical,)f(Computer)-53
1072 b(,)333 b(and)g(Ener)-24 b(gy)332 b(Engineering)16816
1073 21400 y(Uni)-33 b(v)-20 b(ersity)334 b(of)e(Colorado)h(at)f(Boulder)
1074 18774 22950 y Fr(<)p Fs(F)-20 b(abio@Colorado.EDU)p Fr(>)21015
1075 25644 y Fs(February)332 b(20,)g(2009)5978 30874 y Fq(Contents)5978
1076 33634 y Fp(1)1212 b(Intr)-22 b(oduction)30847 b(4)5978
1077 36351 y(2)1212 b(Ho)-12 b(w)303 b(to)g(Get)f(CUDD)27711
1078 b(5)7796 37857 y Fo(2.1)1273 b(The)303 b(CUDD)g(P)-18
1079 b(ackage)1207 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
1080 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 2275
1081 w(5)p Black 7796 39362 a(2.2)1273 b(CUDD)304 b(Friends)1050
1082 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
1083 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 2275
1084 w(5)p Black 5978 42080 a Fp(3)1212 b(User')-45 b(s)302
1085 b(Manual)29829 b(5)7796 43585 y Fo(3.1)1273 b(Compiling)303
1086 b(and)h(Linking)678 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
1087 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black
1088 2275 w(6)p Black 7796 45091 a(3.2)1273 b(Basic)303 b(Data)g(Structures)
1089 648 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
1090 (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 2275 w(6)p
1091 Black 10584 46596 a(3.2.1)1454 b(Nodes)540 b(.)606 b(.)g(.)g(.)g(.)g(.)
1092 g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
1093 (.)g(.)h(.)f(.)g(.)p Black 2275 w(6)p Black 10584 48102
1094 a(3.2.2)1454 b(The)303 b(Manager)777 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g
1095 (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1096 Black 2275 w(7)p Black 10584 49607 a(3.2.3)1454 b(Cache)609
1097 b(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
1098 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 2275
1099 w(8)p Black 7796 51113 a(3.3)1273 b(Initializing)303
1100 b(and)g(Shutting)g(Do)-30 b(wn)303 b(a)g(DdManager)1016
1101 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black
1102 2275 w(8)p Black 7796 52618 a(3.4)1273 b(Setting)303
1103 b(P)-18 b(arameters)1136 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
1104 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1105 Black 2275 w(9)p Black 7796 54124 a(3.5)1273 b(Constant)303
1106 b(Functions)847 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
1107 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1108 Black 2275 w(9)p Black 10584 55629 a(3.5.1)1454 b(One,)304
1109 b(Logic)f(Zero,)f(and)i(Arithmetic)f(Zero)542 b(.)606
1110 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 2275
1111 w(9)p Black 10584 57134 a(3.5.2)1454 b(Prede\002ned)304
1112 b(Constants)639 b(.)606 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
1113 (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 1669 w(10)p Black
1114 10584 58640 a(3.5.3)1454 b(Background)440 b(.)606 b(.)g(.)g(.)g(.)g(.)g
1115 (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
1116 g(.)p Black 1669 w(10)p Black 10584 60145 a(3.5.4)1454
1117 b(Ne)-30 b(w)304 b(Constants)838 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f
1118 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1119 Black 1669 w(11)p Black 7796 61651 a(3.6)1273 b(Creating)303
1120 b(V)-135 b(ariables)346 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
1121 (.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1122 Black 1669 w(11)p Black 10584 63156 a(3.6.1)1454 b(Ne)-30
1123 b(w)304 b(BDD)f(and)h(ADD)f(V)-135 b(ariables)540 b(.)606
1124 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1125 Black 1669 w(11)p Black 10584 64662 a(3.6.2)1454 b(Ne)-30
1126 b(w)304 b(ZDD)f(V)-135 b(ariables)1043 b(.)606 b(.)g(.)g(.)h(.)f(.)g(.)
1127 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1128 Black 1669 w(12)p Black 7796 66167 a(3.7)1273 b(Basic)303
1129 b(BDD)h(Manipulation)579 b(.)606 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
1130 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black
1131 1669 w(12)p Black Black 25600 69672 a(1)p Black eop end
1132 %%Page: 2 2
1133 TeXDict begin 2 1 bop Black Black 7796 7638 a Fo(3.8)1273
1134 b(Basic)303 b(ADD)g(Manipulation)513 b(.)606 b(.)g(.)g(.)g(.)g(.)h(.)f
1135 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1136 Black 1669 w(13)p Black 7796 9143 a(3.9)1273 b(Basic)303
1137 b(ZDD)g(Manipulation)647 b(.)606 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
1138 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black
1139 1669 w(14)p Black 7796 10649 a(3.10)667 b(Con)-48 b(v)-18
1140 b(erting)303 b(ADDs)f(to)i(BDDs)f(and)g(V)-73 b(ice)304
1141 b(V)-135 b(ersa)1126 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
1142 (.)p Black 1669 w(15)p Black 7796 12154 a(3.11)667 b(Con)-48
1143 b(v)-18 b(erting)303 b(BDDs)g(to)g(ZDDs)f(and)i(V)-73
1144 b(ice)303 b(V)-135 b(ersa)352 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
1145 (.)h(.)f(.)g(.)p Black 1669 w(15)p Black 7796 13660 a(3.12)667
1146 b(V)-135 b(ariable)303 b(Reordering)h(for)e(BDDs)h(and)h(ADDs)853
1147 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1148 Black 1669 w(16)p Black 7796 15165 a(3.13)667 b(Grouping)303
1149 b(V)-135 b(ariables)783 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
1150 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1151 Black 1669 w(19)p Black 7796 16671 a(3.14)667 b(V)-135
1152 b(ariable)303 b(Reordering)h(for)e(ZDDs)919 b(.)606 b(.)g(.)h(.)f(.)g
1153 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1154 Black 1669 w(20)p Black 7796 18176 a(3.15)667 b(K)-30
1155 b(eeping)303 b(Consistent)g(V)-135 b(ariable)303 b(Orders)g(for)f(BDDs)
1156 h(and)h(ZDDs)613 b(.)606 b(.)h(.)f(.)g(.)p Black 1669
1157 w(21)p Black 7796 19682 a(3.16)667 b(Hooks)713 b(.)606
1158 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
1159 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1160 Black 1669 w(21)p Black 7796 21187 a(3.17)667 b(The)303
1161 b(SIS/VIS)f(Interf)-12 b(ace)324 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h
1162 (.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1163 Black 1669 w(22)p Black 10584 22693 a(3.17.1)848 b(Using)303
1164 b(the)g(CUDD)h(P)-18 b(ackage)304 b(in)f(SIS)322 b(.)606
1165 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1166 Black 1669 w(22)p Black 7796 24198 a(3.18)667 b(Writing)303
1167 b(Decision)g(Diagrams)f(to)h(a)h(File)749 b(.)606 b(.)g(.)g(.)g(.)g(.)g
1168 (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 1669 w(23)p
1169 Black 7796 25704 a(3.19)667 b(Sa)-24 b(ving)303 b(and)g(Restoring)g
1170 (BDDs)1041 b(.)606 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
1171 g(.)g(.)g(.)h(.)f(.)g(.)p Black 1669 w(25)p Black 5978
1172 28421 a Fp(4)1212 b(Pr)-22 b(ogrammer')-45 b(s)302 b(Manual)24937
1173 b(25)7796 29927 y Fo(4.1)1273 b(Compiling)303 b(and)h(Linking)678
1174 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
1175 (.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 1669 w(25)p Black
1176 7796 31432 a(4.2)1273 b(Reference)303 b(Counts)683 b(.)606
1177 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
1178 (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 1669 w(25)p Black
1179 10584 32938 a(4.2.1)1454 b(NULL)303 b(Return)g(V)-135
1180 b(alues)541 b(.)606 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
1181 (.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 1669 w(26)p Black
1182 10584 34443 a(4.2.2)1454 b Fn(Cudd)p 17161 34443 364
1183 45 v 437 w(Recur)-12 b(siveDer)-45 b(ef)480 b Fo(vs.)302
1184 b Fn(Cudd)p 29870 34443 V 437 w(Der)-45 b(ef)604 b Fo(.)i(.)g(.)g(.)g
1185 (.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 1669 w(27)p Black
1186 10584 35949 a(4.2.3)1454 b(When)304 b(Increasing)e(the)i(Reference)f
1187 (Count)h(is)e(Unnecessary)1153 b(.)606 b(.)p Black 1669
1188 w(27)p Black 10584 37454 a(4.2.4)1454 b(Saturating)303
1189 b(Increments)g(and)g(Decrements)1183 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)h
1190 (.)f(.)g(.)p Black 1669 w(27)p Black 7796 38959 a(4.3)1273
1191 b(Complement)304 b(Arcs)478 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
1192 (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1193 Black 1669 w(28)p Black 7796 40465 a(4.4)1273 b(The)303
1194 b(Cache)480 b(.)607 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
1195 (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1196 Black 1669 w(28)p Black 10584 41970 a(4.4.1)1454 b(Cache)305
1197 b(Sizing)842 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
1198 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 1669
1199 w(29)p Black 10584 43476 a(4.4.2)1454 b(Local)303 b(Caches)710
1200 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
1201 (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 1669 w(30)p Black
1202 7796 44981 a(4.5)1273 b(The)303 b(Unique)g(T)-97 b(able)611
1203 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
1204 (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 1669 w(30)p
1205 Black 7796 46487 a(4.6)1273 b(Allo)-30 b(wing)303 b(Asynchronous)f
1206 (Reordering)814 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
1207 (.)h(.)f(.)g(.)p Black 1669 w(32)p Black 7796 47992 a(4.7)1273
1208 b(Deb)-24 b(ugging)334 b(.)607 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
1209 g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
1210 (.)g(.)p Black 1669 w(33)p Black 7796 49498 a(4.8)1273
1211 b(Gathering)303 b(and)g(Interpreting)g(Statistics)816
1212 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1213 Black 1669 w(33)p Black 10584 51003 a(4.8.1)1454 b(Non)304
1214 b(Modi\002able)f(P)-18 b(arameters)1164 b(.)606 b(.)g(.)g(.)g(.)g(.)g
1215 (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 1669 w(34)p
1216 Black 10584 52509 a(4.8.2)1454 b(Modi\002able)303 b(P)-18
1217 b(arameters)827 b(.)606 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
1218 (.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 1669 w(37)p Black
1219 10584 54014 a(4.8.3)1454 b(Extended)304 b(Statistics)e(and)h(Reporting)
1220 809 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p
1221 Black 1669 w(39)p Black 7796 55520 a(4.9)1273 b(Guidelines)303
1222 b(for)f(Documentation)952 b(.)606 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
1223 (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 1669 w(39)p
1224 Black 5978 58237 a Fp(5)1212 b(The)303 b(C++)g(Interface)27225
1225 b(40)7796 59743 y Fo(5.1)1273 b(Compiling)303 b(and)h(Linking)678
1226 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
1227 (.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 1669 w(40)p Black
1228 7796 61248 a(5.2)1273 b(Basic)303 b(Manipulation)714
1229 b(.)606 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
1230 (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)p Black 1669 w(40)p
1231 Black 5978 63966 a Fp(6)1212 b(Ackno)-12 b(wledgments)27337
1232 b(41)p Black 25600 69672 a Fo(2)p Black eop end
1233 %%Page: 3 3
1234 TeXDict begin 3 2 bop Black Black 7796 7638 a Fp(Refer)-22
1235 b(ences)31189 b(41)7796 10356 y(Index)33856 b(43)p Black
1236 25600 69672 a Fo(3)p Black eop end
1237 %%Page: 4 4
1238 TeXDict begin 4 3 bop Black Black 5978 7638 a Fq(1)1594
1239 b(Intr)-29 b(oduction)5978 10398 y Fo(The)360 b(CUDD)h(package)g(pro)
1240 -18 b(vides)360 b(functions)f(to)i(manipulate)g(Binary)f(Decision)g
1241 (Diagrams)5978 11904 y(\(BDDs\))458 b([5)o(,)h(3],)497
1242 b(Algebraic)459 b(Decision)g(Diagrams)f(\(ADDs\))g([1)o(],)497
1243 b(and)459 b(Zero-suppressed)5978 13409 y(Binary)428 b(Decision)h
1244 (Diagrams)f(\(ZDDs\))e([12].)751 b(BDDs)429 b(are)f(used)g(to)h
1245 (represent)e(switching)5978 14914 y(functions;)456 b(ADDs)406
1246 b(are)g(used)g(to)g(represent)f(function)h(from)f Fm(f)p
1247 Fl(0)p Fk(;)202 b Fl(1)p Fm(g)35668 14475 y Fj(n)36700
1248 14914 y Fo(to)406 b(an)g(arbitrary)f(set.)5978 16420
1249 y(ZDDs)268 b(represent)g(switching)h(functions)f(lik)-12
1250 b(e)269 b(BDDs;)281 b(ho)-30 b(we)g(v)-18 b(er)-48 b(,)274
1251 b(the)-18 b(y)269 b(are)g(much)g(more)g(ef)-30 b(\002-)5978
1252 17925 y(cient)330 b(than)g(BDDs)h(when)f(the)h(functions)e(to)i(be)f
1253 (represented)g(are)g(characteristic)g(functions)5978
1254 19431 y(of)395 b(cube)i(sets,)418 b(or)396 b(in)g(general,)420
1255 b(when)396 b(the)h(ON-set)e(of)h(the)h(function)f(to)g(be)g
1256 (represented)g(is)5978 20936 y(v)-18 b(ery)302 b(sparse.)375
1257 b(The)-18 b(y)303 b(are)g(inferior)f(to)h(BDDs)g(in)g(other)g(cases.)
1258 7859 22442 y(The)384 b(package)h(pro)-18 b(vides)384
1259 b(a)g(lar)-22 b(ge)385 b(set)e(of)h(operations)g(on)g(BDDs,)405
1260 b(ADDs,)f(and)385 b(ZDDs,)5978 23947 y(functions)307
1261 b(to)g(con)-48 b(v)-18 b(ert)308 b(BDDs)g(into)f(ADDs)h(or)f(ZDDs)h
1262 (and)g(vice)g(v)-18 b(ersa,)308 b(and)g(a)g(lar)-22 b(ge)308
1263 b(assort-)5978 25453 y(ment)303 b(of)g(v)-30 b(ariable)302
1264 b(reordering)h(methods.)7859 26958 y(The)g(CUDD)h(package)g(can)g(be)f
1265 (used)g(in)g(three)g(w)-12 b(ays:)p Black 7796 29202
1266 a Fm(\262)p Black 606 w Fo(As)232 b(a)h(black)g(box.)352
1267 b(In)232 b(this)g(case,)247 b(the)233 b(application)g(program)f(that)h
1268 (needs)f(to)h(manipulate)9008 30707 y(decision)297 b(diagrams)g(only)g
1269 (uses)f(the)h(e)-18 b(xported)297 b(functions)g(of)g(the)g(package.)374
1270 b(The)297 b(rich)9008 32213 y(set)303 b(of)g(functions)g(included)h(in)
1271 g(the)f(CUDD)i(package)f(allo)-30 b(ws)303 b(man)-18
1272 b(y)304 b(applications)f(to)9008 33718 y(be)280 b(written)h(in)f(this)g
1273 (w)-12 b(ay)-79 b(.)369 b(Section)280 b(3)h(describes)e(ho)-30
1274 b(w)280 b(to)h(use)f(the)g(e)-18 b(xported)281 b(functions)9008
1275 35223 y(of)315 b(the)h(package.)413 b(An)316 b(application)g(written)f
1276 (in)h(terms)e(of)i(the)f(e)-18 b(xported)316 b(functions)e(of)9008
1277 36729 y(the)342 b(package)h(needs)f(not)g(concern)h(itself)e(with)h
1278 (the)g(details)g(of)g(v)-30 b(ariable)342 b(reordering,)9008
1279 38234 y(which)303 b(may)h(tak)-12 b(e)303 b(place)g(behind)h(the)f
1280 (scenes.)p Black 7796 40633 a Fm(\262)p Black 606 w Fo(As)333
1281 b(a)g(clear)g(box.)466 b(When)334 b(writing)e(a)i(sophisticated)e
1282 (application)i(based)f(on)g(decision)9008 42138 y(diagrams,)444
1283 b(ef)-30 b(\002cienc)-18 b(y)417 b(often)f(dictates)h(that)f(some)h
1284 (functions)f(be)g(implemented)h(as)9008 43644 y(direct)448
1285 b(recursi)-30 b(v)-18 b(e)447 b(manipulation)i(of)e(the)i(diagrams,)484
1286 b(instead)448 b(of)g(being)g(written)g(in)9008 45149
1287 y(terms)431 b(of)h(e)-18 b(xisting)431 b(primiti)-30
1288 b(v)-18 b(e)432 b(functions.)762 b(Section)432 b(4)g(e)-18
1289 b(xplains)432 b(ho)-30 b(w)432 b(to)g(add)g(ne)-30 b(w)9008
1290 46655 y(functions)459 b(to)g(the)g(CUDD)h(package.)846
1291 b(It)458 b(also)h(details)g(ho)-30 b(w)459 b(to)h(write)f(a)g(recursi)
1292 -30 b(v)-18 b(e)9008 48160 y(function)303 b(that)g(can)g(be)h
1293 (interrupted)f(by)g(dynamic)g(v)-30 b(ariable)303 b(reordering.)p
1294 Black 7796 50559 a Fm(\262)p Black 606 w Fo(Through)255
1295 b(an)h(interf)-12 b(ace.)359 b(Object-oriented)256 b(languages)g(lik)
1296 -12 b(e)255 b(C++)h(and)f(Perl5)h(can)g(free)9008 52064
1297 y(the)323 b(programmer)g(from)f(the)h(b)-24 b(urden)323
1298 b(of)g(memory)g(management.)436 b(A)324 b(C++)e(interf)-12
1299 b(ace)9008 53570 y(is)365 b(included)h(in)f(the)h(distrib)-24
1300 b(ution)364 b(of)h(CUDD.)i(It)e(automatically)h(frees)e(decision)h(di-)
1301 9008 55075 y(agrams)379 b(that)g(are)g(no)g(longer)h(used)e(by)i(the)f
1302 (application)h(and)f(o)-18 b(v)g(erloads)379 b(operators.)9008
1303 56580 y(Almost)440 b(all)g(the)g(functionality)g(pro)-18
1304 b(vided)440 b(by)h(the)f(CUDD)h(e)-18 b(xported)440 b(functions)g(is)
1305 9008 58086 y(a)-24 b(v)-30 b(ailable)402 b(through)g(the)g(C++)g
1306 (interf)-12 b(ace,)426 b(which)403 b(is)e(especially)h(recommended)h
1307 (for)9008 59591 y(f)-12 b(ast)406 b(prototyping.)689
1308 b(Section)407 b(5)h(e)-18 b(xplains)407 b(ho)-30 b(w)407
1309 b(to)g(use)g(the)h(interf)-12 b(ace.)688 b(A)407 b(Perl5)g(in-)9008
1310 61097 y(terf)-12 b(ace)482 b(also)f(e)-18 b(xists)481
1311 b(and)h(is)g(ditrib)-24 b(uted)481 b(separately)-79 b(.)913
1312 b(\(See)482 b(Section)g(2.2.\))912 b(Some)9008 62602
1313 y(applications)303 b(de\002ne)g(their)g(o)-30 b(wn)303
1314 b(interf)-12 b(aces.)375 b(See)304 b(for)e(e)-18 b(xample)303
1315 b(Section)h(3.17.)5978 64846 y(In)378 b(the)h(follo)-30
1316 b(wing,)397 b(the)379 b(reader)f(is)g(supposed)h(to)f(be)h(f)-12
1317 b(amiliar)378 b(with)h(the)g(basic)f(ideas)h(about)5978
1318 66351 y(decision)303 b(diagrams,)f(as)h(found,)g(for)f(instance,)h(in)g
1319 ([3].)p Black 25600 69672 a(4)p Black eop end
1320 %%Page: 5 5
1321 TeXDict begin 5 4 bop Black Black 5978 7638 a Fq(2)1594
1322 b(Ho)-16 b(w)398 b(to)h(Get)f(CUDD)5978 10442 y Fi(2.1)1328
1323 b(The)332 b(CUDD)g(P)-13 b(ackage)5978 12766 y Fo(The)474
1324 b(CUDD)h(package)h(is)e(a)-24 b(v)-30 b(ailable)475 b(via)g(anon)-18
1325 b(ymous)474 b(FTP)g(from)g(vlsi.Colorado.EDU.)5978 14271
1326 y(A)385 b(compressed)g(tar)h(\002le)g(named)g Fh(cudd-2.4.2.tar.gz)k
1327 Fo(can)c(be)g(found)g(in)f(directory)5978 15777 y Fh(pub)p
1328 Fo(.)376 b(Once)304 b(you)f(ha)-24 b(v)-18 b(e)303 b(this)g(\002le,)p
1329 Black Black 9008 18279 a Fh(gzip)728 b(-dc)g(cudd-2.4.2.tar.gz)k(|)c
1330 (tar)g(xvf)g(-)5978 20780 y Fo(will)344 b(create)h(directory)g
1331 Fh(cudd-2.4.2)j Fo(and)d(its)f(subdirectories.)500 b(These)344
1332 b(directories)g(con-)5978 22286 y(tain)397 b(the)h(decision)f(diagram)h
1333 (package,)422 b(a)398 b(fe)-30 b(w)397 b(support)f(libraries,)421
1334 b(and)397 b(a)h(to)-12 b(y)398 b(application)5978 23791
1335 y(based)281 b(on)g(the)g(decision)g(diagram)g(package.)369
1336 b(There)281 b(is)f(a)i(README)e(\002le)h(with)g(instructions)5978
1337 25297 y(on)426 b(con\002guration)g(and)g(installation)g(in)g
1338 Fh(cudd-2.4.2)p Fo(.)747 b(Y)-133 b(ou)426 b(can)h(use)f(a)g(compiler)g
1339 (for)5978 26802 y(either)303 b(ANSI)f(C)i(or)f(C++.)7859
1340 28308 y(Once)h(you)f(ha)-24 b(v)-18 b(e)303 b(made)h(the)f(libraries)f
1341 (and)h(program,)g(you)g(can)h(type:)p Black Black 9008
1342 30809 a Fh(cd)728 b(nanotrav)9008 32315 y(nanotrav)h(-p)f(1)g(-autodyn)
1343 h(-reordering)h(sifting)g(-trav)9008 33820 y(mult32a.blif)5978
1344 36322 y Fo(This)337 b(will)i(run)f(a)g(simple-minded)g(FSM)g(tra)-24
1345 b(v)-18 b(ersal)338 b(program.)481 b(\(On)338 b(a)h(2.4)g(GHz)f
1346 (Pentium)h(4)5978 37828 y(\(TM\),)363 b(it)i(tak)-12
1347 b(es)364 b(about)h(0.5)g(s.\))561 b(The)364 b(output)h(produced)h(by)f
1348 (the)g(program)f(can)h(be)g(check)-12 b(ed)5978 39333
1349 y(ag)-6 b(ainst)437 b Fh(cudd-2.4.2/nanotrav/mult32a.out)p
1350 Fo(.)789 b(More)437 b(information)h(on)g(the)5978 40838
1351 y Fh(nanotrav)305 b Fo(program)d(can)i(be)f(found)g(in)g
1352 Fh(cudd-2.4.2/nanotrav/README)p Fo(.)7859 42344 y(If)336
1353 b(you)h(w)-12 b(ant)337 b(to)g(be)f(noti\002ed)h(of)g(ne)-30
1354 b(w)336 b(releases)g(of)g(the)h(CUDD)h(package,)346 b(send)336
1355 b(a)h(mes-)5978 43849 y(sage)303 b(to)g Fh(Fabio@Colorado.EDU)p
1356 Fo(.)5978 47172 y Fi(2.2)1328 b(CUDD)333 b(Friends)5978
1357 49496 y Fo(T)-97 b(w)-12 b(o)249 b(CUDD)h(e)-18 b(xtensions)248
1358 b(are)i(a)-24 b(v)-30 b(ailable)249 b(via)h(anon)-18
1359 b(ymous)249 b(FTP)g(from)f(vlsi.Colorado.EDU.)p Black
1360 7796 51997 a Fm(\262)p Black 606 w Fn(P)-97 b(erlDD)372
1361 b Fo(is)h(an)g(object-oriented)g(Perl5)f(interf)-12 b(ace)373
1362 b(to)g(CUDD.)g(It)g(is)f(or)-22 b(g)-6 b(anized)373 b(as)g(a)9008
1363 53503 y(standard)342 b(Perl)h(e)-18 b(xtension)343 b(module.)496
1364 b(The)342 b(Perl)h(interf)-12 b(ace)343 b(is)f(at)h(a)g(some)-30
1365 b(what)343 b(higher)9008 55008 y(le)-30 b(v)-18 b(el)303
1366 b(than)g(the)g(C++)g(interf)-12 b(ace,)303 b(b)-24 b(ut)303
1367 b(it)g(is)f(not)h(as)g(complete.)p Black 7796 57510 a
1368 Fm(\262)p Black 606 w Fn(DDcal)311 b Fo(is)d(a)i(graphic)f(BDD)h
1369 (calculator)f(based)g(on)h(CUDD,)g(Perl-Tk,)g(and)f(dot.)394
1370 b(\(See)9008 59015 y(Section)303 b(3.18)g(for)g(information)f(on)i
1371 Fn(dot)p Fo(.\))5978 62917 y Fq(3)1594 b(User')-59 b(s)397
1372 b(Manual)5978 65677 y Fo(This)302 b(section)h(describes)f(the)h(use)g
1373 (of)g(the)g(CUDD)h(package)g(as)e(a)i(black)f(box.)p
1374 Black 25600 69672 a(5)p Black eop end
1375 %%Page: 6 6
1376 TeXDict begin 6 5 bop Black Black 5978 7638 a Fi(3.1)1328
1377 b(Compiling)332 b(and)g(Linking)5978 9962 y Fo(T)-97
1378 b(o)302 b(b)-24 b(uild)303 b(an)g(application)h(that)f(uses)g(the)g
1379 (CUDD)h(package,)g(you)f(should)g(add)p Black Black 5978
1380 12463 a Fh(#include)729 b("util.h")5978 13969 y(#include)g("cudd.h")
1381 5978 16471 y Fo(to)410 b(your)h(source)f(\002les,)438
1382 b(and)411 b(should)f(link)h Fh(libcudd.a)p Fo(,)440 b
1383 Fh(libmtr.a)p Fo(,)g Fh(libst.a)p Fo(,)g(and)5978 17976
1384 y Fh(libutil.a)362 b Fo(to)e(your)g(e)-18 b(x)g(ecutable.)547
1385 b(\(All)360 b(these)g(libraries)f(are)h(part)g(of)f(the)i(distrib)-24
1386 b(ution.\))5978 19482 y(Some)254 b(platforms)g(require)g(speci\002c)h
1387 (compiler)f(and)h(link)-12 b(er)255 b(\003ags.)359 b(Refer)255
1388 b(to)f(the)h Fh(Makefile)5978 20987 y Fo(in)303 b(the)g(top)g(le)-30
1389 b(v)-18 b(el)303 b(directory)g(of)f(the)i(distrib)-24
1390 b(ution.)7859 22492 y(K)-30 b(eep)257 b(in)f(mind)g(that)g(whate)-30
1391 b(v)-18 b(er)255 b(\003ags)h(af)-30 b(fect)255 b(the)h(size)g(of)g
1392 (data)g(structures\227for)e(instance)5978 23998 y(the)i(\003ags)g(used)
1393 g(to)h(use)f(64-bit)g(pointers)g(where)g(a)-24 b(v)-30
1394 b(ailable\227must)256 b(be)h(speci\002ed)f(when)h(com-)5978
1395 25503 y(piling)303 b(both)g(CUDD)h(and)f(the)g(\002les)g(that)g
1396 (include)h(its)e(header)h(\002les.)5978 28826 y Fi(3.2)1328
1397 b(Basic)332 b(Data)h(Structur)-24 b(es)5978 31150 y Fp(3.2.1)1212
1398 b(Nodes)5978 33473 y Fo(BDDs,)335 b(ADDs,)h(and)329 b(ZDDs)f(are)h
1399 (made)g(of)g(DdNode')-67 b(s.)453 b(A)329 b(DdNode)h(\(node)f(for)f
1400 (short\))g(is)g(a)5978 34979 y(structure)340 b(with)h(se)-30
1401 b(v)-18 b(eral)341 b(\002elds.)490 b(Those)341 b(that)g(are)g(of)g
1402 (interest)g(to)g(the)h(application)f(that)h(uses)5978
1403 36484 y(the)315 b(CUDD)i(package)f(as)g(a)f(black)h(box)g(are)g(the)f
1404 (v)-30 b(ariable)316 b(inde)-18 b(x,)319 b(the)c(reference)h(count,)j
1405 (and)5978 37990 y(the)d(v)-30 b(alue.)415 b(The)316 b(remaining)g
1406 (\002elds)g(are)g(pointers)f(that)i(connect)f(nodes)g(among)h(themselv)
1407 -18 b(es)5978 39495 y(and)303 b(that)g(are)g(used)g(to)g(implement)g
1408 (the)h(unique)f(table.)376 b(\(See)303 b(Section)g(3.2.2.\))7859
1409 41000 y(The)339 b Fn(inde)-24 b(x)342 b Fo(\002eld)c(holds)g(the)h
1410 (name)f(of)g(the)h(v)-30 b(ariable)338 b(that)g(labels)g(the)h(node.)
1411 482 b(The)338 b(inde)-18 b(x)5978 42506 y(of)477 b(a)h(v)-30
1412 b(ariable)478 b(is)f(a)h(permanent)g(attrib)-24 b(ute)478
1413 b(that)g(re\003ects)f(the)h(order)f(of)h(creation.)900
1414 b(Inde)-18 b(x)5978 44011 y(0)337 b(corresponds)f(to)h(the)h(v)-30
1415 b(ariable)337 b(created)h(\002rst.)477 b(On)338 b(a)f(machine)h(with)g
1416 (32-bit)f(pointers,)345 b(the)5978 45517 y(maximum)265
1417 b(number)g(of)g(v)-30 b(ariables)264 b(is)h(the)g(lar)-22
1418 b(gest)264 b(v)-30 b(alue)266 b(that)f(can)g(be)g(stored)g(in)g(an)g
1419 (unsigned)5978 47022 y(short)331 b(inte)-18 b(ger)332
1420 b(minus)g(1.)463 b(The)332 b(lar)-22 b(gest)332 b(inde)-18
1421 b(x)332 b(is)g(reserv)-18 b(ed)331 b(for)h(the)g(constant)g(nodes.)464
1422 b(When)5978 48528 y(64-bit)282 b(pointers)g(are)g(used,)287
1423 b(the)282 b(maximum)h(number)g(of)f(v)-30 b(ariables)282
1424 b(is)g(the)g(lar)-22 b(gest)282 b(v)-30 b(alue)283 b(that)5978
1425 50033 y(can)303 b(be)g(stored)g(in)g(an)g(unsigned)g(inte)-18
1426 b(ger)303 b(minus)f(1.)7859 51539 y(When)359 b(v)-30
1427 b(ariables)357 b(are)h(reordered)f(to)h(reduce)g(the)g(size)g(of)f(the)
1428 h(decision)g(diagrams,)371 b(the)5978 53044 y(v)-30 b(ariables)374
1429 b(may)h(shift)f(in)i(the)f(order)-48 b(,)392 b(b)-24
1430 b(ut)375 b(the)-18 b(y)375 b(retain)g(their)g(indices.)591
1431 b(The)375 b(package)h(k)-12 b(eeps)5978 54550 y(track)342
1432 b(of)g(the)h(v)-30 b(ariable)343 b(permutation)f(\(and)h(its)f(in)-48
1433 b(v)-18 b(erse\).)493 b(The)343 b(application)g(is)f(not)g(af)-30
1434 b(fected)5978 56055 y(by)303 b(v)-30 b(ariable)303 b(reordering,)f(e)
1435 -18 b(xcept)304 b(in)f(the)g(follo)-30 b(wing)302 b(cases.)p
1436 Black 7796 58557 a Fm(\262)p Black 606 w Fo(If)229 b(the)i(application)
1437 g(uses)e(generators)h(\()p Fn(Cudd)p 28073 58557 364
1438 45 v 437 w(F)-127 b(or)-45 b(eac)-18 b(hCube)230 b Fo(and)h
1439 Fn(Cudd)p 39822 58557 V 437 w(F)-127 b(or)-45 b(eac)-18
1440 b(hNode)p Fo(\))9008 60062 y(and)259 b(reordering)e(is)h(enabled,)268
1441 b(then)259 b(it)f(must)g(tak)-12 b(e)258 b(care)h(not)f(to)g(call)h(an)
1442 -18 b(y)259 b(operation)f(that)9008 61568 y(may)388 b(create)f(ne)-30
1443 b(w)388 b(nodes)f(\(and)g(hence)h(possibly)f(trigger)g(reordering\).)
1444 628 b(This)386 b(is)h(be-)9008 63073 y(cause)423 b(the)h(cubes)f
1445 (\(i.e.,)453 b(paths\))423 b(and)g(nodes)g(of)g(a)g(diagram)h(change)g
1446 (as)f(a)g(result)f(of)9008 64579 y(reordering.)p Black
1447 25600 69672 a(6)p Black eop end
1448 %%Page: 7 7
1449 TeXDict begin 7 6 bop Black Black Black 7796 7638 a Fm(\262)p
1450 Black 606 w Fo(If)345 b(the)g(application)h(uses)f Fn(Cudd)p
1451 22851 7638 364 45 v 437 w(bddConstr)-18 b(ain)345 b Fo(and)h
1452 (reordering)f(tak)-12 b(es)345 b(place,)357 b(then)9008
1453 9143 y(the)303 b(property)g(of)f Fn(Cudd)p 19213 9143
1454 V 438 w(bddConstr)-18 b(ain)302 b Fo(of)h(being)g(an)g(image)h
1455 (restrictor)e(is)g(lost.)7859 11645 y(The)356 b(CUDD)g(package)g
1456 (relies)f(on)h(g)-6 b(arbage)355 b(collection)h(to)g(reclaim)f(the)h
1457 (memory)f(used)5978 13151 y(by)456 b(diagrams)g(that)g(are)g(no)g
1458 (longer)g(in)h(use.)835 b(The)456 b(scheme)g(emplo)-12
1459 b(yed)456 b(for)g(g)-6 b(arbage)456 b(col-)5978 14656
1460 y(lection)384 b(is)g(based)g(on)g(k)-12 b(eeping)385
1461 b(a)g(reference)f(count)g(for)g(each)h(node.)619 b(The)384
1462 b(references)g(that)5978 16162 y(are)332 b(counted)i(are)e(both)h(the)g
1463 (internal)g(references)f(\(references)g(from)g(other)g(nodes\))g(and)h
1464 (e)-18 b(x-)5978 17667 y(ternal)459 b(references)h(\(typically)f
1465 (references)h(from)f(the)h(calling)g(en)-48 b(vironment\).)846
1466 b(When)460 b(an)5978 19173 y(application)279 b(creates)g(a)h(ne)-30
1467 b(w)279 b(BDD,)h(ADD,)f(or)g(ZDD,)g(it)h(must)e(increase)h(its)g
1468 (reference)g(count)5978 20678 y(e)-18 b(xplicitly)-79
1469 b(,)493 b(through)455 b(a)g(call)h(to)f Fn(Cudd)p 22778
1470 20678 V 437 w(Ref)177 b Fo(.)831 b(Similarly)-79 b(,)493
1471 b(when)456 b(a)f(diagram)g(is)g(no)g(longer)5978 22183
1472 y(needed,)337 b(the)331 b(application)g(must)e(call)i
1473 Fn(Cudd)p 25046 22183 V 437 w(Recur)-12 b(siveDer)-45
1474 b(ef)506 b Fo(\(for)330 b(BDDs)g(and)h(ADDs\))e(or)5978
1475 23689 y Fn(Cudd)p 8677 23689 V 437 w(Recur)-12 b(siveDer)-45
1476 b(efZdd)335 b Fo(\(for)302 b(ZDDs\))g(to)h(\223rec)-18
1477 b(ycle\224)303 b(the)h(nodes)e(of)h(the)g(diagram.)7859
1478 25194 y(T)-85 b(erminal)478 b(nodes)g(carry)g(a)g(v)-30
1479 b(alue.)901 b(This)477 b(is)g(especially)i(important)f(for)f(ADDs.)901
1480 b(By)5978 26700 y(def)-12 b(ault,)357 b(the)348 b(v)-30
1481 b(alue)347 b(is)f(a)h(double.)508 b(T)-97 b(o)347 b(change)h(to)f
1482 (something)g(dif)-30 b(ferent)346 b(\(e.g.,)357 b(an)348
1483 b(inte)-18 b(ger\),)5978 28205 y(the)263 b(package)h(must)f(be)g
1484 (modi\002ed)g(and)h(recompiled.)363 b(Support)262 b(for)h(this)g
1485 (process)f(is)g(currently)5978 29711 y(v)-18 b(ery)302
1486 b(rudimentary)-79 b(.)5978 32989 y Fp(3.2.2)1212 b(The)304
1487 b(Manager)5978 35313 y Fo(All)359 b(nodes)g(used)f(in)h(BDDs,)374
1488 b(ADDs,)f(and)359 b(ZDDs)g(are)g(k)-12 b(ept)359 b(in)g(special)g(hash)
1489 g(tables)g(called)5978 36818 y(the)465 b Fn(unique)h(tables)p
1490 Fo(.)863 b(Speci\002cally)-79 b(,)506 b(BDDs)466 b(and)g(ADDs)f(share)g
1491 (the)h(same)f(unique)h(table,)5978 38324 y(whereas)292
1492 b(ZDDs)f(ha)-24 b(v)-18 b(e)293 b(their)f(o)-30 b(wn)292
1493 b(table.)372 b(As)292 b(the)h(name)f(implies,)i(the)f(main)f(purpose)g
1494 (of)g(the)5978 39829 y(unique)g(table)f(is)h(to)f(guarantee)h(that)g
1495 (each)g(node)g(is)f(unique;)296 b(that)c(is,)h(there)f(is)f(no)g(other)
1496 h(node)5978 41335 y(labeled)284 b(by)g(the)g(same)f(v)-30
1497 b(ariable)284 b(and)g(with)g(the)g(same)g(children.)369
1498 b(This)283 b(uniqueness)h(property)5978 42840 y(mak)-12
1499 b(es)434 b(decision)h(diagrams)f(canonical.)773 b(The)434
1500 b(unique)h(tables)g(and)g(some)g(auxiliary)g(data)5978
1501 44345 y(structures)400 b(mak)-12 b(e)401 b(up)h(the)f(DdManager)g
1502 (\(manager)h(for)e(short\).)670 b(Though)401 b(the)h(application)5978
1503 45851 y(that)342 b(uses)g(only)h(the)g(e)-18 b(xported)342
1504 b(functions)g(needs)h(not)f(be)h(concerned)g(with)g(most)f(details)g
1505 (of)5978 47356 y(the)246 b(manager)-48 b(,)258 b(it)246
1506 b(has)g(to)h(deal)g(with)f(the)h(manager)g(in)f(the)h(follo)-30
1507 b(wing)246 b(sense.)356 b(The)247 b(application)5978
1508 48862 y(must)353 b(initialize)h(the)g(manager)g(by)g(calling)g(an)g
1509 (appropriate)g(function.)528 b(\(See)353 b(Section)h(3.3.\))5978
1510 50367 y(Subsequently)-79 b(,)281 b(it)c(must)e(pass)h(a)g(pointer)h(to)
1511 f(the)g(manager)h(to)f(all)g(the)h(functions)f(that)g(operate)5978
1512 51873 y(on)303 b(decision)g(diagrams.)7859 53378 y(W)-48
1513 b(ith)382 b(the)g(e)-18 b(xception)383 b(of)e(a)h(fe)-30
1514 b(w)382 b(statistical)f(counters,)402 b(there)382 b(are)f(no)i(global)f
1515 (v)-30 b(ariables)5978 54884 y(in)385 b(the)h(CUDD)g(package.)623
1516 b(Therefore,)406 b(it)385 b(is)g(quite)g(possible)g(to)g(ha)-24
1517 b(v)-18 b(e)386 b(multiple)f(managers)5978 56389 y(simultaneously)363
1518 b(acti)-30 b(v)-18 b(e)363 b(in)h(the)g(same)f(application.)28586
1519 55949 y Fg(1)29642 56389 y Fo(It)g(is)g(the)h(pointers)f(to)h(the)f
1520 (managers)5978 57895 y(that)303 b(tell)g(the)g(functions)g(on)g(what)g
1521 (data)g(the)-18 b(y)304 b(should)e(operate.)p Black 5978
1522 58976 15940 45 v 7383 59717 a Ff(1)7771 60140 y Fe(The)240
1523 b(global)g(statistical)f(counters)h(are)g(used)g(locally;)j(hence)e
1524 (the)-15 b(y)240 b(are)g(compatible)h(with)f(the)g(use)g(of)f(multi-)
1525 5978 61358 y(ple)249 b(managers.)p Black Black 25600
1526 69672 a Fo(7)p Black eop end
1527 %%Page: 8 8
1528 TeXDict begin 8 7 bop Black Black 5978 7638 a Fp(3.2.3)1212
1529 b(Cache)5978 9962 y Fo(Ef)-30 b(\002cient)297 b(recursi)-30
1530 b(v)-18 b(e)296 b(manipulation)j(of)e(decision)h(diagrams)f(requires)g
1531 (the)h(use)g(of)f(a)h(table)g(to)5978 11467 y(store)317
1532 b(computed)h(results.)419 b(This)317 b(table)h(is)f(called)h(here)g
1533 (the)g Fn(cac)-18 b(he)318 b Fo(because)g(it)g(is)f(ef)-30
1534 b(fecti)g(v)-18 b(ely)5978 12973 y(handled)281 b(lik)-12
1535 b(e)282 b(a)f(cache)h(of)f(v)-30 b(ariable)281 b(b)-24
1536 b(ut)281 b(limited)g(capacity)-79 b(.)370 b(The)281 b(CUDD)h(package)g
1537 (starts)e(by)5978 14478 y(def)-12 b(ault)376 b(with)h(a)g(small)f
1538 (cache,)396 b(and)377 b(increases)f(its)g(size)g(until)h(either)f(no)h
1539 (further)f(bene\002t)h(is)5978 15984 y(achie)-30 b(v)-18
1540 b(ed,)302 b(or)g(a)g(limit)g(size)g(is)f(reached.)376
1541 b(The)302 b(user)f(can)i(in\003uence)f(this)g(polic)-18
1542 b(y)302 b(by)g(choosing)5978 17489 y(initial)h(and)g(limit)g(v)-30
1543 b(alues)302 b(for)h(the)g(cache)h(size.)7859 18994 y(T)-97
1544 b(oo)279 b(small)g(a)h(cache)g(will)f(cause)g(frequent)g(o)-18
1545 b(v)g(erwriting)279 b(of)f(useful)h(results.)367 b(T)-97
1546 b(oo)279 b(lar)-22 b(ge)279 b(a)5978 20500 y(cache)285
1547 b(will)g(cause)h(o)-18 b(v)g(erhead,)288 b(because)e(the)f(whole)g
1548 (cache)h(is)f(scanned)g(e)-30 b(v)-18 b(ery)285 b(time)g(g)-6
1549 b(arbage)5978 22005 y(collection)314 b(tak)-12 b(es)314
1550 b(place.)410 b(The)314 b(optimal)h(parameters)f(depend)g(on)h(the)f
1551 (speci\002c)h(application.)5978 23511 y(The)302 b(def)-12
1552 b(ault)303 b(parameters)g(w)-12 b(ork)303 b(reasonably)g(well)g(for)f
1553 (a)h(lar)-22 b(ge)304 b(spectrum)e(of)h(applications.)7859
1554 25016 y(The)418 b(cache)h(of)f(the)g(CUDD)g(package)h(is)f(used)f(by)i
1555 (most)e(recursi)-30 b(v)-18 b(e)417 b(functions)g(of)h(the)5978
1556 26522 y(package,)304 b(and)f(can)g(be)h(used)e(by)i(user)-24
1557 b(-supplied)301 b(functions)i(as)f(well.)376 b(\(See)303
1558 b(Section)h(4.4.\))5978 29820 y Fi(3.3)1328 b(Initializing)333
1559 b(and)e(Shutting)h(Do)-13 b(wn)332 b(a)g(DdManager)5978
1560 32143 y Fo(T)-97 b(o)353 b(use)h(the)h(functions)e(in)h(the)h(CUDD)g
1561 (package,)368 b(one)354 b(has)g(\002rst)f(to)h(initialize)h(the)f
1562 (package)5978 33649 y(itself)302 b(by)h(calling)g Fn(Cudd)p
1563 16521 33649 364 45 v 437 w(Init)22 b Fo(.)376 b(This)302
1564 b(function)h(tak)-12 b(es)302 b(four)h(parameters:)p
1565 Black 7796 36026 a Fm(\262)p Black 606 w Fo(numV)-135
1566 b(ars:)362 b(It)274 b(is)h(the)g(initial)g(number)g(of)f(v)-30
1567 b(ariables)275 b(for)f(BDDs)h(and)h(ADDs.)366 b(If)274
1568 b(the)h(to-)9008 37531 y(tal)265 b(number)g(of)f(v)-30
1569 b(ariables)264 b(needed)i(by)f(the)g(application)g(is)f(kno)-30
1570 b(wn,)273 b(then)265 b(it)f(is)h(slightly)9008 39037
1571 y(more)274 b(ef)-30 b(\002cient)274 b(to)h(create)f(a)h(manager)f(with)
1572 h(that)f(number)h(of)f(v)-30 b(ariables.)365 b(If)274
1573 b(the)g(num-)9008 40542 y(ber)e(is)h(unkno)-30 b(wn,)279
1574 b(it)272 b(can)h(be)g(set)g(to)g(0,)278 b(or)273 b(to)g(an)-18
1575 b(y)272 b(other)h(lo)-30 b(wer)272 b(bound)h(on)g(the)g(number)9008
1576 42048 y(of)374 b(v)-30 b(ariables.)588 b(Requesting)375
1577 b(more)f(v)-30 b(ariables)373 b(than)h(are)g(actually)h(needed)g(is)e
1578 (not)h(in-)9008 43553 y(correct,)303 b(b)-24 b(ut)303
1579 b(is)f(not)h(ef)-30 b(\002cient.)p Black 7796 46005 a
1580 Fm(\262)p Black 606 w Fo(numV)-135 b(arsZ:)356 b(It)h(is)f(the)i
1581 (initial)f(number)g(of)f(v)-30 b(ariables)357 b(for)f(ZDDs.)537
1582 b(See)357 b(Sections)g(3.9)9008 47511 y(and)303 b(3.11)g(for)g(a)g
1583 (discussion)f(of)h(the)g(v)-30 b(alue)303 b(of)g(this)f(ar)-22
1584 b(gument.)p Black 7796 49963 a Fm(\262)p Black 606 w
1585 Fo(numSlots:)541 b(Determines)385 b(the)i(initial)e(size)h(of)g(each)g
1586 (subtable)g(of)f(the)i(unique)f(table.)9008 51468 y(There)362
1587 b(is)g(a)h(subtable)g(for)f(each)i(v)-30 b(ariable.)554
1588 b(The)363 b(size)g(of)f(each)h(subtable)g(is)f(dynami-)9008
1589 52974 y(cally)334 b(adjusted)f(to)h(re\003ect)g(the)g(number)f(of)h
1590 (nodes.)467 b(It)333 b(is)g(normally)h(O.K.)g(to)g(use)f(the)9008
1591 54479 y(def)-12 b(ault)303 b(v)-30 b(alue)303 b(for)f(this)h(parameter)
1592 -48 b(,)302 b(which)i(is)e(CUDD)p 32620 54479 V 438 w(UNIQ)-12
1593 b(UE)p 37691 54479 V 436 w(SLO)-48 b(TS.)p Black 7796
1594 56931 a Fm(\262)p Black 606 w Fo(cacheSize:)494 b(It)361
1595 b(is)g(the)h(initial)g(size)f(\(number)h(of)f(entries\))g(of)g(the)h
1596 (cache.)552 b(Its)361 b(def)-12 b(ault)9008 58436 y(v)-30
1597 b(alue)303 b(is)g(CUDD)p 16524 58436 V 437 w(CA)-48 b(CHE)p
1598 21020 58436 V 437 w(SLO)g(TS.)p Black 7796 60888 a Fm(\262)p
1599 Black 606 w Fo(maxMemory:)372 b(It)297 b(is)f(the)h(tar)-22
1600 b(get)297 b(v)-30 b(alue)297 b(for)g(the)g(maximum)g(memory)g
1601 (occupation)g(\(in)9008 62394 y(bytes\).)375 b(The)303
1602 b(package)h(uses)e(this)h(v)-30 b(alue)303 b(to)g(decide)g(tw)-12
1603 b(o)303 b(parameters.)p Black 10462 64846 a Fp(\226)p
1604 Black 607 w Fo(the)373 b(maximum)g(size)g(to)g(which)h(the)f(cache)h
1605 (will)f(gro)-30 b(w)-79 b(,)390 b(re)-18 b(g)-6 b(ardless)372
1606 b(of)h(the)g(hit)11675 66351 y(rate)303 b(or)f(the)h(size)g(of)g(the)g
1607 (unique)h(table.)p Black 25600 69672 a(8)p Black eop
1609 %%Page: 9 9
1610 TeXDict begin 9 8 bop Black Black Black 10462 7638 a
1611 Fp(\226)p Black 607 w Fo(the)245 b(maximum)h(size)f(to)g(which)h(gro)
1612 -30 b(wth)245 b(of)g(the)h(unique)f(table)h(will)f(be)h(preferred)11675
1613 9143 y(to)303 b(g)-6 b(arbage)303 b(collection.)9008
1614 11645 y(If)370 b(maxMemory)g(is)g(set)g(to)h(0,)388 b(CUDD)371
1615 b(tries)f(to)g(guess)g(a)h(good)g(v)-30 b(alue)371 b(based)f(on)h(the)
1616 9008 13151 y(a)-24 b(v)-30 b(ailable)303 b(memory)-79
1617 b(.)5978 15652 y(A)303 b(typical)g(call)g(to)g Fn(Cudd)p
1618 16756 15652 364 45 v 437 w(Init)325 b Fo(may)303 b(look)g(lik)-12
1619 b(e)303 b(this:)p Black Black 7432 18154 a Fh(manager)729
1620 b(=)f(Cudd_Init\(0,0,CUDD_UNIQUE_SLOTS,CUDD_CACHE_SLOTS,0\);)5978
1621 20656 y Fo(T)-97 b(o)454 b(reclaim)g(all)h(the)f(memory)h(associated)f
1622 (with)g(a)h(manager)-48 b(,)492 b(an)455 b(application)g(must)f(call)
1623 5978 22161 y Fn(Cudd)p 8677 22161 V 437 w(Quit)22 b Fo(.)375
1624 b(This)302 b(is)h(normally)g(done)g(before)g(e)-18 b(xiting.)5978
1625 25484 y Fi(3.4)1328 b(Setting)332 b(P)-13 b(arameters)5978
1626 27807 y Fo(The)369 b(package)h(pro)-18 b(vides)369 b(se)-30
1627 b(v)-18 b(eral)369 b(functions)g(to)g(set)g(the)h(parameters)f(that)h
1628 (control)f(v)-30 b(arious)5978 29313 y(functions.)372
1629 b(F)-18 b(or)294 b(instance,)j(the)e(package)h(has)f(an)g(automatic)g
1630 (w)-12 b(ay)295 b(of)g(determining)g(whether)5978 30818
1631 y(a)310 b(lar)-22 b(ger)310 b(unique)g(table)h(w)-12
1632 b(ould)310 b(mak)-12 b(e)310 b(the)h(application)f(run)g(f)-12
1633 b(aster)-67 b(.)397 b(In)310 b(that)g(case,)i(the)e(pack-)5978
1634 32324 y(age)238 b(enters)f(a)h(\223f)-12 b(ast)237 b(gro)-30
1635 b(wth\224)238 b(mode)g(in)g(which)g(resizing)g(of)f(the)h(unique)g
1636 (subtables)g(is)f(f)-12 b(a)-24 b(v)g(ored)5978 33829
1637 y(o)-18 b(v)g(er)319 b(g)-6 b(arbage)320 b(collection.)427
1638 b(When)320 b(the)g(unique)g(table)h(reaches)e(a)h(gi)-30
1639 b(v)-18 b(en)320 b(size,)k(ho)-30 b(we)g(v)-18 b(er)-48
1640 b(,)323 b(the)5978 35335 y(package)246 b(returns)f(to)h(the)g(normal)g
1641 (\223slo)-30 b(w)246 b(gro)-30 b(wth\224)245 b(mode,)258
1642 b(e)-30 b(v)-18 b(en)246 b(though)g(the)g(conditions)g(that)5978
1643 36840 y(caused)326 b(the)g(transition)f(to)h(f)-12 b(ast)325
1644 b(gro)-30 b(wth)326 b(still)f(pre)-30 b(v)g(ail.)444
1645 b(The)325 b(limit)h(size)g(for)f(f)-12 b(ast)325 b(gro)-30
1646 b(wth)326 b(can)5978 38346 y(be)388 b(read)g(by)g Fn(Cudd)p
1647 14283 38346 V 437 w(ReadLooseUpT)-112 b(o)388 b Fo(and)g(changed)h(by)f
1648 Fn(Cudd)p 33935 38346 V 437 w(SetLooseUpT)-112 b(o)p
1649 Fo(.)631 b(Similar)5978 39851 y(pairs)302 b(of)h(functions)f(e)-18
1650 b(xist)303 b(for)f(se)-30 b(v)-18 b(eral)302 b(other)h(parameters.)375
1651 b(See)304 b(also)e(Section)i(4.8.)5978 43174 y Fi(3.5)1328
1652 b(Constant)332 b(Functions)5978 45497 y Fo(The)233 b(CUDD)h(P)-18
1653 b(ackage)234 b(de\002nes)f(se)-30 b(v)-18 b(eral)233
1654 b(constant)g(functions.)353 b(These)232 b(functions)h(are)h(created)
1655 5978 47003 y(when)303 b(the)g(manager)h(is)e(initialized,)i(and)f(are)g
1656 (accessible)g(through)g(the)g(manager)g(itself.)5978
1657 50281 y Fp(3.5.1)1212 b(One,)303 b(Logic)h(Zer)-22 b(o,)304
1658 b(and)f(Arithmetic)f(Zer)-22 b(o)5978 52605 y Fo(The)466
1659 b(constant)g(1)g(\(returned)g(by)g Fn(Cudd)p 23193 52605
1660 V 437 w(ReadOne)p Fo(\))h(is)e(common)i(to)f(BDDs,)508
1661 b(ADDs,)f(and)5978 54110 y(ZDDs.)566 b(Ho)-30 b(we)g(v)-18
1662 b(er)-48 b(,)382 b(its)366 b(meaning)h(is)f(dif)-30 b(ferent)366
1663 b(for)g(ADDs)g(and)h(BDDs,)383 b(on)367 b(the)g(one)g(hand,)5978
1664 55616 y(and)319 b(ZDDs,)j(on)c(the)h(other)g(hand.)423
1665 b(The)319 b(diagram)f(consisting)g(of)h(the)g(constant)f(1)h(node)g
1666 (only)5978 57121 y(represents)387 b(the)h(constant)h(1)f(function)g
1667 (for)g(ADDs)g(and)h(BDDs.)632 b(F)-18 b(or)388 b(ZDDs,)409
1668 b(its)388 b(meaning)5978 58626 y(depends)378 b(on)h(the)g(number)g(of)f
1669 (v)-30 b(ariables:)527 b(It)378 b(is)g(the)h(conjunction)g(of)g(the)g
1670 (complements)f(of)5978 60132 y(all)442 b(v)-30 b(ariables.)795
1671 b(Con)-48 b(v)-18 b(ersely)-79 b(,)477 b(the)443 b(representation)f(of)
1672 h(the)g(constant)g(1)f(function)h(depends)5978 61637
1673 y(on)351 b(the)g(number)g(of)g(v)-30 b(ariables.)519
1674 b(The)351 b(constant)g(1)g(function)g(of)g Fk(n)f Fo(v)-30
1675 b(ariables)351 b(is)f(returned)h(by)5978 63143 y Fn(Cudd)p
1676 8677 63143 V 437 w(ReadZddOne)p Fo(.)p Black 25600 69672
1677 a(9)p Black eop end
1678 %%Page: 10 10
1679 TeXDict begin 10 9 bop Black Black 7859 7638 a Fo(The)379
1680 b(constant)f(0)g(is)g(common)g(to)h(ADDs)f(and)g(ZDDs,)397
1681 b(b)-24 b(ut)378 b(not)g(to)h(BDDs.)601 b(The)378 b(BDD)5978
1682 9143 y(logic)257 b(0)g(is)f Fp(not)g Fo(associated)h(with)g(the)g
1683 (constant)g(0)g(function:)353 b(It)256 b(is)g(obtained)i(by)f
1684 (complemen-)5978 10649 y(tation)318 b(\()p Fn(Cudd)p
1685 12160 10649 364 45 v 437 w(Not)22 b Fo(\))318 b(of)g(the)h(constant)f
1686 (1.)422 b(\(It)317 b(is)h(also)g(returned)g(by)g Fn(Cudd)p
1687 37282 10649 V 437 w(ReadLo)-12 b(gicZer)-55 b(o)p Fo(.\))5978
1688 12154 y(All)303 b(other)g(constants)f(are)h(speci\002c)g(to)g(ADDs.)
1689 5978 15433 y Fp(3.5.2)1212 b(Pr)-22 b(ede\002ned)303
1690 b(Constants)5978 17756 y Fo(Besides)422 b(0)g(\(returned)f(by)h
1691 Fn(Cudd)p 20396 17756 V 437 w(ReadZer)-55 b(o)p Fo(\))422
1692 b(and)h(1,)452 b(the)422 b(follo)-30 b(wing)422 b(constant)g(functions)
1693 5978 19262 y(are)303 b(created)g(at)g(initialization)h(time.)p
1694 Black 7493 21763 a(1.)p Black 606 w(PlusIn\002nity)322
1695 b(and)i(MinusIn\002nity:)415 b(On)323 b(computers)g(implementing)h(the)
1696 f(IEEE)f(stan-)9008 23269 y(dard)501 b(754)f(for)h(\003oating-point)f
1697 (arithmetic,)550 b(these)501 b(tw)-12 b(o)501 b(constants)f(are)h(set)f
1698 (to)h(the)9008 24774 y(signed)230 b(in\002nities.)351
1699 b(On)231 b(the)f(DEC)h(Alphas,)244 b(the)231 b(option)f
1700 Fh(-ieee_with_no_inexact)9008 26280 y Fo(or)440 b Fh
1701 (-ieee_with_inexact)445 b Fo(must)440 b(be)h(passed)f(to)h(the)f(DEC)h
1702 (compiler)f(to)h(get)9008 27785 y(support)313 b(of)h(the)g(IEEE)f
1703 (standard.)408 b(\(The)313 b(compiler)h(still)g(produces)f(a)i(w)-12
1704 b(arning,)316 b(b)-24 b(ut)314 b(it)9008 29291 y(can)397
1705 b(be)f(ignored.\))655 b(Compiling)397 b(with)f(those)g(options)g(may)h
1706 (cause)f(substantial)g(per)-24 b(-)9008 30796 y(formance)499
1707 b(de)-18 b(gradation)499 b(on)g(the)g(Ev)-24 b(olution)499
1708 b(IV)f(CPUs.)964 b(\(Especially)498 b(if)h(the)g(ap-)9008
1709 32302 y(plication)428 b(does)f(use)g(the)h(in\002nities.\))748
1710 b(The)427 b(problem)g(is)g(reportedly)g(solv)-18 b(ed)428
1711 b(in)f(the)9008 33807 y(Ev)-24 b(olution)422 b(V)i(CPUs.)736
1712 b(If)422 b Fh(gcc)i Fo(is)e(used)h(to)g(compile)h(CUDD)g(on)f(the)g
1713 (Alphas,)453 b(the)9008 35313 y(symbol)329 b Fh(HAVE)p
1714 15888 35313 V 437 w(IEEE)p 19233 35313 V 438 w(754)h
1715 Fo(must)f(be)g(unde\002ned.)455 b(\(See)330 b(the)f(Mak)-12
1716 b(e\002le)329 b(for)g(the)g(de-)9008 36818 y(tails.\))499
1717 b(The)344 b(v)-30 b(alues)345 b(of)f(these)g(constants)g(are)g
1718 (returned)h(by)f Fn(Cudd)p 37384 36818 V 437 w(ReadPlusIn\002nity)9008
1719 38324 y Fo(and)303 b Fn(Cudd)p 13760 38324 V 437 w(ReadMinusIn\002nity)
1720 p Fo(.)p Black 7493 40825 a(2.)p Black 606 w(Epsilon:)488
1721 b(This)359 b(constant,)374 b(initially)360 b(set)f(to)h
1722 Fl(10)29123 40385 y Fd(\241)p Fc(12)30851 40825 y Fo(,)374
1723 b(is)359 b(used)g(in)h(comparing)g(\003oating)9008 42331
1724 y(point)338 b(v)-30 b(alues)337 b(for)g(equality)-79
1725 b(.)481 b(Its)337 b(v)-30 b(alue)338 b(is)f(returned)h(by)g
1726 Fn(Cudd)p 35858 42331 V 437 w(ReadEpsilon)p Fo(,)345
1727 b(and)338 b(it)9008 43836 y(can)366 b(be)g(modi\002ed)g(by)g(calling)h
1728 Fn(Cudd)p 25185 43836 V 437 w(SetEpsilon)p Fo(.)563 b(Unlik)-12
1729 b(e)366 b(the)g(other)g(constants,)381 b(it)9008 45342
1730 y(does)303 b(not)g(correspond)f(to)h(a)h(node.)5978 48620
1731 y Fp(3.5.3)1212 b(Backgr)-22 b(ound)5978 50944 y Fo(The)289
1732 b(background)h(v)-30 b(alue)290 b(is)f(a)h(constant)f(typically)h(used)
1733 f(to)h(represent)f(non-e)-18 b(xisting)289 b(arcs)g(in)5978
1734 52449 y(graphs.)385 b(Consider)306 b(a)h(shortest)e(path)i(problem.)385
1735 b(T)-97 b(w)-12 b(o)307 b(nodes)f(that)g(are)h(not)f(connected)h(by)g
1736 (an)5978 53954 y(arc)391 b(can)g(be)g(re)-18 b(g)-6 b(arded)391
1737 b(as)f(being)i(joined)f(by)g(an)g(arc)g(of)g(in\002nite)g(length.)639
1738 b(In)391 b(shortest)f(path)5978 55460 y(problems,)321
1739 b(it)d(is)g(therefore)f(con)-48 b(v)-18 b(enient)319
1740 b(to)f(set)g(the)g(background)h(v)-30 b(alue)318 b(to)g
1741 (PlusIn\002nity.)420 b(In)5978 56965 y(netw)-12 b(ork)320
1742 b(\003o)-30 b(w)320 b(problems,)k(on)c(the)h(other)f(hand,)325
1743 b(tw)-12 b(o)320 b(nodes)g(not)h(connected)g(by)f(an)h(arc)f(can)5978
1744 58471 y(be)359 b(re)-18 b(g)-6 b(arded)359 b(as)g(joined)h(by)g(an)f
1745 (arc)h(of)f(0)g(capacity)-79 b(.)546 b(F)-18 b(or)359
1746 b(these)g(problems,)373 b(therefore,)g(it)360 b(is)5978
1747 59976 y(more)370 b(con)-48 b(v)-18 b(enient)371 b(to)f(set)g(the)h
1748 (background)g(v)-30 b(alue)370 b(to)h(0.)578 b(In)370
1749 b(general,)388 b(when)371 b(representing)5978 61482 y(sparse)302
1750 b(matrices,)g(the)i(background)f(v)-30 b(alue)303 b(is)g(the)g(v)-30
1751 b(alue)303 b(that)g(is)g(assumed)f(implicitly)-79 b(.)7859
1752 62987 y(At)231 b(initialization,)245 b(the)231 b(background)f(v)-30
1753 b(alue)231 b(is)e(set)h(to)h(0.)351 b(It)230 b(can)h(be)f(read)h(with)f
1754 Fn(Cudd)p 43176 62987 V 437 w(ReadBac)-24 b(kgr)-55 b(ound)33
1755 b Fo(,)5978 64493 y(and)265 b(modi\002ed)h(with)g Fn(Cudd)p
1756 17689 64493 V 437 w(SetBac)-24 b(kgr)-55 b(ound)p Fo(.)363
1757 b(The)266 b(background)g(v)-30 b(alue)265 b(af)-30 b(fects)265
1758 b(procedures)p Black 25297 69672 a(10)p Black eop end
1759 %%Page: 11 11
1760 TeXDict begin 11 10 bop Black Black 5978 7638 a Fo(that)427
1761 b(read)h(sparse)f(matrices/graphs)g(\()p Fn(Cudd)p 25400
1762 7638 364 45 v 437 w(addRead)460 b Fo(and)428 b Fn(Cudd)p
1763 35410 7638 V 437 w(addHarwell)q Fo(\),)459 b(proce-)5978
1764 9143 y(dures)379 b(that)h(print)g(out)g(sum-of-product)e(e)-18
1765 b(xpressions)379 b(for)g(ADDs)h(\()p Fn(Cudd)p 38091
1766 9143 V 437 w(PrintMinterm)p Fo(\),)5978 10649 y(generators)520
1767 b(of)h(cubes)h(\()p Fn(Cudd)p 19463 10649 V 436 w(F)-127
1768 b(or)-45 b(eac)-18 b(hCube)p Fo(\),)576 b(and)522 b(procedures)f(that)g
1769 (count)h(minterms)5978 12154 y(\()p Fn(Cudd)p 9081 12154
1770 V 436 w(CountMinterm)p Fo(\).)5978 15433 y Fp(3.5.4)1212
1771 b(New)303 b(Constants)5978 17756 y Fo(Ne)-30 b(w)258
1772 b(constant)h(can)f(be)h(created)g(by)g(calling)f Fn(Cudd)p
1773 27621 17756 V 437 w(addConst)22 b Fo(.)361 b(This)258
1774 b(function)g(will)h(retrie)-30 b(v)-18 b(e)5978 19262
1775 y(the)397 b(ADD)h(for)f(the)g(desired)g(constant,)421
1776 b(if)397 b(it)h(already)f(e)-18 b(xist,)421 b(or)397
1777 b(it)h(will)f(create)h(a)f(ne)-30 b(w)398 b(one.)5978
1778 20767 y(Ob)-18 b(viously)-79 b(,)303 b(ne)-30 b(w)303
1779 b(constants)f(should)h(only)g(be)g(used)g(when)h(manipulating)f(ADDs.)
1780 5978 24090 y Fi(3.6)1328 b(Cr)-24 b(eating)333 b(V)-122
1781 b(ariables)5978 26413 y Fo(Decision)339 b(diagrams)g(are)h(typically)g
1782 (created)g(by)f(combining)h(simpler)f(decision)h(diagrams.)5978
1783 27919 y(The)282 b(simplest)f(decision)i(diagrams,)j(of)c(course,)k
1784 (cannot)d(be)g(created)f(in)h(that)g(w)-12 b(ay)-79 b(.)369
1785 b(Constant)5978 29424 y(functions)296 b(ha)-24 b(v)-18
1786 b(e)297 b(been)g(discussed)f(in)h(Section)h(3.5.)373
1787 b(In)297 b(this)g(section)f(we)i(discuss)d(the)i(simple)5978
1788 30930 y(v)-30 b(ariable)302 b(functions,)h(also)g(kno)-30
1789 b(wn)303 b(as)g Fn(pr)-55 b(ojection)303 b(functions)p
1790 Fo(.)5978 34208 y Fp(3.6.1)1212 b(New)303 b(BDD)h(and)f(ADD)h(V)-112
1791 b(ariables)5978 36532 y Fo(The)353 b(projection)h(functions)f(are)h
1792 (distinct)f(for)g(BDDs)h(and)h(ADDs.)527 b(A)354 b(projection)g
1793 (function)5978 38037 y(for)296 b(BDDs)i(consists)e(of)h(an)h(internal)f
1794 (node)h(with)g(both)f(outgoing)h(arcs)f(pointing)g(to)h(the)f(con-)5978
1795 39542 y(stant)302 b(1.)376 b(The)303 b Fn(else)g Fo(arc)g(is)f
1796 (complemented.)7859 41048 y(An)269 b(ADD)f(projection)g(function,)275
1797 b(on)268 b(the)g(other)g(hand,)275 b(has)268 b(the)g
1798 Fn(else)g Fo(pointer)g(directed)g(to)5978 42553 y(the)448
1799 b(arithmetic)g(zero)g(function.)811 b(One)448 b(should)g(ne)-30
1800 b(v)-18 b(er)448 b(mix)g(the)g(tw)-12 b(o)448 b(types)g(of)g(v)-30
1801 b(ariables.)5978 44059 y(BDD)522 b(v)-30 b(ariables)521
1802 b(should)g(be)h(used)f(when)h(manipulating)g(BDDs,)577
1803 b(and)522 b(ADD)g(v)-30 b(ariables)5978 45564 y(should)417
1804 b(be)g(used)h(when)f(manipulating)h(ADDs.)719 b(Three)417
1805 b(functions)g(are)h(pro)-18 b(vided)417 b(to)h(cre-)5978
1806 47070 y(ate)303 b(BDD)h(v)-30 b(ariables:)p Black 7796
1807 49572 a Fm(\262)p Black 606 w Fn(Cudd)p 11707 49572 V
1808 437 w(bddIthV)-135 b(ar)28 b Fo(:)493 b(Returns)361 b(the)h(projection)
1809 g(function)g(with)g(inde)-18 b(x)362 b Fk(i)p Fo(.)552
1810 b(If)361 b(the)h(func-)9008 51077 y(tion)303 b(does)g(not)g(e)-18
1811 b(xist,)302 b(it)h(is)g(created.)p Black 7796 53579 a
1812 Fm(\262)p Black 606 w Fn(Cudd)p 11707 53579 V 437 w(bddNe)-18
1813 b(wV)-135 b(ar)28 b Fo(:)637 b(Returns)433 b(a)h(ne)-30
1814 b(w)433 b(projection)g(function,)466 b(whose)434 b(inde)-18
1815 b(x)433 b(is)g(the)9008 55084 y(lar)-22 b(gest)303 b(inde)-18
1816 b(x)303 b(in)g(use)g(at)g(the)g(time)g(of)g(the)g(call,)g(plus)g(1.)p
1817 Black 7796 57586 a Fm(\262)p Black 606 w Fn(Cudd)p 11707
1818 57586 V 437 w(bddNe)-18 b(wV)-135 b(arAtLe)-18 b(vel)q
1819 Fo(:)646 b(Similar)437 b(to)h Fn(Cudd)p 30465 57586 V
1820 437 w(bddNe)-18 b(wV)-135 b(ar)28 b Fo(.)781 b(In)438
1821 b(addition)g(it)f(al-)9008 59091 y(lo)-30 b(ws)360 b(to)h(specify)g
1822 (the)g(position)f(in)h(the)g(v)-30 b(ariable)361 b(order)g(at)g(which)g
1823 (the)g(ne)-30 b(w)361 b(v)-30 b(ariable)9008 60597 y(should)374
1824 b(be)h(inserted.)591 b(In)374 b(contrast,)393 b Fn(Cudd)p
1825 27483 60597 V 437 w(bddNe)-18 b(wV)-135 b(ar)403 b Fo(adds)375
1826 b(the)g(ne)-30 b(w)374 b(v)-30 b(ariable)375 b(at)9008
1827 62102 y(the)303 b(end)g(of)g(the)g(order)-67 b(.)5978
1828 64604 y(The)432 b(analogous)g(functions)g(for)g(ADDs)g(are)g
1829 Fn(Cudd)p 28572 64604 V 437 w(addIthV)-135 b(ar)28 b
1830 Fo(,)464 b Fn(Cudd)p 37279 64604 V 437 w(addNe)-18 b(wV)-135
1831 b(ar)28 b Fo(,)466 b(and)5978 66110 y Fn(Cudd)p 8677
1832 66110 V 437 w(addNe)-18 b(wV)-135 b(arAtLe)-18 b(vel)q
1833 Fo(.)p Black 25297 69672 a(11)p Black eop end
1834 %%Page: 12 12
1835 TeXDict begin 12 11 bop Black Black 5978 7638 a Fp(3.6.2)1212
1836 b(New)303 b(ZDD)h(V)-112 b(ariables)5978 9962 y Fo(Unlik)-12
1837 b(e)411 b(the)g(projection)g(functions)g(of)f(BDDs)h(and)h(ADDs,)438
1838 b(the)411 b(projection)g(functions)f(of)5978 11467 y(ZDDs)277
1839 b(ha)-24 b(v)-18 b(e)279 b(diagrams)e(with)i Fk(n)178
1840 b Fl(+)g(1)276 b Fo(nodes,)283 b(where)c Fk(n)f Fo(is)f(the)i(number)f
1841 (of)g(v)-30 b(ariables.)367 b(There-)5978 12973 y(fore)k(the)i(ZDDs)f
1842 (of)g(the)g(projection)h(functions)e(change)i(when)g(ne)-30
1843 b(w)373 b(v)-30 b(ariables)371 b(are)i(added.)5978 14478
1844 y(This)273 b(will)h(be)g(discussed)f(in)h(Section)g(3.9.)366
1845 b(Here)274 b(we)h(assume)e(that)h(the)g(number)g(of)g(v)-30
1846 b(ariables)5978 15984 y(is)302 b(\002x)-18 b(ed.)376
1847 b(The)303 b(ZDD)g(of)f(the)i Fk(i)p Fo(-th)e(projection)h(function)g
1848 (is)g(returned)f(by)h Fn(Cudd)p 39548 15984 364 45 v
1849 437 w(zddIthV)-135 b(ar)28 b Fo(.)5978 19306 y Fi(3.7)1328
1850 b(Basic)332 b(BDD)h(Manipulation)5978 21630 y Fo(Common)441
1851 b(manipulations)f(of)g(BDDs)g(can)h(be)g(accomplished)f(by)h(calling)f
1852 Fn(Cudd)p 42064 21630 V 437 w(bddIte)p Fo(.)5978 23135
1853 y(This)236 b(function)h(tak)-12 b(es)237 b(three)g(BDDs,)250
1854 b Fk(f)130 b Fo(,)252 b Fk(g)43 b Fo(,)251 b(and)237
1855 b Fk(h)p Fo(,)251 b(as)236 b(ar)-22 b(guments)237 b(and)h(computes)f
1856 Fk(f)156 b Fm(\242)25 b Fk(g)69 b Fl(+)25 b Fk(f)44129
1857 22695 y Fd(0)44465 23135 y Fm(\242)g Fk(h)p Fo(.)5978
1858 24641 y(Lik)-12 b(e)374 b(all)g(the)h(functions)f(that)h(create)f(ne)
1859 -30 b(w)375 b(BDDs)g(or)f(ADDs,)392 b Fn(Cudd)p 35994
1860 24641 V 437 w(bddIte)375 b Fo(returns)e(a)i(re-)5978
1861 26146 y(sult)390 b(that)h(must)g(be)g(e)-18 b(xplicitly)391
1862 b(referenced)g(by)g(the)g(caller)-67 b(.)640 b Fn(Cudd)p
1863 34812 26146 V 437 w(bddIte)391 b Fo(can)g(be)g(used)g(to)5978
1864 27652 y(implement)409 b(all)g(tw)-12 b(o-ar)-22 b(gument)409
1865 b(boolean)h(functions.)693 b(Ho)-30 b(we)g(v)-18 b(er)-48
1866 b(,)435 b(the)409 b(package)h(also)f(pro-)5978 29157
1867 y(vides)284 b Fn(Cudd)p 11520 29157 V 437 w(bddAnd)318
1868 b Fo(as)285 b(well)g(as)f(the)i(other)e(tw)-12 b(o-operand)285
1869 b(boolean)h(functions,)i(which)d(are)5978 30662 y(slightly)389
1870 b(more)i(ef)-30 b(\002cient)390 b(when)h(a)f(tw)-12 b(o-operand)391
1871 b(function)f(is)g(called)h(for)-67 b(.)637 b(The)391
1872 b(follo)-30 b(wing)5978 32168 y(fragment)291 b(of)h(code)g(illustrates)
1873 f(ho)-30 b(w)292 b(to)g(b)-24 b(uild)292 b(the)g(BDD)g(for)g(the)g
1874 (function)g Fk(f)467 b Fl(=)337 b Fk(x)41344 31728 y
1875 Fd(0)41344 32476 y Fc(0)41869 32168 y Fk(x)42562 31728
1876 y Fd(0)42562 32476 y Fc(1)43088 32168 y Fk(x)43781 31728
1877 y Fd(0)43781 32476 y Fc(2)44307 32168 y Fk(x)45000 31728
1878 y Fd(0)45000 32476 y Fc(3)45525 32168 y Fo(.)p Black
1879 Black 5978 34670 a Fh(DdManager)729 b(*manager;)5978
1880 36175 y(DdNode)f(*f,)h(*var,)f(*tmp;)5978 37681 y(int)g(i;)5978
1881 40692 y(...)5978 43702 y(f)f(=)h(Cudd_ReadOne\(manager\);)5978
1882 45208 y(Cudd_Ref\(f\);)5978 46713 y(for)g(\(i)f(=)h(3;)g(i)f(>=)h(0;)g
1883 (i--\))g({)8887 48219 y(var)g(=)f(Cudd_bddIthVar\(manager,i\);)8887
1884 49724 y(tmp)h(=)f(Cudd_bddAnd\(manager,Cudd_Not\(var\),f\);)8887
1885 51230 y(Cudd_Ref\(tmp\);)8887 52735 y
1886 (Cudd_RecursiveDeref\(manager,f\);)8887 54241 y(f)g(=)h(tmp;)5978
1887 55746 y(})5978 58248 y Fo(This)302 b(e)-18 b(xample)303
1888 b(illustrates)f(the)h(follo)-30 b(wing)303 b(points:)p
1889 Black 7796 60750 a Fm(\262)p Black 606 w Fo(Intermediate)494
1890 b(results)f(must)h(be)h(\223referenced\224)g(and)f(\223dereferenced.)
1891 -85 b(\224)951 b(Ho)-30 b(we)g(v)-18 b(er)-48 b(,)9008
1892 62255 y Fh(var)361 b Fo(is)e(a)h(projection)h(function,)374
1893 b(and)360 b(its)g(reference)f(count)i(is)e(al)-12 b(w)g(ays)360
1894 b(greater)g(than)9008 63761 y(0.)376 b(Therefore,)302
1895 b(there)h(is)f(no)i(call)f(to)g Fn(Cudd)p 27028 63761
1896 V 437 w(Ref)177 b Fo(.)p Black 25297 69672 a(12)p Black
1897 eop end
1898 %%Page: 13 13
1899 TeXDict begin 13 12 bop Black Black Black 7796 7638 a
1900 Fm(\262)p Black 606 w Fo(The)317 b(ne)-30 b(w)318 b Fh(f)g
1901 Fo(must)g(be)g(assigned)f(to)h(a)g(temporary)f(v)-30
1902 b(ariable)318 b(\()p Fh(tmp)g Fo(in)g(this)f(e)-18 b(xample\).)9008
1903 9143 y(If)273 b(the)h(result)e(of)i Fn(Cudd)p 18793 9143
1904 364 45 v 437 w(bddAnd)306 b Fo(were)274 b(assigned)f(directly)g(to)h
1905 Fh(f)p Fo(,)280 b(the)274 b(old)f Fh(f)h Fo(w)-12 b(ould)274
1906 b(be)9008 10649 y(lost,)302 b(and)i(there)f(w)-12 b(ould)303
1907 b(be)g(no)g(w)-12 b(ay)304 b(to)f(free)f(its)h(nodes.)p
1908 Black 7796 13103 a Fm(\262)p Black 606 w Fo(The)g(statement)g
1909 Fh(f)727 b(=)h(tmp)304 b Fo(has)e(the)i(same)f(ef)-30
1910 b(fect)302 b(as:)p Black Black 11917 15958 a Fh(f)728
1911 b(=)f(tmp;)11917 17464 y(Cudd_Ref\(f\);)11917 18969 y
1912 (Cudd_RecursiveDeref\(manager,tmp\);)9008 21825 y Fo(b)-24
1913 b(ut)344 b(is)g(more)h(ef)-30 b(\002cient.)500 b(The)344
1914 b(reference)h(is)f(\223passed\224)g(from)g Fh(tmp)i Fo(to)e
1915 Fh(f)p Fo(,)355 b(and)345 b Fh(tmp)h Fo(is)9008 23330
1916 y(no)-30 b(w)303 b(ready)g(to)g(be)g(reutilized.)p Black
1917 7796 25784 a Fm(\262)p Black 606 w Fo(It)405 b(is)h(normally)g(more)f
1918 (ef)-30 b(\002cient)406 b(to)g(b)-24 b(uild)406 b(BDDs)g
1919 (\223bottom-up.)-85 b(\224)684 b(This)406 b(is)f(wh)-6
1920 b(y)406 b(the)9008 27290 y(loop)273 b(goes)f(from)g(3)h(to)g(0.)366
1921 b(Notice,)279 b(ho)-30 b(we)g(v)-18 b(er)-48 b(,)278
1922 b(that)273 b(after)f(v)-30 b(ariable)273 b(reordering,)278
1923 b(higher)9008 28795 y(inde)-18 b(x)385 b(does)g(not)f(necessarily)h
1924 (mean)g(\223closer)g(to)f(the)h(bottom.)-85 b(\224)622
1925 b(Of)385 b(course,)405 b(in)385 b(this)9008 30301 y(simple)303
1926 b(e)-18 b(xample,)303 b(ef)-30 b(\002cienc)-18 b(y)303
1927 b(is)f(not)i(a)f(concern.)p Black 7796 32754 a Fm(\262)p
1928 Black 606 w Fo(Had)412 b(we)h(w)-12 b(anted)412 b(to)g(conjoin)g(the)h
1929 (v)-30 b(ariables)411 b(in)h(a)g(bottom-up)g(f)-12 b(ashion)412
1930 b(e)-30 b(v)-18 b(en)412 b(after)9008 34260 y(reordering,)300
1931 b(we)h(should)f(ha)-24 b(v)-18 b(e)301 b(used)f Fn(Cudd)p
1932 27675 34260 V 437 w(ReadIn)-48 b(vP)-97 b(erm)p Fo(.)374
1933 b(One)301 b(has)f(to)h(be)f(careful,)9008 35765 y(though,)346
1934 b(to)338 b(\002x)f(the)h(order)f(of)g(conjunction)h(before)g(entering)f
1935 (the)h(loop.)479 b(Otherwise,)9008 37271 y(if)432 b(reordering)g(tak)
1936 -12 b(es)433 b(place,)465 b(it)433 b(is)f(possible)g(to)h(use)f(one)h
1937 (v)-30 b(ariable)433 b(twice)g(and)g(skip)9008 38776
1938 y(another)303 b(v)-30 b(ariable.)5978 42075 y Fi(3.8)1328
1939 b(Basic)332 b(ADD)h(Manipulation)5978 44399 y Fo(The)305
1940 b(most)f(common)i(w)-12 b(ay)306 b(to)f(manipulate)h(ADDs)f(is)g(via)g
1941 Fn(Cudd)p 33632 44399 V 437 w(addApply)p Fo(.)383 b(This)304
1942 b(function)5978 45904 y(can)440 b(apply)h(a)f(wide)h(v)-30
1943 b(ariety)440 b(of)g(operators)f(to)h(a)h(pair)f(of)g(ADDs.)787
1944 b(Among)441 b(the)f(a)-24 b(v)-30 b(ailable)5978 47409
1945 y(operators)307 b(are)i(addition,)h(multiplication,)g(di)-30
1946 b(vision,)309 b(minimum,)h(maximum,)g(and)f(boolean)5978
1947 48915 y(operators)302 b(that)h(w)-12 b(ork)303 b(on)g(ADDs)g(whose)g
1948 (lea)-24 b(v)-18 b(es)303 b(are)g(restricted)f(to)h(0)g(and)g(1)g
1949 (\(0-1)g(ADDs\).)7859 50420 y(The)k(follo)-30 b(wing)306
1950 b(fragment)g(of)h(code)g(illustrates)e(ho)-30 b(w)307
1951 b(to)f(b)-24 b(uild)307 b(the)g(ADD)g(for)f(the)h(func-)5978
1952 51926 y(tion)c Fk(f)467 b Fl(=)337 b(5)p Fk(x)11806 52108
1953 y Fc(0)12331 51926 y Fk(x)13024 52108 y Fc(1)13550 51926
1954 y Fk(x)14243 52108 y Fc(2)14768 51926 y Fk(x)15461 52108
1955 y Fc(3)15987 51926 y Fo(.)p Black Black 5978 54307 a
1956 Fh(DdManager)729 b(*manager;)5978 55813 y(DdNode)f(*f,)h(*var,)f(*tmp;)
1957 5978 57318 y(int)g(i;)5978 60329 y(...)5978 63340 y(f)f(=)h
1958 (Cudd_addConst\(manager,5\);)5978 64846 y(Cudd_Ref\(f\);)5978
1959 66351 y(for)g(\(i)f(=)h(3;)g(i)f(>=)h(0;)g(i--\))g({)p
1960 Black 25297 69672 a Fo(13)p Black eop end
1961 %%Page: 14 14
1962 TeXDict begin 14 13 bop Black Black 8887 7638 a Fh(var)728
1963 b(=)f(Cudd_addIthVar\(manager,i\);)8887 9143 y(Cudd_Ref\(var\);)8887
1964 10649 y(tmp)h(=)f(Cudd_addApply\(manager,Cudd_addTimes,var,f\);)8887
1965 12154 y(Cudd_Ref\(tmp\);)8887 13660 y
1966 (Cudd_RecursiveDeref\(manager,f\);)8887 15165 y
1967 (Cudd_RecursiveDeref\(manager,var\);)8887 16671 y(f)g(=)h(tmp;)5978
1968 18176 y(})5978 20512 y Fo(This)325 b(e)-18 b(xample,)331
1969 b(contrasted)326 b(to)g(the)g(e)-18 b(xample)326 b(of)g(BDD)g
1970 (manipulation,)332 b(illustrates)325 b(the)h(fol-)5978
1971 22017 y(lo)-30 b(wing)303 b(points:)p Black 7796 24353
1972 a Fm(\262)p Black 606 w Fo(The)281 b(ADD)g(projection)h(function)f(are)
1973 g(not)g(maintained)h(by)f(the)g(manager)-67 b(.)369 b(It)281
1974 b(is)g(there-)9008 25858 y(fore)302 b(necessary)h(to)g(reference)g(and)
1975 g(dereference)g(them.)p Black 7796 28293 a Fm(\262)p
1976 Black 606 w Fo(The)230 b(product)g(of)g(tw)-12 b(o)231
1977 b(ADDs)f(is)g(computed)h(by)f(calling)h Fn(Cudd)p 35381
1978 28293 364 45 v 437 w(addApply)f Fo(with)g Fn(Cudd)p 45705
1979 28293 V 437 w(addT)-67 b(imes)9008 29799 y Fo(as)250
1980 b(parameter)-67 b(.)358 b(There)250 b(is)g(no)h(\223apply\224)g
1981 (function)f(for)g(BDDs,)261 b(because)251 b Fn(Cudd)p
1982 41661 29799 V 437 w(bddAnd)9008 31304 y Fo(and)266 b
1983 Fn(Cudd)p 13723 31304 V 437 w(bddXor)293 b Fo(plus)266
1984 b(complementation)h(are)f(suf)-30 b(\002cient)265 b(to)h(implement)g
1985 (all)g(tw)-12 b(o-)9008 32810 y(ar)-22 b(gument)303 b(boolean)h
1986 (functions.)5978 36099 y Fi(3.9)1328 b(Basic)332 b(ZDD)h(Manipulation)
1987 5978 38423 y Fo(ZDDs)291 b(are)h(often)h(generated)f(by)h(con)-48
1988 b(v)-18 b(erting)291 b(e)-18 b(xisting)292 b(BDDs.)373
1989 b(\(See)292 b(Section)g(3.11.\))372 b(Ho)-30 b(w-)5978
1990 39928 y(e)g(v)-18 b(er)-48 b(,)246 b(it)233 b(is)f(also)h(possible)f
1991 (to)h(b)-24 b(uild)233 b(ZDDs)f(by)h(applying)g(boolean)h(operators)e
1992 (to)h(other)g(ZDDs,)5978 41434 y(starting)345 b(from)h(constants)g(and)
1993 h(projection)f(functions.)506 b(The)346 b(follo)-30 b(wing)346
1994 b(fragment)h(of)f(code)5978 42939 y(illustrates)406 b(ho)-30
1995 b(w)408 b(to)g(b)-24 b(uild)408 b(the)g(ZDD)f(for)h(the)g(function)f
1996 Fk(f)662 b Fl(=)531 b Fk(x)34158 42499 y Fd(0)34158 43247
1997 y Fc(0)35030 42939 y Fl(+)347 b Fk(x)37013 42499 y Fd(0)37013
1998 43247 y Fc(1)37886 42939 y Fl(+)f Fk(x)39868 42499 y
1999 Fd(0)39868 43247 y Fc(2)40741 42939 y Fl(+)h Fk(x)42724
2000 42499 y Fd(0)42724 43247 y Fc(3)43249 42939 y Fo(.)691
2001 b(W)-97 b(e)5978 44445 y(assume)308 b(that)i(the)f(four)g(v)-30
2002 b(ariables)308 b(already)i(e)-18 b(xist)309 b(in)g(the)g(manager)h
2003 (when)f(the)h(ZDD)f(for)g Fk(f)440 b Fo(is)5978 45950
2004 y(b)-24 b(uilt.)375 b(Note)303 b(the)h(use)e(of)h(De)h(Mor)-22
2005 b(g)-6 b(an')-67 b(s)302 b(la)-18 b(w)-79 b(.)p Black
2006 Black 5978 48286 a Fh(DdManager)729 b(*manager;)5978
2007 49791 y(DdNode)f(*f,)h(*var,)f(*tmp;)5978 51297 y(int)g(i;)5978
2008 54307 y(manager)h(=)e(Cudd_Init\(0,4,CUDD_UNIQUE_SLOTS,)8887
2009 55813 y(CUDD_CACHE_SLOTS,0\);)5978 57318 y(...)5978 60329
2010 y(tmp)h(=)f(Cudd_ReadZddOne\(manager,0\);)5978 61835
2011 y(Cudd_Ref\(tmp\);)5978 63340 y(for)h(\(i)f(=)h(3;)g(i)f(>=)h(0;)g
2012 (i--\))g({)8887 64846 y(var)g(=)f(Cudd_zddIthVar\(manager,i\);)8887
2013 66351 y(Cudd_Ref\(var\);)p Black 25297 69672 a Fo(14)p
2014 Black eop end
2015 %%Page: 15 15
2016 TeXDict begin 15 14 bop Black Black 8887 7638 a Fh(f)727
2017 b(=)h(Cudd_zddIntersect\(manager,var,tmp\);)8887 9143
2018 y(Cudd_Ref\(f\);)8887 10649 y(Cudd_RecursiveDerefZdd\(manager,tmp\);)
2019 8887 12154 y(Cudd_RecursiveDerefZdd\(manager,var\);)8887
2020 13660 y(tmp)g(=)f(f;)5978 15165 y(})5978 16671 y(f)g(=)h
2021 (Cudd_zddDiff\(manager,Cudd_ReadZddOne\(manager,0\),tmp\);)5978
2022 18176 y(Cudd_Ref\(f\);)5978 19682 y
2023 (Cudd_RecursiveDerefZdd\(manager,tmp\);)5978 22183 y
2024 Fo(This)302 b(e)-18 b(xample)303 b(illustrates)f(the)h(follo)-30
2025 b(wing)303 b(points:)p Black 7796 24685 a Fm(\262)p Black
2026 606 w Fo(The)k(projection)h(functions)g(are)f(referenced,)i(because)f
2027 (the)-18 b(y)308 b(are)g(not)g(maintained)g(by)9008 26191
2028 y(the)303 b(manager)-67 b(.)p Black 7796 28692 a Fm(\262)p
2029 Black 606 w Fo(Complementation)304 b(is)f(obtained)g(by)g(subtracting)g
2030 (from)f(the)h(constant)g(1)h(function.)p Black 7796 31194
2031 a Fm(\262)p Black 606 w Fo(The)f(result)f(of)h Fn(Cudd)p
2032 18204 31194 364 45 v 437 w(ReadZddOne)g Fo(does)g(not)g(require)g
2033 (referencing.)5978 33696 y(CUDD)426 b(pro)-18 b(vides)425
2034 b(functions)g(for)g(the)h(manipulation)g(of)f(co)-18
2035 b(v)g(ers)425 b(represented)g(by)h(ZDDs.)5978 35201 y(F)-18
2036 b(or)529 b(instance,)586 b Fn(Cudd)p 15733 35201 V 437
2037 w(zddIsop)529 b Fo(b)-24 b(uilds)529 b(a)h(ZDD)f(representing)h(an)g
2038 (irredundant)f(sum)g(of)5978 36707 y(products)368 b(for)h(the)g
2039 (incompletely)h(speci\002ed)f(function)g(de\002ned)h(by)f(the)g(tw)-12
2040 b(o)369 b(BDDs)h Fk(L)f Fo(and)5978 38212 y Fk(U)132
2041 b Fo(.)594 b Fn(Cudd)p 10534 38212 V 437 w(zddW)-112
2042 b(eakDiv)377 b Fo(performs)e(the)h(weak)h(di)-30 b(vision)375
2043 b(of)h(tw)-12 b(o)377 b(co)-18 b(v)g(ers)375 b(gi)-30
2044 b(v)-18 b(en)376 b(as)g(ZDDs.)5978 39718 y(These)308
2045 b(functions)g(e)-18 b(xpect)308 b(the)h(tw)-12 b(o)309
2046 b(ZDD)f(v)-30 b(ariables)308 b(corresponding)g(to)g(the)h(tw)-12
2047 b(o)309 b(literals)e(of)5978 41223 y(the)387 b(function)g(v)-30
2048 b(ariable)388 b(to)f(be)g(adjacent.)630 b(One)388 b(has)f(to)g(create)h
2049 (v)-30 b(ariable)387 b(groups)f(\(see)h(Sec-)5978 42729
2050 y(tion)288 b(3.14\))f(for)h(reordering)f(of)h(the)g(ZDD)g(v)-30
2051 b(ariables)287 b(to)h(w)-12 b(ork.)371 b(BDD)288 b(automatic)h
2052 (reordering)5978 44234 y(is)400 b(safe)h(e)-30 b(v)-18
2053 b(en)401 b(without)h(groups:)572 b(If)400 b(realignment)i(of)f(ZDD)g
2054 (and)h(ADD/BDD)g(v)-30 b(ariables)401 b(is)5978 45740
2055 y(requested)302 b(\(see)h(Section)g(3.15\))g(groups)g(will)g(be)g(k)-12
2056 b(ept)303 b(adjacent.)5978 49062 y Fi(3.10)1329 b(Con)-53
2057 b(v)-13 b(erting)331 b(ADDs)h(to)h(BDDs)f(and)f(V)-49
2058 b(ice)332 b(V)-133 b(ersa)5978 51386 y Fo(Se)-30 b(v)-18
2059 b(eral)310 b(procedures)h(are)g(pro)-18 b(vided)311 b(to)h(con)-48
2060 b(v)-18 b(ert)310 b(ADDs)i(to)f(BDDs,)i(according)f(to)f(dif)-30
2061 b(ferent)5978 52891 y(criteria.)351 b(\()p Fn(Cudd)p
2062 13168 52891 V 436 w(addBddP)-97 b(attern)p Fo(,)245 b
2063 Fn(Cudd)p 24089 52891 V 437 w(addBddInterval)q Fo(,)f(and)231
2064 b Fn(Cudd)p 37290 52891 V 437 w(addBddThr)-45 b(eshold)33
2065 b Fo(.\))5978 54397 y(The)437 b(con)-48 b(v)-18 b(ersion)437
2066 b(from)g(BDDs)h(to)g(ADDs)g(\()p Fn(Cudd)p 28271 54397
2067 V 436 w(BddT)-112 b(oAdd)33 b Fo(\))438 b(is)f(based)h(on)f(the)h
2068 (simple)5978 55902 y(principle)305 b(of)h(mapping)g(the)g(logical)g(0)g
2069 (and)g(1)f(on)h(the)g(arithmetic)g(0)g(and)g(1.)384 b(It)305
2070 b(is)g(also)g(possi-)5978 57408 y(ble)f(to)h(con)-48
2071 b(v)-18 b(ert)304 b(an)g(ADD)h(with)g(inte)-18 b(ger)304
2072 b(v)-30 b(alues)304 b(\(more)g(precisely)-79 b(,)305
2073 b(\003oating)f(point)h(numbers)5978 58913 y(with)e(0)g(fractional)g
2074 (part\))f(to)h(an)g(array)g(of)g(BDDs)g(by)g(repeatedly)h(calling)f
2075 Fn(Cudd)p 40184 58913 V 437 w(addIthBit)22 b Fo(.)5978
2076 62236 y Fi(3.11)1329 b(Con)-53 b(v)-13 b(erting)331 b(BDDs)h(to)h(ZDDs)
2077 f(and)f(V)-49 b(ice)332 b(V)-133 b(ersa)5978 64559 y
2078 Fo(Man)-18 b(y)282 b(applications)g(\002rst)f(b)-24 b(uild)283
2079 b(a)f(set)g(of)g(BDDs)h(and)f(then)h(deri)-30 b(v)-18
2080 b(e)282 b(ZDDs)g(from)f(the)i(BDDs.)5978 66065 y(These)299
2081 b(applications)g(should)h(create)g(the)f(manager)h(with)g(0)g(ZDD)f(v)
2082 -30 b(ariables)299 b(and)h(create)g(the)p Black 25297
2083 69672 a(15)p Black eop end
2084 %%Page: 16 16
2085 TeXDict begin 16 15 bop Black Black 5978 7638 a Fo(BDDs.)536
2086 b(Then)356 b(the)-18 b(y)357 b(should)f(call)h Fn(Cudd)p
2087 23515 7638 364 45 v 437 w(zddV)-135 b(ar)-12 b(sF)-67
2088 b(r)-55 b(omBddV)-135 b(ar)-12 b(s)354 b Fo(to)i(create)h(the)g
2089 (necessary)5978 9143 y(ZDD)425 b(v)-30 b(ariables\227whose)424
2090 b(number)i(is)e(lik)-12 b(ely)426 b(to)f(be)g(kno)-30
2091 b(wn)426 b(once)f(the)h(BDDs)f(are)h(a)-24 b(v)-30 b(ail-)5978
2092 10649 y(able.)416 b(This)315 b(approach)i(eliminates)f(the)g(dif)-30
2093 b(\002culties)316 b(that)g(arise)g(when)h(the)f(number)g(of)g(ZDD)5978
2094 12154 y(v)-30 b(ariables)302 b(changes)h(while)h(ZDDs)e(are)h(being)g
2095 (b)-24 b(uilt.)7859 13660 y(The)331 b(simplest)f(con)-48
2096 b(v)-18 b(ersion)329 b(from)h(BDDs)h(to)g(ZDDs)f(is)g(a)h(simple)f
2097 (change)i(of)e(represen-)5978 15165 y(tation,)493 b(which)455
2098 b(preserv)-18 b(es)453 b(the)j(functions.)830 b(Simply)455
2099 b(put,)493 b(gi)-30 b(v)-18 b(en)455 b(a)g(BDD)g(for)f
2100 Fk(f)130 b Fo(,)494 b(a)455 b(ZDD)5978 16671 y(for)437
2101 b Fk(f)569 b Fo(is)437 b(requested.)781 b(In)437 b(this)h(case)g(the)g
2102 (correspondence)g(between)h(the)f(BDD)h(v)-30 b(ariables)5978
2103 18176 y(and)407 b(ZDD)h(v)-30 b(ariables)407 b(is)g(one-to-one.)689
2104 b(Hence,)435 b Fn(Cudd)p 29778 18176 V 437 w(zddV)-135
2105 b(ar)-12 b(sF)-67 b(r)-55 b(omBddV)-135 b(ar)-12 b(s)405
2106 b Fo(should)i(be)5978 19682 y(called)353 b(with)f(the)h
2107 Fn(multiplicity)g Fo(parameter)g(equal)g(to)g(1.)524
2108 b(The)353 b(con)-48 b(v)-18 b(ersion)352 b(proper)g(can)h(then)5978
2109 21187 y(be)475 b(performed)f(by)h(calling)h Fn(Cudd)p
2110 21281 21187 V 437 w(zddP)-97 b(ortF)-67 b(r)-55 b(omBdd)33
2111 b Fo(.)890 b(The)475 b(in)-48 b(v)-18 b(erse)474 b(transformation)g(is)
2112 5978 22693 y(performed)302 b(by)h Fn(Cudd)p 15543 22693
2113 V 437 w(zddP)-97 b(ortT)-112 b(oBdd)33 b Fo(.)7859 24198
2114 y(ZDDs)383 b(are)h(quite)g(often)f(used)g(for)g(the)h(representation)f
2115 (of)g Fn(co)-12 b(ver)g(s)p Fo(.)617 b(This)382 b(is)h(normally)5978
2116 25704 y(done)459 b(by)g(associating)f(tw)-12 b(o)459
2117 b(ZDD)g(v)-30 b(ariables)458 b(to)h(each)h(v)-30 b(ariable)458
2118 b(of)h(the)g(function.)843 b(\(And)5978 27209 y(hence,)340
2119 b(typically)-79 b(,)341 b(to)333 b(each)h(BDD)f(v)-30
2120 b(ariable.\))465 b(One)333 b(ZDD)g(v)-30 b(ariable)332
2121 b(is)g(associated)h(with)g(the)5978 28715 y(positi)-30
2122 b(v)-18 b(e)428 b(literal)i(of)f(the)h(BDD)g(v)-30 b(ariable,)461
2123 b(while)430 b(the)f(other)h(ZDD)f(v)-30 b(ariable)429
2124 b(is)g(associated)5978 30220 y(with)434 b(the)h(ne)-18
2125 b(g)-6 b(ati)-30 b(v)-18 b(e)434 b(literal.)770 b(A)435
2126 b(call)g(to)f Fn(Cudd)p 26423 30220 V 437 w(zddV)-135
2127 b(ar)-12 b(sF)-67 b(r)-55 b(omBddV)-135 b(ar)-12 b(s)432
2128 b Fo(with)j Fn(multiplicity)5978 31725 y Fo(equal)303
2129 b(to)g(2)g(will)g(associate)g(to)g(BDD)h(v)-30 b(ariable)303
2130 b Fk(i)f Fo(the)i(tw)-12 b(o)303 b(ZDD)g(v)-30 b(ariables)302
2131 b Fl(2)p Fk(i)h Fo(and)g Fl(2)p Fk(i)269 b Fl(+)g(1)p
2132 Fo(.)7859 33231 y(If)291 b(a)h(BDD)h(v)-30 b(ariable)291
2133 b(group)h(tree)f(e)-18 b(xists)291 b(when)h Fn(Cudd)p
2134 30683 33231 V 437 w(zddV)-135 b(ar)-12 b(sF)-67 b(r)-55
2135 b(omBddV)-135 b(ar)-12 b(s)289 b Fo(is)j(called)5978
2136 34736 y(\(see)357 b(Section)i(3.13\))f(the)h(function)f(generates)h(a)f
2137 (ZDD)g(v)-30 b(ariable)359 b(group)f(tree)g(consistent)g(to)5978
2138 36242 y(it.)758 b(In)430 b(an)-18 b(y)430 b(case,)463
2139 b(all)430 b(the)h(ZDD)f(v)-30 b(ariables)430 b(deri)-30
2140 b(v)-18 b(ed)430 b(from)g(the)g(same)h(BDD)g(v)-30 b(ariable)430
2141 b(are)5978 37747 y(clustered)302 b(into)h(a)h(group.)7859
2142 39253 y(If)313 b(the)h(ZDD)f(for)g Fk(f)445 b Fo(is)313
2143 b(created)h(and)f(later)h(a)f(ne)-30 b(w)314 b(ZDD)g(v)-30
2144 b(ariable)313 b(is)g(added)h(to)g(the)f(man-)5978 40758
2145 y(ager)-48 b(,)277 b(the)271 b(function)h(represented)f(by)g(the)g(e)
2146 -18 b(xisting)271 b(ZDD)g(changes.)366 b(Suppose,)277
2147 b(for)271 b(instance,)5978 42264 y(that)323 b(tw)-12
2148 b(o)322 b(v)-30 b(ariables)323 b(are)f(initially)h(created,)328
2149 b(and)323 b(that)g(the)g(ZDD)g(for)f Fk(f)504 b Fl(=)373
2150 b Fk(x)38617 42446 y Fc(0)39427 42264 y Fl(+)284 b Fk(x)41347
2151 42446 y Fc(1)42195 42264 y Fo(is)322 b(b)-24 b(uilt.)5978
2152 43769 y(If)430 b(a)i(third)f(v)-30 b(ariable)431 b(is)g(added,)464
2153 b(say)432 b Fk(x)22854 43951 y Fc(2)23379 43769 y Fo(,)464
2154 b(then)431 b(the)h(ZDD)f(represents)g Fk(g)618 b Fl(=)574
2155 b(\()p Fk(x)40722 43951 y Fc(0)41612 43769 y Fl(+)365
2156 b Fk(x)43613 43951 y Fc(1)44138 43769 y Fl(\))p Fk(x)45302
2157 43329 y Fd(0)45302 44077 y Fc(2)5978 45275 y Fo(instead.)446
2158 b(This)326 b(change)h(in)g(function)g(ob)-18 b(viously)326
2159 b(applies)g(re)-18 b(g)-6 b(ardless)326 b(of)g(what)h(use)g(is)f(made)
2160 5978 46780 y(of)358 b(the)h(ZDD.)543 b(Ho)-30 b(we)g(v)-18
2161 b(er)-48 b(,)372 b(if)358 b(the)h(ZDD)g(is)f(used)h(to)g(represent)f(a)
2162 h(co)-18 b(v)g(er,)372 b(the)359 b(co)-18 b(v)g(er)359
2163 b(itself)f(is)5978 48286 y(not)376 b(changed)h(by)g(the)f(addition)h
2164 (of)f(ne)-30 b(w)376 b(v)-30 b(ariable.)596 b(\(What)376
2165 b(changes)h(is)f(the)g(characteristic)5978 49791 y(function)303
2166 b(of)f(the)i(co)-18 b(v)g(er)-67 b(.\))5978 53114 y Fi(3.12)1329
2167 b(V)-122 b(ariable)332 b(Reordering)f(f)-33 b(or)332
2168 b(BDDs)g(and)f(ADDs)5978 55437 y Fo(The)253 b(CUDD)g(package)h(pro)-18
2169 b(vides)253 b(a)g(rich)g(set)g(of)g(dynamic)g(reordering)g(algorithms.)
2170 358 b(Some)253 b(of)5978 56943 y(them)303 b(are)g(slight)g(v)-30
2171 b(ariations)303 b(of)g(e)-18 b(xisting)302 b(techniques)i([16,)f(6,)g
2172 (2,)h(10,)f(15,)h(11];)f(some)g(others)5978 58448 y(ha)-24
2173 b(v)-18 b(e)303 b(been)g(de)-30 b(v)-18 b(eloped)303
2174 b(speci\002cally)h(for)e(this)g(package)i([14,)f(13].)7859
2175 59954 y(Reordering)394 b(af)-30 b(fects)393 b(a)g(unique)h(table.)648
2176 b(This)393 b(means)g(that)h(BDDs)g(and)g(ADDs,)416 b(which)5978
2177 61459 y(share)456 b(the)i(same)f(unique)g(table)h(are)f(simultaneously)
2178 g(reordered.)837 b(ZDDs,)496 b(on)457 b(the)g(other)5978
2179 62965 y(hand,)271 b(are)264 b(reordered)f(separately)-79
2180 b(.)363 b(In)263 b(the)h(follo)-30 b(wing)263 b(we)h(discuss)f(the)h
2181 (reordering)f(of)g(BDDs)5978 64470 y(and)303 b(ADDs.)376
2182 b(Reordering)303 b(for)f(ZDDs)h(is)f(the)h(subject)g(of)g(Section)g
2183 (3.14.)p Black 25297 69672 a(16)p Black eop end
2184 %%Page: 17 17
2185 TeXDict begin 17 16 bop Black Black 7859 7638 a Fo(Reordering)324
2186 b(of)g(the)f(v)-30 b(ariables)323 b(can)h(be)g(in)-48
2187 b(v)-24 b(ok)-12 b(ed)323 b(directly)h(by)g(the)f(application)i(by)e
2188 (call-)5978 9143 y(ing)i Fn(Cudd)p 10551 9143 364 45
2189 v 437 w(ReduceHeap)p Fo(.)444 b(Or)326 b(it)f(can)h(be)g(automatically)
2190 g(triggered)g(by)f(the)h(package)h(when)5978 10649 y(the)394
2191 b(number)h(of)f(nodes)h(has)f(reached)h(a)g(gi)-30 b(v)-18
2192 b(en)394 b(threshold.)650 b(\(The)394 b(threshold)g(is)g(initialized)
2193 5978 12154 y(and)k(automatically)g(adjusted)g(after)g(each)g
2194 (reordering)g(by)g(the)g(package.\))661 b(T)-97 b(o)398
2195 b(enable)g(au-)5978 13660 y(tomatic)351 b(dynamic)h(reordering)f
2196 (\(also)g(called)h Fn(async)-18 b(hr)-55 b(onous)351
2197 b Fo(dynamic)g(reordering)g(in)h(this)5978 15165 y(document\))457
2198 b(the)h(application)g(must)f(call)g Fn(Cudd)p 27123 15165
2199 V 437 w(A)-24 b(utodynEnable)p Fo(.)839 b(Automatic)458
2200 b(dynamic)5978 16671 y(reordering)302 b(can)h(subsequently)g(be)g
2201 (disabled)g(by)h(calling)f Fn(Cudd)p 33554 16671 V 437
2202 w(A)-24 b(utodynDisable)p Fo(.)7859 18176 y(All)231 b(reordering)f
2203 (methods)g(are)g(a)-24 b(v)-30 b(ailable)230 b(in)h(both)f(the)h(case)f
2204 (of)g(direct)g(call)h(to)f Fn(Cudd)p 43187 18176 V 437
2205 w(ReduceHeap)5978 19682 y Fo(and)289 b(the)h(case)f(of)g(automatic)h
2206 (in)-48 b(v)-24 b(ocation.)371 b(F)-18 b(or)289 b(man)-18
2207 b(y)290 b(methods,)i(the)d(reordering)g(procedure)5978
2208 21187 y(is)433 b(iterated)h(until)g(no)h(further)e(impro)-18
2209 b(v)g(ement)434 b(is)g(obtained.)769 b(W)-97 b(e)435
2210 b(call)f(these)g(methods)g(the)5978 22693 y Fn(con)-48
2211 b(ver)j(ging)473 b Fo(methods.)887 b(When)474 b(constraints)f(are)g
2212 (imposed)h(on)f(the)h(relati)-30 b(v)-18 b(e)473 b(position)g(of)5978
2213 24198 y(v)-30 b(ariables)363 b(\(see)g(Section)i(3.13\))e(the)h
2214 (reordering)g(methods)g(apply)g(inside)f(the)h(groups.)558
2215 b(The)5978 25704 y(groups)401 b(themselv)-18 b(es)401
2216 b(are)h(reordered)g(by)g(sifting.)672 b(Each)402 b(method)g(is)g
2217 (identi\002ed)g(by)g(a)g(con-)5978 27209 y(stant)297
2218 b(of)g(the)g(enumerated)h(type)g Fn(Cudd)p 22686 27209
2219 V 437 w(Reor)-45 b(deringT)-90 b(ype)298 b Fo(de\002ned)f(in)h
2220 Fn(cudd.h)g Fo(\(the)f(e)-18 b(xternal)5978 28715 y(header)303
2221 b(\002le)g(of)g(the)g(CUDD)h(package\):)p Black 5978
2222 31548 a Fp(CUDD)p 9551 31548 V 437 w(REORDER)p 16047
2223 31548 V 437 w(NONE:)p Black 607 w Fo(This)e(method)h(causes)g(no)g
2224 (reordering.)p Black 5978 34050 a Fp(CUDD)p 9551 34050
2225 V 437 w(REORDER)p 16047 34050 V 437 w(SAME:)p Black 607
2226 w Fo(If)229 b(passed)h(to)h Fn(Cudd)p 29295 34050 V 437
2227 w(A)-24 b(utodynEnable)p Fo(,)244 b(this)230 b(method)h(lea)-24
2228 b(v)-18 b(es)9008 35556 y(the)230 b(current)g(method)h(for)f(automatic)
2229 g(reordering)g(unchanged.)353 b(If)229 b(passed)h(to)g
2230 Fn(Cudd)p 44459 35556 V 437 w(ReduceHeap)p Fo(,)9008
2231 37061 y(this)302 b(method)i(causes)e(the)i(current)e(method)i(for)e
2232 (automatic)i(reordering)e(to)h(be)g(used.)p Black 5978
2233 39563 a Fp(CUDD)p 9551 39563 V 437 w(REORDER)p 16047
2234 39563 V 437 w(RANDOM:)p Black 607 w Fo(P)-18 b(airs)229
2235 b(of)h(v)-30 b(ariables)230 b(are)g(randomly)h(chosen,)244
2236 b(and)231 b(sw)-12 b(apped)9008 41068 y(in)384 b(the)f(order)-67
2237 b(.)618 b(The)383 b(sw)-12 b(ap)384 b(is)f(performed)g(by)h(a)f(series)
2238 g(of)g(sw)-12 b(aps)383 b(of)h(adjacent)g(v)-30 b(ari-)9008
2239 42574 y(ables.)353 b(The)234 b(best)h(order)f(among)h(those)g(obtained)
2240 g(by)g(the)g(series)e(of)i(sw)-12 b(aps)234 b(is)g(retained.)9008
2241 44079 y(The)323 b(number)f(of)h(pairs)f(chosen)h(for)f(sw)-12
2242 b(apping)323 b(equals)g(the)g(number)f(of)h(v)-30 b(ariables)322
2243 b(in)9008 45585 y(the)303 b(diagram.)p Black 5978 48086
2244 a Fp(CUDD)p 9551 48086 V 437 w(REORDER)p 16047 48086
2245 V 437 w(RANDOM)p 22071 48086 V 438 w(PIV)-55 b(O)-48
2246 b(T:)p Black 605 w Fo(Same)231 b(as)f(CUDD)p 34851 48086
2247 V 437 w(REORDER)p 40944 48086 V 437 w(RANDOM,)9008 49592
2248 y(b)-24 b(ut)384 b(the)g(tw)-12 b(o)384 b(v)-30 b(ariables)384
2249 b(are)g(chosen)g(so)f(that)i(the)f(\002rst)f(is)h(abo)-18
2250 b(v)g(e)384 b(the)g(v)-30 b(ariable)384 b(with)9008 51097
2251 y(the)359 b(lar)-22 b(gest)358 b(number)g(of)g(nodes,)372
2252 b(and)359 b(the)g(second)f(is)g(belo)-30 b(w)359 b(that)f(v)-30
2253 b(ariable.)542 b(In)358 b(case)9008 52603 y(there)372
2254 b(are)g(se)-30 b(v)-18 b(eral)372 b(v)-30 b(ariables)371
2255 b(tied)i(for)e(the)h(maximum)h(number)f(of)g(nodes,)389
2256 b(the)373 b(one)9008 54108 y(closest)302 b(to)h(the)h(root)e(is)h
2257 (used.)p Black 5978 56610 a Fp(CUDD)p 9551 56610 V 437
2258 w(REORDER)p 16047 56610 V 437 w(SIFT:)p Black 606 w Fo(This)314
2259 b(method)i(is)g(an)g(implementation)g(of)f(Rudell')-67
2260 b(s)316 b(sifting)9008 58115 y(algorithm)349 b([16].)513
2261 b(A)349 b(simpli\002ed)g(description)f(of)h(sifting)f(is)h(as)f(follo)
2262 -30 b(ws:)467 b(Each)349 b(v)-30 b(ari-)9008 59621 y(able)416
2263 b(is)f(considered)g(in)h(turn.)713 b(A)415 b(v)-30 b(ariable)416
2264 b(is)f(mo)-18 b(v)g(ed)415 b(up)h(and)g(do)-30 b(wn)415
2265 b(in)h(the)g(order)9008 61126 y(so)338 b(that)g(it)h(tak)-12
2266 b(es)338 b(all)g(possible)g(positions.)481 b(The)338
2267 b(best)g(position)g(is)g(identi\002ed)g(and)h(the)9008
2268 62632 y(v)-30 b(ariable)303 b(is)f(returned)h(to)g(that)g(position.)
2269 9008 64635 y(In)399 b(reality)-79 b(,)424 b(things)399
2270 b(are)h(a)f(bit)h(more)f(complicated.)666 b(F)-18 b(or)399
2271 b(instance,)424 b(there)400 b(is)f(a)g(limit)9008 66141
2272 y(on)390 b(the)h(number)f(of)g(v)-30 b(ariables)389 b(that)i(will)f(be)
2273 h(sifted.)636 b(This)390 b(limit)g(can)g(be)h(read)f(with)p
2274 Black 25297 69672 a(17)p Black eop end
2275 %%Page: 18 18
2276 TeXDict begin 18 17 bop Black Black 9008 7638 a Fn(Cudd)p
2277 11707 7638 364 45 v 437 w(ReadSiftMaxV)-135 b(ar)349
2278 b Fo(and)323 b(set)f(with)g Fn(Cudd)p 29284 7638 V 437
2279 w(SetSiftMaxV)-135 b(ar)28 b Fo(.)434 b(In)322 b(addition,)327
2280 b(if)322 b(the)9008 9143 y(diagram)399 b(gro)-30 b(ws)399
2281 b(too)g(much)h(while)f(mo)-18 b(ving)400 b(a)f(v)-30
2282 b(ariable)399 b(up)h(or)f(do)-30 b(wn,)423 b(that)400
2283 b(mo)-18 b(v)g(e-)9008 10649 y(ment)482 b(is)f(terminated)h(before)g
2284 (the)g(v)-30 b(ariable)482 b(has)g(reached)g(one)g(end)g(of)g(the)g
2285 (order)-67 b(.)9008 12154 y(The)358 b(maximum)h(ratio)f(by)h(which)g
2286 (the)g(diagram)f(is)g(allo)-30 b(wed)359 b(to)f(gro)-30
2287 b(w)359 b(while)f(a)h(v)-30 b(ari-)9008 13660 y(able)448
2288 b(is)g(being)g(sifted)f(can)i(be)f(read)g(with)g Fn(Cudd)p
2289 30573 13660 V 437 w(ReadMaxGr)-55 b(owth)449 b Fo(and)f(set)g(with)9008
2290 15165 y Fn(Cudd)p 11707 15165 V 437 w(SetMaxGr)-55 b(owth)p
2291 Fo(.)p Black 5978 17574 a Fp(CUDD)p 9551 17574 V 437
2292 w(REORDER)p 16047 17574 V 437 w(SIFT)p 19179 17574 V
2293 436 w(CONVERGE:)p Black 608 w Fo(This)229 b(is)h(the)g(con)-48
2294 b(v)-18 b(er)c(ging)230 b(v)-30 b(ariant)230 b(of)g(CUDD-)p
2295 9008 19080 V 9372 19080 a(REORDER)p 15101 19080 V 437
2296 w(SIFT)-90 b(.)p Black 5978 21488 a Fp(CUDD)p 9551 21488
2297 V 437 w(REORDER)p 16047 21488 V 437 w(SYMM)p 20321 21488
2298 V 437 w(SIFT:)p Black 606 w Fo(This)441 b(method)h(is)f(an)h
2299 (implementation)g(of)g(sym-)9008 22994 y(metric)350 b(sifting)f([14].)
2300 516 b(It)350 b(is)f(similar)g(to)h(sifting,)361 b(with)350
2301 b(one)h(addition:)470 b(V)-135 b(ariables)350 b(that)9008
2302 24499 y(become)291 b(adjacent)g(during)g(sifting)f(are)g(tested)h(for)f
2303 (symmetry.)371 b(If)290 b(the)-18 b(y)290 b(are)h(symmet-)9008
2304 26005 y(ric,)450 b(the)-18 b(y)421 b(are)g(link)-12 b(ed)421
2305 b(in)g(a)g(group.)730 b(Sifting)421 b(then)g(continues)g(with)g(a)g
2306 (group)g(being)9008 27510 y(mo)-18 b(v)g(ed,)416 b(instead)393
2307 b(of)g(a)h(single)f(v)-30 b(ariable.)647 b(After)393
2308 b(symmetric)g(sifting)f(has)h(been)h(run,)9008 29016
2309 y Fn(Cudd)p 11707 29016 V 437 w(SymmPr)-55 b(o\002le)409
2310 b Fo(can)g(be)g(called)g(to)g(report)f(on)h(the)g(symmetry)f(groups)g
2311 (found.)9008 30521 y(\(Both)303 b(positi)-30 b(v)-18
2312 b(e)302 b(and)i(ne)-18 b(g)-6 b(ati)-30 b(v)-18 b(e)303
2313 b(symmetries)f(are)h(reported.\))p Black 5978 32930 a
2314 Fp(CUDD)p 9551 32930 V 437 w(REORDER)p 16047 32930 V
2315 437 w(SYMM)p 20321 32930 V 437 w(SIFT)p 23453 32930 V
2316 436 w(CONV:)p Black 606 w Fo(This)230 b(is)g(the)g(con)-48
2317 b(v)-18 b(er)c(ging)230 b(v)-30 b(ariant)230 b(of)g(CUDD-)p
2318 9008 34435 V 9372 34435 a(REORDER)p 15101 34435 V 437
2319 w(SYMM)p 19243 34435 V 435 w(SIFT)-90 b(.)p Black 5978
2320 36844 a Fp(CUDD)p 9551 36844 V 437 w(REORDER)p 16047
2321 36844 V 437 w(GR)-36 b(OUP)p 20825 36844 V 436 w(SIFT:)p
2322 Black 606 w Fo(This)289 b(method)i(is)g(an)g(implementation)g(of)f
2323 (group)9008 38350 y(sifting)232 b([13].)352 b(It)233
2324 b(is)f(similar)h(to)g(symmetric)g(sifting,)246 b(b)-24
2325 b(ut)233 b(aggre)-18 b(g)-6 b(ation)233 b(is)g(not)g(restricted)9008
2326 39855 y(to)303 b(symmetric)f(v)-30 b(ariables.)p Black
2327 5978 42264 a Fp(CUDD)p 9551 42264 V 437 w(REORDER)p 16047
2328 42264 V 437 w(GR)-36 b(OUP)p 20825 42264 V 436 w(SIFT)p
2329 23956 42264 V 436 w(CONV:)p Black 606 w Fo(This)468 b(method)g(repeats)
2330 g(until)g(con)-48 b(v)-18 b(er)-24 b(-)9008 43769 y(gence)484
2331 b(the)g(combination)h(of)e(CUDD)p 25827 43769 V 438 w(REORDER)p
2332 31921 43769 V 437 w(GR)-48 b(OUP)p 36417 43769 V 437
2333 w(SIFT)482 b(and)j(CUDD-)p 9008 45275 V 9372 45275 a(REORDER)p
2334 15101 45275 V 437 w(WINDO)-42 b(W4.)p Black 5978 47683
2335 a Fp(CUDD)p 9551 47683 V 437 w(REORDER)p 16047 47683
2336 V 437 w(WINDO)-61 b(W2:)p Black 607 w Fo(This)392 b(method)i
2337 (implements)f(the)h(windo)-30 b(w)394 b(permu-)9008 49189
2338 y(tation)434 b(approach)h(of)f(Fujita)h([8)o(])f(and)h(Ishiura)e([10].)
2339 769 b(The)434 b(size)h(of)f(the)g(windo)-30 b(w)435 b(is)9008
2340 50694 y(2.)p Black 5978 53103 a Fp(CUDD)p 9551 53103
2341 V 437 w(REORDER)p 16047 53103 V 437 w(WINDO)-61 b(W3:)p
2342 Black 607 w Fo(Similar)230 b(to)g(CUDD)p 32035 53103
2343 V 437 w(REORDER)p 38128 53103 V 437 w(WINDO)-42 b(W2,)246
2344 b(b)-24 b(ut)9008 54609 y(with)303 b(a)g(windo)-30 b(w)303
2345 b(of)g(size)g(3.)p Black 5978 57017 a Fp(CUDD)p 9551
2346 57017 V 437 w(REORDER)p 16047 57017 V 437 w(WINDO)-61
2347 b(W4:)p Black 607 w Fo(Similar)230 b(to)g(CUDD)p 32035
2348 57017 V 437 w(REORDER)p 38128 57017 V 437 w(WINDO)-42
2349 b(W2,)246 b(b)-24 b(ut)9008 58523 y(with)303 b(a)g(windo)-30
2350 b(w)303 b(of)g(size)g(4.)p Black 5978 60932 a Fp(CUDD)p
2351 9551 60932 V 437 w(REORDER)p 16047 60932 V 437 w(WINDO)-61
2352 b(W2)p 22618 60932 V 437 w(CONV:)p Black 606 w Fo(This)230
2353 b(is)g(the)g(con)-48 b(v)-18 b(er)c(ging)230 b(v)-30
2354 b(ariant)230 b(of)g(CUDD-)p 9008 62437 V 9372 62437 a(REORDER)p
2355 15101 62437 V 437 w(WINDO)-42 b(W2.)p Black 5978 64846
2356 a Fp(CUDD)p 9551 64846 V 437 w(REORDER)p 16047 64846
2357 V 437 w(WINDO)-61 b(W3)p 22618 64846 V 437 w(CONV:)p
2358 Black 606 w Fo(This)230 b(is)g(the)g(con)-48 b(v)-18
2359 b(er)c(ging)230 b(v)-30 b(ariant)230 b(of)g(CUDD-)p 9008
2360 66351 V 9372 66351 a(REORDER)p 15101 66351 V 437 w(WINDO)-42
2361 b(W3.)p Black 25297 69672 a(18)p Black eop end
2362 %%Page: 19 19
2363 TeXDict begin 19 18 bop Black Black Black 5978 7638 a
2364 Fp(CUDD)p 9551 7638 364 45 v 437 w(REORDER)p 16047 7638
2365 V 437 w(WINDO)-61 b(W4)p 22618 7638 V 437 w(CONV:)p Black
2366 606 w Fo(This)230 b(is)g(the)g(con)-48 b(v)-18 b(er)c(ging)230
2367 b(v)-30 b(ariant)230 b(of)g(CUDD-)p 9008 9143 V 9372
2368 9143 a(REORDER)p 15101 9143 V 437 w(WINDO)-42 b(W4.)p
2369 Black 5978 11566 a Fp(CUDD)p 9551 11566 V 437 w(REORDER)p
2370 16047 11566 V 437 w(ANNEALING:)p Black 607 w Fo(This)312
2371 b(method)h(is)f(an)h(implementation)g(of)f(simu-)9008
2372 13071 y(lated)271 b(annealing)g(for)f(v)-30 b(ariable)271
2373 b(ordering,)277 b(v)-30 b(aguely)271 b(resemblant)f(of)h(the)g
2374 (algorithm)f(of)9008 14577 y([2].)375 b(This)302 b(method)i(is)e
2375 (potentially)h(v)-18 b(ery)303 b(slo)-30 b(w)-79 b(.)p
2376 Black 5978 16999 a Fp(CUDD)p 9551 16999 V 437 w(REORDER)p
2377 16047 16999 V 437 w(GENETIC:)p Black 607 w Fo(This)344
2378 b(method)i(is)e(an)h(implementation)h(of)e(a)i(genetic)9008
2379 18504 y(algorithm)328 b(for)f(v)-30 b(ariable)329 b(ordering,)334
2380 b(inspired)327 b(by)i(the)f(w)-12 b(ork)328 b(of)g(Drechsler)f([6].)451
2381 b(This)9008 20010 y(method)303 b(is)g(potentially)g(v)-18
2382 b(ery)303 b(slo)-30 b(w)-79 b(.)p Black 5978 22432 a
2383 Fp(CUDD)p 9551 22432 V 437 w(REORDER)p 16047 22432 V
2384 437 w(EXA)-67 b(CT:)p Black 608 w Fo(This)293 b(method)i(implements)f
2385 (a)h(dynamic)f(programming)9008 23937 y(approach)249
2386 b(to)f(e)-18 b(xact)248 b(reordering)g([9,)g(7,)g(10)q(],)258
2387 b(with)249 b(impro)-18 b(v)g(ements)247 b(described)h(in)h([11)o(].)
2388 9008 25443 y(It)433 b(only)g(stores)f(one)h(BDD)h(at)f(the)g(time.)766
2389 b(Therefore,)465 b(it)433 b(is)g(relati)-30 b(v)-18 b(ely)432
2390 b(ef)-30 b(\002cient)433 b(in)9008 26948 y(terms)374
2391 b(of)g(memory)-79 b(.)592 b(Compared)375 b(to)g(other)f(reordering)h
2392 (strate)-18 b(gies,)391 b(it)375 b(is)f(v)-18 b(ery)375
2393 b(slo)-30 b(w)-79 b(,)9008 28454 y(and)303 b(is)g(not)g(recommended)g
2394 (for)g(more)g(than)g(16)g(v)-30 b(ariables.)5978 31049
2395 y(So)301 b(f)-12 b(ar)301 b(we)h(ha)-24 b(v)-18 b(e)302
2396 b(described)g(methods)f(whereby)h(the)g(package)h(selects)e(an)h(order)
2397 f(automati-)5978 32555 y(cally)-79 b(.)352 b(A)230 b(gi)-30
2398 b(v)-18 b(en)230 b(order)g(of)g(the)h(v)-30 b(ariables)229
2399 b(can)i(also)f(be)g(imposed)h(by)f(calling)h Fn(Cudd)p
2400 40685 32555 V 437 w(Shuf)-22 b(\003eHeap)p Fo(.)5978
2401 35838 y Fi(3.13)1329 b(Gr)-24 b(ouping)331 b(V)-122 b(ariables)5978
2402 38162 y Fo(CUDD)400 b(allo)-30 b(ws)400 b(the)g(application)h(to)f
2403 (specify)f(constraints)g(on)i(the)f(positions)f(of)h(group)f(of)5978
2404 39667 y(v)-30 b(ariables.)804 b(It)446 b(is)f(possible)g(to)h(request)g
2405 (that)g(a)h(group)e(of)h(contiguous)g(v)-30 b(ariables)446
2406 b(be)g(k)-12 b(ept)5978 41173 y(contiguous)463 b(by)g(the)g(reordering)
2407 g(procedures.)855 b(It)463 b(is)g(also)f(possible)h(to)g(request)g
2408 (that)g(the)5978 42678 y(relati)-30 b(v)-18 b(e)382 b(order)g(of)g
2409 (some)g(groups)g(of)g(v)-30 b(ariables)382 b(be)g(left)g(unchanged.)615
2410 b(The)383 b(constraints)e(on)5978 44183 y(the)303 b(order)f(are)h
2411 (speci\002ed)g(by)h(means)f(of)f(a)h(tree,)g(which)h(is)e(created)i(in)
2412 f(one)g(of)g(tw)-12 b(o)303 b(w)-12 b(ays:)p Black 7796
2413 46486 a Fm(\262)p Black 606 w Fo(By)303 b(calling)h Fn(Cudd)p
2414 17027 46486 V 437 w(Mak)-12 b(eT)-67 b(r)-45 b(eeNode)p
2415 Fo(.)p Black 7796 48909 a Fm(\262)p Black 606 w Fo(By)289
2416 b(calling)f(the)h(functions)e(of)h(the)h(MTR)f(library)f(\(part)h(of)g
2417 (the)h(distrib)-24 b(ution\),)289 b(and)g(by)9008 50414
2418 y(re)-18 b(gistering)286 b(the)h(result)f(with)h(the)g(manager)g(using)
2419 f Fn(Cudd)p 33491 50414 V 437 w(SetT)-67 b(r)-45 b(ee)p
2420 Fo(.)371 b(The)287 b(current)f(tree)9008 51920 y(re)-18
2421 b(gistered)302 b(with)h(the)g(manager)h(can)f(be)g(read)h(with)f
2422 Fn(Cudd)p 33770 51920 V 437 w(ReadT)-67 b(r)-45 b(ee)p
2423 Fo(.)7859 54223 y(Each)469 b(node)f(in)h(the)f(tree)h(represents)e(a)h
2424 (range)h(of)f(v)-30 b(ariables.)871 b(The)468 b(lo)-30
2425 b(wer)468 b(bound)g(of)5978 55728 y(the)365 b(range)g(is)f(gi)-30
2426 b(v)-18 b(en)365 b(by)g(the)g Fn(low)h Fo(\002eld)f(of)g(the)g(node,)
2427 381 b(and)365 b(the)g(size)g(of)g(the)g(group)g(is)f(gi)-30
2428 b(v)-18 b(en)5978 57233 y(by)425 b(the)h Fn(size)e Fo(\002eld)h(of)g
2429 (the)h(node.)20346 56794 y Fg(2)21587 57233 y Fo(The)f(v)-30
2430 b(ariables)425 b(in)g(each)h(range)f(are)h(k)-12 b(ept)425
2431 b(contiguous.)5978 58739 y(Furthermore,)263 b(if)253
2432 b(a)h(node)g(is)g(mark)-12 b(ed)254 b(with)g(the)g(MTR)p
2433 28784 58739 V 436 w(FIXED)f(\003ag,)264 b(then)254 b(the)g(relati)-30
2434 b(v)-18 b(e)254 b(order)5978 60244 y(of)415 b(the)g(v)-30
2435 b(ariable)416 b(ranges)f(associated)g(to)g(its)g(children)h(is)f(not)g
2436 (changed.)714 b(As)415 b(an)h(e)-18 b(xample,)5978 61750
2437 y(suppose)302 b(the)h(initial)g(v)-30 b(ariable)303 b(order)g(is:)p
2438 Black 5978 62752 15940 45 v 7383 63493 a Ff(2)7771 63916
2439 y Fe(When)239 b(the)g(v)-25 b(ariables)239 b(in)g(a)g(group)g(are)f
2440 (reordered,)k(the)d(association)g(between)h(the)e Fb(low)h
2441 Fe(\002eld)f(and)h(the)g(inde)-15 b(x)5978 65134 y(of)291
2442 b(the)h(\002rst)f(v)-25 b(ariable)293 b(in)f(the)g(group)g(is)g(lost.)
2443 436 b(The)292 b(package)i(updates)e(the)g(tree)g(to)g(k)-10
2444 b(eep)293 b(track)f(of)g(the)g(changes.)5978 66351 y(Ho)-25
2445 b(we)g(v)-15 b(er)-40 b(,)250 b(the)g(application)g(cannot)g(rely)g(on)
2446 f Fb(low)g Fe(to)g(determine)h(the)f(position)g(of)g(v)-25
2447 b(ariables.)p Black Black 25297 69672 a Fo(19)p Black
2448 eop end
2449 %%Page: 20 20
2450 TeXDict begin 20 19 bop Black Black Black Black 5978
2451 7638 a Fh(x0,)728 b(y0,)g(z0,)g(x1,)g(y1,)g(z1,)g(...)g(,)g(x9,)g(y9,)g
2452 (z9.)5978 9977 y Fo(Suppose)334 b(we)g(w)-12 b(ant)335
2453 b(to)f(k)-12 b(eep)335 b(each)g(group)f(of)g(three)g(v)-30
2454 b(ariables)334 b(with)g(the)h(same)f(inde)-18 b(x)334
2455 b(\(e.g.,)5978 11483 y Fh(x3,)728 b(y3,)g(z3)p Fo(\))299
2456 b(contiguous,)g(while)h(allo)-30 b(wing)299 b(the)g(package)g(to)g
2457 (change)h(the)f(order)f(of)h(the)5978 12988 y(groups.)375
2458 b(W)-97 b(e)303 b(can)h(accomplish)f(this)f(with)h(the)h(follo)-30
2459 b(wing)302 b(code:)p Black Black 5978 15328 a Fh(for)728
2460 b(\(i)f(=)h(0;)g(i)f(<)h(10;)g(i++\))g({)8887 16833 y(\(void\))h
2461 (Cudd_MakeTreeNode\(manager,i*3,3,MTR_DEFAULT\);)5978
2462 18339 y(})5978 20678 y Fo(If)335 b(we)h(w)-12 b(ant)336
2463 b(to)g(k)-12 b(eep)336 b(the)g(order)f(within)h(each)h(group)f(of)f(v)
2464 -30 b(ariables)335 b(\002x)-18 b(ed)336 b(\(i.e.,)344
2465 b Fh(x)336 b Fo(before)g Fh(y)5978 22184 y Fo(before)302
2466 b Fh(z)p Fo(\))h(we)h(need)f(to)g(change)h(MTR)p 22800
2467 22184 364 45 v 436 w(DEF)-90 b(A)-67 b(UL)-112 b(T)303
2468 b(into)g(MTR)p 33608 22184 V 436 w(FIXED.)7859 23689
2469 y(The)411 b Fn(low)f Fo(parameter)h(passed)e(to)i Fn(Cudd)p
2470 25267 23689 V 437 w(Mak)-12 b(eT)-67 b(r)-45 b(eeNode)411
2471 b Fo(is)f(the)g(inde)-18 b(x)411 b(of)f(a)g(v)-30 b(ariable)5978
2472 25195 y(\(as)343 b(opposed)i(to)f(its)g(le)-30 b(v)-18
2473 b(el)344 b(or)g(position)g(in)h(the)f(order\).)499 b(The)344
2474 b(group)h(tree)f(can)h(be)f(created)h(at)5978 26700 y(an)-18
2475 b(y)353 b(time.)528 b(The)353 b(result)g(ob)-18 b(viously)354
2476 b(depends)f(on)h(the)g(v)-30 b(ariable)353 b(order)h(in)f(ef)-30
2477 b(fect)353 b(at)h(creation)5978 28206 y(time.)7859 29711
2478 y(It)255 b(is)f(possible)g(to)g(create)h(a)g(v)-30 b(ariable)254
2479 b(group)h(tree)f(also)h(before)f(the)h(v)-30 b(ariables)254
2480 b(themselv)-18 b(es)5978 31216 y(are)263 b(created.)363
2481 b(The)263 b(package)i(assumes)d(in)h(this)g(case)h(that)g(the)f(inde)
2482 -18 b(x)264 b(of)f(the)h(v)-30 b(ariables)262 b(not)i(yet)5978
2483 32722 y(in)280 b(e)-18 b(xistence)281 b(will)g(equal)g(their)f
2484 (position)g(in)h(the)g(order)f(when)h(the)-18 b(y)281
2485 b(are)f(created.)369 b(Therefore,)5978 34227 y(applications)335
2486 b(that)h(rely)f(on)h Fn(Cudd)p 20792 34227 V 437 w(bddNe)-18
2487 b(wV)-135 b(arAtLe)-18 b(vel)337 b Fo(or)f Fn(Cudd)p
2488 34861 34227 V 437 w(addNe)-18 b(wV)-135 b(arAtLe)-18
2489 b(vel)337 b Fo(to)5978 35733 y(create)303 b(ne)-30 b(w)303
2490 b(v)-30 b(ariables)302 b(ha)-24 b(v)-18 b(e)304 b(to)f(create)g(the)g
2491 (v)-30 b(ariables)302 b(before)h(the)-18 b(y)303 b(group)g(them.)7859
2492 37238 y(The)407 b(reordering)e(procedure)i(will)f(skip)g(all)g(groups)g
2493 (whose)g(v)-30 b(ariables)406 b(are)g(not)h(yet)f(in)5978
2494 38744 y(e)-18 b(xistence.)393 b(F)-18 b(or)308 b(groups)h(that)g(are)g
2495 (only)g(partially)f(in)h(e)-18 b(xistence,)311 b(the)e(reordering)f
2496 (procedure)5978 40249 y(will)232 b(try)f(to)h(reorder)g(the)g(v)-30
2497 b(ariables)231 b(already)h(instantiated,)247 b(without)232
2498 b(violating)g(the)g(adjacenc)-18 b(y)5978 41755 y(constraints.)5978
2499 45045 y Fi(3.14)1329 b(V)-122 b(ariable)332 b(Reordering)f(f)-33
2500 b(or)332 b(ZDDs)5978 47369 y Fo(Reordering)288 b(of)f(ZDDs)g(is)g(done)
2501 h(in)g(much)g(the)g(same)f(w)-12 b(ay)288 b(as)g(the)f(reordering)h(of)
2502 f(BDDs)h(and)5978 48874 y(ADDs.)379 b(The)304 b(functions)g
2503 (corresponding)f(to)i Fn(Cudd)p 27947 48874 V 437 w(ReduceHeap)g
2504 Fo(and)f Fn(Cudd)p 39561 48874 V 437 w(Shuf)-22 b(\003eHeap)5978
2505 50380 y Fo(are)310 b Fn(Cudd)p 10467 50380 V 437 w(zddReduceHeap)h
2506 Fo(and)g Fn(Cudd)p 23778 50380 V 437 w(zddShuf)-22 b(\003eHeap)p
2507 Fo(.)399 b(T)-97 b(o)310 b(enable)h(dynamic)g(reorder)-24
2508 b(-)5978 51885 y(ing,)468 b(the)436 b(application)g(must)g(call)f
2509 Fn(Cudd)p 23715 51885 V 437 w(A)-24 b(utodynEnableZdd)33
2510 b Fo(,)469 b(and)436 b(to)f(disable)h(dynamic)5978 53391
2511 y(reordering,)340 b(it)334 b(must)f(call)h Fn(Cudd)p
2512 20152 53391 V 437 w(A)-24 b(utodynDisableZdd)33 b Fo(.)466
2513 b(In)334 b(the)f(current)h(implementation,)5978 54896
2514 y(ho)-30 b(we)g(v)-18 b(er)-48 b(,)296 b(the)f(choice)h(of)g
2515 (reordering)f(methods)g(for)g(ZDDs)g(is)g(more)g(limited.)373
2516 b(Speci\002cally)-79 b(,)5978 56402 y(these)302 b(methods)h(are)g(a)-24
2517 b(v)-30 b(ailable:)p Black 5978 59041 a Fp(CUDD)p 9551
2518 59041 V 437 w(REORDER)p 16047 59041 V 437 w(NONE;)p Black
2519 Black 5978 61478 a(CUDD)p 9551 61478 V 437 w(REORDER)p
2520 16047 61478 V 437 w(SAME;)p Black Black 5978 63914 a(CUDD)p
2521 9551 63914 V 437 w(REORDER)p 16047 63914 V 437 w(RANDOM;)p
2522 Black Black 5978 66351 a(CUDD)p 9551 66351 V 437 w(REORDER)p
2523 16047 66351 V 437 w(RANDOM)p 22071 66351 V 438 w(PIV)-55
2524 b(O)-48 b(T;)p Black Black 25297 69672 a Fo(20)p Black
2525 eop end
2526 %%Page: 21 21
2527 TeXDict begin 21 20 bop Black Black Black 5978 7638 a
2528 Fp(CUDD)p 9551 7638 364 45 v 437 w(REORDER)p 16047 7638
2529 V 437 w(SIFT;)p Black Black 5978 10140 a(CUDD)p 9551
2530 10140 V 437 w(REORDER)p 16047 10140 V 437 w(SIFT)p 19179
2531 10140 V 436 w(CONVERGE;)p Black Black 5978 12641 a(CUDD)p
2532 9551 12641 V 437 w(REORDER)p 16047 12641 V 437 w(SYMM)p
2533 20321 12641 V 437 w(SIFT;)p Black Black 5978 15143 a(CUDD)p
2534 9551 15143 V 437 w(REORDER)p 16047 15143 V 437 w(SYMM)p
2535 20321 15143 V 437 w(SIFT)p 23453 15143 V 436 w(CONV.)p
2536 Black 7859 17977 a Fo(T)-97 b(o)270 b(create)h(ZDD)f(v)-30
2537 b(ariable)270 b(groups,)276 b(the)270 b(application)h(calls)f
2538 Fn(Cudd)p 35926 17977 V 437 w(Mak)-12 b(eZddT)-67 b(r)-45
2539 b(eeNode)p Fo(.)5978 21300 y Fi(3.15)1329 b(K)-33 b(eeping)331
2540 b(Consistent)h(V)-122 b(ariable)332 b(Orders)f(f)-33
2541 b(or)332 b(BDDs)g(and)f(ZDDs)5978 23623 y Fo(Se)-30 b(v)-18
2542 b(eral)298 b(applications)g(that)h(manipulate)g(both)g(BDDs)g(and)f
2543 (ZDDs)g(bene\002t)h(from)f(k)-12 b(eeping)299 b(a)5978
2544 25129 y(\002x)-18 b(ed)314 b(correspondence)g(between)h(the)g(order)f
2545 (of)g(the)g(BDD)h(v)-30 b(ariables)314 b(and)h(the)f(order)g(of)g(the)
2546 5978 26634 y(ZDD)390 b(v)-30 b(ariables.)638 b(If)390
2547 b(each)h(BDD)h(v)-30 b(ariable)390 b(corresponds)g(to)h(a)f(group)h(of)
2548 f(ZDD)h(v)-30 b(ariables,)5978 28140 y(then)423 b(it)h(is)f(often)g
2549 (desirable)g(that)h(the)g(groups)f(of)g(ZDD)g(v)-30 b(ariables)423
2550 b(be)h(in)f(the)h(same)g(order)5978 29645 y(as)414 b(the)h
2551 (corresponding)f(BDD)i(v)-30 b(ariables.)710 b(CUDD)415
2552 b(allo)-30 b(ws)415 b(the)g(ZDD)f(order)g(to)h(track)g(the)5978
2553 31150 y(BDD)371 b(order)g(and)h(vice)f(v)-18 b(ersa.)579
2554 b(T)-97 b(o)371 b(ha)-24 b(v)-18 b(e)371 b(the)h(ZDD)f(order)f(track)i
2555 (the)f(BDD)h(order)-48 b(,)387 b(the)371 b(ap-)5978 32656
2556 y(plication)342 b(calls)g Fn(Cudd)p 15825 32656 V 437
2557 w(zddRealignEnable)p Fo(.)491 b(The)342 b(ef)-30 b(fect)342
2558 b(of)f(this)h(call)g(can)g(be)g(re)-30 b(v)-18 b(ersed)341
2559 b(by)5978 34161 y(calling)374 b Fn(Cudd)p 12350 34161
2560 V 437 w(zddRealignDisable)p Fo(.)587 b(When)374 b(ZDD)f(realignment)h
2561 (is)f(in)h(ef)-30 b(fect,)391 b(automatic)5978 35667
2562 y(reordering)302 b(of)h(ZDDs)f(should)h(be)g(disabled.)5978
2563 38989 y Fi(3.16)1329 b(Hooks)5978 41313 y Fo(Hooks)268
2564 b(in)h(CUDD)g(are)g(lists)f(of)g(application-speci\002ed)h(functions)f
2565 (to)h(be)g(run)g(on)f(certain)h(oc-)5978 42818 y(casions.)351
2566 b(Each)230 b(hook)g(is)g(identi\002ed)h(by)f(a)h(constant)f(of)g(the)g
2567 (enumerated)h(type)g Fn(Cudd)p 41691 42818 V 437 w(HookT)-90
2568 b(ype)p Fo(.)5978 44324 y(In)302 b(V)-135 b(ersion)303
2569 b(2.4.2)h(hooks)e(are)h(de\002ned)h(for)e(these)h(occasions:)p
2570 Black 7796 46826 a Fm(\262)p Black 606 w Fo(before)g(g)-6
2571 b(arbage)303 b(collection)h(\(CUDD)p 25534 46826 V 436
2572 w(PRE)p 28193 46826 V 437 w(GC)p 30313 46826 V 437 w(HOOK\);)p
2573 Black 7796 49327 a Fm(\262)p Black 606 w Fo(after)e(g)-6
2574 b(arbage)304 b(collection)f(\(CUDD)p 24658 49327 V 437
2575 w(POST)p 28059 49327 V 436 w(GC)p 30178 49327 V 437 w(HOOK\);)p
2576 Black 7796 51829 a Fm(\262)p Black 606 w Fo(before)g(v)-30
2577 b(ariable)303 b(reordering)f(\(CUDD)p 25845 51829 V 437
2578 w(PRE)p 28505 51829 V 436 w(REORDERING)p 36751 51829
2579 V 438 w(HOOK\);)p Black 7796 54331 a Fm(\262)p Black
2580 606 w Fo(after)g(v)-30 b(ariable)303 b(reordering)g(\(CUDD)p
2581 24970 54331 V 437 w(POST)p 28371 54331 V 436 w(REORDERING)p
2582 36617 54331 V 437 w(HOOK\).)5978 56833 y(The)315 b(current)g
2583 (implementation)h(of)f(hooks)g(is)g(e)-18 b(xperimental.)412
2584 b(A)316 b(function)f(added)h(to)f(a)h(hook)5978 58338
2585 y(recei)-30 b(v)-18 b(es)232 b(a)g(pointer)h(to)g(the)f(manager)-48
2586 b(,)247 b(a)233 b(pointer)f(to)h(a)g(constant)f(string,)246
2587 b(and)233 b(a)g(pointer)g(to)f(v)-24 b(oid)5978 59844
2588 y(as)342 b(ar)-22 b(guments;)362 b(it)343 b(must)f(return)h(1)f(if)h
2589 (successful;)361 b(0)343 b(otherwise.)494 b(The)343 b(second)g(ar)-22
2590 b(gument)343 b(is)5978 61349 y(one)259 b(of)f(\223DD,)-85
2591 b(\224)259 b(\223BDD,)-85 b(\224)260 b(and)f(\223ZDD.)-85
2592 b(\224)259 b(This)f(allo)-30 b(ws)258 b(the)h(hook)g(functions)f(to)h
2593 (tell)g(the)g(type)f(of)5978 62854 y(diagram)241 b(for)f(which)h
2594 (reordering)f(or)h(g)-6 b(arbage)241 b(collection)g(tak)-12
2595 b(es)241 b(place.)356 b(The)240 b(third)h(ar)-22 b(gument)5978
2596 64360 y(v)-30 b(aries)369 b(depending)h(on)g(the)g(hook.)577
2597 b(The)369 b(hook)i(functions)e(called)h(before)g(or)f(after)h(g)-6
2598 b(arbage)5978 65865 y(collection)294 b(do)g(not)g(use)f(it.)373
2599 b(The)293 b(hook)h(functions)f(called)i(before)e(reordering)g(are)h
2600 (passed,)h(in)p Black 25297 69672 a(21)p Black eop end
2601 %%Page: 22 22
2602 TeXDict begin 22 21 bop Black Black 5978 7638 a Fo(addition)382
2603 b(to)h(the)g(pointer)f(to)h(the)g(manager)-48 b(,)402
2604 b(also)382 b(the)h(method)g(used)f(for)g(reordering.)614
2605 b(The)5978 9143 y(hook)331 b(functions)g(called)g(after)g(reordering)g
2606 (are)g(passed)g(the)g(start)g(time.)460 b(T)-97 b(o)331
2607 b(add)h(a)f(function)5978 10649 y(to)294 b(a)h(hook,)i(one)e(uses)e
2608 Fn(Cudd)p 18197 10649 364 45 v 437 w(AddHook)21 b Fo(.)373
2609 b(The)295 b(function)f(of)g(a)h(gi)-30 b(v)-18 b(en)295
2610 b(hook)g(are)f(called)h(in)g(the)5978 12154 y(order)328
2611 b(in)i(which)f(the)-18 b(y)330 b(were)f(added)h(to)f(the)h(hook.)455
2612 b(F)-18 b(or)328 b(sample)h(hook)h(functions,)335 b(one)330
2613 b(may)5978 13660 y(look)303 b(at)g Fn(Cudd)p 12313 13660
2614 V 437 w(StdPr)-45 b(eReor)g(dHook)323 b Fo(and)303 b
2615 Fn(Cudd)p 26550 13660 V 437 w(StdP)-97 b(ostReor)-45
2616 b(dHook)21 b Fo(.)5978 16942 y Fi(3.17)1329 b(The)331
2617 b(SIS/VIS)f(Interface)5978 19266 y Fo(The)357 b(CUDD)i(package)g
2618 (contains)f(interf)-12 b(ace)358 b(functions)f(that)h(emulate)g(the)g
2619 (beha)-24 b(vior)358 b(of)g(the)5978 20772 y(original)j(BDD)g(package)h
2620 (used)f(in)g(SIS)g([17])f(and)i(in)f(the)g(ne)-30 b(wer)361
2621 b(VIS)36244 20332 y Fg(3)37103 20772 y Fo([4)o(].)550
2622 b(Ho)-30 b(w)361 b(to)g(b)-24 b(uild)5978 22277 y(VIS)408
2623 b(with)h(CUDD)g(is)f(described)h(in)g(the)g(installation)f(documents)h
2624 (of)f(VIS.)h(\(V)-135 b(ersion)408 b(1.1)5978 23783 y(and)303
2625 b(later)-67 b(.\))5978 27021 y Fp(3.17.1)1212 b(Using)303
2626 b(the)f(CUDD)i(P)-12 b(ackage)303 b(in)g(SIS)5978 29344
2627 y Fo(This)409 b(section)h(describes)f(ho)-30 b(w)410
2628 b(to)h(b)-24 b(uild)410 b(SIS)f(with)h(the)h(CUDD)g(package.)698
2629 b(Let)410 b Fh(SISDIR)5978 30850 y Fo(designate)496 b(the)h(root)g(of)f
2630 (the)h(directory)g(hierarch)-6 b(y)497 b(where)g(the)g(sources)e(for)i
2631 (SIS)f(reside.)5978 32355 y(Let)355 b Fh(CUDDDIR)j Fo(be)f(the)f(root)g
2632 (of)g(the)g(directory)g(hierarch)-6 b(y)356 b(where)g(the)g(distrib)-24
2633 b(ution)355 b(of)h(the)5978 33861 y(CUDD)295 b(package)g(resides.)372
2634 b(T)-97 b(o)294 b(b)-24 b(uild)294 b(SIS)f(with)i(the)f(CUDD)h
2635 (package,)i(follo)-30 b(w)294 b(these)g(steps.)p Black
2636 7493 36160 a(1.)p Black 606 w(Create)304 b(directories)e
2637 Fh(SISDIR/sis/cudd)307 b Fo(and)c Fh(SISDIR/sis/mtr)p
2638 Fo(.)p Black 7493 38581 a(2.)p Black 606 w(Cop)-12 b(y)231
2639 b(all)f(\002les)g(from)g Fh(CUDDDIR/cudd)j Fo(and)e Fh(CUDDDIR/sis)i
2640 Fo(to)d Fh(SISDIR/sis/cudd)9008 40086 y Fo(and)303 b(all)g(\002les)g
2641 (from)f Fh(CUDDDIR/mtr)k Fo(to)d Fh(SISDIR/sis/mtr)p
2642 Fo(.)p Black 7493 42507 a(3.)p Black 606 w(Cop)-12 b(y)452
2643 b Fh(CUDDDIR/cudd/doc/cudd.doc)459 b Fo(to)452 b Fh(SISDIR/sis/cudd)p
2644 Fo(;)530 b(also)9008 44013 y(cop)-12 b(y)303 b Fh
2645 (CUDDDIR/mtr/doc/mtr.doc)309 b Fo(to)303 b Fh(SISDIR/sis/mtr)p
2646 Fo(.)p Black 7493 46433 a(4.)p Black 606 w(In)499 b Fh(SISDIR/sis/cudd)
2647 j Fo(mak)-12 b(e)500 b Fh(bdd.h)g Fo(a)f(symbolic)g(link)g(to)g
2648 Fh(cuddBdd.h)p Fo(.)9008 47939 y(\(That)302 b(is:)376
2649 b Fh(ln)727 b(-s)h(cuddBdd.h)i(bdd.h)p Fo(.\))p Black
2650 7493 50360 a(5.)p Black 606 w(In)357 b Fh(SISDIR/sis/cudd)k
2651 Fo(delete)d Fh(Makefile)i Fo(and)d(rename)h Fh(Makefile.sis)9008
2652 51865 y Fo(as)303 b Fh(Makefile)p Fo(.)378 b(Do)303 b(the)g(same)g(in)g
2653 Fh(SISDIR/sis/mtr)p Fo(.)p Black 7493 54286 a(6.)p Black
2654 606 w(Cop)-12 b(y)231 b Fh(CUDDDIR/sis/st.[ch])k Fo(and)c
2655 Fh(CUDDDIR/st/doc/st.doc)236 b Fo(to)230 b Fh(SISDIR/sis/st)p
2656 Fo(.)9008 55791 y(\(This)385 b(will)i(o)-18 b(v)g(erwrite)386
2657 b(the)g(original)h(\002les:)542 b(Y)-133 b(ou)386 b(may)h(w)-12
2658 b(ant)387 b(to)f(sa)-24 b(v)-18 b(e)386 b(them)h(before-)9008
2659 57297 y(hand.\))p Black 7493 59718 a(7.)p Black 606 w(From)230
2660 b Fh(CUDDDIR/util)j Fo(cop)-12 b(y)231 b Fh(datalimit.c)i
2661 Fo(to)e Fh(SISDIR/sis/util)p Fo(.)355 b(Up-)9008 61223
2662 y(date)392 b Fh(util.h)i Fo(and)e Fh(Makefile)i Fo(in)e
2663 Fh(SISDIR/sis/util)p Fo(.)646 b(Speci\002cally)-79 b(,)415
2664 b(add)9008 62728 y(the)501 b(declaration)g Fh(EXTERN)729
2665 b(long)f(getSoftDataLimit\(\);)605 b Fo(to)501 b Fh(util.h)9008
2666 64234 y Fo(and)303 b(add)h Fh(datalimit.c)i Fo(to)d(the)g(list)f(of)h
2667 (source)g(\002les)f(\(PSRC\))h(in)g Fh(Makefile)p Fo(.)p
2668 Black 5978 65187 15940 45 v 7383 65928 a Ff(3)7771 66351
2669 y Fe(http://vlsi.Colorado.EDU/)249 b(vis/)p Black Black
2670 25297 69672 a Fo(22)p Black eop end
2671 %%Page: 23 23
2672 TeXDict begin 23 22 bop Black Black Black 7493 7638 a
2673 Fo(8.)p Black 606 w(In)296 b Fh(SISDIR/sis)j Fo(remo)-18
2674 b(v)g(e)296 b(the)g(link)h(from)e Fh(bdd)j Fo(to)e Fh(bdd)p
2675 34362 7638 364 45 v 437 w(cmu)h Fo(or)f Fh(bdd)p 40764
2676 7638 V 437 w(ucb)h Fo(\(that)9008 9143 y(is,)481 b Fh(rm)728
2677 b(bdd)p Fo(\))447 b(and)f(mak)-12 b(e)447 b Fh(bdd)g
2678 Fo(a)f(symbolic)g(link)g(to)g Fh(cudd)p Fo(.)807 b(\(That)445
2679 b(is:)662 b Fh(ln)728 b(-s)9008 10649 y(cudd)g(bdd)p
2680 Fo(.\))p Black 7493 13111 a(9.)p Black 606 w(Still)230
2681 b(in)g Fh(SISDIR/sis)p Fo(,)248 b(edit)230 b Fh(Makefile)p
2682 Fo(,)247 b Fh(Makefile.oct)p Fo(,)i(and)230 b Fh(Makefile.nooct)p
2683 Fo(.)9008 14617 y(In)303 b(all)g(three)g(\002les)f(add)i(mtr)e(to)h
2684 (the)h(list)e(of)h(directories)f(to)h(be)g(made)h(\(DIRS\).)p
2685 Black 6887 17079 a(10.)p Black 606 w(In)230 b Fh(SISDIR/sis/include)235
2686 b Fo(mak)-12 b(e)231 b Fh(mtr.h)g Fo(a)g(symbolic)f(link)g(to)h
2687 Fh(../mtr/mtr.h)p Fo(.)p Black 6887 19541 a(11.)p Black
2688 606 w(In)f Fh(SISDIR/sis/doc)k Fo(mak)-12 b(e)231 b Fh(cudd.doc)h
2689 Fo(a)f(symbolic)f(link)g(to)g Fh(../cudd/cudd.doc)9008
2690 21046 y Fo(and)420 b Fh(mtr.doc)i Fo(a)e(symbolic)g(link)g(to)f
2691 Fh(../mtr/mtr.doc)p Fo(.)731 b(\(That)419 b(is:)609 b
2692 Fh(ln)728 b(-s)9008 22552 y(../cudd/cudd.doc)k(.;)727
2693 b(ln)h(-s)g(../mtr/mtr.doc)j(.)p Fo(.\))p Black 6887
2694 25014 a(12.)p Black 606 w(From)338 b Fh(SISDIR)i Fo(do)e
2695 Fh(make)729 b(clean)340 b Fo(follo)-30 b(wed)338 b(by)g
2696 Fh(make)729 b(-i)p Fo(.)482 b(This)337 b(should)i(cre-)9008
2697 26519 y(ate)303 b(a)g(w)-12 b(orking)303 b(cop)-12 b(y)304
2698 b(of)e(SIS)h(that)g(uses)f(the)h(CUDD)h(package.)7859
2699 28922 y(The)458 b(replacement)h(for)e(the)h Fh(st)h Fo(library)f(is)f
2700 (because)h(the)h(v)-18 b(ersion)457 b(shipped)h(with)g(the)5978
2701 30427 y(CUDD)314 b(package)h(tests)e(for)g(out-of-memory)g(conditions.)
2702 407 b(Notice)315 b(that)f(the)f(v)-18 b(ersion)314 b(of)f(the)5978
2703 31933 y Fh(st)441 b Fo(library)f(to)g(be)h(used)f(for)g(replacement)h
2704 (is)g(not)f(the)h(one)g(used)f(for)g(the)h(normal)f(b)-24
2705 b(uild,)5978 33438 y(because)304 b(the)g(latter)g(has)g(been)g
2706 (modi\002ed)g(for)g(C++)f(compatibility)-79 b(.)379 b(The)304
2707 b(abo)-18 b(v)g(e)304 b(installation)5978 34944 y(procedure)408
2708 b(has)h(been)g(tested)g(on)f(SIS)h(1.3.)693 b(SIS)408
2709 b(can)h(be)g(obtained)g(via)g(anon)-18 b(ymous)409 b(FTP)5978
2710 36449 y(from)229 b Fh(ic.eecs.berkeley.edu)p Fo(.)357
2711 b(T)-97 b(o)230 b(b)-24 b(uild)230 b(SIS)g(1.3,)245 b(you)231
2712 b(need)f Fh(sis-1.2.tar.Z)5978 37955 y Fo(and)238 b Fh
2713 (sis-1.2.patch1.Z)p Fo(.)k(When)c(compiling)g(on)g(a)g(DEC)f(Alpha,)252
2714 b(you)238 b(should)f(add)h(the)5978 39460 y Fh(-ieee)p
2715 9686 39460 V 437 w(with)p 13031 39460 V 438 w(no)p 14923
2716 39460 V 437 w(inexact)260 b Fo(\003ag.)361 b(\(See)258
2717 b(Section)h(3.5.2.\))361 b(Refer)258 b(to)h(the)g Fh(Makefile)h
2718 Fo(in)5978 40966 y(the)303 b(top)g(le)-30 b(v)-18 b(el)303
2719 b(directory)g(of)f(the)h(distrib)-24 b(ution)302 b(for)h(ho)-30
2720 b(w)303 b(to)g(compile)g(with)g(32-bit)g(pointers.)5978
2721 44269 y Fi(3.18)1329 b(Writing)332 b(Decision)g(Diagrams)g(to)h(a)f
2722 (File)5978 46592 y Fo(The)271 b(CUDD)h(package)h(pro)-18
2723 b(vides)271 b(se)-30 b(v)-18 b(eral)270 b(functions)h(to)h(write)f
2724 (decision)h(diagrams)f(to)g(a)h(\002le.)5978 48098 y
2725 Fn(Cudd)p 8677 48098 V 437 w(DumpBlif)465 b Fo(writes)287
2726 b(a)i(\002le)f(in)g Fn(blif)465 b Fo(format.)370 b(It)288
2727 b(is)g(restricted)f(to)h(BDDs.)372 b(The)288 b(diagrams)5978
2728 49603 y(are)314 b(written)g(as)f(a)i(netw)-12 b(ork)314
2729 b(of)g(multiple)-18 b(x)g(ers,)316 b(one)e(multiple)-18
2730 b(x)g(er)314 b(for)f(each)i(internal)f(node)g(of)5978
2731 51109 y(the)303 b(BDD.)7859 52614 y Fn(Cudd)p 10558 52614
2732 V 437 w(DumpDot)491 b Fo(produces)468 b(input)h(suitable)f(to)h(the)f
2733 (graph-dra)-18 b(wing)468 b(program)g Fn(dot)45330 52174
2734 y Fg(4)5978 54119 y Fo(written)367 b(by)h(Eleftherios)e(K)-42
2735 b(outso\002os)366 b(and)i(Stephen)g(C.)g(North.)569 b(An)367
2736 b(e)-18 b(xample)368 b(of)f(dra)-18 b(wing)5978 55625
2737 y(produced)320 b(by)h(dot)f(from)g(the)h(output)f(of)g
2738 Fn(Cudd)p 26136 55625 V 437 w(DumpDot)343 b Fo(is)320
2739 b(sho)-30 b(wn)320 b(in)h(Figure)f(1.)428 b(It)320 b(is)g(re-)5978
2740 57130 y(stricted)313 b(to)h(BDDs)g(and)h(ADDs.)409 b
2741 Fn(Cudd)p 23034 57130 V 437 w(zddDumpDot)336 b Fo(is)313
2742 b(the)h(analog)h(of)f Fn(Cudd)p 40684 57130 V 437 w(DumpDot)5978
2743 58636 y Fo(for)302 b(ZDDs.)7859 60141 y Fn(Cudd)p 10558
2744 60141 V 437 w(DumpDaV)-90 b(inci)531 b Fo(produces)e(input)g(suitable)g
2745 (to)h(the)g(graph-dra)-18 b(wing)529 b(program)5978 61647
2746 y Fn(daV)-90 b(inci)9659 61207 y Fg(5)10651 61647 y Fo(de)-30
2747 b(v)-18 b(eloped)494 b(at)g(the)g(Uni)-30 b(v)-18 b(ersity)492
2748 b(of)i(Bremen.)948 b(It)494 b(is)f(restricted)g(to)h(BDDs)g(and)5978
2749 63152 y(ADDs.)p Black 5978 63946 15940 45 v 7383 64687
2750 a Ff(4)7771 65110 y Fe(http://www)-65 b
2751 (.research.att.com/sw/tools/graphviz)7383 65928 y Ff(5)7771
2752 66351 y Fe(ftp://ftp.uni-bremen.de/pub/graphics/daV)-60
2753 b(inci)p Black Black 25297 69672 a Fo(23)p Black eop
2755 %%Page: 24 24
2756 TeXDict begin 24 23 bop Black Black Black 9619 56347
2757 a @beginspecial 66 @llx 36 @lly 547 @urx 757 @ury 4393
2758 @rhi @setspecial
2759 %%BeginDocument: phase.ps
2760 %!PS-Adobe-2.0
2761 %%Creator: dot version 95 (4-10-95)
2762 %%For: (fabio) Fabio Somenzi,OT4-11,2-3466,ECE faculty
2763 %%Title: DD
2764 %%Pages: (atend)
2765 %%BoundingBox: 66 36 547 757
2766 %%EndComments
2767 %%BeginProlog
2768 save
2769 /DotDict 200 dict def
2770 DotDict begin
2772 %%BeginResource: procset
2773 /coord-font-family /Times-Roman def
2774 /default-font-family /Times-Roman def
2775 /coordfont coord-font-family findfont 8 scalefont def
2777 /InvScaleFactor 1.0 def
2778 /set_scale {
2779         dup 1 exch div /InvScaleFactor exch def
2780         dup scale
2781 } bind def
2783 % styles
2784 /solid { } bind def
2785 /dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
2786 /dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
2787 /invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
2788 /bold { 2 setlinewidth } bind def
2789 /filled { } bind def
2790 /unfilled { } bind def
2791 /rounded { } bind def
2792 /diagonals { } bind def
2794 % hooks for setting color 
2795 /nodecolor { sethsbcolor } bind def
2796 /edgecolor { sethsbcolor } bind def
2797 /graphcolor { sethsbcolor } bind def
2798 /nopcolor {pop pop pop} bind def
2800 /beginpage {    % i j npages
2801         /npages exch def
2802         /j exch def
2803         /i exch def
2804         /str 10 string def
2805         npages 1 gt {
2806                 gsave
2807                         coordfont setfont
2808                         0 0 moveto
2809                         (() show i str cvs show (,) show j str cvs show ()) show
2810                 grestore
2811         } if
2812 } bind def
2814 /set_font {
2815         findfont exch
2816         scalefont setfont
2817 } def
2819 /arrowhead {
2820         /arrowwidth exch def
2821         /arrowlength exch def
2822         gsave
2823                 3 1 roll
2824                 translate
2825                         rotate
2826                         newpath
2827                         arrowlength arrowwidth 2 div moveto
2828                         0 0 lineto
2829                         arrowlength arrowwidth -2 div lineto
2830                 closepath fill
2831                 stroke
2832         grestore
2833 } def
2835 % draw aligned label in bounding box aligned to current point
2836 % alignfactor tells what fraction to place on the left.
2837 % -.5 is centered.
2838 /alignedtext {                  % text labelwidth fontsz alignfactor
2839         /alignfactor exch def
2840         /fontsz exch def
2841         /width exch def
2842         /text exch def
2843         gsave
2844                 % even if node or edge is dashed, don't paint text with dashes
2845                 [] 0 setdash
2846                 currentpoint newpath moveto
2847                 text stringwidth pop
2848                 alignfactor mul fontsz -.3 mul rmoveto
2849                 text show
2850         grestore
2851 } def
2853 /boxprim {                              % xcorner ycorner xsize ysize
2854                 4 2 roll
2855                 moveto
2856                 2 copy
2857                 exch 0 rlineto
2858                 0 exch rlineto
2859                 pop neg 0 rlineto
2860                 closepath
2861 } bind def
2863 /ellipse_path {
2864         /ry exch def
2865         /rx exch def
2866         /y exch def
2867         /x exch def
2868         matrix currentmatrix
2869         newpath
2870         x y translate
2871         rx ry scale
2872         0 0 1 0 360 arc
2873         setmatrix
2874 } bind def
2876 /endpage { showpage } bind def
2878 /layercolorseq
2879         [       % layer color sequence - darkest to lightest
2880                 [0 0 0]
2881                 [.2 .8 .8]
2882                 [.4 .8 .8]
2883                 [.6 .8 .8]
2884                 [.8 .8 .8]
2885         ]
2888 /setlayer {/maxlayer exch def /curlayer exch def
2889         layercolorseq curlayer get
2890         aload pop sethsbcolor
2891         /nodecolor {nopcolor} def
2892         /edgecolor {nopcolor} def
2893         /graphcolor {nopcolor} def
2894 } bind def
2896 /onlayer { curlayer ne {invis} if } def
2898 /onlayers {
2899         /myupper exch def
2900         /mylower exch def
2901         curlayer mylower lt
2902         curlayer myupper gt
2903         or
2904         {invis} if
2905 } def
2907 /curlayer 0 def
2909 %%EndResource
2910 %%EndProlog
2911 %%BeginSetup
2912 14 default-font-family set_font
2913 % /arrowlength 10 def
2914 % /arrowwidth 5 def
2915 %%EndSetup
2916 %%Page: 1 (atend)
2917 %%PageBoundingBox: 66 36 547 757
2918 gsave
2919 65 35 482 722 boxprim clip newpath
2920 66 36 translate
2921 0 0 1 beginpage
2922 0.7407 set_scale
2923 0 0 translate 0 rotate
2924 0.000 0.000 0.000 graphcolor
2925 14.00 /Times-Roman set_font
2927 %       CONST NODES
2928 gsave 10 dict begin
2929 invis
2930 gsave 10 dict begin
2931 55 19 moveto (CONST NODES) 96 14.00 -0.50 alignedtext
2932 end grestore
2933 end grestore
2935 %       a110
2936 gsave 10 dict begin
2937 gsave 10 dict begin
2938 55 883 moveto (a110) 27 14.00 -0.50 alignedtext
2939 end grestore
2940 end grestore
2942 %       a111
2943 gsave 10 dict begin
2944 gsave 10 dict begin
2945 55 811 moveto (a111) 27 14.00 -0.50 alignedtext
2946 end grestore
2947 end grestore
2949 %       a110 -> a111
2950 gsave 10 dict begin
2951 invis
2952 newpath 55 864 moveto
2953 55 853 55 839 55 828 curveto
2954 stroke
2955 end grestore
2957 %       a210
2958 gsave 10 dict begin
2959 gsave 10 dict begin
2960 55 739 moveto (a210) 27 14.00 -0.50 alignedtext
2961 end grestore
2962 end grestore
2964 %       a111 -> a210
2965 gsave 10 dict begin
2966 invis
2967 newpath 55 792 moveto
2968 55 781 55 767 55 756 curveto
2969 stroke
2970 end grestore
2972 %       a211
2973 gsave 10 dict begin
2974 gsave 10 dict begin
2975 55 667 moveto (a211) 27 14.00 -0.50 alignedtext
2976 end grestore
2977 end grestore
2979 %       a210 -> a211
2980 gsave 10 dict begin
2981 invis
2982 newpath 55 720 moveto
2983 55 709 55 695 55 684 curveto
2984 stroke
2985 end grestore
2987 %       a310
2988 gsave 10 dict begin
2989 gsave 10 dict begin
2990 55 595 moveto (a310) 27 14.00 -0.50 alignedtext
2991 end grestore
2992 end grestore
2994 %       a211 -> a310
2995 gsave 10 dict begin
2996 invis
2997 newpath 55 648 moveto
2998 55 637 55 623 55 612 curveto
2999 stroke
3000 end grestore
3002 %       a311
3003 gsave 10 dict begin
3004 gsave 10 dict begin
3005 55 523 moveto (a311) 27 14.00 -0.50 alignedtext
3006 end grestore
3007 end grestore
3009 %       a310 -> a311
3010 gsave 10 dict begin
3011 invis
3012 newpath 55 576 moveto
3013 55 565 55 551 55 540 curveto
3014 stroke
3015 end grestore
3017 %       a410
3018 gsave 10 dict begin
3019 gsave 10 dict begin
3020 55 451 moveto (a410) 27 14.00 -0.50 alignedtext
3021 end grestore
3022 end grestore
3024 %       a311 -> a410
3025 gsave 10 dict begin
3026 invis
3027 newpath 55 504 moveto
3028 55 493 55 479 55 468 curveto
3029 stroke
3030 end grestore
3032 %       a411
3033 gsave 10 dict begin
3034 gsave 10 dict begin
3035 55 379 moveto (a411) 27 14.00 -0.50 alignedtext
3036 end grestore
3037 end grestore
3039 %       a410 -> a411
3040 gsave 10 dict begin
3041 invis
3042 newpath 55 432 moveto
3043 55 421 55 407 55 396 curveto
3044 stroke
3045 end grestore
3047 %       a510
3048 gsave 10 dict begin
3049 gsave 10 dict begin
3050 55 307 moveto (a510) 27 14.00 -0.50 alignedtext
3051 end grestore
3052 end grestore
3054 %       a411 -> a510
3055 gsave 10 dict begin
3056 invis
3057 newpath 55 360 moveto
3058 55 349 55 335 55 324 curveto
3059 stroke
3060 end grestore
3062 %       a511
3063 gsave 10 dict begin
3064 gsave 10 dict begin
3065 55 235 moveto (a511) 27 14.00 -0.50 alignedtext
3066 end grestore
3067 end grestore
3069 %       a510 -> a511
3070 gsave 10 dict begin
3071 invis
3072 newpath 55 288 moveto
3073 55 277 55 263 55 252 curveto
3074 stroke
3075 end grestore
3077 %       a610
3078 gsave 10 dict begin
3079 gsave 10 dict begin
3080 55 163 moveto (a610) 27 14.00 -0.50 alignedtext
3081 end grestore
3082 end grestore
3084 %       a511 -> a610
3085 gsave 10 dict begin
3086 invis
3087 newpath 55 216 moveto
3088 55 205 55 191 55 180 curveto
3089 stroke
3090 end grestore
3092 %       a611
3093 gsave 10 dict begin
3094 gsave 10 dict begin
3095 55 91 moveto (a611) 27 14.00 -0.50 alignedtext
3096 end grestore
3097 end grestore
3099 %       a610 -> a611
3100 gsave 10 dict begin
3101 invis
3102 newpath 55 144 moveto
3103 55 133 55 119 55 108 curveto
3104 stroke
3105 end grestore
3107 %       a611 -> CONST NODES
3108 gsave 10 dict begin
3109 invis
3110 newpath 55 72 moveto
3111 55 61 55 47 55 36 curveto
3112 stroke
3113 end grestore
3115 %       o
3116 gsave 10 dict begin
3117 newpath 511 972 moveto
3118 457 972 lineto
3119 457 936 lineto
3120 511 936 lineto
3121 closepath
3122 stroke
3123 gsave 10 dict begin
3124 484 955 moveto (o) 7 14.00 -0.50 alignedtext
3125 end grestore
3126 end grestore
3128 %       a00
3129 gsave 10 dict begin
3130 484 882 27 18 ellipse_path
3131 stroke
3132 gsave 10 dict begin
3133 484 883 moveto (a00) 20 14.00 -0.50 alignedtext
3134 end grestore
3135 end grestore
3137 %       o -> a00
3138 gsave 10 dict begin
3139 solid
3140 newpath 484 936 moveto
3141 484 925 484 911 484 900 curveto
3142 stroke
3143 end grestore
3145 %       9fc
3146 gsave 10 dict begin
3147 448 810 27 18 ellipse_path
3148 stroke
3149 gsave 10 dict begin
3150 448 811 moveto (9fc) 17 14.00 -0.50 alignedtext
3151 end grestore
3152 end grestore
3154 %       a00 -> 9fc
3155 newpath 475 865 moveto
3156 470 853 462 839 457 827 curveto
3157 stroke
3159 %       9ff
3160 gsave 10 dict begin
3161 520 810 27 18 ellipse_path
3162 stroke
3163 gsave 10 dict begin
3164 520 811 moveto (9ff) 16 14.00 -0.50 alignedtext
3165 end grestore
3166 end grestore
3168 %       a00 -> 9ff
3169 gsave 10 dict begin
3170 dashed
3171 newpath 493 865 moveto
3172 498 853 506 839 511 827 curveto
3173 stroke
3174 end grestore
3176 %       995
3177 gsave 10 dict begin
3178 453 738 27 18 ellipse_path
3179 stroke
3180 gsave 10 dict begin
3181 453 739 moveto (995) 21 14.00 -0.50 alignedtext
3182 end grestore
3183 end grestore
3185 %       9fc -> 995
3186 gsave 10 dict begin
3187 dashed
3188 newpath 449 792 moveto
3189 450 781 451 767 452 756 curveto
3190 stroke
3191 end grestore
3193 %       9fb
3194 gsave 10 dict begin
3195 381 738 27 18 ellipse_path
3196 stroke
3197 gsave 10 dict begin
3198 381 739 moveto (9fb) 18 14.00 -0.50 alignedtext
3199 end grestore
3200 end grestore
3202 %       9fc -> 9fb
3203 newpath 433 794 moveto
3204 422 782 407 765 396 753 curveto
3205 stroke
3207 %       9fe
3208 gsave 10 dict begin
3209 584 738 27 18 ellipse_path
3210 stroke
3211 gsave 10 dict begin
3212 584 739 moveto (9fe) 17 14.00 -0.50 alignedtext
3213 end grestore
3214 end grestore
3216 %       9ff -> 9fe
3217 gsave 10 dict begin
3218 dashed
3219 newpath 534 794 moveto
3220 545 782 560 765 570 753 curveto
3221 stroke
3222 end grestore
3224 %       95f
3225 gsave 10 dict begin
3226 512 666 27 18 ellipse_path
3227 stroke
3228 gsave 10 dict begin
3229 512 667 moveto (95f) 18 14.00 -0.50 alignedtext
3230 end grestore
3231 end grestore
3233 %       9ff -> 95f
3234 newpath 519 792 moveto
3235 518 764 515 712 513 684 curveto
3236 stroke
3238 %       994
3239 gsave 10 dict begin
3240 347 594 27 18 ellipse_path
3241 stroke
3242 gsave 10 dict begin
3243 347 595 moveto (994) 21 14.00 -0.50 alignedtext
3244 end grestore
3245 end grestore
3247 %       995 -> 994
3248 newpath 432 727 moveto
3249 407 714 370 693 363 684 curveto
3250 356 675 351 636 349 612 curveto
3251 stroke
3253 %       946
3254 gsave 10 dict begin
3255 newpath 401 36 moveto
3256 347 36 lineto
3257 347 0 lineto
3258 401 0 lineto
3259 closepath
3260 stroke
3261 gsave 10 dict begin
3262 374 19 moveto (1) 7 14.00 -0.50 alignedtext
3263 end grestore
3264 end grestore
3266 %       995 -> 946
3267 gsave 10 dict begin
3268 dotted
3269 newpath 584 594 moveto
3270 589 570 587 545 584 522 curveto
3271 stroke
3272 newpath 453 720 moveto
3273 454 698 458 662 473 648 curveto
3274 498 621 544 628 577 612 curveto
3275 582 609 582 600 584 594 curveto
3276 stroke
3277 end grestore
3279 %       9f7
3280 gsave 10 dict begin
3281 292 666 27 18 ellipse_path
3282 stroke
3283 gsave 10 dict begin
3284 292 667 moveto (9f7) 18 14.00 -0.50 alignedtext
3285 end grestore
3286 end grestore
3288 %       9fb -> 9f7
3289 newpath 363 724 moveto
3290 347 711 325 693 309 680 curveto
3291 stroke
3293 %       9fa
3294 gsave 10 dict begin
3295 402 666 27 18 ellipse_path
3296 stroke
3297 gsave 10 dict begin
3298 402 667 moveto (9fa) 17 14.00 -0.50 alignedtext
3299 end grestore
3300 end grestore
3302 %       9fb -> 9fa
3303 gsave 10 dict begin
3304 dashed
3305 newpath 386 720 moveto
3306 389 709 393 695 397 684 curveto
3307 stroke
3308 end grestore
3310 %       9fd
3311 gsave 10 dict begin
3312 584 666 27 18 ellipse_path
3313 stroke
3314 gsave 10 dict begin
3315 584 667 moveto (9fd) 18 14.00 -0.50 alignedtext
3316 end grestore
3317 end grestore
3319 %       9fe -> 9fd
3320 newpath 584 720 moveto
3321 584 709 584 695 584 684 curveto
3322 stroke
3324 %       9fe -> 946
3325 gsave 10 dict begin
3326 dotted
3327 newpath 600 723 moveto
3328 611 711 625 696 632 684 curveto
3329 637 673 637 658 632 648 curveto
3330 632 648 584 594 584 594 curveto
3331 stroke
3332 end grestore
3334 %       9f7 -> 994
3335 gsave 10 dict begin
3336 dashed
3337 newpath 304 650 moveto
3338 313 638 326 622 335 610 curveto
3339 stroke
3340 end grestore
3342 %       9f6
3343 gsave 10 dict begin
3344 275 594 27 18 ellipse_path
3345 stroke
3346 gsave 10 dict begin
3347 275 595 moveto (9f6) 18 14.00 -0.50 alignedtext
3348 end grestore
3349 end grestore
3351 %       9f7 -> 9f6
3352 newpath 288 648 moveto
3353 285 637 282 623 279 612 curveto
3354 stroke
3356 %       9f9
3357 gsave 10 dict begin
3358 529 594 27 18 ellipse_path
3359 stroke
3360 gsave 10 dict begin
3361 529 595 moveto (9f9) 18 14.00 -0.50 alignedtext
3362 end grestore
3363 end grestore
3365 %       9fa -> 9f9
3366 gsave 10 dict begin
3367 dashed
3368 newpath 423 654 moveto
3369 447 641 485 619 508 606 curveto
3370 stroke
3371 end grestore
3373 %       95e
3374 gsave 10 dict begin
3375 457 522 27 18 ellipse_path
3376 stroke
3377 gsave 10 dict begin
3378 457 523 moveto (95e) 20 14.00 -0.50 alignedtext
3379 end grestore
3380 end grestore
3382 %       9fa -> 95e
3383 newpath 465 594 moveto
3384 464 579 462 556 460 540 curveto
3385 stroke
3386 newpath 420 652 moveto
3387 439 638 464 614 465 594 curveto
3388 stroke
3390 %       95f -> 95e
3391 newpath 497 651 moveto
3392 483 636 464 612 465 594 curveto
3393 stroke
3395 %       95f -> 946
3396 gsave 10 dict begin
3397 dotted
3398 newpath 531 653 moveto
3399 551 639 579 615 584 594 curveto
3400 stroke
3401 end grestore
3403 %       9fd -> 9f9
3404 newpath 572 650 moveto
3405 563 638 550 622 541 610 curveto
3406 stroke
3408 %       9fd -> 946
3409 gsave 10 dict begin
3410 dotted
3411 newpath 582 648 moveto
3412 581 631 580 608 584 594 curveto
3413 stroke
3414 end grestore
3416 %       993
3417 gsave 10 dict begin
3418 292 450 27 18 ellipse_path
3419 stroke
3420 gsave 10 dict begin
3421 292 451 moveto (993) 21 14.00 -0.50 alignedtext
3422 end grestore
3423 end grestore
3425 %       994 -> 993
3426 newpath 333 578 moveto
3427 323 566 312 551 308 540 curveto
3428 301 521 296 489 294 468 curveto
3429 stroke
3431 %       994 -> 946
3432 gsave 10 dict begin
3433 dotted
3434 newpath 357 577 moveto
3435 371 556 396 519 418 504 curveto
3436 447 482 489 484 522 468 curveto
3437 527 465 527 456 529 450 curveto
3438 stroke
3439 newpath 529 450 moveto
3440 534 426 532 401 529 378 curveto
3441 stroke
3442 end grestore
3444 %       9f5
3445 gsave 10 dict begin
3446 347 522 27 18 ellipse_path
3447 stroke
3448 gsave 10 dict begin
3449 347 523 moveto (9f5) 18 14.00 -0.50 alignedtext
3450 end grestore
3451 end grestore
3453 %       9f6 -> 9f5
3454 gsave 10 dict begin
3455 dashed
3456 newpath 290 579 moveto
3457 302 567 319 550 332 537 curveto
3458 stroke
3459 end grestore
3461 %       9f2
3462 gsave 10 dict begin
3463 237 522 27 18 ellipse_path
3464 stroke
3465 gsave 10 dict begin
3466 237 523 moveto (9f2) 18 14.00 -0.50 alignedtext
3467 end grestore
3468 end grestore
3470 %       9f6 -> 9f2
3471 newpath 266 577 moveto
3472 260 566 252 551 246 539 curveto
3473 stroke
3475 %       9f8
3476 gsave 10 dict begin
3477 529 522 27 18 ellipse_path
3478 stroke
3479 gsave 10 dict begin
3480 529 523 moveto (9f8) 18 14.00 -0.50 alignedtext
3481 end grestore
3482 end grestore
3484 %       9f9 -> 9f8
3485 newpath 529 576 moveto
3486 529 565 529 551 529 540 curveto
3487 stroke
3489 %       9f9 -> 946
3490 gsave 10 dict begin
3491 dotted
3492 newpath 546 580 moveto
3493 563 565 587 541 584 522 curveto
3494 stroke
3495 newpath 584 522 moveto
3496 579 492 522 479 529 450 curveto
3497 stroke
3498 end grestore
3500 %       9f4
3501 gsave 10 dict begin
3502 474 450 27 18 ellipse_path
3503 stroke
3504 gsave 10 dict begin
3505 474 451 moveto (9f4) 18 14.00 -0.50 alignedtext
3506 end grestore
3507 end grestore
3509 %       9f5 -> 9f4
3510 gsave 10 dict begin
3511 dashed
3512 newpath 368 510 moveto
3513 392 497 430 475 453 462 curveto
3514 stroke
3515 end grestore
3517 %       95d
3518 gsave 10 dict begin
3519 402 378 27 18 ellipse_path
3520 stroke
3521 gsave 10 dict begin
3522 402 379 moveto (95d) 21 14.00 -0.50 alignedtext
3523 end grestore
3524 end grestore
3526 %       9f5 -> 95d
3527 newpath 365 508 moveto
3528 384 494 409 470 410 450 curveto
3529 stroke
3530 newpath 410 450 moveto
3531 409 435 407 412 405 396 curveto
3532 stroke
3534 %       9f2 -> 993
3535 gsave 10 dict begin
3536 dashed
3537 newpath 249 506 moveto
3538 258 494 271 478 280 466 curveto
3539 stroke
3540 end grestore
3542 %       9f1
3543 gsave 10 dict begin
3544 220 450 27 18 ellipse_path
3545 stroke
3546 gsave 10 dict begin
3547 220 451 moveto (9f1) 18 14.00 -0.50 alignedtext
3548 end grestore
3549 end grestore
3551 %       9f2 -> 9f1
3552 newpath 233 504 moveto
3553 230 493 227 479 224 468 curveto
3554 stroke
3556 %       95e -> 95d
3557 newpath 442 507 moveto
3558 428 492 409 468 410 450 curveto
3559 stroke
3561 %       95e -> 946
3562 gsave 10 dict begin
3563 dotted
3564 newpath 476 509 moveto
3565 496 495 524 471 529 450 curveto
3566 stroke
3567 end grestore
3569 %       9f8 -> 9f4
3570 newpath 517 506 moveto
3571 508 494 495 478 486 466 curveto
3572 stroke
3574 %       9f8 -> 946
3575 gsave 10 dict begin
3576 dotted
3577 newpath 527 504 moveto
3578 526 487 525 464 529 450 curveto
3579 stroke
3580 end grestore
3582 %       992
3583 gsave 10 dict begin
3584 237 306 27 18 ellipse_path
3585 stroke
3586 gsave 10 dict begin
3587 237 307 moveto (992) 21 14.00 -0.50 alignedtext
3588 end grestore
3589 end grestore
3591 %       993 -> 992
3592 newpath 278 434 moveto
3593 268 422 257 407 253 396 curveto
3594 246 377 241 345 239 324 curveto
3595 stroke
3597 %       993 -> 946
3598 gsave 10 dict begin
3599 dotted
3600 newpath 474 306 moveto
3601 474 306 474 234 474 234 curveto
3602 stroke
3603 newpath 302 433 moveto
3604 316 412 341 375 363 360 curveto
3605 392 338 434 340 467 324 curveto
3606 472 321 472 312 474 306 curveto
3607 stroke
3608 end grestore
3610 %       9ed
3611 gsave 10 dict begin
3612 182 378 27 18 ellipse_path
3613 stroke
3614 gsave 10 dict begin
3615 182 379 moveto (9ed) 20 14.00 -0.50 alignedtext
3616 end grestore
3617 end grestore
3619 %       9f1 -> 9ed
3620 newpath 211 433 moveto
3621 205 422 197 407 191 395 curveto
3622 stroke
3624 %       9f0
3625 gsave 10 dict begin
3626 292 378 27 18 ellipse_path
3627 stroke
3628 gsave 10 dict begin
3629 292 379 moveto (9f0) 18 14.00 -0.50 alignedtext
3630 end grestore
3631 end grestore
3633 %       9f1 -> 9f0
3634 gsave 10 dict begin
3635 dashed
3636 newpath 235 435 moveto
3637 247 423 264 406 277 393 curveto
3638 stroke
3639 end grestore
3641 %       9f3
3642 gsave 10 dict begin
3643 474 378 27 18 ellipse_path
3644 stroke
3645 gsave 10 dict begin
3646 474 379 moveto (9f3) 18 14.00 -0.50 alignedtext
3647 end grestore
3648 end grestore
3650 %       9f4 -> 9f3
3651 newpath 474 432 moveto
3652 474 421 474 407 474 396 curveto
3653 stroke
3655 %       9f4 -> 946
3656 gsave 10 dict begin
3657 dotted
3658 newpath 491 436 moveto
3659 508 421 532 397 529 378 curveto
3660 stroke
3661 newpath 529 378 moveto
3662 528 371 525 365 522 360 curveto
3663 522 360 474 306 474 306 curveto
3664 stroke
3665 end grestore
3667 %       9ed -> 992
3668 gsave 10 dict begin
3669 dashed
3670 newpath 194 362 moveto
3671 203 350 216 334 225 322 curveto
3672 stroke
3673 end grestore
3675 %       9ec
3676 gsave 10 dict begin
3677 165 306 27 18 ellipse_path
3678 stroke
3679 gsave 10 dict begin
3680 165 307 moveto (9ec) 19 14.00 -0.50 alignedtext
3681 end grestore
3682 end grestore
3684 %       9ed -> 9ec
3685 newpath 178 360 moveto
3686 175 349 172 335 169 324 curveto
3687 stroke
3689 %       9ef
3690 gsave 10 dict begin
3691 419 306 27 18 ellipse_path
3692 stroke
3693 gsave 10 dict begin
3694 419 307 moveto (9ef) 17 14.00 -0.50 alignedtext
3695 end grestore
3696 end grestore
3698 %       9f0 -> 9ef
3699 gsave 10 dict begin
3700 dashed
3701 newpath 313 366 moveto
3702 337 353 375 331 398 318 curveto
3703 stroke
3704 end grestore
3706 %       95c
3707 gsave 10 dict begin
3708 347 234 27 18 ellipse_path
3709 stroke
3710 gsave 10 dict begin
3711 347 235 moveto (95c) 20 14.00 -0.50 alignedtext
3712 end grestore
3713 end grestore
3715 %       9f0 -> 95c
3716 newpath 310 364 moveto
3717 329 350 354 326 355 306 curveto
3718 stroke
3719 newpath 355 306 moveto
3720 354 291 352 268 350 252 curveto
3721 stroke
3723 %       95d -> 95c
3724 newpath 387 363 moveto
3725 373 348 354 324 355 306 curveto
3726 stroke
3728 %       95d -> 946
3729 gsave 10 dict begin
3730 dotted
3731 newpath 421 365 moveto
3732 441 351 469 327 474 306 curveto
3733 stroke
3734 end grestore
3736 %       9f3 -> 9ef
3737 newpath 462 362 moveto
3738 453 350 440 334 431 322 curveto
3739 stroke
3741 %       9f3 -> 946
3742 gsave 10 dict begin
3743 dotted
3744 newpath 472 360 moveto
3745 471 343 470 320 474 306 curveto
3746 stroke
3747 end grestore
3749 %       954
3750 gsave 10 dict begin
3751 165 162 27 18 ellipse_path
3752 stroke
3753 gsave 10 dict begin
3754 165 163 moveto (954) 21 14.00 -0.50 alignedtext
3755 end grestore
3756 end grestore
3758 %       992 -> 954
3759 newpath 220 234 moveto
3760 214 216 194 192 180 177 curveto
3761 stroke
3762 newpath 233 288 moveto
3763 230 272 224 248 220 234 curveto
3764 stroke
3766 %       992 -> 946
3767 gsave 10 dict begin
3768 dotted
3769 newpath 220 234 moveto
3770 220 234 213 144 213 144 curveto
3771 213 144 193 90 193 90 curveto
3772 stroke
3773 end grestore
3775 %       987
3776 gsave 10 dict begin
3777 165 234 27 18 ellipse_path
3778 stroke
3779 gsave 10 dict begin
3780 165 235 moveto (987) 21 14.00 -0.50 alignedtext
3781 end grestore
3782 end grestore
3784 %       9ec -> 987
3785 newpath 165 288 moveto
3786 165 277 165 263 165 252 curveto
3787 stroke
3789 %       9eb
3790 gsave 10 dict begin
3791 275 234 27 18 ellipse_path
3792 stroke
3793 gsave 10 dict begin
3794 275 235 moveto (9eb) 20 14.00 -0.50 alignedtext
3795 end grestore
3796 end grestore
3798 %       9ec -> 9eb
3799 gsave 10 dict begin
3800 dashed
3801 newpath 184 293 moveto
3802 204 280 236 260 256 247 curveto
3803 stroke
3804 end grestore
3806 %       9ee
3807 gsave 10 dict begin
3808 419 234 27 18 ellipse_path
3809 stroke
3810 gsave 10 dict begin
3811 419 235 moveto (9ee) 19 14.00 -0.50 alignedtext
3812 end grestore
3813 end grestore
3815 %       9ef -> 9ee
3816 newpath 419 288 moveto
3817 419 277 419 263 419 252 curveto
3818 stroke
3820 %       9ef -> 946
3821 gsave 10 dict begin
3822 dotted
3823 newpath 474 234 moveto
3824 477 210 461 184 469 162 curveto
3825 stroke
3826 newpath 435 291 moveto
3827 450 276 471 252 474 234 curveto
3828 stroke
3829 end grestore
3831 %       987 -> 954
3832 gsave 10 dict begin
3833 dashed
3834 newpath 165 216 moveto
3835 165 205 165 191 165 180 curveto
3836 stroke
3837 end grestore
3839 %       987 -> 946
3840 newpath 193 90 moveto
3841 225 56 305 34 347 24 curveto
3842 stroke
3843 newpath 152 218 moveto
3844 136 197 113 162 126 144 curveto
3845 144 120 173 110 193 90 curveto
3846 stroke
3848 %       9ea
3849 gsave 10 dict begin
3850 410 162 27 18 ellipse_path
3851 stroke
3852 gsave 10 dict begin
3853 410 163 moveto (9ea) 19 14.00 -0.50 alignedtext
3854 end grestore
3855 end grestore
3857 %       9eb -> 9ea
3858 gsave 10 dict begin
3859 dashed
3860 newpath 296 223 moveto
3861 321 210 363 187 389 174 curveto
3862 stroke
3863 end grestore
3865 %       955
3866 gsave 10 dict begin
3867 374 90 27 18 ellipse_path
3868 stroke
3869 gsave 10 dict begin
3870 374 91 moveto (955) 21 14.00 -0.50 alignedtext
3871 end grestore
3872 end grestore
3874 %       9eb -> 955
3875 newpath 293 220 moveto
3876 311 206 338 182 347 162 curveto
3877 stroke
3878 newpath 347 162 moveto
3879 353 147 362 124 368 108 curveto
3880 stroke
3882 %       95c -> 955
3883 newpath 344 216 moveto
3884 342 199 341 175 347 162 curveto
3885 stroke
3887 %       95c -> 946
3888 gsave 10 dict begin
3889 dotted
3890 newpath 368 222 moveto
3891 372 220 376 217 380 216 curveto
3892 407 203 436 195 462 180 curveto
3893 467 176 466 168 469 162 curveto
3894 stroke
3895 newpath 469 162 moveto
3896 476 139 475 113 469 90 curveto
3897 stroke
3898 end grestore
3900 %       9ee -> 9ea
3901 newpath 417 216 moveto
3902 415 205 414 191 412 180 curveto
3903 stroke
3905 %       9ee -> 946
3906 gsave 10 dict begin
3907 dotted
3908 newpath 432 218 moveto
3909 442 206 454 190 462 180 curveto
3910 465 174 466 168 469 162 curveto
3911 stroke
3912 end grestore
3914 %       954 -> 946
3915 newpath 169 144 moveto
3916 174 127 182 101 193 90 curveto
3917 stroke
3919 %       954 -> 946
3920 gsave 10 dict begin
3921 dotted
3922 end grestore
3924 %       9ea -> 955
3925 newpath 401 145 moveto
3926 396 133 388 119 383 107 curveto
3927 stroke
3929 %       9ea -> 946
3930 gsave 10 dict begin
3931 dotted
3932 newpath 429 149 moveto
3933 448 133 474 109 469 90 curveto
3934 stroke
3935 newpath 469 90 moveto
3936 462 66 427 44 401 30 curveto
3937 stroke
3938 end grestore
3940 %       955 -> 946
3941 newpath 374 72 moveto
3942 374 61 374 47 374 36 curveto
3943 stroke
3945 %       955 -> 946
3946 gsave 10 dict begin
3947 dotted
3948 end grestore
3949 endpage
3950 grestore
3951 %%PageTrailer
3952 %%Trailer
3953 %%Pages: 1
3955 restore
3956 %%EOF
3958 %%EndDocument
3959  @endspecial 5978 58959 a Fo(Figure)432 b(1:)636 b(A)433
3960 b(BDD)g(representing)f(a)h(phase)g(constraint)f(for)h(the)g
3961 (optimization)g(of)f(\002x)-18 b(ed-)5978 60465 y(polarity)321
3962 b(Reed-Muller)g(forms.)429 b(The)321 b(label)h(of)e(each)i(node)g(is)e
3963 (the)i(unique)f(part)g(of)g(the)h(node)5978 61970 y(address.)370
3964 b(All)289 b(nodes)g(on)g(the)h(same)f(le)-30 b(v)-18
3965 b(el)289 b(correspond)f(to)h(the)h(same)f(v)-30 b(ariable,)292
3966 b(whose)d(name)5978 63476 y(is)283 b(sho)-30 b(wn)283
3967 b(at)h(the)g(left)g(of)f(the)h(diagram.)370 b(Dotted)284
3968 b(lines)f(indicate)i(complement)f(arcs.)369 b(Dashed)5978
3969 64981 y(lines)302 b(indicate)i(re)-18 b(gular)302 b(\223else\224)i
3970 (arcs.)p Black Black 25297 69672 a(24)p Black eop end
3971 %%Page: 25 25
3972 TeXDict begin 25 24 bop Black Black 7859 7638 a Fo(Functions)420
3973 b(are)f(also)g(a)-24 b(v)-30 b(ailable)420 b(to)f(produce)h(the)g
3974 (input)f(format)g(of)g Fn(DDcal)i Fo(\(see)e(Sec-)5978
3975 9143 y(tion)303 b(2.2\))f(and)i(f)-12 b(actored)303 b(forms.)5978
3976 12466 y Fi(3.19)1329 b(Sa)-33 b(ving)331 b(and)h(Restoring)g(BDDs)5978
3977 14790 y Fo(The)298 b Fn(dddmp)11460 14350 y Fg(6)12256
3978 14790 y Fo(library)g(by)g(Gianpiero)g(Cabodi)h(and)f(Stef)-12
3979 b(ano)298 b(Quer)g(allo)-30 b(ws)298 b(a)g(CUDD)h(appli-)5978
3980 16295 y(cation)365 b(to)h(sa)-24 b(v)-18 b(e)365 b(BDDs)h(to)f(disk)g
3981 (in)h(compact)g(form)e(for)h(later)h(retrie)-30 b(v)g(al.)562
3982 b(See)366 b(the)f(library')-67 b(s)5978 17801 y(o)-30
3983 b(wn)303 b(documentation)g(for)g(the)g(details.)5978
3984 21702 y Fq(4)1594 b(Pr)-29 b(ogrammer')-59 b(s)397 b(Manual)5978
3985 24462 y Fo(This)348 b(section)i(pro)-18 b(vides)349 b(additional)h
3986 (detail)g(on)g(the)g(w)-12 b(orking)349 b(of)h(the)g(CUDD)g(package)h
3987 (and)5978 25968 y(on)475 b(the)g(programming)g(con)-48
3988 b(v)-18 b(entions)475 b(follo)-30 b(wed)475 b(in)g(its)f(writing.)892
3989 b(The)475 b(additional)h(detail)5978 27473 y(should)246
3990 b(help)i(those)f(who)g(w)-12 b(ant)248 b(to)f(write)g(procedures)g
3991 (that)g(directly)g(manipulate)h(the)f(CUDD)5978 28979
3992 y(data)303 b(structures.)5978 32301 y Fi(4.1)1328 b(Compiling)332
3993 b(and)g(Linking)5978 34625 y Fo(If)420 b(you)i(plan)g(to)g(use)f(the)h
3994 (CUDD)g(package)g(as)g(a)f(clear)h(box)g(\(for)e(instance,)452
3995 b(you)421 b(w)-12 b(ant)422 b(to)5978 36130 y(write)302
3996 b(a)i(procedure)f(that)g(tra)-24 b(v)-18 b(erses)301
3997 b(a)j(decision)f(diagram\))f(you)h(need)h(to)f(add)p
3998 Black Black 5978 38632 a Fh(#include)729 b("cuddInt.h")5978
3999 41134 y Fo(to)310 b(your)g(source)h(\002les.)397 b(In)311
4000 b(addition,)h(you)f(should)f(link)h Fh(libcudd.a)i Fo(to)d(your)g(e)-18
4001 b(x)g(ecutable.)5978 42639 y(Some)254 b(platforms)g(require)g
4002 (speci\002c)h(compiler)f(and)h(link)-12 b(er)255 b(\003ags.)359
4003 b(Refer)255 b(to)f(the)h Fh(Makefile)5978 44145 y Fo(in)303
4004 b(the)g(top)g(le)-30 b(v)-18 b(el)303 b(directory)g(of)f(the)i(distrib)
4005 -24 b(ution.)5978 47467 y Fi(4.2)1328 b(Refer)-24 b(ence)331
4006 b(Counts)5978 49791 y Fo(Garbage)293 b(collection)h(in)g(the)f(CUDD)i
4007 (package)f(is)f(based)g(on)h(reference)f(counts.)372
4008 b(Each)294 b(node)5978 51296 y(stores)299 b(the)j(sum)e(of)h(the)g(e)
4009 -18 b(xternal)301 b(references)f(and)i(internal)f(references.)374
4010 b(An)301 b(internal)g(BDD)5978 52802 y(or)425 b(ADD)h(node)h(is)e
4011 (created)h(by)g(a)g(call)g(to)g Fn(cuddUniqueInter)28
4012 b Fo(,)457 b(an)426 b(internal)g(ZDD)f(node)i(is)5978
4013 54307 y(created)350 b(by)g(a)g(call)g(to)g Fn(cuddUniqueInterZdd)33
4014 b Fo(,)362 b(and)350 b(a)h(terminal)e(node)i(is)e(created)i(by)f(a)g
4015 (call)5978 55813 y(to)341 b Fn(cuddUniqueConst)22 b Fo(.)492
4016 b(If)340 b(the)i(node)g(returned)f(by)g(these)g(functions)g(is)g(ne)-30
4017 b(w)-79 b(,)352 b(its)340 b(reference)5978 57318 y(count)396
4018 b(is)g(zero.)655 b(The)396 b(function)g(that)g(calls)g
4019 Fn(cuddUniqueInter)28 b Fo(,)419 b Fn(cuddUniqueInterZdd)33
4020 b Fo(,)419 b(or)5978 58823 y Fn(cuddUniqueConst)474 b
4021 Fo(is)451 b(responsible)g(for)g(increasing)h(the)g(reference)f(count)h
4022 (of)g(the)g(node.)5978 60329 y(This)302 b(is)g(accomplished)i(by)f
4023 (calling)g Fn(Cudd)p 24332 60329 364 45 v 437 w(Ref)177
4024 b Fo(.)7859 61834 y(When)272 b(a)f(function)g(is)f(no)h(longer)g
4025 (needed)h(by)f(an)g(application,)278 b(the)271 b(memory)g(used)g(by)g
4026 (its)5978 63340 y(diagram)403 b(can)h(be)g(rec)-18 b(ycled)404
4027 b(by)g(calling)g Fn(Cudd)p 26496 63340 V 437 w(Recur)-12
4028 b(siveDer)-45 b(ef)580 b Fo(\(BDDs)403 b(and)h(ADDs\))f(or)p
4029 Black 5978 64421 15940 45 v 7383 65162 a Ff(6)7771 65585
4030 y Fe(ftp://ftp.polito.it/pub/research/dddmp/)p Black
4031 Black 25297 69672 a Fo(25)p Black eop end
4032 %%Page: 26 26
4033 TeXDict begin 26 25 bop Black Black 5978 7638 a Fn(Cudd)p
4034 8677 7638 364 45 v 437 w(Recur)-12 b(siveDer)-45 b(efZdd)430
4035 b Fo(\(ZDDs\).)661 b(These)398 b(functions)g(decrease)h(the)f
4036 (reference)h(count)5978 9143 y(of)443 b(the)h(node)h(passed)e(to)h
4037 (them.)799 b(If)443 b(the)h(reference)g(count)g(becomes)g(0,)479
4038 b(then)445 b(tw)-12 b(o)444 b(things)5978 10649 y(happen:)p
4039 Black 7493 13151 a(1.)p Black 606 w(The)308 b(node)g(is)f(declared)i
4040 (\223dead;\224)i(this)d(entails)f(increasing)h(the)g(counters)g(of)g
4041 (the)g(dead)9008 14656 y(nodes.)727 b(\(One)420 b(counter)h(for)e(the)i
4042 (subtable)f(to)g(which)h(the)f(node)h(belongs,)449 b(and)421
4043 b(one)9008 16162 y(global)406 b(counter)f(for)g(the)h(unique)f(table)h
4044 (to)g(which)g(the)f(node)h(belongs.\))683 b(The)405 b(node)9008
4045 17667 y(itself)302 b(is)h(not)g(af)-30 b(fected.)p Black
4046 7493 20169 a(2.)p Black 606 w(The)303 b(function)g(is)f(recursi)-30
4047 b(v)-18 b(ely)302 b(called)i(on)f(the)g(tw)-12 b(o)303
4048 b(children)g(of)g(the)g(node.)5978 22671 y(F)-18 b(or)467
4049 b(instance,)509 b(if)468 b(the)g(diagram)g(of)g(a)g(function)g(does)g
4050 (not)g(share)g(an)-18 b(y)468 b(nodes)g(with)g(other)5978
4051 24176 y(diagrams,)482 b(then)447 b(calling)g Fn(Cudd)p
4052 20186 24176 V 437 w(Recur)-12 b(siveDer)-45 b(ef)623
4053 b Fo(or)447 b Fn(Cudd)p 32812 24176 V 437 w(Recur)-12
4054 b(siveDer)-45 b(efZdd)479 b Fo(on)447 b(its)5978 25681
4055 y(root)302 b(will)h(cause)g(all)h(the)f(nodes)g(of)f(the)i(diagram)f
4056 (to)g(become)g(dead.)7859 27187 y(When)255 b(the)e(number)h(of)f(dead)h
4057 (nodes)g(reaches)f(a)h(gi)-30 b(v)-18 b(en)254 b(le)-30
4058 b(v)-18 b(el)253 b(\(dynamically)h(determined)5978 28692
4059 y(by)419 b(the)h(package\))g(g)-6 b(arbage)419 b(collection)h(tak)-12
4060 b(es)419 b(place.)726 b(During)419 b(g)-6 b(arbage)420
4061 b(collection)g(dead)5978 30198 y(nodes)302 b(are)h(returned)g(to)g(the)
4062 h(node)f(free)g(list.)7859 31703 y(When)469 b(a)f(ne)-30
4063 b(w)468 b(node)g(is)f(created,)510 b(it)467 b(is)h(important)f(to)h
4064 (increase)g(its)f(reference)h(count)5978 33209 y(before)302
4065 b(one)i(of)e(the)i(tw)-12 b(o)303 b(follo)-30 b(wing)302
4066 b(e)-30 b(v)-18 b(ents)303 b(occurs:)p Black 7493 35711
4067 a(1.)p Black 606 w(A)268 b(call)g(to)f Fn(cuddUniqueInter)28
4068 b Fo(,)275 b(to)268 b Fn(cuddUniqueInterZdd)33 b Fo(,)274
4069 b(to)268 b Fn(cuddUniqueConst)22 b Fo(,)275 b(or)9008
4070 37216 y(to)303 b(a)g(function)g(that)g(may)h(e)-30 b(v)-18
4071 b(entually)303 b(cause)g(a)g(call)g(to)g(them.)p Black
4072 7493 39718 a(2.)p Black 606 w(A)381 b(call)g(to)g Fn(Cudd)p
4073 16418 39718 V 437 w(Recur)-12 b(siveDer)-45 b(ef)177
4074 b Fo(,)400 b(to)381 b Fn(Cudd)p 29168 39718 V 437 w(Recur)-12
4075 b(siveDer)-45 b(efZdd)33 b Fo(,)400 b(or)380 b(to)h(a)h(func-)9008
4076 41223 y(tion)303 b(that)g(may)g(e)-30 b(v)-18 b(entually)304
4077 b(cause)f(a)g(call)g(to)g(them.)5978 43725 y(In)399 b(practice,)424
4078 b(it)400 b(is)f(recommended)i(to)e(increase)h(the)g(reference)f(count)h
4079 (as)g(soon)f(as)h(the)g(re-)5978 45230 y(turned)303 b(pointer)f(has)h
4080 (been)h(tested)f(for)f(not)h(being)g(NULL.)5978 48509
4081 y Fp(4.2.1)1212 b(NULL)304 b(Retur)-18 b(n)303 b(V)-112
4082 b(alues)5978 50832 y Fo(The)321 b(interf)-12 b(ace)321
4083 b(to)h(the)f(memory)h(management)g(functions)f(\(e.g.,)326
4084 b(malloc\))321 b(used)h(by)f(CUDD)5978 52338 y(intercepts)342
4085 b(NULL)g(return)g(v)-30 b(alues)342 b(and)h(calls)g(a)f(handler)-67
4086 b(.)495 b(The)343 b(def)-12 b(ault)342 b(handler)h(e)-18
4087 b(xits)342 b(with)5978 53843 y(an)378 b(error)e(message.)600
4088 b(If)377 b(the)h(application)g(does)f(not)h(install)f(another)h
4089 (handler)-48 b(,)396 b(therefore,)g(a)5978 55349 y(NULL)302
4090 b(return)h(v)-30 b(alue)303 b(from)f(an)h(e)-18 b(xported)303
4091 b(function)g(of)g(CUDD)h(signals)e(an)i(internal)f(error)-67
4092 b(.)7859 56854 y(If)288 b(the)g(aplication,)k(ho)-30
4093 b(we)g(v)-18 b(er)-48 b(,)290 b(installs)d(another)h(handler)g(that)h
4094 (lets)e(e)-18 b(x)g(ecution)289 b(continue,)5978 58360
4095 y(a)343 b(NULL)g(pointer)g(returned)g(by)g(an)h(e)-18
4096 b(xported)343 b(function)g(typically)h(indicates)f(that)g(the)h(pro-)
4097 5978 59865 y(cess)407 b(has)g(run)h(out)g(of)g(memory)-79
4098 b(.)690 b Fn(Cudd)p 23480 59865 V 437 w(ReadErr)-55 b(orCode)407
4099 b Fo(can)i(be)f(used)f(to)h(ascertain)g(the)5978 61371
4100 y(nature)303 b(of)f(the)i(problem.)7859 62876 y(An)483
4101 b(application)g(that)f(tests)f(for)h(the)g(result)g(being)g(NULL)g(can)
4102 g(try)g(some)g(remedial)5978 64381 y(action,)302 b(if)f(it)h(runs)f
4103 (out)g(of)h(memory)-79 b(.)375 b(F)-18 b(or)301 b(instance,)h(it)g(may)
4104 g(free)f(some)h(memory)f(that)h(is)f(not)5978 65887 y(strictly)350
4105 b(necessary)-79 b(,)363 b(or)351 b(try)f(a)i(slo)-30
4106 b(wer)350 b(algorithm)h(that)g(tak)-12 b(es)351 b(less)f(space.)521
4107 b(As)350 b(an)i(e)-18 b(xample,)p Black 25297 69672 a(26)p
4108 Black eop end
4109 %%Page: 27 27
4110 TeXDict begin 27 26 bop Black Black 5978 7638 a Fo(CUDD)354
4111 b(o)-18 b(v)g(errides)352 b(the)i(def)-12 b(ault)354
4112 b(handler)f(when)h(trying)g(to)f(enlar)-22 b(ge)354 b(the)g(cache)g(or)
4113 f(increase)5978 9143 y(the)365 b(number)g(of)g(slots)f(of)h(the)g
4114 (unique)g(table.)563 b(If)364 b(the)h(allocation)h(f)-12
4115 b(ails,)380 b(the)365 b(package)h(prints)5978 10649 y(out)303
4116 b(a)g(message)g(and)g(continues)g(without)g(resizing)g(the)g(cache.)
4117 5978 13927 y Fp(4.2.2)1212 b Fa(Cudd)p 12381 13927 364
4118 45 v 437 w(Recursiv)-18 b(eDeref)439 b Fp(vs.)303 b Fa(Cudd)p
4119 25359 13927 V 437 w(Deref)5978 16251 y Fo(It)465 b(is)g(often)g(the)h
4120 (case)g(that)g(a)f(recursi)-30 b(v)-18 b(e)465 b(procedure)g(has)h(to)f
4121 (protect)h(the)g(result)f(it)g(is)g(go-)5978 17756 y(ing)502
4122 b(to)h(return,)552 b(while)502 b(it)h(disposes)e(of)h(intermediate)h
4123 (results.)973 b(\(See)503 b(the)f(pre)-30 b(vious)502
4124 b(dis-)5978 19262 y(cussion)528 b(on)i(when)g(to)f(increase)h
4125 (reference)f(counts.\))1055 b(Once)530 b(the)g(intermediate)f(results)
4126 5978 20767 y(ha)-24 b(v)-18 b(e)463 b(been)g(properly)g(disposed)f(of,)
4127 503 b(the)463 b(\002nal)g(result)g(must)f(be)i(returned)e(to)h(its)g
4128 (pristine)5978 22273 y(state,)458 b(in)428 b(which)h(the)f(root)f(node)
4129 i(may)f(ha)-24 b(v)-18 b(e)428 b(a)g(reference)g(count)g(of)f(0.)751
4130 b(One)428 b(cannot)g(use)5978 23778 y Fn(Cudd)p 8677
4131 23778 V 437 w(Recur)-12 b(siveDer)-45 b(ef)604 b Fo(\(or)428
4132 b Fn(Cudd)p 21669 23778 V 437 w(Recur)-12 b(siveDer)-45
4133 b(efZdd)33 b Fo(\))428 b(for)g(this)g(purpose,)459 b(because)429
4134 b(it)5978 25284 y(may)281 b(erroneously)f(mak)-12 b(e)281
4135 b(some)f(nodes)h(dead.)369 b(Therefore,)284 b(the)d(package)h(pro)-18
4136 b(vides)280 b(a)h(dif)-30 b(fer)-24 b(-)5978 26789 y(ent)320
4137 b(function:)411 b Fn(Cudd)p 15266 26789 V 437 w(Der)-45
4138 b(ef)177 b Fo(.)429 b(This)319 b(function)i(is)f(not)h(recursi)-30
4139 b(v)-18 b(e,)324 b(and)d(does)f(not)h(change)g(the)5978
4140 28295 y(dead)c(node)h(counts.)419 b(Its)317 b(use)g(is)g(almost)g(e)-18
4141 b(xclusi)-30 b(v)-18 b(ely)317 b(the)g(one)h(just)f(described:)404
4142 b(Decreasing)5978 29800 y(the)325 b(reference)h(count)g(of)f(the)h
4143 (root)f(of)g(the)h(\002nal)f(result)g(before)h(returning)f(from)g(a)g
4144 (recursi)-30 b(v)-18 b(e)5978 31305 y(procedure.)5978
4145 34584 y Fp(4.2.3)1212 b(When)303 b(Incr)-22 b(easing)303
4146 b(the)g(Refer)-22 b(ence)304 b(Count)e(is)h(Unnecessary)5978
4147 36907 y Fo(When)366 b(a)h(cop)-12 b(y)366 b(of)g(a)g(prede\002ned)h
4148 (constant)f(or)g(of)f(a)i(simple)e(BDD)i(v)-30 b(ariable)366
4149 b(is)g(needed)h(for)5978 38413 y(comparison)353 b(purposes,)366
4150 b(then)354 b(calling)g Fn(Cudd)p 25759 38413 V 437 w(Ref)531
4151 b Fo(is)354 b(not)g(necessary)-79 b(,)366 b(because)354
4152 b(these)g(sim-)5978 39918 y(ple)394 b(functions)g(are)g(guaranteed)g
4153 (to)g(ha)-24 b(v)-18 b(e)395 b(reference)f(counts)g(greater)f(than)i(0)
4154 f(at)g(all)h(times.)5978 41424 y(If)451 b(no)h(call)g(to)h
4155 Fn(Cudd)p 15198 41424 V 437 w(Ref)628 b Fo(is)452 b(made,)490
4156 b(then)452 b(no)g(attempt)g(to)h(free)e(the)h(diagram)h(by)f(calling)
4157 5978 42929 y Fn(Cudd)p 8677 42929 V 437 w(Recur)-12 b(siveDer)-45
4158 b(ef)479 b Fo(or)303 b Fn(Cudd)p 21015 42929 V 437 w(Recur)-12
4159 b(siveDer)-45 b(efZdd)335 b Fo(should)302 b(be)i(made.)5978
4160 46207 y Fp(4.2.4)1212 b(Saturating)302 b(Incr)-22 b(ements)302
4161 b(and)h(Decr)-22 b(ements)5978 48531 y Fo(On)398 b(32-bit)g(machines,)
4162 422 b(the)399 b(CUDD)g(package)g(stores)e(the)i(reference)f(counts)g
4163 (in)g(unsigned)5978 50036 y(short)475 b(int')-67 b(s.)894
4164 b(F)-18 b(or)475 b(lar)-22 b(ge)476 b(diagrams,)519 b(it)476
4165 b(is)f(possible)g(for)g(some)h(reference)g(counts)g(to)f(e)-18
4166 b(x-)5978 51542 y(ceed)341 b(the)f(capacity)h(of)g(an)f(unsigned)h
4167 (short)e(int.)488 b(Therefore,)349 b(increments)340 b(and)h(decrements)
4168 5978 53047 y(of)445 b(reference)g(counts)h(are)f Fn(satur)-18
4169 b(ating)p Fo(.)803 b(This)445 b(means)g(that)h(once)g(a)g(reference)f
4170 (count)h(has)5978 54553 y(reached)278 b(the)h(maximum)g(possible)e(v)
4171 -30 b(alue,)284 b(it)278 b(is)g(no)h(longer)f(changed)h(by)g(calls)f
4172 (to)g Fn(Cudd)p 43545 54553 V 437 w(Ref)p Fo(,)5978 56058
4173 y Fn(Cudd)p 8677 56058 V 437 w(Recur)-12 b(siveDer)-45
4174 b(ef)177 b Fo(,)574 b Fn(Cudd)p 20277 56058 V 437 w(Recur)-12
4175 b(siveDer)-45 b(efZdd)33 b Fo(,)574 b(or)521 b Fn(Cudd)p
4176 35150 56058 V 437 w(Der)-45 b(ef)177 b Fo(.)1029 b(As)521
4177 b(a)g(conse-)5978 57564 y(quence,)364 b(some)351 b(nodes)h(that)g(ha)
4178 -24 b(v)-18 b(e)351 b(no)h(references)f(may)h(not)f(be)h(declared)g
4179 (dead.)522 b(This)351 b(may)5978 59069 y(result)367 b(in)h(a)g(small)f
4180 (w)-12 b(aste)368 b(of)f(memory)-79 b(,)384 b(which)369
4181 b(is)e(normally)h(more)f(than)h(of)-30 b(fset)367 b(by)h(the)g(re-)5978
4182 60575 y(duction)303 b(in)g(size)g(of)g(the)g(node)g(structure.)7859
4183 62080 y(When)342 b(using)f(64-bit)g(pointers,)350 b(there)341
4184 b(is)f(normally)h(no)h(memory)f(adv)-30 b(antage)341
4185 b(from)g(us-)5978 63586 y(ing)302 b(short)f(int')-67
4186 b(s)301 b(instead)h(of)f(int')-67 b(s)301 b(in)h(a)g(DdNode.)376
4187 b(Therefore,)302 b(increments)f(and)h(decrements)5978
4188 65091 y(are)401 b(not)h(saturating)f(in)h(that)g(case.)671
4189 b(What)403 b(option)e(is)g(in)h(ef)-30 b(fect)401 b(depends)h(on)g(tw)
4190 -12 b(o)402 b(macros,)p Black 25297 69672 a(27)p Black
4191 eop end
4192 %%Page: 28 28
4193 TeXDict begin 28 27 bop Black Black 5978 7638 a Fo(SIZEOF)p
4194 10160 7638 364 45 v 435 w(V)-48 b(OID)p 13576 7638 V
4195 436 w(P)396 b(and)g(SIZEOF)p 21337 7638 V 435 w(INT,)g(de\002ned)g(in)g
4196 (the)h(e)-18 b(xternal)396 b(header)g(\002le)g(\()p Fn(cudd.h)p
4197 Fo(\).)5978 9143 y(The)386 b(increments)g(and)h(decrements)g(of)f(the)h
4198 (reference)f(counts)g(are)h(performed)f(using)g(tw)-12
4199 b(o)5978 10649 y(macros:)338 b Fn(cuddSatInc)231 b Fo(and)g
4200 Fn(cuddSatDec)p Fo(,)245 b(whose)231 b(de\002nitions)f(depend)h(on)f
4201 (SIZEOF)p 42255 10649 V 435 w(V)-48 b(OID)p 45671 10649
4202 V 436 w(P)5978 12154 y(and)303 b(SIZEOF)p 12213 12154
4203 V 435 w(INT.)5978 15477 y Fi(4.3)1328 b(Complement)331
4204 b(Ar)-24 b(cs)5978 17801 y Fo(If)377 b(ADDs)h(are)g(restricted)f(to)h
4205 (use)g(only)g(the)g(constants)f(0)h(and)h(1,)397 b(the)-18
4206 b(y)378 b(beha)-24 b(v)-18 b(e)378 b(lik)-12 b(e)378
4207 b(BDDs)5978 19306 y(without)333 b(complement)h(arcs.)466
4208 b(It)333 b(is)f(normally)i(easier)f(to)g(write)g(code)h(that)f
4209 (manipulates)g(0-1)5978 20811 y(ADDs,)453 b(than)424
4210 b(to)f(write)g(code)h(for)f(BDDs.)737 b(Ho)-30 b(we)g(v)-18
4211 b(er)-48 b(,)452 b(complementation)424 b(is)f(tri)-30
4212 b(vial)423 b(with)5978 22317 y(complement)354 b(arcs,)367
4213 b(and)354 b(is)f(not)i(tri)-30 b(vial)353 b(without.)529
4214 b(As)354 b(a)g(consequence,)367 b(with)354 b(complement)5978
4215 23822 y(arcs)369 b(it)h(is)f(possible)g(to)h(check)g(for)f(more)h
4216 (terminal)g(cases)f(and)h(it)g(is)f(possible)g(to)h(apply)g(De)5978
4217 25328 y(Mor)-22 b(g)-6 b(an')-67 b(s)291 b(la)-18 b(ws)292
4218 b(to)g(reduce)h(problems)e(that)i(are)f(essentially)g(identical)g(to)h
4219 (a)f(standard)g(form.)5978 26833 y(This)302 b(in)h(turn)g(increases)f
4220 (the)h(utilization)g(of)g(the)g(cache.)7859 28339 y(The)490
4221 b(complement)g(attrib)-24 b(ute)490 b(is)f(stored)g(in)g(the)h(least)g
4222 (signi\002cant)f(bit)h(of)f(the)h(\223else\224)5978 29844
4223 y(pointer)300 b(of)h(each)g(node.)376 b(An)301 b(e)-18
4224 b(xternal)301 b(pointer)g(to)f(a)h(function)g(can)h(also)e(be)h
4225 (complemented.)5978 31350 y(The)263 b(\223then\224)i(pointer)e(to)h(a)g
4226 (node,)272 b(on)264 b(the)g(other)g(hand,)272 b(is)263
4227 b(al)-12 b(w)g(ays)263 b Fn(r)-45 b(e)d(gular)p Fo(.)362
4228 b(It)263 b(is)h(a)g(mistak)-12 b(e)263 b(to)5978 32855
4229 y(use)248 b(a)g(complement)h(pointer)f(as)g(it)h(is)e(to)i(address)e
4230 (memory)-79 b(.)358 b(Instead,)259 b(it)248 b(is)g(al)-12
4231 b(w)g(ays)248 b(necessary)5978 34361 y(to)364 b(obtain)g(a)g(re)-18
4232 b(gular)364 b(v)-18 b(ersion)363 b(of)h(it.)559 b(This)363
4233 b(is)h(normally)g(done)h(by)f(calling)g Fn(Cudd)p 41276
4234 34361 V 437 w(Re)-48 b(gular)28 b Fo(.)5978 35866 y(It)355
4235 b(is)g(also)g(a)h(mistak)-12 b(e)355 b(to)g(call)h Fn(cuddUniqueInter)
4236 384 b Fo(with)355 b(a)h(complemented)h(\223then\224)f(child)f(as)5978
4237 37372 y(ar)-22 b(gument.)369 b(The)284 b(calling)f(procedure)h(must)f
4238 (apply)h(De)g(Mor)-22 b(g)-6 b(an')-67 b(s)283 b(la)-18
4239 b(ws)283 b(by)g(complementing)5978 38877 y(both)406 b(pointers)h
4240 (passed)f(to)h Fn(cuddUniqueInter)434 b Fo(and)407 b(then)g(taking)g
4241 (the)g(complement)h(of)e(the)5978 40383 y(result.)5978
4242 43705 y Fi(4.4)1328 b(The)332 b(Cache)5978 46029 y Fo(Each)488
4243 b(entry)h(of)f(the)h(cache)g(consists)e(of)h(\002)-30
4244 b(v)-18 b(e)489 b(\002elds:)746 b(The)488 b(operator)-48
4245 b(,)535 b(three)488 b(pointers)g(to)5978 47534 y(operands)434
4246 b(and)h(a)g(pointer)g(to)g(the)g(result.)771 b(The)434
4247 b(operator)h(and)g(the)g(three)g(pointers)f(to)h(the)5978
4248 49040 y(operands)302 b(are)h(combined)h(to)f(form)f(three)h(w)-12
4249 b(ords.)375 b(The)303 b(combination)h(relies)e(on)h(tw)-12
4250 b(o)304 b(f)-12 b(acts:)p Black 7796 51541 a Fm(\262)p
4251 Black 606 w Fo(Most)345 b(operations)g(ha)-24 b(v)-18
4252 b(e)346 b(one)g(or)f(tw)-12 b(o)346 b(operands.)503 b(A)346
4253 b(fe)-30 b(w)346 b(bits)f(are)g(suf)-30 b(\002cient)345
4254 b(to)h(dis-)9008 53047 y(criminate)303 b(all)g(three-operands)g
4255 (operations.)p Black 7796 55549 a Fm(\262)p Black 606
4256 w Fo(All)383 b(nodes)g(are)g(aligned)h(to)f(16-byte)h(boundaries.)616
4257 b(\(32-byte)383 b(boundaries)g(if)f(64-bit)9008 57054
4258 y(pointers)397 b(are)h(used.\))660 b(Hence,)423 b(there)398
4259 b(are)g(a)g(fe)-30 b(w)397 b(bits)h(a)-24 b(v)-30 b(ailable)398
4260 b(to)g(distinguish)f(the)9008 58559 y(three-operand)303
4261 b(operations)f(from)h(te)g(others)f(and)i(to)f(assign)f(unique)h(codes)
4262 g(to)g(them.)7859 61061 y(The)386 b(cache)h(does)e(not)h(contrib)-24
4263 b(ute)386 b(to)g(the)g(reference)g(counts)g(of)f(the)h(nodes.)625
4264 b(The)385 b(f)-12 b(act)5978 62567 y(that)391 b(the)h(cache)h(contains)
4265 f(a)g(pointer)f(to)h(a)g(node)g(does)g(not)f(imply)h(that)g(the)g(node)
4266 g(is)f(ali)-30 b(v)-18 b(e.)5978 64072 y(Instead,)418
4267 b(when)396 b(g)-6 b(arbage)396 b(collection)g(tak)-12
4268 b(es)396 b(place,)419 b(all)396 b(entries)f(of)g(the)h(cache)g
4269 (pointing)g(to)5978 65578 y(dead)303 b(nodes)g(are)g(cleared.)p
4270 Black 25297 69672 a(28)p Black eop end
4271 %%Page: 29 29
4272 TeXDict begin 29 28 bop Black Black 7859 7638 a Fo(The)302
4273 b(cache)g(is)f(also)g(cleared)g(\(of)g(all)h(entries\))e(when)i
4274 (dynamic)g(reordering)e(tak)-12 b(es)302 b(place.)5978
4275 9143 y(In)g(both)h(cases,)g(the)g(entries)g(remo)-18
4276 b(v)g(ed)303 b(from)f(the)h(cache)h(are)f(about)g(to)g(become)h(in)-48
4277 b(v)-30 b(alid.)7859 10649 y(All)398 b(operands)f(and)g(results)f(in)h
4278 (a)g(cache)h(entry)f(must)g(be)g(pointers)g(to)g(DdNodes.)659
4279 b(If)396 b(a)5978 12154 y(function)352 b(produces)h(more)f(than)i(one)f
4280 (result,)364 b(or)353 b(uses)f(more)g(than)h(three)g(ar)-22
4281 b(guments,)365 b(there)5978 13660 y(are)303 b(currently)f(tw)-12
4282 b(o)303 b(solutions:)p Black 7796 16162 a Fm(\262)p Black
4283 606 w Fo(Build)g(a)h(separate,)f(local,)g(cache.)376
4284 b(\(Using,)303 b(for)f(instance,)h(the)h Fn(st)324 b
4285 Fo(library.\))p Black 7796 18663 a Fm(\262)p Black 606
4286 w Fo(Combine)425 b(multiple)f(results,)453 b(or)423 b(multiple)h
4287 (operands,)454 b(into)424 b(a)g(single)g(diagram,)454
4288 b(by)9008 20169 y(b)-24 b(uilding)303 b(a)g(\223multiple)-18
4289 b(xing)303 b(structure\224)g(with)g(reserv)-18 b(ed)302
4290 b(v)-30 b(ariables.)5978 22671 y(Support)442 b(of)h(the)g(former)g
4291 (solution)f(is)h(under)g(de)-30 b(v)-18 b(elopment.)796
4292 b(\(See)443 b Fh(cuddLCache.c)p Fo(..\))5978 24176 y(Support)302
4293 b(for)h(the)g(latter)g(solution)f(may)i(be)f(pro)-18
4294 b(vided)303 b(in)g(future)g(v)-18 b(ersions)301 b(of)i(the)g(package.)
4295 7859 25681 y(There)280 b(are)g(three)g(sets)f(of)h(interf)-12
4296 b(ace)280 b(functions)g(to)g(the)g(cache.)369 b(The)280
4297 b(\002rst)f(set)h(is)f(for)h(func-)5978 27187 y(tions)391
4298 b(with)g(three)g(operands:)553 b Fn(cuddCac)-18 b(heInsert)413
4299 b Fo(and)391 b Fn(cuddCac)-18 b(heLookup)p Fo(.)643 b(The)391
4300 b(second)5978 28692 y(set)267 b(is)f(for)h(functions)g(with)g(tw)-12
4301 b(o)268 b(operands:)358 b Fn(cuddCac)-18 b(heInsert2)267
4302 b Fo(and)h Fn(cuddCac)-18 b(heLookup2)p Fo(.)5978 30198
4303 y(The)435 b(second)g(set)g(is)g(for)g(functions)f(with)i(one)g
4304 (operand:)640 b Fn(cuddCac)-18 b(heInsert1)436 b Fo(and)f
4305 Fn(cudd-)5978 31703 y(Cac)-18 b(heLookup1)p Fo(.)516
4306 b(The)349 b(second)g(set)h(is)e(slightly)h(f)-12 b(aster)349
4307 b(than)g(the)h(\002rst,)360 b(and)350 b(the)g(third)f(set)g(is)5978
4308 33209 y(slightly)302 b(f)-12 b(aster)302 b(than)h(the)h(second.)5978
4309 36487 y Fp(4.4.1)1212 b(Cache)303 b(Sizing)5978 38811
4310 y Fo(The)277 b(size)g(of)g(the)h(cache)g(can)g(increase)f(during)g(the)
4311 h(e)-18 b(x)g(ecution)277 b(of)h(an)f(application.)368
4312 b(\(There)277 b(is)5978 40316 y(currently)310 b(no)h(w)-12
4313 b(ay)310 b(to)h(decrease)g(the)f(size)h(of)f(the)h(cache,)i(though)e
4314 (it)f(w)-12 b(ould)311 b(not)g(be)g(dif)-30 b(\002cult)5978
4315 41822 y(to)428 b(do)h(it.\))751 b(When)429 b(a)g(cache)g(miss)f
4316 (occurs,)459 b(the)429 b(package)g(uses)f(the)h(follo)-30
4317 b(wing)428 b(criteria)g(to)5978 43327 y(decide)303 b(whether)g(to)g
4318 (resize)g(the)g(cache:)p Black 7493 45829 a(1.)p Black
4319 606 w(If)369 b(the)i(cache)g(already)f(e)-18 b(xceeds)371
4320 b(the)f(limit)g(gi)-30 b(v)-18 b(en)370 b(by)h(the)f
4321 Fh(maxCache)j Fo(\002eld)d(of)g(the)9008 47334 y(manager)-48
4322 b(,)381 b(no)366 b(resizing)g(tak)-12 b(es)365 b(place.)565
4323 b(The)365 b(limit)h(is)f(the)h(minimum)g(of)g(tw)-12
4324 b(o)366 b(v)-30 b(alues:)9008 48840 y(a)427 b(v)-30 b(alue)427
4325 b(set)g(at)g(initialization)g(time)g(and)h(possibly)e(modi\002ed)h(by)g
4326 (the)h(application,)9008 50345 y(which)d(constitutes)e(the)i(hard)f
4327 (limit)g(be)-18 b(yond)424 b(which)h(the)f(cache)h(will)g(ne)-30
4328 b(v)-18 b(er)424 b(gro)-30 b(w;)9008 51851 y(and)293
4329 b(a)g(number)g(that)f(depends)h(on)g(the)g(current)f(total)h(number)g
4330 (of)f(slots)g(in)h(the)g(unique)9008 53356 y(table.)p
4331 Black 7493 55858 a(2.)p Black 606 w(If)g(the)g(cache)i(is)e(not)g(too)h
4332 (lar)-22 b(ge)294 b(already)-79 b(,)296 b(resizing)d(is)g(decided)h
4333 (based)f(on)h(the)g(hit)f(rate.)9008 57363 y(The)375
4334 b(polic)-18 b(y)376 b(adopted)h(by)f(the)f(CUDD)i(package)g(is)e
4335 (\223re)-30 b(w)-12 b(ard-based.)-85 b(\224)593 b(If)375
4336 b(the)h(cache)9008 58869 y(hit)303 b(rate)g(is)f(high,)i(then)f(it)g
4337 (is)f(w)-12 b(orthwhile)303 b(to)g(increase)g(the)g(size)g(of)g(the)g
4338 (cache.)5978 61371 y(When)324 b(resizing)f(tak)-12 b(es)324
4339 b(place,)329 b(the)324 b(statistical)f(counters)h(used)f(to)h(compute)h
4340 (the)f(hit)f(rate)h(are)5978 62876 y(reinitialized)270
4341 b(so)g(as)g(to)h(pre)-30 b(v)-18 b(ent)270 b(immediate)h(resizing.)364
4342 b(The)270 b(number)h(of)f(entries)g(is)g(doubled.)7859
4343 64381 y(The)306 b(rationale)g(for)f(the)h(\223re)-30
4344 b(w)-12 b(ard-based\224)305 b(polic)-18 b(y)305 b(is)h(as)f(follo)-30
4345 b(ws.)383 b(In)305 b(man)-18 b(y)306 b(BDD/ADD)5978 65887
4346 y(applications)293 b(the)h(hit)f(rate)g(is)g(not)g(v)-18
4347 b(ery)293 b(sensiti)-30 b(v)-18 b(e)293 b(to)g(the)h(size)f(of)g(the)g
4348 (cache:)372 b(It)293 b(is)g(primarily)p Black 25297 69672
4349 a(29)p Black eop end
4350 %%Page: 30 30
4351 TeXDict begin 30 29 bop Black Black 5978 7638 a Fo(a)330
4352 b(function)g(of)g(the)g(problem)g(instance)h(at)f(hand.)457
4353 b(If)330 b(a)g(lar)-22 b(ge)330 b(hit)h(rate)f(is)f(observ)-18
4354 b(ed,)337 b(chances)5978 9143 y(are)289 b(that)g(by)g(using)g(a)g(lar)
4355 -22 b(ge)289 b(cache,)k(the)c(results)f(of)g(lar)-22
4356 b(ge)290 b(problems)e(\(those)h(that)g(w)-12 b(ould)289
4357 b(tak)-12 b(e)5978 10649 y(longer)383 b(to)h(solv)-18
4358 b(e\))383 b(will)h(survi)-30 b(v)-18 b(e)382 b(in)i(the)g(cache)h
4359 (without)f(being)g(o)-18 b(v)g(erwritten)383 b(long)h(enough)5978
4360 12154 y(to)418 b(cause)g(a)h(v)-30 b(aluable)418 b(cache)h(hit.)722
4361 b(Notice)418 b(that)h(when)g(a)f(lar)-22 b(ge)418 b(problem)h(is)e
4362 (solv)-18 b(ed)418 b(more)5978 13660 y(than)359 b(once,)373
4363 b(so)358 b(are)h(its)f(recursi)-30 b(v)-18 b(ely)358
4364 b(generated)h(subproblems.)542 b(If)358 b(the)h(hit)g(rate)g(is)f(lo)
4365 -30 b(w)-79 b(,)373 b(the)5978 15165 y(probability)303
4366 b(of)f(lar)-22 b(ge)303 b(problems)g(being)g(solv)-18
4367 b(ed)303 b(more)g(than)g(once)h(is)e(lo)-30 b(w)-79 b(.)7859
4368 16671 y(The)258 b(other)g(observ)-30 b(ation)257 b(about)h(the)g(cache)
4369 h(sizing)f(polic)-18 b(y)258 b(is)f(that)h(there)g(is)f(little)h(point)
4370 g(in)5978 18176 y(k)-12 b(eeping)288 b(a)h(cache)g(which)g(is)f(much)g
4371 (lar)-22 b(ger)289 b(than)f(the)h(unique)g(table.)371
4372 b(Ev)-18 b(ery)288 b(time)g(the)h(unique)5978 19682 y(table)365
4373 b(\223\002lls)f(up,)-85 b(\224)380 b(g)-6 b(arbage)365
4374 b(collection)g(is)f(in)-48 b(v)-24 b(ok)-12 b(ed)365
4375 b(and)f(the)h(cache)h(is)e(cleared)h(of)f(all)h(dead)5978
4376 21187 y(entries.)359 b(A)257 b(cache)h(that)f(is)f(much)h(lar)-22
4377 b(ger)257 b(than)g(the)g(unique)g(table)g(is)f(therefore)h(less)e(than)
4378 i(fully)5978 22693 y(utilized.)5978 25971 y Fp(4.4.2)1212
4379 b(Local)304 b(Caches)5978 28295 y Fo(Sometimes)350 b(it)h(may)g(be)g
4380 (necessary)f(or)h(con)-48 b(v)-18 b(enient)350 b(to)h(use)g(a)g(local)g
4381 (cache.)519 b(A)351 b(local)g(cache)5978 29800 y(can)344
4382 b(be)g(lossless)e(\(no)i(results)f(are)h(e)-30 b(v)-18
4383 b(er)344 b(o)-18 b(v)g(erwritten\),)353 b(or)344 b(it)g(may)g(store)f
4384 (objects)h(for)g(which)5978 31305 y(canonical)428 b(representations)e
4385 (are)h(not)h(a)-24 b(v)-30 b(ailable.)749 b(One)427 b(important)h(f)-12
4386 b(act)427 b(to)g(k)-12 b(eep)428 b(in)f(mind)5978 32811
4387 y(when)380 b(using)g(a)h(local)f(cache)h(is)f(that)g(local)h(caches)f
4388 (are)h(not)f(cleared)h(during)f(g)-6 b(arbage)380 b(col-)5978
4389 34316 y(lection)351 b(or)f(before)h(reordering.)519 b(Therefore,)362
4390 b(it)351 b(is)f(necessary)g(to)h(increment)g(the)g(reference)5978
4391 35822 y(count)256 b(of)g(all)h(nodes)f(pointed)g(by)h(a)f(local)h
4392 (cache.)361 b(\(Unless)255 b(their)h(reference)g(counts)h(are)f(guar)
4393 -24 b(-)5978 37327 y(anteed)305 b(positi)-30 b(v)-18
4394 b(e)305 b(in)g(some)g(other)g(w)-12 b(ay)-79 b(.)383
4395 b(One)306 b(such)f(w)-12 b(ay)305 b(is)g(by)g(including)h(all)f
4396 (partial)g(results)5978 38833 y(in)347 b(the)h(global)g(result.\))509
4397 b(Before)348 b(disposing)f(of)g(the)h(local)g(cache,)360
4398 b(all)348 b(elements)f(stored)g(in)h(it)5978 40338 y(must)250
4399 b(be)h(passed)g(to)g Fn(Cudd)p 17357 40338 364 45 v 437
4400 w(Recur)-12 b(siveDer)-45 b(ef)177 b Fo(.)357 b(As)251
4401 b(consequence)h(of)e(the)h(f)-12 b(act)251 b(that)g(all)g(results)5978
4402 41844 y(in)284 b(a)h(local)g(cache)h(are)e(referenced,)289
4403 b(it)284 b(is)g(generally)h(con)-48 b(v)-18 b(enient)285
4404 b(to)g(store)f(in)g(the)h(local)g(cache)5978 43349 y(also)k(the)h
4405 (result)g(of)f(tri)-30 b(vial)290 b(problems,)i(which)e(are)g(not)g
4406 (usually)g(stored)f(in)h(the)g(global)g(cache.)5978 44855
4407 y(Otherwise,)441 b(after)414 b(a)g(recursi)-30 b(v)-18
4408 b(e)413 b(call,)442 b(it)414 b(is)f(dif)-30 b(\002cult)414
4409 b(to)g(tell)g(whether)g(the)g(result)f(is)h(in)g(the)5978
4410 46360 y(cache,)303 b(and)h(therefore)e(referenced,)h(or)g(not)g(in)g
4411 (the)g(cache,)h(and)f(therefore)g(not)g(referenced.)7859
4412 47866 y(An)242 b(alternati)-30 b(v)-18 b(e)242 b(approach)g(to)g
4413 (referencing)g(the)g(results)e(in)i(the)g(local)g(caches)g(is)g(to)g
4414 (install)5978 49371 y(hook)303 b(functions)f(\(see)h(Section)g(3.16\))g
4415 (to)g(be)g(e)-18 b(x)g(ecuted)304 b(before)f(g)-6 b(arbage)303
4416 b(collection.)5978 52694 y Fi(4.5)1328 b(The)332 b(Unique)f(T)-122
4417 b(able)5978 55017 y Fo(A)391 b(recursi)-30 b(v)-18 b(e)390
4418 b(procedure)h(typically)g(splits)f(the)i(operands)e(by)i(e)-18
4419 b(xpanding)391 b(with)g(respect)g(to)5978 56523 y(the)358
4420 b(topmost)h(v)-30 b(ariable.)542 b(T)-97 b(opmost)358
4421 b(in)g(this)g(conte)-18 b(xt)359 b(refers)e(to)i(the)g(v)-30
4422 b(ariable)358 b(that)h(is)f(closest)5978 58028 y(to)381
4423 b(the)g(roots)f(in)h(the)g(current)g(v)-30 b(ariable)380
4424 b(order)-67 b(.)610 b(The)381 b(nodes,)400 b(on)381 b(the)g(other)g
4425 (hand,)401 b(hold)381 b(the)5978 59534 y(inde)-18 b(x,)326
4426 b(which)321 b(is)g(in)-48 b(v)-30 b(ariant)321 b(with)g(reordering.)430
4427 b(Therefore,)325 b(when)d(splitting,)j(one)d(must)e(use)5978
4428 61039 y(the)355 b(permutation)g(array)f(maintained)h(by)g(the)g
4429 (package)h(to)f(get)g(the)g(right)g(le)-30 b(v)-18 b(el.)531
4430 b(Access)354 b(to)5978 62544 y(the)272 b(permutation)h(array)f(is)g
4431 (pro)-18 b(vided)273 b(by)f(the)h(macro)g Fn(cuddI)334
4432 b Fo(for)272 b(BDDs)h(and)g(ADDs,)278 b(and)273 b(by)5978
4433 64050 y(the)303 b(macro)g Fn(cuddIZ)363 b Fo(for)303
4434 b(ZDDs.)7859 65555 y(The)338 b(unique)g(table)g(consists)e(of)h(as)g
4435 (man)-18 b(y)338 b(hash)f(tables)h(as)f(there)g(are)h(v)-30
4436 b(ariables)337 b(in)g(use.)p Black 25297 69672 a(30)p
4437 Black eop end
4438 %%Page: 31 31
4439 TeXDict begin 31 30 bop Black Black 5978 7638 a Fo(These)296
4440 b(has)g(tables)h(are)f(called)h Fn(unique)g(subtables)p
4441 Fo(.)373 b(The)297 b(sizes)f(of)g(the)h(unique)g(subtables)f(are)5978
4442 9143 y(determined)303 b(by)g(tw)-12 b(o)303 b(criteria:)p
4443 Black 7493 11645 a(1.)p Black 606 w(The)g(collision)f(lists)g(should)h
4444 (be)g(short)g(to)g(k)-12 b(eep)303 b(access)g(time)g(do)-30
4445 b(wn.)p Black 7493 14147 a(2.)p Black 606 w(There)230
4446 b(should)g(be)g(enough)h(room)f(for)g(dead)h(nodes,)244
4447 b(to)231 b(pre)-30 b(v)-18 b(ent)230 b(too)g(frequent)g(g)-6
4448 b(arbage)9008 15652 y(collections.)5978 18154 y(While)386
4449 b(the)g(\002rst)f(criterion)h(is)f(f)-12 b(airly)386
4450 b(straightforw)-12 b(ard)384 b(to)i(implement,)407 b(the)386
4451 b(second)h(lea)-24 b(v)-18 b(es)5978 19660 y(more)278
4452 b(room)g(to)g(creati)-30 b(vity)-79 b(.)367 b(The)278
4453 b(CUDD)h(package)g(tries)f(to)g(\002gure)g(out)g(whether)h(more)f(dead)
4454 5978 21165 y(node)295 b(should)g(be)g(allo)-30 b(wed)295
4455 b(to)h(increase)e(performance.)373 b(\(See)295 b(also)g(Section)h
4456 (3.4.\))372 b(There)295 b(are)5978 22671 y(tw)-12 b(o)344
4457 b(reasons)f(for)h(not)g(doing)h(g)-6 b(arbage)345 b(collection)f(too)h
4458 (often.)499 b(The)344 b(ob)-18 b(vious)344 b(one)h(is)f(that)g(it)5978
4459 24176 y(is)272 b(e)-18 b(xpensi)-30 b(v)-18 b(e.)365
4460 b(The)272 b(second)h(is)f(that)g(dead)h(nodes)g(may)f(be)h(reclaimed,)
4461 279 b(if)272 b(the)-18 b(y)273 b(are)f(the)h(result)5978
4462 25681 y(of)325 b(a)g(successful)f(cache)i(lookup.)443
4463 b(Hence)326 b(dead)g(nodes)f(may)g(pro)-18 b(vide)325
4464 b(a)h(substantial)f(speed-)5978 27187 y(up)445 b(if)g(the)-18
4465 b(y)446 b(are)f(k)-12 b(ept)446 b(around)f(long)h(enough.)803
4466 b(The)445 b(usefulness)f(of)h(k)-12 b(eeping)446 b(man)-18
4467 b(y)446 b(dead)5978 28692 y(nodes)426 b(around)h(v)-30
4468 b(aries)426 b(from)g(application)h(to)g(application,)458
4469 b(and)427 b(from)f(problem)h(instance)5978 30198 y(to)393
4470 b(problem)g(instance.)648 b(As)393 b(in)g(the)h(sizing)f(of)g(the)h
4471 (cache,)416 b(the)394 b(CUDD)g(package)h(adopts)e(a)5978
4472 31703 y(\223re)-30 b(w)-12 b(ard-based\224)421 b(polic)-18
4473 b(y)423 b(to)f(decide)h(ho)-30 b(w)422 b(much)h(room)f(should)g(be)h
4474 (used)f(for)f(the)i(unique)5978 33209 y(table.)809 b(If)447
4475 b(the)g(number)h(of)f(dead)h(nodes)f(reclaimed)h(is)f(lar)-22
4476 b(ge)447 b(compared)h(to)g(the)f(number)5978 34714 y(of)396
4477 b(nodes)g(directly)h(requested)g(from)f(the)g(memory)h(manager)-48
4478 b(,)420 b(then)397 b(the)g(CUDD)g(package)5978 36220
4479 y(assumes)425 b(that)i(it)f(will)h(be)g(bene\002cial)g(to)f(allo)-30
4480 b(w)427 b(more)f(room)h(for)e(the)i(subtables,)457 b(thereby)5978
4481 37725 y(reducing)371 b(the)h(frequenc)-18 b(y)371 b(of)g(g)-6
4482 b(arbage)372 b(collection.)582 b(The)371 b(package)h(does)g(so)f(by)g
4483 (switching)5978 39231 y(between)303 b(tw)-12 b(o)303
4484 b(modes)g(of)g(operation:)p Black 7493 41732 a(1.)p Black
4485 606 w(F)-18 b(ast)287 b(gro)-30 b(wth:)368 b(In)287 b(this)h(mode,)j
4486 (the)d(ratio)f(of)h(dead)g(nodes)g(to)g(total)g(nodes)f(required)h(for)
4487 9008 43238 y(g)-6 b(arbage)347 b(collection)g(is)f(higher)g(than)h(in)g
4488 (the)g(slo)-30 b(w)345 b(gro)-30 b(wth)347 b(mode)g(to)f(f)-12
4489 b(a)-24 b(v)g(or)346 b(resizing)9008 44743 y(of)303 b(the)g(subtables.)
4490 p Black 7493 47245 a(2.)p Black 606 w(Slo)-30 b(w)383
4491 b(gro)-30 b(wth:)535 b(In)382 b(this)g(mode)i(k)-12 b(eeping)383
4492 b(man)-18 b(y)383 b(dead)g(nodes)g(around)g(is)f(not)h(as)g(im-)9008
4493 48751 y(portant)303 b(as)g(k)-12 b(eeping)303 b(memory)g(requirements)f
4494 (lo)-30 b(w)-79 b(.)5978 51252 y(Switching)303 b(from)f(one)i(mode)f
4495 (to)g(the)g(other)g(is)g(based)g(on)g(the)g(follo)-30
4496 b(wing)303 b(criteria:)p Black 7493 53754 a(1.)p Black
4497 606 w(If)f(the)h(unique)h(table)f(is)g(already)g(lar)-22
4498 b(ge,)303 b(only)g(slo)-30 b(w)303 b(gro)-30 b(wth)302
4499 b(is)h(possible.)p Black 7493 56256 a(2.)p Black 606
4500 w(If)467 b(the)g(table)h(is)f(small)g(and)h(man)-18 b(y)467
4501 b(dead)h(nodes)f(are)h(being)f(reclaimed,)509 b(then)468
4502 b(f)-12 b(ast)9008 57761 y(gro)-30 b(wth)303 b(is)f(selected.)5978
4503 60263 y(This)329 b(polic)-18 b(y)330 b(is)g(especially)g(ef)-30
4504 b(fecti)g(v)-18 b(e)330 b(when)h(the)f(diagrams)g(being)g(manipulated)h
4505 (ha)-24 b(v)-18 b(e)331 b(lots)5978 61768 y(of)322 b(recombination.)437
4506 b(Notice)324 b(the)f(interplay)g(of)g(the)g(cache)h(sizing)f(and)h
4507 (unique)f(sizing:)416 b(F)-18 b(ast)5978 63274 y(gro)-30
4508 b(wth)298 b(normally)g(occurs)h(when)g(the)g(cache)g(hit)g(rate)f(is)h
4509 (lar)-22 b(ge.)374 b(The)299 b(cache)g(and)g(the)g(unique)5978
4510 64779 y(table)k(then)g(gro)-30 b(w)303 b(in)g(concert,)g(preserving)g
4511 (a)g(health)-6 b(y)303 b(balance)h(between)g(their)f(sizes.)p
4512 Black 25297 69672 a(31)p Black eop end
4513 %%Page: 32 32
4514 TeXDict begin 32 31 bop Black Black 5978 7638 a Fi(4.6)1328
4515 b(Allo)-13 b(wing)333 b(Asynchr)-24 b(onous)330 b(Reordering)5978
4516 9962 y Fo(Asynchronous)416 b(reordering)g(is)g(the)h(reordering)f(that)
4517 h(is)f(triggered)h(automatically)g(by)g(the)5978 11467
4518 y(increase)448 b(of)g(the)g(number)h(of)e(nodes.)812
4519 b(Asynchronous)448 b(reordering)f(tak)-12 b(es)448 b(place)h(when)g(a)
4520 5978 12973 y(ne)-30 b(w)367 b(internal)g(node)h(must)f(be)g(created,)
4521 384 b(and)368 b(the)f(number)h(of)f(nodes)g(has)g(reached)h(a)f(gi)-30
4522 b(v)-18 b(en)5978 14478 y(threshold.)604 b(\(The)378
4523 b(threshold)h(is)g(adjusted)g(by)h(the)f(package)h(e)-30
4524 b(v)-18 b(ery)379 b(time)h(reordering)e(tak)-12 b(es)5978
4525 15984 y(place.\))7859 17489 y(Those)302 b(procedures)h(that)f(do)h(not)
4526 g(create)g(ne)-30 b(w)303 b(nodes)f(\(e.g.,)h(procedures)f(that)h
4527 (count)g(the)5978 18994 y(number)c(of)h(nodes)g(or)f(minterms\))g(need)
4528 h(not)g(w)-12 b(orry)299 b(about)h(asynchronous)f(reordering:)374
4529 b(No)5978 20500 y(special)303 b(precaution)g(is)f(necessary)h(in)g
4530 (writing)g(them.)7859 22005 y(Procedures)e(that)g(only)g(manipulate)g
4531 (decision)g(diagrams)f(through)h(the)g(e)-18 b(xported)301
4532 b(func-)5978 23511 y(tions)343 b(of)g(the)h(CUDD)h(package)g(also)e
4533 (need)i(not)e(concern)i(themselv)-18 b(es)343 b(with)h(asynchronous)
4534 5978 25016 y(reordering.)375 b(\(See)303 b(Section)g(3.2.1)g(for)g(the)
4535 g(e)-18 b(xceptions.\))7859 26522 y(The)331 b(remaining)g(class)f(of)g
4536 (procedures)g(is)g(composed)h(of)f(functions)h(that)f(visit)g(the)h
4537 (dia-)5978 28027 y(grams)344 b(and)h(may)g(create)g(ne)-30
4538 b(w)345 b(nodes.)502 b(All)345 b(such)f(procedures)h(in)g(the)g(CUDD)g
4539 (package)h(are)5978 29533 y(written)435 b(so)h(that)g(the)-18
4540 b(y)436 b(can)g(be)g(interrupted)g(by)g(dynamic)g(reordering.)774
4541 b(The)435 b(general)h(ap-)5978 31038 y(proach)313 b(follo)-30
4542 b(wed)314 b(goes)f(under)h(the)g(name)g(of)f(\223abort)h(and)g(retry.)
4543 -85 b(\224)407 b(As)313 b(the)h(name)g(implies,)i(a)5978
4544 32544 y(computation)303 b(that)g(is)g(interrupted)g(by)g(dynamic)g
4545 (reordering)g(is)f(aborted)h(and)h(tried)e(ag)-6 b(ain.)7859
4546 34049 y(A)301 b(recursi)-30 b(v)-18 b(e)300 b(procedure)g(that)h(can)g
4547 (be)g(interrupted)f(by)h(dynamic)g(reordering)f(\(an)g(inter)-24
4548 b(-)5978 35555 y(ruptible)284 b(procedure)h(from)f(no)-30
4549 b(w)285 b(on\))f(is)g(composed)h(of)g(tw)-12 b(o)285
4550 b(functions.)369 b(One)285 b(is)f(responsible)5978 37060
4551 y(for)378 b(the)i(real)g(computation.)606 b(The)379 b(other)h(is)f(a)g
4552 (simple)h(wrapper,)398 b(which)380 b(tests)f(whether)h(re-)5978
4553 38566 y(ordering)302 b(occurred)h(and)h(restarts)d(the)i(computation)h
4554 (if)f(it)f(did.)7859 40071 y(Asynchronous)238 b(reordering)g(of)g(BDDs)
4555 h(and)g(ADDs)f(can)h(only)g(be)g(triggered)f(inside)g
4556 Fn(cud-)5978 41576 y(dUniqueInter)28 b Fo(,)424 b(when)401
4557 b(a)f(ne)-30 b(w)400 b(node)h(is)f(about)g(to)h(be)f(created.)668
4558 b(Lik)-12 b(e)-30 b(wise,)424 b(asynchronous)5978 43082
4559 y(reordering)363 b(of)h(ZDDs)f(can)h(only)g(be)h(triggered)e(inside)h
4560 Fn(cuddUniqueInterZdd)33 b Fo(.)558 b(When)365 b(re-)5978
4561 44587 y(ordering)302 b(is)h(triggered,)f(three)i(things)e(happen:)p
4562 Black 7493 46987 a(1.)p Black 606 w Fn(cuddUniqueInter)331
4563 b Fo(returns)302 b(a)h(NULL)g(v)-30 b(alue;)p Black 7493
4564 49447 a(2.)p Black 606 w(The)304 b(\003ag)h Fn(r)-45
4565 b(eor)g(der)g(ed)336 b Fo(of)304 b(the)h(manager)g(is)f(set)g(to)g(1.)
4566 380 b(\(0)304 b(means)g(no)h(reordering,)f(while)9008
4567 50953 y(2)f(indicates)g(an)g(error)f(occurred)h(during)g(reordering.\))
4568 p Black 7493 53414 a(3.)p Black 606 w(The)340 b(counter)g
4569 Fn(r)-45 b(eor)g(derings)339 b Fo(of)h(the)g(manager)g(is)g
4570 (incremented.)487 b(The)340 b(counter)g(is)g(ini-)9008
4571 54919 y(tialized)466 b(to)g(0)g(when)g(the)g(manager)g(is)f(started)g
4572 (and)h(can)g(be)g(accessed)g(by)g(calling)9008 56425
4573 y Fn(Cudd)p 11707 56425 364 45 v 437 w(ReadReor)-45 b(derings)p
4574 Fo(.)489 b(By)342 b(taking)f(tw)-12 b(o)341 b(readings)g(of)g(the)g
4575 (counter)-48 b(,)351 b(an)341 b(applica-)9008 57930 y(tion)413
4576 b(can)h(determine)g(if)f(v)-30 b(ariable)414 b(reordering)f(has)g(tak)
4577 -12 b(en)414 b(place)g(between)g(the)g(\002rst)9008 59436
4578 y(and)347 b(the)g(second)g(reading.)507 b(The)346 b(package)i(itself,)
4579 357 b(ho)-30 b(we)g(v)-18 b(er)-48 b(,)357 b(does)346
4580 b(not)h(mak)-12 b(e)347 b(use)f(of)9008 60941 y(the)303
4581 b(counter:)376 b(It)303 b(is)f(mentioned)i(here)f(for)f(completeness.)
4582 7859 63340 y(The)453 b(recursi)-30 b(v)-18 b(e)451 b(procedure)i(that)g
4583 (recei)-30 b(v)-18 b(es)452 b(a)h(NULL)e(v)-30 b(alue)453
4584 b(from)f Fn(cuddUniqueInter)5978 64846 y Fo(must)k(free)h(all)g
4585 (intermediate)h(results)d(that)j(it)f(may)g(ha)-24 b(v)-18
4586 b(e)457 b(computed)h(before,)495 b(and)458 b(return)5978
4587 66351 y(NULL)302 b(in)h(its)g(turn.)p Black 25297 69672
4588 a(32)p Black eop end
4589 %%Page: 33 33
4590 TeXDict begin 33 32 bop Black Black 7859 7638 a Fo(The)398
4591 b(wrapper)f(function)g(does)g(not)h(decide)g(whether)f(reordering)g
4592 (occurred)h(based)f(on)5978 9143 y(the)479 b(NULL)g(return)g(v)-30
4593 b(alue,)524 b(because)480 b(the)f(NULL)g(v)-30 b(alue)480
4594 b(may)f(be)h(the)g(result)e(of)i(lack)f(of)5978 10649
4595 y(memory)-79 b(.)376 b(Instead,)302 b(it)h(checks)g(the)g
4596 Fn(r)-45 b(eor)g(der)g(ed)336 b Fo(\003ag.)7859 12154
4597 y(When)361 b(a)f(recursi)-30 b(v)-18 b(e)360 b(procedure)g(calls)g
4598 (another)g(recursi)-30 b(v)-18 b(e)359 b(procedure)h(that)h(may)f
4599 (cause)5978 13660 y(reordering,)342 b(it)335 b(should)f(bypass)h(the)g
4600 (wrapper)g(and)g(call)g(the)g(recursi)-30 b(v)-18 b(e)334
4601 b(procedure)h(directly)-79 b(.)5978 15165 y(Otherwise,)370
4602 b(the)357 b(calling)g(procedure)g(will)g(not)f(kno)-30
4603 b(w)357 b(whether)g(reordering)g(occurred,)370 b(and)5978
4604 16671 y(will)333 b(not)g(be)g(able)g(to)g(restart.)465
4605 b(This)332 b(is)g(the)h(main)h(reason)e(wh)-6 b(y)333
4606 b(most)g(recursi)-30 b(v)-18 b(e)332 b(procedures)5978
4607 18176 y(are)391 b(internal,)413 b(rather)391 b(than)g(static.)641
4608 b(\(The)390 b(wrappers,)413 b(on)391 b(the)h(other)f(hand,)413
4609 b(are)392 b(mostly)e(e)-18 b(x-)5978 19682 y(ported.\))5978
4610 23004 y Fi(4.7)1328 b(Deb)-27 b(ugging)5978 25328 y Fo(By)467
4611 b(de\002ning)h(the)f(symbol)g(DD)p 20108 25328 364 45
4612 v 436 w(DEB)-12 b(UG)468 b(during)f(compilation,)508
4613 b(numerous)467 b(checks)g(are)5978 26833 y(added)230
4614 b(to)h(the)f(code.)352 b(In)230 b(addition,)245 b(the)231
4615 b(procedures)f Fn(Cudd)p 30650 26833 V 437 w(Deb)-24
4616 b(ugChec)g(k)21 b Fo(,)245 b Fn(Cudd)p 40493 26833 V
4617 437 w(Chec)-24 b(kK)-42 b(e)-36 b(ys)p Fo(,)5978 28339
4618 y(and)257 b Fn(cuddHeapPr)-55 b(o\002le)258 b Fo(can)g(be)g(called)g
4619 (at)g(an)-18 b(y)257 b(point)h(to)f(v)-18 b(erify)257
4620 b(the)h(consistenc)-18 b(y)257 b(of)g(the)h(data)5978
4621 29844 y(structure.)542 b(\()p Fn(cuddHeapPr)-55 b(o\002le)358
4622 b Fo(is)h(an)g(internal)f(procedure.)543 b(It)358 b(is)h(declared)g(in)
4623 f Fn(cuddInt.h)p Fo(.\))5978 31350 y(Procedures)450 b
4624 Fn(Cudd)p 14513 31350 V 437 w(Deb)-24 b(ugChec)g(k)473
4625 b Fo(and)452 b Fn(Cudd)p 26462 31350 V 437 w(Chec)-24
4626 b(kK)-42 b(e)-36 b(ys)451 b Fo(are)h(especially)f(useful)g(when)5978
4627 32855 y(CUDD)282 b(reports)f(that)g(during)h(g)-6 b(arbage)282
4628 b(collection)g(the)f(number)h(of)f(nodes)h(actually)g(deleted)5978
4629 34361 y(from)365 b(the)h(unique)g(table)h(is)e(dif)-30
4630 b(ferent)365 b(from)g(the)i(count)f(of)g(dead)g(nodes)g(k)-12
4631 b(ept)366 b(by)g(the)g(man-)5978 35866 y(ager)-67 b(.)454
4632 b(The)328 b(error)g(causing)h(the)h(discrepanc)-18 b(y)328
4633 b(may)i(ha)-24 b(v)-18 b(e)329 b(occurred)g(much)g(earlier)g(than)g(it)
4634 g(is)5978 37372 y(disco)-18 b(v)g(ered.)522 b(A)353 b(fe)-30
4635 b(w)351 b(strate)-18 b(gicaly)352 b(placed)h(calls)f(to)g(the)g(deb)-24
4636 b(ugging)353 b(procedures)f(can)g(con-)5978 38877 y(siderably)366
4637 b(narro)-30 b(w)367 b(do)-30 b(wn)367 b(the)g(search)g(for)g(the)g
4638 (source)g(of)g(the)g(problem.)568 b(\(F)-18 b(or)367
4639 b(instance,)383 b(a)5978 40383 y(call)290 b(to)g Fn(Cudd)p
4640 11950 40383 V 437 w(Recur)-12 b(siveDer)-45 b(ef)467
4641 b Fo(where)290 b(one)g(to)h Fn(Cudd)p 29488 40383 V 437
4642 w(Der)-45 b(ef)467 b Fo(w)-12 b(as)290 b(required)f(may)i(be)f(iden-)
4643 5978 41888 y(ti\002ed)303 b(in)g(this)f(w)-12 b(ay)-79
4644 b(.\))7859 43393 y(One)376 b(of)f(the)g(most)g(common)g(problems)g
4645 (encountered)h(in)f(deb)-24 b(ugging)375 b(code)h(based)f(on)5978
4646 44899 y(the)427 b(CUDD)h(package)g(is)e(a)i(missing)e(call)h(to)h
4647 Fn(Cudd)p 28792 44899 V 437 w(Recur)-12 b(siveDer)-45
4648 b(ef)177 b Fo(.)747 b(T)-97 b(o)427 b(help)g(identify)5978
4649 46404 y(this)269 b(type)i(of)e(problems,)277 b(the)270
4650 b(package)h(pro)-18 b(vides)269 b(a)i(function)f(called)g
4651 Fn(Cudd)p 38128 46404 V 437 w(Chec)-24 b(kZer)-55 b(oRef)177
4652 b Fo(.)5978 47910 y(This)475 b(function)i(should)g(be)g(called)g
4653 (immediately)g(before)f(shutting)h(do)-30 b(wn)477 b(the)f(manager)-67
4654 b(.)5978 49415 y Fn(Cudd)p 8677 49415 V 437 w(Chec)-24
4655 b(kZer)-55 b(oRef)420 b Fo(checks)242 b(that)g(the)h(only)f(nodes)h
4656 (left)f(with)g(non-zero)g(reference)g(counts)5978 50921
4657 y(are)340 b(the)h(prede\002ned)g(constants,)349 b(the)341
4658 b(BDD)g(projection)g(functions,)349 b(and)341 b(nodes)g(whose)f(ref-)
4659 5978 52426 y(erence)303 b(counts)g(are)g(saturated.)7859
4660 53932 y(F)-18 b(or)385 b(this)f(function)h(to)g(be)g(ef)-30
4661 b(fecti)g(v)-18 b(e)384 b(the)h(application)h(must)e(e)-18
4662 b(xplicitly)385 b(dispose)f(of)h(all)5978 55437 y(diagrams)302
4663 b(to)h(which)h(it)f(has)f(pointers)h(before)g(calling)g(it.)5978
4664 58760 y Fi(4.8)1328 b(Gathering)333 b(and)e(Inter)-13
4665 b(pr)-24 b(eting)330 b(Statistics)5978 61083 y Fo(Function)409
4666 b Fn(Cudd)p 13396 61083 V 437 w(PrintInfo)e Fo(can)i(be)g(called)g(to)g
4667 (print)f(out)h(the)g(v)-30 b(alues)408 b(of)h(parameters)f(and)5978
4668 62589 y(statistics)354 b(for)g(a)i(manager)-67 b(.)533
4669 b(The)355 b(output)h(of)f Fn(Cudd)p 27871 62589 V 437
4670 w(PrintInfo)f Fo(is)h(di)-30 b(vided)355 b(in)g(tw)-12
4671 b(o)356 b(sections.)5978 64094 y(The)244 b(\002rst)g(reports)f(the)i(v)
4672 -30 b(alues)244 b(of)g(parameters)g(that)h(are)g(under)f(the)h
4673 (application)g(control.)356 b(The)5978 65600 y(second)325
4674 b(reports)g(the)h(v)-30 b(alues)325 b(of)g(statistical)g(counters)g
4675 (and)h(other)f(non-modi\002able)h(parame-)p Black 25297
4676 69672 a(33)p Black eop end
4677 %%Page: 34 34
4678 TeXDict begin 34 33 bop Black Black 5978 7638 a Fo(ters.)391
4679 b(A)308 b(quick)h(guide)f(to)h(the)f(interpretation)h(of)f(all)g(these)
4680 g(quantities)g(follo)-30 b(ws.)391 b(F)-18 b(or)308 b(ease)g(of)5978
4681 9143 y(e)-18 b(xposition,)351 b(we)342 b(re)-30 b(v)-18
4682 b(erse)341 b(the)h(order)f(and)h(describe)g(the)g(non-modi\002able)g
4683 (parameters)f(\002rst.)5978 10649 y(W)-97 b(e')-12 b(ll)302
4684 b(use)h(a)g(sample)g(run)g(as)g(e)-18 b(xample.)376 b(There)303
4685 b(is)f(nothing)h(special)h(about)f(this)f(run.)5978 13927
4686 y Fp(4.8.1)1212 b(Non)303 b(Modi\002able)g(P)-12 b(arameters)5978
4687 16251 y Fo(The)302 b(list)h(of)g(non-modi\002able)g(parameters)f
4688 (starts)g(with:)p Black Black 8887 18753 a Fh(****)728
4689 b(CUDD)g(non-modifiable)j(parameters)f(****)8887 20258
4690 y(Memory)f(in)e(use:)i(32544220)5978 22760 y Fo(This)317
4691 b(is)i(the)f(memory)h(used)g(by)f(CUDD)i(for)e(three)h(things)f
4692 (mainly:)407 b(Unique)320 b(table)f(\(includ-)5978 24265
4693 y(ing)341 b(all)f(DD)i(nodes)e(in)h(use\),)350 b(node)341
4694 b(free)g(list,)349 b(and)342 b(computed)f(table.)490
4695 b(This)340 b(number)g(almost)5978 25771 y(ne)-30 b(v)-18
4696 b(er)350 b(decreases)g(in)h(the)g(lifetime)g(of)f(a)h(CUDD)h(manager)
4697 -48 b(,)362 b(because)352 b(CUDD)f(does)g(not)g(re-)5978
4698 27276 y(lease)384 b(memory)h(when)g(it)g(frees)f(nodes.)621
4699 b(Rather)-48 b(,)405 b(it)385 b(puts)g(the)g(nodes)f(on)h(its)g(o)-30
4700 b(wn)384 b(free)h(list.)5978 28782 y(This)396 b(number)h(is)f(in)h
4701 (bytes.)658 b(It)397 b(does)g(not)g(represent)f(the)h(peak)h(memory)f
4702 (occupation,)421 b(be-)5978 30287 y(cause)393 b(it)g(does)g(not)g
4703 (include)h(the)f(size)g(of)g(data)h(structures)e(created)h(temporarily)
4704 g(by)g(some)5978 31793 y(functions)302 b(\(e.g.,)h(local)g(look-up)g
4705 (tables\).)p Black Black 8887 34626 a Fh(Peak)728 b(number)h(of)f
4706 (nodes:)h(837018)5978 37460 y Fo(This)400 b(number)h(is)f(the)h(number)
4707 g(of)g(nodes)g(that)g(the)g(manager)g(has)g(allocated.)671
4708 b(This)400 b(is)g(not)5978 38966 y(the)353 b(lar)-22
4709 b(gest)353 b(size)g(of)g(the)g(BDDs,)366 b(because)353
4710 b(the)h(manager)f(will)g(normally)h(ha)-24 b(v)-18 b(e)353
4711 b(some)g(dead)5978 40471 y(nodes)302 b(and)i(some)f(nodes)f(on)i(the)f
4712 (free)f(list.)p Black Black 8887 43305 a Fh(Peak)728
4713 b(number)h(of)f(live)g(nodes:)h(836894)5978 46139 y Fo(This)256
4714 b(is)i(the)g(lar)-22 b(gest)257 b(number)h(of)f(li)-30
4715 b(v)-18 b(e)258 b(nodes)g(that)f(the)h(manager)h(has)e(held)h(since)g
4716 (its)f(creation.)p Black Black 8887 48973 a Fh(Number)729
4717 b(of)e(BDD)h(variables:)i(198)8887 50478 y(Number)f(of)e(ZDD)h
4718 (variables:)i(0)5978 53312 y Fo(These)302 b(numbers)h(tell)g(us)f(this)
4719 h(run)g(w)-12 b(as)302 b(not)h(using)g(ZDDs.)p Black
4720 Black 8887 56146 a Fh(Number)729 b(of)e(cache)i(entries:)g(1048576)5978
4721 58979 y Fo(Current)309 b(number)g(of)f(slots)g(of)h(the)g(computed)h
4722 (table.)394 b(If)308 b(one)h(has)g(a)g(performance)g(problem,)5978
4723 60485 y(this)302 b(is)h(one)g(of)g(the)g(numbers)f(to)h(look)h(at.)375
4724 b(The)303 b(cache)h(size)f(is)f(al)-12 b(w)g(ays)303
4725 b(a)g(po)-30 b(wer)303 b(of)g(2.)p Black Black 8887 63319
4726 a Fh(Number)729 b(of)e(cache)i(look-ups:)h(2996536)8887
4727 64824 y(Number)f(of)e(cache)i(hits:)g(1187087)p Black
4728 25297 69672 a Fo(34)p Black eop end
4729 %%Page: 35 35
4730 TeXDict begin 35 34 bop Black Black 5978 7638 a Fo(These)280
4731 b(numbers)h(gi)-30 b(v)-18 b(e)281 b(an)g(indication)g(of)g(the)g(hit)g
4732 (rate)g(in)g(the)h(computed)f(table.)369 b(It)281 b(is)f(not)h(un-)5978
4733 9143 y(lik)-12 b(ely)303 b(for)f(model)h(checking)h(runs)e(to)h(get)h
4734 (hit)f(rates)f(e)-30 b(v)-18 b(en)303 b(higher)g(than)g(this)g(one)g
4735 (\(39.62\045\).)p Black Black 8887 11874 a Fh(Number)729
4736 b(of)e(cache)i(insertions:)h(1809473)8887 13380 y(Number)f(of)e(cache)i
4737 (collisions:)h(961208)8887 14885 y(Number)f(of)e(cache)i(deletions:)h
4738 (0)5978 17616 y Fo(A)399 b(collision)f(occurs)h(when)h(a)f(cache)h
4739 (entry)e(is)h(o)-18 b(v)g(erwritten.)663 b(A)399 b(deletion)h(occurs)e
4740 (when)i(a)5978 19122 y(cache)332 b(entry)g(is)g(in)-48
4741 b(v)-30 b(alidated)331 b(\(e.g.,)339 b(during)332 b(g)-6
4742 b(arbage)332 b(collection\).)463 b(If)331 b(the)i(number)f(of)f(dele-)
4743 5978 20627 y(tions)265 b(is)g(high)h(compared)g(to)g(the)g(number)g(of)
4744 g(collisions,)272 b(it)266 b(means)g(that)g(g)-6 b(arbage)266
4745 b(collection)5978 22133 y(occurs)385 b(too)i(often.)625
4746 b(In)386 b(this)g(case)g(there)g(were)g(no)h(g)-6 b(arbage)386
4747 b(collections;)428 b(hence,)408 b(no)386 b(dele-)5978
4748 23638 y(tions.)p Black Black 8887 26369 a Fh(Cache)728
4749 b(used)h(slots)f(=)g(80.90\045)h(\(expected)g(82.19\045\))5978
4750 29100 y Fo(Percentage)311 b(of)f(cache)h(slots)e(that)i(contain)g(a)g
4751 (v)-30 b(alid)310 b(entry)-79 b(.)398 b(If)310 b(this)g(number)h(is)f
4752 (small,)h(it)g(may)5978 30606 y(signal)302 b(one)i(of)e(three)h
4753 (conditions:)p Black 7493 33022 a(1.)p Black 606 w(The)g(cache)h(may)f
4754 (ha)-24 b(v)-18 b(e)303 b(been)g(recently)h(resized)e(and)i(it)f(is)f
4755 (still)g(\002lling)h(up.)p Black 7493 35489 a(2.)p Black
4756 606 w(The)363 b(cache)g(is)g(too)g(lar)-22 b(ge)363 b(for)f(the)h
4757 (BDDs.)556 b(This)362 b(should)h(not)g(happen)g(if)g(the)g(size)f(of)
4758 9008 36995 y(the)303 b(cache)h(is)e(determined)i(by)f(CUDD.)p
4759 Black 7493 39462 a(3.)p Black 606 w(The)k(hash)g(function)h(is)f(not)g
4760 (w)-12 b(orking)308 b(properly)-79 b(.)388 b(This)307
4761 b(is)g(accompanied)h(by)g(a)g(de)-18 b(gra-)9008 40968
4762 y(dation)428 b(in)f(performance.)748 b(Con)-48 b(v)-18
4763 b(ersely)-79 b(,)459 b(a)427 b(de)-18 b(gradation)428
4764 b(in)f(performance)g(may)h(be)9008 42473 y(due)303 b(to)g(bad)h(hash)e
4765 (function)h(beha)-24 b(vior)-67 b(.)5978 44889 y(The)342
4766 b(e)-18 b(xpected)343 b(v)-30 b(alue)342 b(is)g(computed)h(assuming)f
4767 (a)g(uniformly)g(random)h(distrib)-24 b(ution)341 b(of)h(the)5978
4768 46394 y(accesses.)563 b(If)365 b(the)h(dif)-30 b(ference)365
4769 b(between)h(the)g(measured)g(v)-30 b(alue)366 b(and)g(the)f(e)-18
4770 b(xpected)367 b(v)-30 b(alue)366 b(is)5978 47900 y(lar)-22
4771 b(ge)303 b(\(unlik)-12 b(e)303 b(this)f(case\),)h(the)g(cache)h(is)e
4772 (not)h(w)-12 b(orking)303 b(properly)-79 b(.)p Black
4773 Black 8887 50631 a Fh(Soft)728 b(limit)h(for)f(cache)g(size:)h(1318912)
4774 5978 53362 y Fo(This)319 b(number)i(says)f(ho)-30 b(w)320
4775 b(lar)-22 b(ge)321 b(the)g(cache)g(can)g(gro)-30 b(w)-79
4776 b(.)429 b(This)319 b(limit)i(is)f(based)h(on)f(the)h(size)f(of)5978
4777 54867 y(the)362 b(unique)h(table.)555 b(CUDD)363 b(uses)f(a)g(re)-30
4778 b(w)-12 b(ard-based)362 b(polic)-18 b(y)363 b(for)e(gro)-30
4779 b(wing)363 b(the)f(cache.)555 b(\(See)5978 56373 y(Section)394
4780 b(4.4.1.\))647 b(The)394 b(def)-12 b(ault)394 b(hit)f(rate)h(for)f
4781 (resizing)g(is)g(30\045)h(and)g(the)g(v)-30 b(alue)394
4782 b(in)g(ef)-30 b(fect)393 b(is)5978 57878 y(reported)302
4783 b(among)i(the)f(modi\002able)g(parameters.)p Black Black
4784 8887 60609 a Fh(Number)729 b(of)e(buckets)j(in)d(unique)i(table:)g
4785 (329728)5978 63340 y Fo(This)357 b(number)i(is)f(e)-18
4786 b(xactly)359 b(one)g(quarter)g(of)f(the)h(one)g(abo)-18
4787 b(v)g(e.)543 b(This)358 b(is)g(indeed)h(ho)-30 b(w)359
4788 b(the)g(soft)5978 64846 y(limit)482 b(is)g(determined)h(currently)-79
4789 b(,)528 b(unless)482 b(the)g(computed)i(table)f(hits)f(the)h
4790 (speci\002ed)f(hard)5978 66351 y(limit.)375 b(\(See)303
4791 b(belo)-30 b(w)-79 b(.\))p Black 25297 69672 a(35)p Black
4792 eop end
4793 %%Page: 36 36
4794 TeXDict begin 36 35 bop Black Black Black Black 8887
4795 7638 a Fh(Used)728 b(buckets)h(in)f(unique)h(table:)g(87.96\045)g
4796 (\(expected)g(87.93\045\))5978 10302 y Fo(Percentage)322
4797 b(of)f(unique)h(table)g(b)-24 b(uck)-12 b(ets)321 b(that)h(contain)g
4798 (at)g(least)f(one)h(node.)432 b(Remarks)322 b(analo-)5978
4799 11807 y(gous)302 b(to)h(those)g(made)h(about)f(the)g(used)g(cache)h
4800 (slots)e(apply)-79 b(.)p Black Black 8887 14471 a Fh(Number)729
4801 b(of)e(BDD)h(and)h(ADD)f(nodes:)h(836894)8887 15976 y(Number)g(of)e
4802 (ZDD)h(nodes:)h(0)5978 18640 y Fo(Ho)-30 b(w)303 b(man)-18
4803 b(y)303 b(nodes)g(are)g(currently)f(in)h(the)h(unique)f(table,)g
4804 (either)g(ali)-30 b(v)-18 b(e)303 b(or)g(dead.)p Black
4805 Black 8887 21303 a Fh(Number)729 b(of)e(dead)i(BDD)f(and)g(ADD)g
4806 (nodes:)h(0)8887 22808 y(Number)g(of)e(dead)i(ZDD)f(nodes:)h(0)5978
4807 25472 y Fo(Subtract)351 b(these)h(numbers)f(from)g(those)g(abo)-18
4808 b(v)g(e)352 b(to)f(get)h(the)g(number)g(of)f(li)-30 b(v)-18
4809 b(e)351 b(nodes.)521 b(In)352 b(this)5978 26977 y(case)391
4810 b(there)h(are)g(no)g(dead)g(nodes)f(because)i(the)e(application)i(uses)
4811 e(delayed)h(dereferencing)5978 28483 y Fn(Cudd)p 8677
4812 28483 364 45 v 437 w(DelayedDer)-45 b(efBdd)33 b Fo(.)p
4813 Black Black 8887 31146 a Fh(Total)728 b(number)h(of)f(nodes)h
4814 (allocated:)h(836894)5978 33810 y Fo(This)373 b(is)i(the)g(total)f
4815 (number)h(of)g(nodes)f(that)h(were)g(requested)f(and)h(obtained)h(from)
4816 e(the)h(free)5978 35315 y(list.)680 b(It)404 b(ne)-30
4817 b(v)-18 b(er)405 b(decreases,)430 b(and)405 b(is)f(not)h(an)g
4818 (indication)g(of)f(memory)h(occupation)h(after)e(the)5978
4819 36821 y(\002rst)302 b(g)-6 b(arbage)303 b(collection.)376
4820 b(Rather)-48 b(,)303 b(it)g(is)g(a)g(measure)g(of)f(the)i(package)g
4821 (acti)-30 b(vity)-79 b(.)p Black Black 8887 39484 a Fh(Total)728
4822 b(number)h(of)f(nodes)h(reclaimed:)h(0)5978 42148 y Fo(These)365
4823 b(are)h(the)g(nodes)f(that)h(were)g(resuscitated)g(from)f(the)h(dead.)
4824 564 b(If)366 b(the)-18 b(y)365 b(are)h(man)-18 b(y)366
4825 b(more)5978 43653 y(than)276 b(the)g(allocated)g(nodes,)281
4826 b(and)c(the)f(total)g(number)f(of)h(slots)f(is)g(lo)-30
4827 b(w)276 b(relati)-30 b(v)-18 b(e)275 b(to)h(the)g(number)5978
4828 45159 y(of)338 b(nodes,)347 b(then)339 b(one)g(may)g(w)-12
4829 b(ant)339 b(to)f(increase)h(the)f(limit)h(for)f(f)-12
4830 b(ast)338 b(unique)g(table)h(gro)-30 b(wth.)482 b(In)5978
4831 46664 y(this)302 b(case,)h(the)g(number)g(is)g(0)g(because)g(of)g
4832 (delayed)h(dereferencing.)p Black Black 8887 49328 a
4833 Fh(Garbage)729 b(collections)h(so)e(far:)g(0)8887 50833
4834 y(Time)g(for)g(garbage)h(collections:)i(0.00)d(sec)8887
4835 52339 y(Reorderings)i(so)e(far:)g(0)8887 53844 y(Time)g(for)g
4836 (reordering:)i(0.00)f(sec)5978 56508 y Fo(There)327 b(is)h(a)g(GC)h
4837 (for)f(each)g(reordering.)451 b(Hence)329 b(the)f(\002rst)f(count)i
4838 (will)f(al)-12 b(w)g(ays)328 b(be)g(at)h(least)e(as)5978
4839 58013 y(lar)-22 b(ge)303 b(as)g(the)g(second.)p Black
4840 Black 8887 60677 a Fh(Node)728 b(swaps)h(in)e(reordering:)k(0)5978
4841 63340 y Fo(This)400 b(is)g(the)h(number)g(of)g(elementary)g(reordering)
4842 g(steps.)669 b(Each)401 b(step)f(consists)g(of)h(the)g(re-)5978
4843 64846 y(e)-18 b(xpression)361 b(of)h(one)h(node)g(while)g(sw)-12
4844 b(apping)363 b(tw)-12 b(o)362 b(adjacent)i(v)-30 b(ariables.)554
4845 b(This)361 b(number)i(is)f(a)5978 66351 y(good)303 b(measure)g(of)f
4846 (the)i(amount)f(of)g(w)-12 b(ork)302 b(done)i(in)f(reordering.)p
4847 Black 25297 69672 a(36)p Black eop end
4848 %%Page: 37 37
4849 TeXDict begin 37 36 bop Black Black 5978 7638 a Fp(4.8.2)1212
4850 b(Modi\002able)303 b(P)-12 b(arameters)5978 9962 y Fo(Let)296
4851 b(us)g(no)-30 b(w)297 b(consider)f(the)h(modi\002able)g(parameters,)g
4852 (that)g(is,)g(those)f(settings)g(on)h(which)g(the)5978
4853 11467 y(application)303 b(or)g(the)g(user)g(has)f(control.)p
4854 Black Black 8887 14301 a Fh(****)728 b(CUDD)g(modifiable)i(parameters)g
4855 (****)8887 15806 y(Hard)e(limit)h(for)f(cache)g(size:)h(8388608)5978
4856 18640 y Fo(This)391 b(number)i(counts)f(entries.)644
4857 b(Each)392 b(entry)h(is)f(16)g(bytes)h(if)f(CUDD)h(is)f(compiled)h(to)f
4858 (use)5978 20146 y(32-bit)302 b(pointers.)376 b(T)-97
4859 b(w)-12 b(o)302 b(important)h(observ)-30 b(ations)302
4860 b(are)h(in)g(order:)p Black 7493 22647 a(1.)p Black 606
4861 w(If)389 b(the)h(datasize)f(limit)h(is)f(set,)411 b(CUDD)390
4862 b(will)g(use)f(it)h(to)g(determine)g(this)f(number)g(au-)9008
4863 24153 y(tomatically)-79 b(.)492 b(On)341 b(a)h(Unix)f(system,)351
4864 b(one)341 b(can)h(type)g(\223limit\224)g(or)f(\223ulimit\224)g(to)h(v)
4865 -18 b(erify)341 b(if)9008 25658 y(this)333 b(v)-30 b(alue)334
4866 b(is)f(set.)468 b(If)333 b(the)h(datasize)g(limit)g(is)f(not)h(set,)341
4867 b(CUDD)335 b(uses)e(a)h(def)-12 b(ault)334 b(which)9008
4868 27164 y(is)277 b(rather)h(small.)367 b(If)277 b(you)h(ha)-24
4869 b(v)-18 b(e)278 b(enough)h(memory)f(\(say)f(64MB)h(or)g(more\))f(you)h
4870 (should)9008 28669 y(seriously)344 b(consider)h Fn(not)367
4871 b Fo(using)345 b(the)h(def)-12 b(ault.)502 b(So,)356
4872 b(either)346 b(set)f(the)g(datasize)h(limit,)355 b(or)9008
4873 30175 y(o)-18 b(v)g(erride)302 b(the)i(def)-12 b(ault)302
4874 b(with)i Fn(Cudd)p 23912 30175 364 45 v 437 w(SetMaxCac)-18
4875 b(heHar)-45 b(d)33 b Fo(.)p Black 7493 32676 a(2.)p Black
4876 606 w(If)265 b(a)g(process)g(seems)g(to)g(be)h(going)g(no)-30
4877 b(where,)273 b(a)266 b(small)f(v)-30 b(alue)266 b(for)e(this)h
4878 (parameter)h(may)9008 34182 y(be)381 b(the)g(culprit.)609
4879 b(One)381 b(cannot)g(o)-18 b(v)g(eremphasize)381 b(the)g(importance)g
4880 (of)g(the)g(computed)9008 35687 y(table)303 b(in)g(BDD)h(algorithms.)
4881 5978 38189 y(In)e(this)g(case)g(the)h(limit)f(w)-12 b(as)302
4882 b(automatically)h(set)f(for)g(a)g(tar)-22 b(get)303 b(maximum)f(memory)
4883 h(occupa-)5978 39695 y(tion)g(of)f(104)i(MB.)p Black
4884 Black 8887 42528 a Fh(Cache)728 b(hit)g(threshold)i(for)e(resizing:)i
4885 (15\045)5978 45362 y Fo(This)314 b(number)i(can)g(be)f(changed)i(if)e
4886 (one)h(suspects)e(performance)h(is)g(hindered)h(by)g(the)g(small)5978
4887 46868 y(size)373 b(of)g(the)h(cache,)392 b(and)373 b(the)h(cache)g(is)f
4888 (not)h(gro)-30 b(wing)373 b(to)-30 b(w)-12 b(ards)372
4889 b(the)i(soft)f(limit)g(suf)-30 b(\002ciently)5978 48373
4890 y(f)-12 b(ast.)365 b(In)273 b(such)h(a)g(case)f(one)h(can)h(change)f
4891 (the)g(def)-12 b(ault)274 b(30\045)f(to)h(15\045)f(\(as)g(in)h(this)f
4892 (case\))h(or)f(e)-30 b(v)-18 b(en)5978 49879 y(1\045.)p
4893 Black Black 8887 52712 a Fh(Garbage)729 b(collection)h(enabled:)f(yes)
4894 5978 55546 y Fo(One)440 b(can)h(disable)f(it,)474 b(b)-24
4895 b(ut)440 b(there)g(are)g(fe)-30 b(w)440 b(good)g(reasons)g(for)f(doing)
4896 h(so.)787 b(It)440 b(is)f(normally)5978 57052 y(preferable)302
4897 b(to)h(raise)g(the)g(limit)g(for)f(f)-12 b(ast)302 b(unique)i(table)f
4898 (gro)-30 b(wth.)376 b(\(See)302 b(belo)-30 b(w)-79 b(.\))p
4899 Black Black 8887 59886 a Fh(Limit)728 b(for)g(fast)h(unique)g(table)f
4900 (growth:)h(1363148)5978 62719 y Fo(See)305 b(Section)h(4.5)f(and)g(the)
4901 h(comments)f(abo)-18 b(v)g(e)305 b(about)h(reclaimed)f(nodes)g(and)h
4902 (hard)f(limit)g(for)5978 64225 y(the)g(cache)h(size.)381
4903 b(This)305 b(v)-30 b(alue)305 b(w)-12 b(as)304 b(chosen)i
4904 (automatically)f(by)g(CUDD)h(for)f(a)g(datasize)g(limit)5978
4905 65730 y(of)d(1)h(GB.)p Black 25297 69672 a(37)p Black
4906 eop end
4907 %%Page: 38 38
4908 TeXDict begin 38 37 bop Black Black Black Black 8887
4909 7638 a Fh(Maximum)729 b(number)g(of)f(variables)h(sifted)g(per)f
4910 (reordering:)j(1000)8887 9143 y(Maximum)e(number)g(of)f(variable)h
4911 (swaps)g(per)f(reordering:)i(2000000)8887 10649 y(Maximum)f(growth)g
4912 (while)f(sifting)i(a)d(variable:)j(1.2)5978 13445 y Fo(Lo)-30
4913 b(wering)360 b(these)g(numbers)g(will)h(cause)g(reordering)f(to)h(be)g
4914 (less)f(accurate)h(and)g(f)-12 b(aster)-67 b(.)548 b(Re-)5978
4915 14950 y(sults)262 b(are)i(some)-30 b(what)264 b(unpredictable,)272
4916 b(because)264 b(lar)-22 b(ger)264 b(BDDs)g(after)g(one)g(reordering)f
4917 (do)h(not)5978 16456 y(necessarily)302 b(mean)h(the)h(process)e(will)h
4918 (go)g(f)-12 b(aster)302 b(or)h(slo)-30 b(wer)-67 b(.)p
4919 Black Black 8887 19252 a Fh(Dynamic)729 b(reordering)h(of)e(BDDs)g
4920 (enabled:)h(yes)8887 20757 y(Default)g(BDD)f(reordering)i(method:)f(4)
4921 8887 22263 y(Dynamic)g(reordering)h(of)e(ZDDs)g(enabled:)h(no)8887
4922 23768 y(Default)g(ZDD)f(reordering)i(method:)f(4)5978
4923 26564 y Fo(These)489 b(lines)h(tell)h(whether)f(automatic)h(reordering)
4924 f(can)h(tak)-12 b(e)491 b(place)f(and)h(what)g(method)5978
4925 28069 y(w)-12 b(ould)352 b(be)h(used.)525 b(The)353 b(mapping)g(from)f
4926 (numbers)g(to)h(methods)f(is)h(in)f Fh(cudd.h)p Fo(.)527
4927 b(One)353 b(may)5978 29575 y(w)-12 b(ant)366 b(to)g(try)g(dif)-30
4928 b(ferent)365 b(BDD)i(reordering)f(methods.)565 b(If)366
4929 b(v)-30 b(ariable)366 b(groups)f(are)i(used,)382 b(ho)-30
4930 b(w-)5978 31080 y(e)g(v)-18 b(er)-48 b(,)262 b(one)253
4931 b(should)f(not)h(e)-18 b(xpect)253 b(to)g(see)g(big)g(dif)-30
4932 b(ferences,)262 b(because)253 b(CUDD)g(uses)f(the)h(reported)5978
4933 32586 y(method)380 b(only)f(to)h(reorder)f(each)h(leaf)g(v)-30
4934 b(ariable)379 b(group)h(\(typically)f(corresponding)h(present)5978
4935 34091 y(and)394 b(ne)-18 b(xt)393 b(state)h(v)-30 b(ariables\).)647
4936 b(F)-18 b(or)393 b(the)h(relati)-30 b(v)-18 b(e)393 b(order)h(of)f(the)
4937 h(groups,)416 b(it)393 b(al)-12 b(w)g(ays)394 b(uses)f(the)5978
4938 35597 y(same)302 b(algorithm,)h(which)h(is)e(ef)-30 b(fecti)g(v)-18
4939 b(ely)303 b(sifting.)7859 37102 y(As)369 b(for)e(enabling)i(dynamic)g
4940 (reordering)f(or)g(not,)385 b(a)369 b(sensible)f(recommendation)h(is)f
4941 (the)5978 38608 y(follo)-30 b(wing:)440 b(Unless)335
4942 b(the)h(circuit)f(is)g(rather)h(small)f(or)g(one)h(has)f(a)h(pretty)g
4943 (good)g(idea)g(of)f(what)5978 40113 y(the)303 b(order)f(should)h(be,)g
4944 (reordering)g(should)g(be)g(enabled.)p Black Black 8887
4945 42909 a Fh(Realignment)730 b(of)e(ZDDs)g(to)g(BDDs)g(enabled:)i(no)8887
4946 44414 y(Realignment)g(of)e(BDDs)g(to)g(ZDDs)g(enabled:)i(no)8887
4947 45920 y(Dead)e(nodes)h(counted)g(in)f(triggering)i(reordering:)g(no)
4948 8887 47425 y(Group)e(checking)i(criterion:)g(7)8887 48931
4949 y(Recombination)g(threshold:)g(0)8887 50436 y(Symmetry)f(violation)h
4950 (threshold:)g(0)8887 51942 y(Arc)e(violation)h(threshold:)h(0)8887
4951 53447 y(GA)d(population)j(size:)f(0)8887 54953 y(Number)g(of)e
4952 (crossovers)j(for)e(GA:)h(0)5978 57749 y Fo(P)-18 b(arameters)323
4953 b(for)h(reordering.)438 b(See)325 b(the)f(documentation)h(of)f(the)g
4954 (functions)g(used)g(to)g(control)5978 59254 y(these)302
4955 b(parameters)h(for)f(the)i(details.)p Black Black 8887
4956 62050 a Fh(Next)728 b(reordering)i(threshold:)g(100000)5978
4957 64846 y Fo(When)317 b(the)f(number)g(of)h(nodes)f(crosses)f(this)h
4958 (threshold,)j(reordering)d(will)g(be)h(triggered.)415
4959 b(\(If)5978 66351 y(enabled;)300 b(in)e(this)g(case)g(it)g(is)f(not.\))
4960 374 b(This)297 b(parameter)h(is)g(updated)h(by)f(the)g(package)h(whene)
4961 -30 b(v)-18 b(er)p Black 25297 69672 a(38)p Black eop
4963 %%Page: 39 39
4964 TeXDict begin 39 38 bop Black Black 5978 7638 a Fo(reordering)312
4965 b(tak)-12 b(es)313 b(place.)407 b(The)313 b(application)h(can)g(change)
4966 g(it,)i(for)c(instance)h(at)h(start-up.)405 b(An-)5978
4967 9143 y(other)288 b(possibility)g(is)h(to)g(use)f(a)h(hook)h(function)e
4968 (\(see)h(Section)g(3.16\))g(to)g(o)-18 b(v)g(erride)288
4969 b(the)h(def)-12 b(ault)5978 10649 y(updating)303 b(polic)-18
4970 b(y)-79 b(.)5978 13927 y Fp(4.8.3)1212 b(Extended)303
4971 b(Statistics)e(and)i(Reporting)5978 16251 y Fo(The)350
4972 b(follo)-30 b(wing)351 b(symbols)e(can)j(be)f(de\002ned)g(during)f
4973 (compilation)i(to)e(increase)h(the)g(amount)5978 17756
4974 y(of)302 b(statistics)g(g)-6 b(athered)303 b(and)h(the)f(number)g(of)g
4975 (messages)f(produced)h(by)g(the)g(package:)p Black 7796
4976 20258 a Fm(\262)p Black 606 w Fo(DD)p 10831 20258 364
4977 45 v 437 w(ST)-113 b(A)-135 b(TS;)p Black 7796 22760
4978 a Fm(\262)p Black 606 w Fo(DD)p 10831 22760 V 437 w(CA)-48
4979 b(CHE)p 15327 22760 V 436 w(PR)g(OFILE;)p Black 7796
4980 25261 a Fm(\262)p Black 606 w Fo(DD)p 10831 25261 V 437
4981 w(UNIQ)-12 b(UE)p 15901 25261 V 436 w(PR)-48 b(OFILE.)p
4982 Black 7796 27763 a Fm(\262)p Black 606 w Fo(DD)p 10831
4983 27763 V 437 w(VERBOSE;)5978 30265 y(De\002ning)345 b(DD)p
4984 12388 30265 V 437 w(CA)-48 b(CHE)p 16884 30265 V 437
4985 w(PR)g(OFILE)344 b(causes)g(each)i(entry)f(of)g(the)h(cache)g(to)f
4986 (include)h(an)f(ac-)5978 31770 y(cess)357 b(counter)-48
4987 b(,)372 b(which)359 b(is)f(used)g(to)g(compute)h(simple)f(statistics)f
4988 (on)i(the)g(distrib)-24 b(ution)357 b(of)h(the)5978 33276
4989 y(k)-12 b(e)-18 b(ys.)5978 36598 y Fi(4.9)1328 b(Guidelines)332
4990 b(f)-33 b(or)332 b(Documentation)5978 38922 y Fo(The)465
4991 b(documentation)h(of)g(the)f(CUDD)i(functions)e(is)g(e)-18
4992 b(xtracted)466 b(automatically)g(from)f(the)5978 40427
4993 y(sources)265 b(by)h(Stephen)g(Edw)-12 b(ards')-67 b(s)265
4994 b(e)-18 b(xtdoc.)363 b(\(The)266 b(Ext)f(system)h(is)f(a)-24
4995 b(v)-30 b(ailable)266 b(via)g(anon)-18 b(ymous)5978 41933
4996 y(FTP)374 b(from)h Fh(ic.eecs.berkeley.edu)p Fo(.\))597
4997 b(The)375 b(follo)-30 b(wing)375 b(guidelines)g(are)g(follo)-30
4998 b(wed)5978 43438 y(in)358 b(CUDD)h(to)f(insure)f(consistent)h(and)g(ef)
4999 -30 b(fecti)g(v)-18 b(e)357 b(use)h(of)g(automatic)g(e)-18
5000 b(xtraction.)541 b(It)358 b(is)g(rec-)5978 44944 y(ommended)303
5001 b(that)g(e)-18 b(xtensions)303 b(to)g(CUDD)h(follo)-30
5002 b(w)302 b(the)i(same)e(documentation)i(guidelines.)p
5003 Black 7796 47446 a Fm(\262)p Black 606 w Fo(The)404 b(documentation)h
5004 (of)f(an)h(e)-18 b(xported)404 b(procedure)h(should)f(be)g(suf)-30
5005 b(\002cient)404 b(to)g(allo)-30 b(w)9008 48951 y(one)301
5006 b(to)g(use)f(it)h(without)f(reading)h(the)g(code.)375
5007 b(It)301 b(is)f(not)h(necessary)f(to)g(e)-18 b(xplain)301
5008 b(ho)-30 b(w)301 b(the)9008 50456 y(procedure)i(w)-12
5009 b(orks;)302 b(only)h(what)h(it)f(does.)p Black 7796 52958
5010 a Fm(\262)p Black 606 w Fo(The)389 b Fn(SeeAlso)f Fo(\002elds)h(should)
5011 f(be)h(space-separated)g(lists)f(of)g(function)h(names.)633
5012 b(The)9008 54464 y Fn(SeeAlso)299 b Fo(\002eld)h(of)f(an)h(e)-18
5013 b(xported)299 b(procedure)h(should)f(only)g(reference)h(other)f(e)-18
5014 b(xported)9008 55969 y(procedures.)483 b(The)339 b Fn(SeeAlso)f
5015 Fo(\002eld)h(of)g(an)g(internal)g(procedure)f(may)i(reference)e(other)
5016 9008 57475 y(internal)293 b(procedures)g(as)f(well)i(as)f(e)-18
5017 b(xported)293 b(procedures,)h(b)-24 b(ut)293 b(no)h(static)f
5018 (procedures.)p Black 7796 59976 a Fm(\262)p Black 606
5019 w Fo(The)401 b(return)f(v)-30 b(alues)401 b(are)f(detailed)i(in)f(the)g
5020 Fn(Description)f Fo(\002eld,)426 b(not)401 b(in)g(the)g
5021 Fn(Synopsis)9008 61482 y Fo(\002eld.)p Black 7796 63984
5022 a Fm(\262)p Black 606 w Fo(The)366 b(parameters)f(are)h(documented)h
5023 (alongside)f(their)f(declarations.)565 b(Further)365
5024 b(com-)9008 65489 y(ments)303 b(may)g(appear)g(in)g(the)g
5025 Fn(Description)g Fo(\002eld.)p Black 25297 69672 a(39)p
5026 Black eop end
5027 %%Page: 40 40
5028 TeXDict begin 40 39 bop Black Black Black 7796 7638 a
5029 Fm(\262)p Black 606 w Fo(If)376 b(the)h Fn(Description)f
5030 Fo(\002eld)h(is)f(non-empty\227which)i(is)e(the)h(normal)g(case)f(for)g
5031 (an)h(e)-18 b(x-)9008 9143 y(ported)230 b(procedure\227then)h(the)f
5032 (synopsis)f(is)h(repeated\227possibly)g(slightly)g(changed\227)9008
5033 10649 y(at)331 b(the)h(be)-18 b(ginning)331 b(of)g(the)h
5034 Fn(Description)e Fo(\002eld.)461 b(This)330 b(is)h(so)g(because)g(e)-18
5035 b(xtdoc)332 b(will)f(not)9008 12154 y(put)303 b(the)g(synopsis)f(in)h
5036 (the)g(same)g(HTML)f(\002le)h(as)g(the)g(description.)p
5037 Black 7796 14656 a Fm(\262)p Black 606 w Fo(The)g Fn(Synopsis)f
5038 Fo(\002eld)h(should)g(be)g(about)h(one)f(line)g(long.)5978
5039 18558 y Fq(5)1594 b(The)398 b(C++)g(Interface)5978 21362
5040 y Fi(5.1)1328 b(Compiling)332 b(and)g(Linking)5978 23686
5041 y Fo(T)-97 b(o)302 b(b)-24 b(uild)303 b(an)g(application)h(that)f(uses)
5042 g(the)g(CUDD)h(C++)e(interf)-12 b(ace,)303 b(you)h(should)e(add)p
5043 Black Black 5978 26187 a Fh(#include)729 b("cuddObj.hh")5978
5044 28689 y Fo(to)398 b(your)h(source)f(\002les.)662 b(In)398
5045 b(addition)h(to)f(the)h(normal)f(CUDD)i(libraries)d(\(see)h(Section)h
5046 (3.1\))5978 30195 y(you)267 b(should)g(link)h Fh(libobj.a)h
5047 Fo(to)f(your)f(e)-18 b(x)g(ecutable.)365 b(Refer)267
5048 b(to)h(the)f Fh(Makefile)j Fo(in)d(the)h(top)5978 31700
5049 y(le)-30 b(v)-18 b(el)302 b(directory)h(of)g(the)g(distrib)-24
5050 b(ution)302 b(for)g(further)h(details.)5978 35023 y Fi(5.2)1328
5051 b(Basic)332 b(Manipulation)5978 37346 y Fo(The)289 b(follo)-30
5052 b(wing)289 b(fragment)g(of)g(code)h(illustrates)f(some)g(simple)g
5053 (operations)g(on)h(BDDs)g(using)5978 38852 y(the)303
5054 b(C++)g(interf)-12 b(ace.)p Black Black 5978 41353 a
5055 Fh(Cudd)728 b(mgr\(0,0\);)5978 42859 y(BDD)g(x)f(=)h(mgr.bddVar\(\);)
5056 5978 44364 y(BDD)g(y)f(=)h(mgr.bddVar\(\);)5978 45870
5057 y(BDD)g(f)f(=)h(x)f(*)h(y;)5978 47375 y(BDD)g(g)f(=)h(y)f(+)h(!x;)5978
5058 48881 y(cout)g(<<)g("f)g(is")g(<<)f(\(f)h(<=)g(g)g(?)f("")h(:)g(")f
5059 (not"\))9614 50386 y(<<)h(")f(less)i(than)f(or)g(equal)g(to)g(g\\n";)
5060 5978 52888 y Fo(This)284 b(code)i(creates)f(a)h(manager)f(called)h
5061 Fh(mgr)g Fo(and)g(tw)-12 b(o)285 b(v)-30 b(ariables)285
5062 b(in)g(it.)370 b(It)285 b(then)h(de\002nes)f(tw)-12 b(o)5978
5063 54393 y(functions)362 b Fh(f)h Fo(and)g Fh(g)g Fo(in)f(terms)g(of)h
5064 (the)g(v)-30 b(ariables.)554 b(Finally)-79 b(,)378 b(it)362
5065 b(prints)g(a)h(message)f(based)h(on)5978 55899 y(the)387
5066 b(comparison)g(of)g(the)h(tw)-12 b(o)387 b(functions.)629
5067 b(No)388 b(e)-18 b(xplicit)387 b(referencing)g(or)g(dereferencing)h(is)
5068 5978 57404 y(required.)418 b(The)317 b(operators)g(are)g(o)-18
5069 b(v)g(erloaded)318 b(in)f(the)h(intuiti)-30 b(v)-18 b(e)317
5070 b(w)-12 b(ay)-79 b(.)419 b(BDDs)317 b(are)h(freed)f(when)5978
5071 58910 y(e)-18 b(x)g(ecution)248 b(lea)-24 b(v)-18 b(es)247
5072 b(the)h(scope)g(in)g(which)g(the)-18 b(y)248 b(are)g(de\002ned)g(or)g
5073 (when)g(the)g(v)-30 b(ariables)247 b(referring)5978 60415
5074 y(to)303 b(them)g(are)g(o)-18 b(v)g(erwritten.)p Black
5075 25297 69672 a(40)p Black eop end
5076 %%Page: 41 41
5077 TeXDict begin 41 40 bop Black Black 5978 7638 a Fq(6)1594
5078 b(Ackno)-16 b(wledgments)5978 10398 y Fo(The)348 b(contrib)-24
5079 b(utors:)464 b(Iris)347 b(Bahar)-48 b(,)360 b(Hyunw)-12
5080 b(oo)349 b(Cho,)360 b(Erica)347 b(Frohm,)360 b(Charlie)348
5081 b(Gaona,)360 b(Cheng)5978 11904 y(Hua,)413 b(Jae-Y)-133
5082 b(oung)391 b(Jang,)414 b(Seh-W)-97 b(oong)391 b(Jeong,)414
5083 b(Balakrishna)391 b(K)-18 b(umthekar)-48 b(,)413 b(Enrico)391
5084 b(Macii,)5978 13409 y(Bobbie)231 b(Manne,)245 b(In-Ho)229
5085 b(Moon,)245 b(Curt)230 b(Musfeldt,)244 b(Shipra)230 b(P)-18
5086 b(anda,)245 b(Abelardo)231 b(P)-18 b(ardo,)245 b(Bernard)5978
5087 14914 y(Plessier)-48 b(,)346 b(Ka)-24 b(vita)339 b(Ra)-24
5088 b(vi,)349 b(Hyongk)-18 b(yoon)340 b(Shin,)348 b(Alan)339
5089 b(Shuler)-48 b(,)348 b(Arun)339 b(Si)-30 b(v)g(akumaran,)347
5090 b(Jor)-22 b(gen)5978 16420 y(Si)-30 b(v)-18 b(esind.)5978
5091 17925 y(The)419 b(early)g(adopters:)607 b(Gianpiero)420
5092 b(Cabodi,)449 b(Jordi)418 b(Cortadella,)449 b(Mario)419
5093 b(Escobar)-48 b(,)447 b(Gayani)5978 19431 y(Gamage,)364
5094 b(Gary)352 b(Hachtel,)365 b(Mariano)352 b(Hermida,)364
5095 b(W)-97 b(ooh)-6 b(yuk)352 b(Lee,)364 b(Enric)352 b(P)-18
5096 b(astor)-48 b(,)362 b(Massimo)5978 20936 y(Poncino,)303
5097 b(Ellen)g(Sento)-18 b(vich,)303 b(the)g(students)g(of)f(ECEN5139.)7859
5098 22442 y(I)278 b(am)f(also)h(particularly)f(indebted)h(to)g(the)g(follo)
5099 -30 b(wing)277 b(people)h(for)f(in-depth)h(discussions)5978
5100 23947 y(on)321 b(BDDs:)413 b(Armin)322 b(Biere,)k(Oli)-30
5101 b(vier)322 b(Coudert,)k(Geert)c(Janssen,)j(Don)d(Knuth,)327
5102 b(Da)-24 b(vid)321 b(Long,)5978 25453 y(Jean)394 b(Christophe)g(Madre,)
5103 416 b(K)-30 b(en)395 b(McMillan,)416 b(Shin-Ichi)394
5104 b(Minato,)417 b(Jaehong)394 b(P)-18 b(ark,)416 b(Rajee)-30
5105 b(v)5978 26958 y(Ranjan,)279 b(Rick)273 b(Rudell,)279
5106 b(Ellen)272 b(Sento)-18 b(vich,)279 b(T)-97 b(om)272
5107 b(Shiple,)279 b(Christian)272 b(Stangier)-48 b(,)278
5108 b(and)272 b(Bw)-12 b(olen)5978 28464 y(Y)-121 b(ang.)7859
5109 29969 y(Special)352 b(thanks)g(to)f(Norris)g(Ip)g(for)f(guiding)i(my)g
5110 (f)-12 b(altering)351 b(steps)f(in)i(the)f(design)h(of)f(the)5978
5111 31475 y(C++)367 b(interf)-12 b(ace.)571 b(Gianpiero)368
5112 b(Cabodi)g(and)h(Stef)-12 b(ano)367 b(Quer)h(ha)-24 b(v)-18
5113 b(e)368 b(graciously)g(agreed)g(to)g(let)5978 32980 y(me)303
5114 b(distrib)-24 b(ute)302 b(their)h(dddmp)g(library)g(with)g(CUDD.)7859
5115 34485 y(Masahiro)321 b(Fujita,)326 b(Gary)c(Hachtel,)327
5116 b(and)322 b(Carl)g(Pixle)-18 b(y)321 b(ha)-24 b(v)-18
5117 b(e)322 b(pro)-18 b(vided)321 b(encouragement)5978 35991
5118 y(and)303 b(advice.)7859 37496 y(The)406 b(National)g(Science)h(F)-18
5119 b(oundation)406 b(and)g(the)g(Semiconductor)g(Research)g(Corpora-)5978
5120 39002 y(tion)303 b(ha)-24 b(v)-18 b(e)303 b(supported)f(in)h(part)g
5121 (the)g(de)-30 b(v)-18 b(elopment)304 b(of)e(this)h(package.)5978
5122 42852 y Fq(Refer)-29 b(ences)p Black 6584 45612 a Fo([1])p
5123 Black 605 w(R.)371 b(I.)g(Bahar)-48 b(,)388 b(E.)370
5124 b(A.)h(Frohm,)388 b(C.)371 b(M.)f(Gaona,)389 b(G.)371
5125 b(D.)g(Hachtel,)388 b(E.)371 b(Macii,)387 b(A.)371 b(P)-18
5126 b(ardo,)8603 47117 y(and)316 b(F)-97 b(.)315 b(Somenzi.)477
5127 b(Algebraic)316 b(decision)f(diagrams)g(and)h(their)f(applications.)477
5128 b(In)315 b Fn(Pr)-55 b(o-)8603 48623 y(ceedings)355 b(of)h(the)f
5129 (International)g(Confer)-45 b(ence)356 b(on)f(Computer)-24
5130 b(-Aided)355 b(Design)p Fo(,)368 b(pages)8603 50128 y(188\226191,)304
5131 b(Santa)f(Clara,)g(CA,)h(No)-18 b(v)g(ember)303 b(1993.)p
5132 Black 6584 52525 a([2])p Black 605 w(B.)484 b(Bollig,)530
5133 b(M.)483 b(L)16768 52519 y(\250)16667 52525 y(obbing,)529
5134 b(and)484 b(I.)g(W)-97 b(e)-18 b(gener)-67 b(.)1015 b(Simulated)484
5135 b(annealing)h(to)f(impro)-18 b(v)g(e)8603 54030 y(v)-30
5136 b(ariable)380 b(orderings)f(for)h(OBDDs.)683 b(Presented)380
5137 b(at)g(the)g(International)g(W)-97 b(orkshop)380 b(on)8603
5138 55536 y(Logic)303 b(Synthesis,)f(Granlibakk)-12 b(en,)304
5139 b(CA,)f(May)g(1995.)p Black 6584 57933 a([3])p Black
5140 605 w(K.)390 b(S.)g(Brace,)413 b(R.)391 b(L.)e(Rudell,)413
5141 b(and)390 b(R.)h(E.)f(Bryant.)715 b(Ef)-30 b(\002cient)389
5142 b(implementation)i(of)f(a)8603 59438 y(BDD)395 b(package.)731
5143 b(In)394 b Fn(Pr)-55 b(oceedings)394 b(of)h(the)g(27th)f(Design)h(A)-24
5144 b(utomation)394 b(Confer)-45 b(ence)p Fo(,)8603 60944
5145 y(pages)303 b(40\22645,)g(Orlando,)h(FL,)e(June)h(1990.)p
5146 Black 6584 63340 a([4])p Black 605 w(R.)330 b(K.)g(Brayton)f(et)h(al.)
5147 521 b(VIS:)329 b(A)h(system)e(for)h(v)-18 b(eri\002cation)329
5148 b(and)h(synthesis.)520 b(T)-85 b(echnical)8603 64846
5149 y(Report)386 b(UCB/ERL)h(M95/104,)407 b(Electronics)385
5150 b(Research)h(Lab,)407 b(Uni)-30 b(v)-79 b(.)386 b(of)g(California,)8603
5151 66351 y(December)304 b(1995.)p Black 25297 69672 a(41)p
5152 Black eop end
5153 %%Page: 42 42
5154 TeXDict begin 42 41 bop Black Black Black 6584 7638 a
5155 Fo([5])p Black 605 w(R.)435 b(E.)f(Bryant.)856 b(Graph-based)434
5156 b(algorithms)g(for)f(Boolean)i(function)g(manipulation.)8603
5157 9143 y Fn(IEEE)301 b(T)-67 b(r)-18 b(ansactions)303 b(on)g(Computer)-12
5158 b(s)p Fo(,)303 b(C-35\(8\):677\226691,)g(August)f(1986.)p
5159 Black 6584 11552 a([6])p Black 605 w(R.)435 b(Drechsler)-48
5160 b(,)466 b(B.)435 b(Beck)-12 b(er)-48 b(,)467 b(and)434
5161 b(N.)h(G)26043 11546 y(\250)25942 11552 y(ock)-12 b(el.)856
5162 b(A)435 b(genetic)g(algorithm)f(for)f(v)-30 b(ariable)8603
5163 13058 y(ordering)318 b(of)h(OBDDs.)487 b(Presented)318
5164 b(at)h(the)g(International)g(W)-97 b(orkshop)318 b(on)h(Logic)f(Syn-)
5165 8603 14563 y(thesis,)302 b(Granlibakk)-12 b(en,)304 b(CA,)f(May)g
5166 (1995.)p Black 6584 16972 a([7])p Black 605 w(S.)352
5167 b(J.)f(Friedman)g(and)h(K.)g(J.)f(Supo)-30 b(wit.)592
5168 b(Finding)352 b(the)f(optimal)h(v)-30 b(ariable)352 b(ordering)f(for)
5169 8603 18477 y(binary)289 b(decision)f(diagrams.)405 b
5170 Fn(IEEE)287 b(T)-67 b(r)-18 b(ansactions)287 b(on)i(Computer)-12
5171 b(s)p Fo(,)291 b(39\(5\):710\226713,)8603 19983 y(May)303
5172 b(1990.)p Black 6584 22392 a([8])p Black 605 w(M.)468
5173 b(Fujita,)509 b(Y)-156 b(.)468 b(Matsunag)-6 b(a,)510
5174 b(and)468 b(T)-90 b(.)468 b(Kakuda.)966 b(On)468 b(v)-30
5175 b(ariable)468 b(ordering)g(of)g(binary)8603 23897 y(decision)358
5176 b(diagrams)f(for)g(the)h(application)g(of)f(multi-le)-30
5177 b(v)-18 b(el)358 b(logic)f(synthesis.)611 b(In)357 b
5178 Fn(Pr)-55 b(o-)8603 25403 y(ceedings)399 b(of)g(the)h(Eur)-55
5179 b(opean)399 b(Confer)-45 b(ence)400 b(on)f(Design)g(A)-24
5180 b(utomation)p Fo(,)423 b(pages)399 b(50\22654,)8603 26908
5181 y(Amsterdam,)303 b(February)g(1991.)p Black 6584 29317
5182 a([9])p Black 605 w(M.)346 b(Held)g(and)g(R.)g(M.)g(Karp.)574
5183 b(A)346 b(dynamic)g(programming)g(approach)g(to)g(sequencing)8603
5184 30822 y(problems.)436 b Fn(J)-30 b(.)303 b(SIAM)p Fo(,)f
5185 (10\(1\):196\226210,)h(1962.)p Black 5978 33231 a([10])p
5186 Black 605 w(N.)346 b(Ishiura,)355 b(H.)346 b(Sa)-18 b(w)-12
5187 b(ada,)356 b(and)346 b(S.)f(Y)-121 b(ajima.)573 b(Minimization)345
5188 b(of)g(binary)h(decision)f(dia-)8603 34736 y(grams)352
5189 b(based)g(on)h(e)-18 b(xchanges)352 b(of)h(v)-30 b(ariables.)593
5190 b(In)352 b Fn(Pr)-55 b(oceedings)353 b(of)f(the)h(International)8603
5191 36242 y(Confer)-45 b(ence)457 b(on)f(Computer)-24 b(-Aided)456
5192 b(Design)p Fo(,)494 b(pages)456 b(472\226475,)495 b(Santa)457
5193 b(Clara,)494 b(CA,)8603 37747 y(No)-18 b(v)g(ember)303
5194 b(1991.)p Black 5978 40156 a([11])p Black 605 w(S.-W)-112
5195 b(.)432 b(Jeong,)464 b(T)-90 b(.-S.)432 b(Kim,)464 b(and)432
5196 b(F)-97 b(.)432 b(Somenzi.)850 b(An)432 b(ef)-30 b(\002cient)431
5197 b(method)i(for)e(optimal)8603 41662 y(BDD)349 b(ordering)f
5198 (computation.)582 b(In)348 b Fn(International)f(Confer)-45
5199 b(ence)350 b(on)e(VLSI)f(and)i(CAD)8603 43167 y(\(ICVC'93\))p
5200 Fo(,)302 b(T)-97 b(aejon,)303 b(K)-42 b(orea,)303 b(No)-18
5201 b(v)g(ember)303 b(1993.)p Black 5978 45576 a([12])p Black
5202 605 w(S.-I.)391 b(Minato.)718 b(Zero-suppressed)390 b(BDDs)h(for)g(set)
5203 g(manipulation)h(in)f(combinatorial)8603 47081 y(problems.)440
5204 b(In)304 b Fn(Pr)-55 b(oceedings)304 b(of)g(the)h(Design)f(A)-24
5205 b(utomation)304 b(Confer)-45 b(ence)p Fo(,)306 b(pages)e(272\226)8603
5206 48587 y(277,)f(Dallas,)g(TX,)g(June)g(1993.)p Black 5978
5207 50995 a([13])p Black 605 w(S.)515 b(P)-18 b(anda)515
5208 b(and)g(F)-97 b(.)515 b(Somenzi.)1115 b(Who)516 b(are)f(the)g(v)-30
5209 b(ariables)514 b(in)h(your)g(neighborhood.)8603 52501
5210 y(In)355 b Fn(Pr)-55 b(oceedings)355 b(of)g(the)g(International)g
5211 (Confer)-45 b(ence)356 b(on)f(Computer)-24 b(-Aided)355
5212 b(Design)p Fo(,)8603 54006 y(pages)303 b(74\22677,)g(San)h(Jose,)e(CA,)
5213 i(No)-18 b(v)g(ember)303 b(1995.)p Black 5978 56415 a([14])p
5214 Black 605 w(S.)558 b(P)-18 b(anda,)623 b(F)-97 b(.)558
5215 b(Somenzi,)623 b(and)559 b(B.)g(F)-97 b(.)558 b(Plessier)-67
5216 b(.)1253 b(Symmetry)559 b(detection)g(and)f(dy-)8603
5217 57921 y(namic)398 b(v)-30 b(ariable)397 b(ordering)f(of)h(decision)g
5218 (diagrams.)737 b(In)397 b Fn(Pr)-55 b(oceedings)397 b(of)g(the)g(Inter)
5219 -24 b(-)8603 59426 y(national)385 b(Confer)-45 b(ence)386
5220 b(on)g(Computer)-24 b(-Aided)385 b(Design)p Fo(,)405
5221 b(pages)385 b(628\226631,)407 b(San)385 b(Jose,)8603
5222 60932 y(CA,)304 b(No)-18 b(v)g(ember)303 b(1994.)p Black
5223 5978 63340 a([15])p Black 605 w(B.)352 b(F)-97 b(.)351
5224 b(Plessier)-67 b(.)589 b Fn(A)351 b(Gener)-18 b(al)351
5225 b(F)-67 b(r)-18 b(ame)g(work)351 b(for)f(V)-135 b(eri\002cation)352
5226 b(of)f(Sequential)g(Cir)-45 b(cuits)p Fo(.)8603 64846
5227 y(PhD)322 b(thesis,)327 b(Uni)-30 b(v)-18 b(ersity)321
5228 b(of)h(Colorado)h(at)f(Boulder)-48 b(,)328 b(Dept.)322
5229 b(of)g(Electrical)g(and)h(Com-)8603 66351 y(puter)303
5230 b(Engineering,)g(1993.)p Black 25297 69672 a(42)p Black
5231 eop end
5232 %%Page: 43 43
5233 TeXDict begin 43 42 bop Black Black Black 5978 7638 a
5234 Fo([16])p Black 605 w(R.)330 b(Rudell.)521 b(Dynamic)330
5235 b(v)-30 b(ariable)329 b(ordering)g(for)g(ordered)g(binary)g(decision)h
5236 (diagrams.)8603 9143 y(In)355 b Fn(Pr)-55 b(oceedings)355
5237 b(of)g(the)g(International)g(Confer)-45 b(ence)356 b(on)f(Computer)-24
5238 b(-Aided)355 b(Design)p Fo(,)8603 10649 y(pages)303 b(42\22647,)g
5239 (Santa)h(Clara,)f(CA,)h(No)-18 b(v)g(ember)303 b(1993.)p
5240 Black 5978 13151 a([17])p Black 605 w(E.)576 b(M.)f(Sento)-18
5241 b(vich,)645 b(K.)576 b(J.)g(Singh,)644 b(C.)577 b(Moon,)644
5242 b(H.)576 b(Sa)-24 b(v)g(oj,)644 b(R.)577 b(K.)f(Brayton,)645
5243 b(and)8603 14656 y(A.)473 b(Sangio)-18 b(v)-30 b(anni-V)-73
5244 b(incentelli.)979 b(Sequential)473 b(circuit)f(design)g(using)h
5245 (synthesis)e(and)8603 16162 y(optimization.)687 b(In)380
5246 b Fn(Pr)-55 b(oceedings)381 b(of)h(the)f(International)f(Confer)-45
5247 b(ence)382 b(on)g(Computer)8603 17667 y(Design)p Fo(,)303
5248 b(pages)g(328\226333,)g(Cambridge,)h(MA,)f(October)g(1992.)p
5249 Black 25297 69672 a(43)p Black eop end
5250 %%Page: 44 44
5251 TeXDict begin 44 43 bop Black Black Black 5978 9401 a
5252 Fq(Index)p Black 5978 11896 a Fo(ADD,)303 b(4,)g(7,)g(11,)g(13)5978
5253 13401 y(aggre)-18 b(g)-6 b(ation,)303 b(18)5978 14907
5254 y(Algebraic)g(Decision)g(Diagram,)g Fn(see)g Fo(ADD)5978
5255 16412 y(arc)8192 17918 y(complement,)g(11,)g(24,)h(28)8192
5256 19423 y(re)-18 b(gular)-48 b(,)302 b(24,)h(28)5978 22036
5257 y(background)g(v)-30 b(alue,)303 b(10)5978 23541 y(BDD,)g(4,)h(7,)f
5258 (10,)g(12)5978 25047 y(Binary)g(Decision)g(Diagram,)g
5259 Fn(see)g Fo(BDD)5978 26552 y(box)8192 28058 y(black,)g(4)8192
5260 29563 y(clear)-48 b(,)302 b(4,)h(25)5978 32175 y(cache,)g(8,)h(28)8192
5261 33681 y(collision,)e(35)8192 35186 y(collision)g(list,)h(31)8192
5262 36692 y(deletion,)g(35)8192 38197 y(local,)g(29,)g(30)8192
5263 39703 y(lossless,)e(30)8192 41208 y(re)-30 b(w)-12 b(ard-based)302
5264 b(resizing,)g(29)8192 42714 y(sizing,)g(29)5978 44219
5265 y(cacheSize,)i(8)5978 45725 y(canonical,)f(7,)h(30)5978
5266 47230 y(compiling,)f(6,)g(10,)g(25)5978 48736 y(con\002guration,)g(5)
5267 5978 50241 y(con)-48 b(v)-18 b(ersion)8192 51747 y(of)302
5268 b(ADDs)h(to)g(BDDs,)h(15)8192 53252 y(of)e(BDDs)i(to)f(ADDs,)g(15)8192
5269 54757 y(of)f(BDDs)i(to)f(ZDDs,)f(14,)h(15)8192 56263
5270 y(of)f(ZDDs)h(to)g(BDDs,)g(15)5978 57768 y(cube)g(sets,)f(4)5978
5271 59274 y(cudd.h,)h(6,)g(17,)g(28)5978 60779 y Fn(Cudd)p
5272 8677 60779 364 45 v 437 w(addApply)p Fo(,)g(13,)g(14)5978
5273 62285 y Fn(Cudd)p 8677 62285 V 437 w(addBddInterval)p
5274 Fo(,)f(15)5978 63790 y Fn(Cudd)p 8677 63790 V 437 w(addBddP)-97
5275 b(attern)p Fo(,)302 b(15)5978 65296 y Fn(Cudd)p 8677
5276 65296 V 437 w(addBddThr)-45 b(eshold)p Fo(,)302 b(15)p
5277 Black Black 26456 11896 a Fn(Cudd)p 29155 11896 V 437
5278 w(addConst)p Fo(,)i(11)26456 13401 y Fn(Cudd)p 29155
5279 13401 V 437 w(addHarwell)p Fo(,)g(11)26456 14907 y Fn(Cudd)p
5280 29155 14907 V 437 w(AddHook)p Fo(,)g(22)26456 16412 y
5281 Fn(Cudd)p 29155 16412 V 437 w(addIthBit)p Fo(,)f(15)26456
5282 17918 y Fn(Cudd)p 29155 17918 V 437 w(addIthV)-135 b(ar)p
5283 Fo(,)303 b(11)26456 19423 y Fn(Cudd)p 29155 19423 V 437
5284 w(addNe)-18 b(wV)-135 b(ar)p Fo(,)304 b(11)26456 20929
5285 y Fn(Cudd)p 29155 20929 V 437 w(addNe)-18 b(wV)-135 b(arAtLe)-18
5286 b(vel)p Fo(,)304 b(11,)f(20)26456 22434 y Fn(Cudd)p 29155
5287 22434 V 437 w(addRead)p Fo(,)g(11)26456 23940 y Fn(Cudd)p
5288 29155 23940 V 437 w(addT)-67 b(imes)p Fo(,)304 b(14)26456
5289 25445 y Fn(Cudd)p 29155 25445 V 437 w(A)-24 b(utodynDisable)p
5290 Fo(,)303 b(17)26456 26951 y Fn(Cudd)p 29155 26951 V 437
5291 w(A)-24 b(utodynDisableZdd)p Fo(,)303 b(20)26456 28456
5292 y Fn(Cudd)p 29155 28456 V 437 w(A)-24 b(utodynEnable)p
5293 Fo(,)303 b(17)26456 29962 y Fn(Cudd)p 29155 29962 V 437
5294 w(A)-24 b(utodynEnableZdd)p Fo(,)303 b(20)26456 31467
5295 y Fn(Cudd)p 29155 31467 V 437 w(bddAnd)p Fo(,)g(12\22614)26456
5296 32972 y Fn(Cudd)p 29155 32972 V 437 w(bddConstr)-18 b(ain)p
5297 Fo(,)303 b(7)26456 34478 y Fn(Cudd)p 29155 34478 V 437
5298 w(bddIte)p Fo(,)g(12)26456 35983 y Fn(Cudd)p 29155 35983
5299 V 437 w(bddIthV)-135 b(ar)p Fo(,)303 b(11)26456 37489
5300 y Fn(Cudd)p 29155 37489 V 437 w(bddNe)-18 b(wV)-135 b(ar)p
5301 Fo(,)304 b(11)26456 38994 y Fn(Cudd)p 29155 38994 V 437
5302 w(bddNe)-18 b(wV)-135 b(arAtLe)-18 b(vel)p Fo(,)304 b(11,)f(20)26456
5303 40500 y Fn(Cudd)p 29155 40500 V 437 w(BddT)-112 b(oAdd)p
5304 Fo(,)303 b(15)26456 42005 y Fn(Cudd)p 29155 42005 V 437
5305 w(bddXor)p Fo(,)g(14)26456 43511 y(CUDD)p 29962 43511
5306 V 438 w(CA)-48 b(CHE)p 34459 43511 V 436 w(SLO)g(TS,)302
5307 b(8)26456 45016 y Fn(Cudd)p 29155 45016 V 437 w(Chec)-24
5308 b(kK)-42 b(e)-36 b(ys)p Fo(,)304 b(33)26456 46522 y Fn(Cudd)p
5309 29155 46522 V 437 w(Chec)-24 b(kZer)-55 b(oRef)p Fo(,)304
5310 b(33)26456 48027 y Fn(Cudd)p 29155 48027 V 437 w(CountMinterm)p
5311 Fo(,)g(11)26456 49533 y Fn(Cudd)p 29155 49533 V 437 w(Deb)-24
5312 b(ugChec)g(k)p Fo(,)304 b(33)26456 51038 y Fn(Cudd)p
5313 29155 51038 V 437 w(DelayedDer)-45 b(efBdd)p Fo(,)304
5314 b(36)26456 52544 y Fn(Cudd)p 29155 52544 V 437 w(Der)-45
5315 b(ef)p Fo(,)304 b(27)26456 54049 y Fn(Cudd)p 29155 54049
5316 V 437 w(DumpBlif)p Fo(,)f(23)26456 55554 y Fn(Cudd)p
5317 29155 55554 V 437 w(DumpDaV)-90 b(inci)p Fo(,)304 b(23)26456
5318 57060 y Fn(Cudd)p 29155 57060 V 437 w(DumpDot)p Fo(,)g(23)26456
5319 58565 y Fn(Cudd)p 29155 58565 V 437 w(F)-127 b(or)-45
5320 b(eac)-18 b(hCube)p Fo(,)304 b(6,)f(11)26456 60071 y
5321 Fn(Cudd)p 29155 60071 V 437 w(F)-127 b(or)-45 b(eac)-18
5322 b(hNode)p Fo(,)304 b(6)26456 61576 y Fn(Cudd)p 29155
5323 61576 V 437 w(HookT)-90 b(ype)p Fo(,)304 b(21)26456 63082
5324 y Fn(Cudd)p 29155 63082 V 437 w(Init)p Fo(,)f(8,)g(9)26456
5325 64587 y Fn(Cudd)p 29155 64587 V 437 w(Mak)-12 b(eT)-67
5326 b(r)-45 b(eeNode)p Fo(,)304 b(19,)g(20)26456 66093 y
5327 Fn(Cudd)p 29155 66093 V 437 w(Mak)-12 b(eZddT)-67 b(r)-45
5328 b(eeNode)p Fo(,)304 b(21)p Black 25297 69672 a(44)p Black
5329 eop end
5330 %%Page: 45 45
5331 TeXDict begin 45 44 bop Black Black 5978 7638 a Fn(Cudd)p
5332 8677 7638 364 45 v 437 w(Not)p Fo(,)303 b(10)5978 9143
5333 y Fn(Cudd)p 8677 9143 V 437 w(PrintInfo)p Fo(,)e(33)5978
5334 10649 y Fn(Cudd)p 8677 10649 V 437 w(PrintMinterm)p Fo(,)g(11)5978
5335 12154 y Fn(Cudd)p 8677 12154 V 437 w(Quit)p Fo(,)i(9)5978
5336 13660 y Fn(Cudd)p 8677 13660 V 437 w(ReadBac)-24 b(kgr)-55
5337 b(ound)p Fo(,)303 b(10)5978 15165 y Fn(Cudd)p 8677 15165
5338 V 437 w(ReadEpsilon)p Fo(,)f(10)5978 16671 y Fn(Cudd)p
5339 8677 16671 V 437 w(ReadErr)-55 b(orCode)p Fo(,)302 b(26)5978
5340 18176 y Fn(Cudd)p 8677 18176 V 437 w(ReadIn)-48 b(vP)-97
5341 b(erm)p Fo(,)301 b(13)5978 19682 y Fn(Cudd)p 8677 19682
5342 V 437 w(ReadLo)-12 b(gicZer)-55 b(o)p Fo(,)303 b(10)5978
5343 21187 y Fn(Cudd)p 8677 21187 V 437 w(ReadLooseUpto)p
5344 Fo(,)g(9)5978 22693 y Fn(Cudd)p 8677 22693 V 437 w(ReadMaxGr)-55
5345 b(owth)p Fo(,)303 b(18)5978 24198 y Fn(Cudd)p 8677 24198
5346 V 437 w(ReadMinusIn\002nity)p Fo(,)f(10)5978 25704 y
5347 Fn(Cudd)p 8677 25704 V 437 w(ReadOne)p Fo(,)h(9)5978
5348 27209 y Fn(Cudd)p 8677 27209 V 437 w(ReadPlusIn\002nity)p
5349 Fo(,)f(10)5978 28715 y Fn(Cudd)p 8677 28715 V 437 w(ReadReor)-45
5350 b(derings)p Fo(,)301 b(32)5978 30220 y Fn(Cudd)p 8677
5351 30220 V 437 w(ReadSiftMaxV)-135 b(ar)p Fo(,)302 b(18)5978
5352 31725 y Fn(Cudd)p 8677 31725 V 437 w(ReadT)-67 b(r)-45
5353 b(ee)p Fo(,)303 b(19)5978 33231 y Fn(Cudd)p 8677 33231
5354 V 437 w(ReadZddOne)p Fo(,)g(9,)g(15)5978 34736 y Fn(Cudd)p
5355 8677 34736 V 437 w(ReadZer)-55 b(o)p Fo(,)303 b(10)5978
5356 36242 y Fn(Cudd)p 8677 36242 V 437 w(Recur)-12 b(siveDer)-45
5357 b(ef)p Fo(,)302 b(7,)h(25\22627,)g(30,)h(33)5978 37747
5358 y Fn(Cudd)p 8677 37747 V 437 w(Recur)-12 b(siveDer)-45
5359 b(efZdd)p Fo(,)302 b(7,)h(26,)g(27)5978 39253 y Fn(Cudd)p
5360 8677 39253 V 437 w(ReduceHeap)p Fo(,)g(17)5978 40758
5361 y Fn(Cudd)p 8677 40758 V 437 w(Ref)p Fo(,)f(7,)i(12,)f(25,)g(27)5978
5362 42264 y Fn(Cudd)p 8677 42264 V 437 w(Re)-48 b(gular)p
5363 Fo(,)302 b(28)5978 43769 y(CUDD)p 9484 43769 V 437 w(REORDER)p
5364 15577 43769 V 437 w(ANNEALING,)h(19)5978 45275 y(CUDD)p
5365 9484 45275 V 437 w(REORDER)p 15577 45275 V 437 w(EXA)-48
5366 b(CT)-90 b(,)303 b(19)5978 46780 y(CUDD)p 9484 46780
5367 V 437 w(REORDER)p 15577 46780 V 437 w(GENETIC,)f(19)5978
5368 48286 y(CUDD)p 9484 48286 V 437 w(REORDER)p 15577 48286
5369 V 437 w(GR)-48 b(OUP)p 20073 48286 V 437 w(SIFT)-90 b(,)302
5370 b(18)5978 49791 y(CUDD)p 9484 49791 V 437 w(REORDER)p
5371 15577 49791 V 437 w(GR)-48 b(OUP)p 20073 49791 V 437
5372 w(SIFT)p 23003 49791 V 435 w(CONV)-156 b(,)10405 51297
5373 y(18)5978 52802 y(CUDD)p 9484 52802 V 437 w(REORDER)p
5374 15577 52802 V 437 w(NONE,)303 b(17,)g(20)5978 54307 y(CUDD)p
5375 9484 54307 V 437 w(REORDER)p 15577 54307 V 437 w(RANDOM,)h(17,)f(20)
5376 5978 55813 y(CUDD)p 9484 55813 V 437 w(REORDER)p 15577
5377 55813 V 437 w(RANDOM)p 21400 55813 V 437 w(PIV)-48 b(O)g(T)-90
5378 b(,)10405 57318 y(17,)304 b(20)5978 58824 y(CUDD)p 9484
5379 58824 V 437 w(REORDER)p 15577 58824 V 437 w(SAME,)e(17,)i(20)5978
5380 60329 y(CUDD)p 9484 60329 V 437 w(REORDER)p 15577 60329
5381 V 437 w(SIFT)-90 b(,)303 b(17,)g(21)5978 61835 y(CUDD)p
5382 9484 61835 V 437 w(REORDER)p 15577 61835 V 437 w(SIFT)p
5383 18507 61835 V 436 w(CONVERGE,)10405 63340 y(18,)h(21)5978
5384 64846 y(CUDD)p 9484 64846 V 437 w(REORDER)p 15577 64846
5385 V 437 w(SYMM)p 19719 64846 V 436 w(SIFT)-90 b(,)229 b(18,)245
5386 b(21)p Black Black 26456 7638 a(CUDD)p 29962 7638 V 438
5387 w(REORDER)p 36056 7638 V 437 w(SYMM)p 40198 7638 V 435
5388 w(SIFT)p 43126 7638 V 436 w(CONV)-156 b(,)30884 9143
5389 y(18,)303 b(21)26456 10649 y(CUDD)p 29962 10649 V 438
5390 w(REORDER)p 36056 10649 V 437 w(WINDO)-42 b(W2,)303 b(18)26456
5391 12154 y(CUDD)p 29962 12154 V 438 w(REORDER)p 36056 12154
5392 V 437 w(WINDO)-42 b(W2)p 42374 12154 V 436 w(CONV)-156
5393 b(,)30884 13660 y(18)26456 15165 y(CUDD)p 29962 15165
5394 V 438 w(REORDER)p 36056 15165 V 437 w(WINDO)-42 b(W3,)303
5395 b(18)26456 16671 y(CUDD)p 29962 16671 V 438 w(REORDER)p
5396 36056 16671 V 437 w(WINDO)-42 b(W3)p 42374 16671 V 436
5397 w(CONV)-156 b(,)30884 18176 y(18)26456 19682 y(CUDD)p
5398 29962 19682 V 438 w(REORDER)p 36056 19682 V 437 w(WINDO)-42
5399 b(W4,)303 b(18)26456 21187 y(CUDD)p 29962 21187 V 438
5400 w(REORDER)p 36056 21187 V 437 w(WINDO)-42 b(W4)p 42374
5401 21187 V 436 w(CONV)-156 b(,)30884 22693 y(19)26456 24198
5402 y Fn(Cudd)p 29155 24198 V 437 w(SetEpsilon)p Fo(,)303
5403 b(10)26456 25704 y Fn(Cudd)p 29155 25704 V 437 w(SetLooseUpT)-112
5404 b(o)p Fo(,)304 b(9)26456 27209 y Fn(Cudd)p 29155 27209
5405 V 437 w(SetMaxCac)-18 b(heHar)-45 b(d)p Fo(,)304 b(37)26456
5406 28715 y Fn(Cudd)p 29155 28715 V 437 w(SetMaxGr)-55 b(owth)p
5407 Fo(,)304 b(18)26456 30220 y Fn(Cudd)p 29155 30220 V 437
5408 w(SetSiftMaxV)-135 b(ar)p Fo(,)303 b(18)26456 31725 y
5409 Fn(Cudd)p 29155 31725 V 437 w(SetT)-67 b(r)-45 b(ee)p
5410 Fo(,)304 b(19)26456 33231 y Fn(Cudd)p 29155 33231 V 437
5411 w(Shuf)-22 b(\003eHeap)p Fo(,)304 b(19)26456 34736 y
5412 Fn(Cudd)p 29155 34736 V 437 w(StdP)-97 b(ostReor)-45
5413 b(dHook)p Fo(,)303 b(22)26456 36242 y Fn(Cudd)p 29155
5414 36242 V 437 w(StdPr)-45 b(eReor)g(dHook)p Fo(,)303 b(22)26456
5415 37747 y Fn(Cudd)p 29155 37747 V 437 w(SymmPr)-55 b(o\002le)p
5416 Fo(,)304 b(18)26456 39253 y(CUDD)p 29962 39253 V 438
5417 w(UNIQ)-12 b(UE)p 35033 39253 V 436 w(SLO)-48 b(TS,)301
5418 b(8)26456 40758 y Fn(Cudd)p 29155 40758 V 437 w(zddDumpDot)p
5419 Fo(,)j(23)26456 42264 y Fn(Cudd)p 29155 42264 V 437 w(zddIsop)p
5420 Fo(,)e(15)26456 43769 y Fn(Cudd)p 29155 43769 V 437 w(zddIthV)-135
5421 b(ar)p Fo(,)302 b(12)26456 45275 y Fn(Cudd)p 29155 45275
5422 V 437 w(zddP)-97 b(ortF)-67 b(r)-55 b(omBdd)p Fo(,)302
5423 b(16)26456 46780 y Fn(Cudd)p 29155 46780 V 437 w(zddP)-97
5424 b(ortT)-112 b(oBdd)p Fo(,)302 b(16)26456 48286 y Fn(Cudd)p
5425 29155 48286 V 437 w(zddRealignDisable)p Fo(,)h(21)26456
5426 49791 y Fn(Cudd)p 29155 49791 V 437 w(zddRealignEnable)p
5427 Fo(,)g(21)26456 51297 y Fn(Cudd)p 29155 51297 V 437 w(zddReduceHeap)p
5428 Fo(,)h(20)26456 52802 y Fn(Cudd)p 29155 52802 V 437 w(zddShuf)-22
5429 b(\003eHeap)p Fo(,)304 b(20)26456 54307 y Fn(Cudd)p 29155
5430 54307 V 437 w(zddV)-135 b(ar)-12 b(sF)-67 b(r)-55 b(omBddV)-135
5431 b(ar)-12 b(s)p Fo(,)301 b(16)26456 55813 y Fn(Cudd)p
5432 29155 55813 V 437 w(zddW)-112 b(eakDiv)p Fo(,)304 b(15)26456
5433 57318 y Fn(cuddCac)-18 b(heInsert)p Fo(,)303 b(29)26456
5434 58824 y Fn(cuddCac)-18 b(heInsert1)p Fo(,)303 b(29)26456
5435 60329 y Fn(cuddCac)-18 b(heInsert2)p Fo(,)303 b(29)26456
5436 61835 y Fn(cuddCac)-18 b(heLookup)p Fo(,)305 b(29)26456
5437 63340 y Fn(cuddCac)-18 b(heLookup1)p Fo(,)305 b(29)26456
5438 64846 y Fn(cuddCac)-18 b(heLookup2)p Fo(,)305 b(29)26456
5439 66351 y(CUDDDIR,)g(22)p Black 25297 69672 a(45)p Black
5440 eop end
5441 %%Page: 46 46
5442 TeXDict begin 46 45 bop Black Black 5978 7638 a Fn(cuddHeapPr)-55
5443 b(o\002le)p Fo(,)303 b(33)5978 9143 y Fn(cuddI)p Fo(,)g(30)5978
5444 10649 y(cuddInt.h,)g(33)5978 12154 y Fn(cuddIZ)p Fo(,)g(30)5978
5445 13660 y Fn(cuddSatDec)p Fo(,)h(28)5978 15165 y Fn(cuddSatInc)p
5446 Fo(,)f(28)5978 16671 y Fn(cuddUniqueConst)p Fo(,)h(25,)f(26)5978
5447 18176 y Fn(cuddUniqueInter)p Fo(,)g(25,)g(26,)g(28,)g(32)5978
5448 19682 y Fn(cuddUniqueInterZdd)p Fo(,)g(25,)g(26,)g(32)5978
5449 22191 y(DD)p 7801 22191 364 45 v 436 w(CA)-48 b(CHE)p
5450 12296 22191 V 437 w(PR)g(OFILE,)302 b(39)5978 23696 y(DD)p
5451 7801 23696 V 436 w(DEB)-12 b(UG,)304 b(33)5978 25202
5452 y(DD)p 7801 25202 V 436 w(ST)-113 b(A)-135 b(TS,)303
5453 b(39)5978 26707 y(DD)p 7801 26707 V 436 w(UNIQ)-12 b(UE)p
5454 12870 26707 V 436 w(PR)-48 b(OFILE,)302 b(39)5978 28213
5455 y(DD)p 7801 28213 V 436 w(VERBOSE,)i(39)5978 29718 y(DdManager)-48
5456 b(,)302 b(7,)h(8)5978 31224 y(DdNode,)g(6,)g(29)5978
5457 32729 y(deb)-24 b(ugging,)303 b(33)5978 34235 y(DEC)g(Alpha,)g(23)5978
5458 35740 y(DEC)g(Alpha,)g(10)5978 37246 y(documentation,)g(39)8192
5459 38751 y Fn(Description)p Fo(,)f(39)8192 40256 y(HTML)f(\002les,)i(40)
5460 8192 41762 y Fn(SeeAlso)p Fo(,)f(39)8192 43267 y Fn(Synopsis)p
5461 Fo(,)g(39)5978 44773 y(dot,)h Fn(see)g Fo(graph,)g(dra)-18
5462 b(wing)5978 47282 y(Epsilon,)302 b(10)5978 48787 y(e)-18
5463 b(xtdoc,)303 b Fn(see)g Fo(documentation)5978 51297 y(\003oating)g
5464 (point,)g(10)8192 52802 y(double)g(\(C)g(type\),)g(7)8192
5465 54307 y(IEEE)e(Standard)i(754,)g(10)5978 55813 y(free)f(list,)h(26)5978
5466 57318 y(FTP)-135 b(,)303 b(5,)g(23,)g(39)5978 58824 y(function)8192
5467 60329 y(characteristic,)f(4,)h(16)8192 61835 y(co)-18
5468 b(v)g(er)-48 b(,)302 b(15,)h(16)9298 63340 y(irredundant,)g(15)8192
5469 64846 y(minterms,)f(11,)h(32)8192 66351 y(ON-set,)f(4)p
5470 Black Black 28670 7638 a(sum)h(of)g(products,)f(11)28670
5471 9143 y(switching,)h(4)26456 11756 y(g)-6 b(arbage)367
5472 b(collection,)382 b(7\2269,)h(25,)f(26,)g(28,)g(30,)30884
5473 13261 y(31)28670 14767 y(hooks,)303 b(21)26456 16272
5474 y(gcc,)h(10)26456 17778 y(generator)-48 b(,)303 b(6)26456
5475 19283 y(global)h(v)-30 b(ariables,)302 b(7)26456 20789
5476 y(graph)28670 22294 y(arc)h(capacity)-79 b(,)304 b(10)28670
5477 23800 y(arc)f(length,)h(10)28670 25305 y(dra)-18 b(wing,)303
5478 b(23)26456 26811 y(gro)-30 b(wth,)303 b(9)26456 28316
5479 y(gzip,)h(5)26456 30928 y(HA)-164 b(VE)p 29731 30928
5480 V 437 w(IEEE)p 32795 30928 V 435 w(754,)303 b(10)26456
5481 32434 y(header)h(\002les,)e(17,)h(28)26456 33939 y(hook,)h(21)26456
5482 36552 y(in\002nities,)f(10)26456 38057 y(installation,)g(5)26456
5483 39563 y(Intel)g(Pentium)g(4,)g(5)26456 41068 y(interf)-12
5484 b(ace)28670 42574 y(cache,)304 b(29)28670 44079 y(SIS,)f(22)28670
5485 45585 y(VIS,)g(22)26456 48197 y(libraries,)f(5)28670
5486 49703 y(cudd,)i(6)28670 51208 y(dddmp,)g(25)28670 52713
5487 y(mtr)-48 b(,)302 b(6,)i(19)28670 54219 y(obj,)f(40)28670
5488 55724 y(st,)g(6,)g(29)28670 57230 y(util,)g(6)26456 59842
5489 y(Mak)-12 b(e\002le,)303 b(6,)g(10,)h(40)26456 61348
5490 y(manager)-48 b(,)303 b(7,)g(9)26456 62853 y(matrix)28670
5491 64359 y(sparse,)f(10)26456 65864 y(maxCache,)j(29)p Black
5492 25297 69672 a(46)p Black eop end
5493 %%Page: 47 47
5494 TeXDict begin 47 46 bop Black Black 5978 7638 a Fo(maxMemory)-79
5495 b(,)303 b(8)5978 9143 y(MinusIn\002nity)-79 b(,)302 b(10)5978
5496 10649 y(MTR)p 8678 10649 364 45 v 436 w(DEF)-90 b(A)-67
5497 b(UL)-112 b(T)-90 b(,)303 b(20)5978 12154 y(MTR)p 8678
5498 12154 V 436 w(FIXED,)f(19)5978 14664 y(nanotra)-24 b(v)-79
5499 b(,)303 b(5)5978 16169 y(node,)g(6)8192 17674 y(constant,)g(6,)g
5500 (9\22611,)g(25,)g(27)9298 19180 y(v)-30 b(alue,)304 b(7)8192
5501 20685 y(dead,)f(26,)g(28,)g(31)8192 22191 y(dereference,)g(14)8192
5502 23696 y(reclaimed,)g(31)8192 25202 y(rec)-18 b(ycling,)303
5503 b(7)8192 26707 y(reference,)f(14)8192 28213 y(reference)g(count,)i(26)
5504 8192 29718 y(reference)233 b(count,)248 b(6,)g(7,)g(12,)f(13,)h
5505 (25\22628,)10405 31224 y(30,)304 b(33)9298 32729 y(saturated,)f(33)8192
5506 34235 y(terminal,)f Fn(see)h Fo(node,)h(constant)8192
5507 35740 y(v)-30 b(ariable)302 b(inde)-18 b(x,)304 b(6)5978
5508 37246 y(numSlots,)e(8)5978 38751 y(numV)-135 b(ars,)303
5509 b(8)5978 40256 y(numV)-135 b(arsZ,)302 b(8)5978 42766
5510 y(PlusIn\002nity)-79 b(,)302 b(10)5978 44271 y(projection)h(functions,)
5511 f(11,)h(12,)h(14,)f(15,)g(33)5978 46780 y(README)f(\002le,)h(5)5978
5512 48286 y(reordering,)f(4,)h(6,)g(29)8192 49791 y(abort)f(and)i(retry)-79
5513 b(,)302 b(32)8192 51297 y(asynchronous,)g(17,)h(32)8192
5514 52802 y(con)-48 b(v)-18 b(er)c(ging,)302 b(17,)i(18)8192
5515 54307 y(Cudd)p 10891 54307 V 437 w(ReorderingT)-97 b(ype,)303
5516 b(17)8192 55813 y(dynamic,)g(4,)g(16,)g(20)8192 57318
5517 y(e)-18 b(xact,)303 b(19)8192 58824 y(function)f(wrapper)-48
5518 b(,)303 b(32,)g(33)8192 60329 y(genetic,)g(19)8192 61835
5519 y(group,)f(17,)i(18)8192 63340 y(hooks,)e(21)8192 64846
5520 y(interruptible)g(procedure,)h(32)8192 66351 y(of)f(BDDs)i(and)f(ADDs,)
5521 g(16)p Black Black 28670 7638 a(of)g(ZDDs,)f(15,)i(20)28670
5522 9143 y(random,)f(17)28670 10649 y(sifting,)f(17)28670
5523 12154 y(simulated)h(annealing,)h(19)28670 13660 y(symmetric,)f(18)28670
5524 15165 y(threshold,)g(17,)g(32)28670 16671 y(windo)-30
5525 b(w)-79 b(,)304 b(18)26456 19283 y(saturating)28670 20789
5526 y(decrements,)f(27)28670 22294 y(increments,)g(27)26456
5527 23800 y(SISDIR,)g(22)26456 25305 y(SIZEOF)p 30638 25305
5528 V 436 w(INT)-90 b(,)302 b(28)26456 26811 y(SIZEOF)p 30638
5529 26811 V 436 w(V)-48 b(OID)p 34055 26811 V 436 w(P)-135
5530 b(,)303 b(28)26456 28316 y(statistical)g(counters,)f(7,)h(29)26456
5531 29822 y(statistical)g(counters,)f(26)26456 31327 y(statistics,)g(33)
5532 26456 32832 y(subtable,)h(8,)g(26)26456 34338 y(symmetry)-79
5533 b(,)303 b(18)26456 36950 y(table)28670 38456 y(computed,)h(8)28670
5534 39961 y(gro)-30 b(wth,)303 b(9)28670 41467 y(hash,)g(7,)g(30)28670
5535 42972 y(unique,)h(6\2269,)f(16,)g(26,)g(29,)g(30)29777
5536 44478 y(f)-12 b(ast)302 b(gro)-30 b(wth,)303 b(31)29777
5537 45983 y(re)-30 b(w)-12 b(ard-based)302 b(resizing,)h(31)29777
5538 47489 y(slo)-30 b(w)303 b(gro)-30 b(wth,)302 b(31)26456
5539 50101 y(v)-30 b(ariable)28670 51606 y(groups,)303 b(19)28670
5540 53112 y(order)-48 b(,)302 b(6,)i(11)28670 54617 y(permutation,)f(6,)h
5541 (30)28670 56123 y(tree,)f(19,)g(20)26456 58735 y(ZDD,)g(4,)g(7,)h(12,)f
5542 (14,)g(15)26456 60241 y(zero)28670 61746 y(arithmetic,)g(9,)g(11,)h(15)
5543 28670 63252 y(logical,)g(9,)f(15)26456 64757 y(Zero-suppressed)228
5544 b(Binary)j(Decision)f(Diagram,)30884 66263 y Fn(see)303
5545 b Fo(ZDD)p Black 25297 69672 a(47)p Black eop end
5546 %%Trailer
5548 userdict /end-hook known{end-hook}if
5549 %%EOF