You are on page 1of 196



    

 !

"$#&%('*),+.-/'0214356-87:98;=<?>4'@#5A0B5DCFEHGIGJ'K#&LM0N#O-/EIPQ02GIEIPREH-S-T'@#&-
PU#&V
5A-W),>X>43(),%&0Y55AEIZ@[\),+.-/'0^]`_a#&-b#cEI-/0:Pd5eCF'EHGI0N5f)PR0N#&30N5A-/EIGIGe#&GIEILM0NghE6i 0Yi j
'K#&LM0:Z@kl-amY0:0,ZQ+Tn4GIGIV2>43&),%(0B5f560Y_aopirqs0tCFEIGHGK56'K),CjM'@),CF0,L 0,3TjM-/'K#&-u#&-aPU)B56]BvBwT7:9u;x<yr),+4-/'0z)3bEA[:EIZ@#&G@]DEH-T0,PU5{C|EIGIGM3 0,PU#&EIZ@i~}a'0Y560O#&30O_BEA56-T3bEHmYn4-T0B_Yj
n5AEHZK[bbp:j),Z0-b)d#Q[:3()n4>iN}a'0GA#56-.>4'K#560dgCF'EH%('X'@#5eZK)-TEIPQ0
GIEIPQEI-bo>43()%(0Y55A0B5-/'0B5A0DEI-T0,PU5i
iaiDYDJJYT6YT~e

<&((&7:9;<t:hh bbWT|H

:{<(&(f]r]`vBwp7,9;<ySBpWYTYu8. (8
hHhc?
a(b
Tl TH

value (u),time stamp (u)

HH8H

bbb v7:9$;<f
w;<yfwp7:9$;<y
r ~~ (( (H.:b
pb( TM ~ p
:p ~ /, ~ 4b
{ (((fr B6YI
H&T ~ yJpb:
YY{

:|YY{
|T H&T ~
TH HH8Ha
YY{YY x<
{
TblbShSbW
( p ~

b TYhb
T
T b( :W
b(b&H:

TM ~ p TH

h.

b(
&
v,W:hS:bv

p ~

T ~ p p h. T ~

~ /

9J( lb{ ~ rpHH&

b&H:
T

H&T ~ lW

& Fapb
T b(

:W~ u
&. ::?b:
~

Su
hS&H:.HzhSlb
TH.

h

v, &b
v
YYhl8h: pl

permission granted

T\$

zh:? bbb.(^pT\hObbzb.z6&QOQHh

p

b .. D.

H2|H: lhb NYQ:t bbb? H&b8lblshz b


bb

K$ ~
b H

 



i ai 8SlSh.( &lWHh 8


 9&y

< O7:9;<.abYe(bwW
S{ @

b
.HYlhbOh

bbD] 7 $H&
:b

  
 

:|Yh
h



hh T bWbTuHcD]


/ :b:.hSW 6Wbb

bY(b w< @4y


:

: :lbh

 

"$#

i BiD YY

&%

eHH&
Hh@h b HYY:?$.(b.

(' *) "

]h
:ah / h/p:a
h$K Hl((M( 7Bw<a;<v fy

H&S( b
HY

,+

}a'0

5AEA[:ZEI14%#&Z->),EIZ-'0:30eEA54-/'K#&--/'0DZn4PQmY0:3.),+GIEILM0c_a#&-W# pEI-/0:Pd5aE65

3 0B_Bn4%(0Y_cmYV`#S+#&%&-b),3Wi }a'EA5{EIPQ>4GIEI0Y5-T'@#&-J#&-PU)~5A-#
GA)B[Y#&3bEH-T'PREI%Zn4PQmY0:3

.-

/

),+EH-T0,3#&-TE6),ZK5$#&3 0D3 0 n4EH3 0B_O-W)D30Y_Bn4%(0e-/'0eZn4PRmY0,3@-W) 0:3&)Bi

1

"

-@-/'0cmY0B[:EIZZEIZK[Q),+#>4'K#560c-T'0:30#&3 0

GIEHL 0cEH-T0,PU56jJ#&ZK_

#&GIG),+M-T'0:EI3%),>4EH0Y5K#&30#&GHEILM0t5f)
-T'0:308#&3 08#K-b),-W#&G4)+SwT7:9;`<y " GHEILM0
%),>4EI0B5fi
2aVF-/'0tGI0:PQPU##&m)L 0F#&+p-/0:33%$EI-/0:3#&-/EA),Z@5J-/'0?Zn4PQmY0:3),+{GHEILM08%)>4EI0Y5@EA554
w<;x<v 
' y ) wp7,9.;<y " i.6 EIZ%&087:9; wy<7.= 9+)3$0B#&%('GIEILM0EI-/0:PQj-/'0B5A0%#&Z2mY0
-T'0 GIEILM08%),>4EI0B5),+.#&-{PU)B56-tw<;<v 
' y ) wp7:9; <y " v:9 # 7BwA<; <v ' y ) " GIEILM0
EI-/0:PU5i

>

? A@

$ $ J

E GF

CB

D
TH
!  
 wI9

i BieY c

('

w<.;<v fy

 : 
; 7y8hTpl: J ll((
(
]BvBwT7:9S;<yrH&.H.HH&hWthDl((bK(. bWK4(
]8:bhW

J  F,hK
!    9 #
 

|HhTp:
e
(bbY:?H&
HSY

})8%),PQ>4GI0:-/0-/'0#&ZK#&GIV56EA5Z@),-/0-/'K#&-r0B#&%('\[:3(),n4>sZ0:0Y_a5K-b)>40,3b+)3bP

AL

(( (O

-T'0s+),GIG6),CFEIZ@[x),>40:3#&-/EA),Z@5Q_Bn43bEHZK[^0B#&%('x>4'K#560
Y.p
>4'K#560

gh-/0Y56-TEHZK[NC|'0,-T'0:3 EA556-/EIGIG8#&GIEILM0YoTi

A-

#&GHGB-T'0e30 n40Y56-W5-/'K#&-r#&3 0

5A-/EIGIG#&GIEHL 0

#&3 0

M-J30:PU#&EHZK5S-b)R[:EILM0#&Zs0:+14%(EH0:Z-PR0,PU),3WV

EI-/0:3#&-/EA),Z

),+K-/'0cC|'EIGH0

GA)B),>NEIZ`-/'0#&G6[Y),3bEI-/'P

.-

HY.

GA5),j
mY0,+),30`-T'0`GA#56-

5f)3b-T0B_ai

NMZN0Y#&%&'
A-

#&%(%(0B5f5
>43()-b),%),GAi

-/'0cZn4PQmY0:38),+K30 n40Y56-W5

5A0,Z-J-W)z0Y#&%&'N>43&),%(0B5f5),3EA5S0 n#&G-W)z-/'0zZn4PRmY0,3c),+GIEILM0O%),>4EH0Y5?),+GIEILM0

PO

_a#&-b#DEH-T0,PU5@-T'EA5K>43(),%&0Y55f),3
%),Z-W#&EIZK5i
g 0:%#&GIG-/'K#&-u#

_a#&-b#EI-T0,P

E65J%#&GHGI0Y_


    

Q SRJ UTaiVai

pT

mYEI>#&3b-/EI-/0c[:3#&>4'

6

(+

H&$EH+u#&-aGI0B#5A-$9r%)>4EI0Y5.),+EI-$#&3 0?GIEHL 0Bio EHZ%(0|#>43&),%(0B5f5),3


%#&Z^),ZGIV>43&)
%(0Y55t),Z0R_a#&-b#EI-/0:P

#&-#t-TEIPQ0F-/'0|Zn4PRmY0,3c),+u%),>4EI0B5.>43&),%(0B5f560Y_EIZ#&Z

A-

EI-/0:3#&-/EA),Z\),+a-T'0?CF'EHGI0?GA)B),>E65r0 n#&GM-b)?-T'0tZn4PRmY0,3),+a>43&),%(0B5f5),35J-T'@#&%),Z-b#&EIZzGIEILM0.%),>4EH0Y5J),+ GIEILM0

A-

_a#&-W#EI-/0:Pd5fiqs0
CFEHGIGIj%)ZK560 n40:Z-TGIV&j #&-T-/0:PQ>4-

C/

,W

!/

-b)N),3&[Y#&ZE 0PR0,PU),3WV#&GIGA)%#&-TE6),ZXEHZ*5An4%('#cC`#&V#5e-W)2PU# EIPRE 0-/'E65

(+

Zn4PQmY0:3Wiaqs0?CFEIGHGn5608mYEI>#&3W-TEI-/02[:3#&>4'K5@-b)F_Y0B5A%&3bEImY0t-T'EA5@PR0:Pd),3bVN#&GIG6)
%#&-/EA),Z`56%('0:PR0Bi

XY 1(IZ
~/[Z

H&bpbJ

F

i i

lbphu /(l T&Dhhu (Wh

4bppl:b8HYhepKJbHSY.eK(hY4:Yh

A\

]|w_^ `Fba

{b6blH
Ybh YY6J T(8l4:hb

yIBK

^N:`
h@bhre&bTHb:a.h{bbW
QYEA[:n430cT i Vz56'K),C5$#umYEI>#&3W-TEI-/0O[:3#&>4'@i
M Z*),n438PR0,PU),3bV#&GIGA),%#&-TEA)Z 56%('0,PR0d^ CF0C|EIGIGJ%),Z@5AEA_B0,3mYEI>#&3b-/EI-/0
[:3#&>4'K5|
] wf$e b
g ba yj~CF'0:30he 30:>430Y560:Z-b5@-/'0F5A0,-$),+u5A'@#&3 0B_FPR0:Pd),3bV
EI-/0:PU58#&ZK_UREA5.-T'0s560:-)+S>43()%(0Y55f)35fiiM Z^-T'EA5 56%('0,PR0,jrEI+kjle E65#
_a#&-b#uEI-/0:P
-T'0:Zd
9 wyYEA54-T'0eb),+LM0:3b-/EI%(0B5u#_(m #&%&0:Z--b) EIZ|-T'0mYEI>#&3b-/EI-/0
[:3#&>4'FmY0,EIZK[en560Y_ai

 

p'q=rfD # sw 'vBwT7 tyvuy _w

nV o

i ai Y&T

J&R lTb Yth7:9e;<6& lbS

h\hFl?

htbbcFh.S.:

bWbT
YRh h.bbRHTTlcOh F
apb ((
wp7:94;s<yWv 8 |l$h$YY Yr bbbT$6YhYH:cH&$( lW

9x=y^

(' 

z9
{^XlSh.YY

HH&{hth.{:

eH&hth.

qs0[:EHL 0`#>43(),m#&mYEHGIEA56-TEI%c>43&)B),+t)+S-T'EA5
3 0B5An4GI-Wiz"$55A0,Z-/EA#&GIGIV`C|0FC|EIGIG

(+
-n4EI3 0B_>43(),>40,3b-/EI0Y5i M+~-/'E65 >43&),m#&mYEIGIEI-/V?EA5r[:30Y#&-/0:34-/'K#&Z{-/'0:30SPQn5A-0 WEA56#&-4GI0Y#56-J),Z0|[Y)B)B_`[:3#&>4'@i|M Z2+#&%&-EH-4-Tn43bZ@5.),n4-4-T'@#&-a-T'0>43(),m#&mYEHGIEI-/V2-T'@#&#e[:3#&>4'zEA5J[Y)B)B_#&>4>43&)B#&%('0Y5
<u#5K|[Y),0Y5-W)~}
-T'EA54PR0Y#&Z@5-T'@#&-MPU)B56-

%),PQ>4n4-T0-/'0>43&),m#&mYEIGHEI-TV|-T'@#&-J#&Zs#&3bmYEH-T3#&3WVFmYEI>#&3b-/EI-/0z[:3#&>4'2'K#5a-T'03 0

p

b .. D.

#&3bmYEI-/3#&3bV^[:3#&>4'@5CFEHGIGJ56n4EI-S)n43
>4n43b>)B560Y5i 8Z+b),3b-/n4ZK#&-/0:GIV(j-T'0>43&)B),+@E65
ZK),- %),Z@5A-/3Wn4%&-TEILM0Bi}a'0u>43&),mYGI0:P),+L 0,3bEI+TVYEIZK[S-/'K#&-#S[:EILM0:Z[:3#&>4'EA5a[Y)B)~_

(W

-Tn43WZK5u)n4--W)emY0c),+0 >),Z0:Z-/EA#&GY%)PR>4GI0

M-

EH-TVi

-Tn43WZK5@),n4--T'@#&-~-/'0$mYEI>#&3b-/EI-T0[:3#&>4'K5MCF0uC#&Z-/jB#&30u%&0:3b-W#&EIZ

:

U i TDEIZz%('K#&>4-/0:3zgh>#[:0.T opi Mp- E654EHZ-/3bEA[:n4EIZ@[e-b)D%),PR>#&30


C|0\#&30>40:3b+b),3bPQEIZK[Q'0:302CFEI-/' -T'0bbTH:p &TTlEIZ

T(

560:0

-T'0^),>40:3#&-/EA),Z

 i T i

0 1 i > ),ZK56EA_B0:3K-/'0O560:-S] ( ),+K#&GIGYmYEI>#&3b-/EI-/0z[:3#&>4'K5[]Fweu gQbay


CFEI-/'7e7: j7 gG7: jY#&ZK_tCFEI-/'|-/'08_B0Y[:30:0),+ 0Y#&%('OLM0:3W-T0(WEIZes0A-n#&G
-b)

7:9u;<i

]Fwe$bgQbayGj] ( E65(&sEI++)3#&GIG
9  w/y 9  w/yi9w/y 7 9  wy7= 9+b),3#&GIG4j
e #&Z@_ +b),3#&GHGN e5An4%&'-T'@#&-7H7 # vBwp7,9O; <y-/'0`EHZ0A-n#&GIEH-TV
7~c9  w/y<7.=7H7wT7:9S;x<yWv ' '0:30
3 0,>43 0B5A0,Z-W5r-T'0|5A0,-),+aGIEILM0z_a#&-b#
EI-/0:PU5#&ZK_ ~< 9; wyB30:>430Y560:Z-W5-/'0 5A0,-@)+>43&),%(0Y55),35{%)Z-W#&EIZEIZ@[GIEILM0
qs0QC|EIGIG?5#&V

-T'@#&-c#`[:3#&>4'

>)B55AEImYGH0|%('@),EI%(0B5?),+560:-W5

%),>4EI0B5

),+
-/'0B5A0N_a#&-W#cEH-T0,PU5iqs0FC|EIGIGJ%),n4Z-
-T'02Zn4PQmY0:3z),+.mYEI>#&3b-/EI-/0

] (

-/'K#&-t#&30:ZKk-?[Y)B)B_),383#&-T'0:3t%),PR>4n4-/0-T'0 Hh

[:3#&>4'K5EIZ
-T'@#&-

(W

#`[:3#&>4'EA56ZKkl-[Y)B)B_ai +c#`[:3#&>4'EA56ZKk-c[Y)B)B_U-/'0:ZX-T'0:30R0 E65A-W5#


&
%('K)EI%(0 w/y
w/y
$wyj 56n4%('-/'K#&w/y 96j+)3#&GIG4
# ZK_#

9; b9; z9
Se56n4%('-/'K#&-7H7 #

5A0,-

P4

g o

S N]j] (

H7 9; 7=
8je
p7:9  wy7k7:c7wp7:9;<yWv('i

vBwp7:9$;<y#&Z@_

EA5aZ@),-K[Y)~)B_

66YT 66 Y c


wp7,9$;<y

'

b!s (
F0,3 0 EA5z-/'0x56EC/0),+c-T'0560:-Y #&Z@_ wT7:9|;<y v 'cEA5z-/'05AEC/0),+
7 9;/w/y<7 i,}a'0D+),3bPQn4GA#S'K#54-T'0e+b),GIGA),C|EIZK [0(W >4G6#&ZK#&-/EA),ZSL
i-T'0?+),n43b-/'+#&%(-W),3uE65{-T'0?>43(),m#&mYEHGIEI-/V-T'@#&-$#&Z20Y_a[:0%),PQEIZK[|),n4-$),+
#  bcWSR
CFEHGIG'EH-
#  Wcb7 <c9  wy<7 -T'0 0 W >),Z0:Z-: 9
EA5K-T'0>43&),m#&mYEIGIEI-/V-T'@#&-{)+@-T'080B_a[:0Y5K%),PREHZK[),n4-u),+r),+{-T'0

dC|EIGIG@'@#&LM0F-/'0:EH3O),-/'0:30,ZK_EIZk7 9;w/y<7 ic}a'0


]#5 Lr#&3WVYEIZK[ #&Z@_t-/'EA530Y56n4GI-W5

0:GI0,PR0,Z-W58),+

EA_B0Y#KEA5-/'K#&-YCF0
EHPU#[:EIZ0-/'0t[:3#&>4'

EIZFL{#&3bE6#&-TEA)ZK54EIZF-/'00:Z@_54-W)D-T'0D0B_a[:0Y54%),PREHZK[c),n4-r),+LM0,3b-TEH%(0Y5$),+

i
K
4 i-T'014356-+#&%(-W),3SEA5K-/'0tZn4PRmY0,3),+{C`#&V5.),+
[:0:--T'0 LM0:3b-/EI%(0B5u),+-T'0O[:3#&>4'|

HH:8Y-/'0F5A0,- Q-W)

T i-T'0Q5A0,%),ZK_+#&%(-W),3eE65u-T'0zZn4PRmY0,3 ),+C`#&V5)+14GHGIEIZK[Q),n4-J-T'0Q5A0,7 U 9 w/y<7 j:C|'K)B560 56EC/ 0.EA5


k7:H7wp7,9{;d<y v ' # ~wp7:9;d<y v 'yB-W) [:0,-T'0 t>43(),%&0Y55f),3*p+ LM0,3b-TEH%(0Y5.),+-T'0c[:3#&>4'|


    

p

i-T'0-/'EI3&_2+#&%(-W),3
EA5K-T'0Zn4PRmY0:3),+rC#&V5e),+S#__BEIZ@[0Y_a[:0Y5K-W)8-T'0

d]   

[:3#&>4'-W)O[:0:--/'0ebl : T&?EIZ

CF0O#&30%('@)B)B56EIZK[-T'0

~cCFEI-/'

0Y_a[:0Y5-/'K#&-YC|0:30t_B0:GI0,-T0B_t-W)8[:0,-Y-T'056n4m[:3#&>4'O%),ZZ0,%(-TEHZK[

9;/w/y i

}a'EA5N%#&ZmY0

(

H.h

&H:hb

$6-/EI3bGIEHZK[YkH,5pA Q ),3W PRn4GA#&j


t ieqs0

n5AEHZK[

CF'EI%('X5A-W#&-/0Y5S-T'@#&- EA5#56VYPR>4-W),-/EI%#&GIGIV`>43&),>),3W-TEA)ZK#&G@-W)Q

=

C`#&Z--W)c[:0:-r#&ZF0B5A-/EIPU#&-/0e-/'K#&-EA5 N-/'0

XY 1(IZ
~/[Z

C(4i

),3bEA[:EIZ@#&GAi

Hw/ ;p:y

qs0DC|EIGIGBn560e-/'0D0Y56-TEHPU#&-/0

PT S
g o

l YbY8

sw

Y
t
#
[

(W hpHl

n 

8 }^j+),3

b&WH & Mw<v,4yM&e

'H=y#&Z@_ # wT7 'ty i


u
6 EIZ%(08-T'0 +)3bPRn4GA#cYb(WbSC|EI-T'QEIZ%&3 0B#5AEIZ@_w[2
C|0C|EIGIGJ#55An4PQ0

'K#54EI-W5PU#,
W EIPd#&G#&GIGA),C#&mYsGI0e
L{#&GIn40 ),+w_'fv~wp7 tyfufy
i}'EA5EHPR>4GIEI0B5a-/'K#&--T'0
14356-4-T0,3bPEA5 #
w ws
' vBwT7 t y u y w y sw t ' _w 7 t sw i&),C
-T'0F-/'EI3&_`-T0,3bPEA5|wWwT7:9?; <y v,9H wT9; <y y jCF'EI%('d%#&Z^mY0F0B5A-/EIPU#&-/0Y_mYV
6Yf
6A
Yf A
wWwT7:9$;<y
v:9
wT9u;<y
y j #&ZK_-/'E65EA5
6Yf
A Yf
6Yf
6
v,9
9
y w wp7:9fy
v:9
y
# w wp7:9fy
6Yf 6Yf
6
6Yf

wp7
9
v:9
y ]z=wT7
9 y # 9 7
}a'0D>43()B_Bn4%(-@),+-/'0D1435A-@#&ZK_

`),C

-/'0e-/'EH3(_

-/0:3bPd5EA54-T'0:30:+b),3 0

sw
sw
6
# ' 7 t 9 7
_w
'
t sw 9 w

-T'0c560:%)ZK_

-T0,3bPEA5

6YT w w wT7:9$;<y v 'y Y 6YTPw sw t 6YT w


_w
Y 6YTPwsw
t _w
# w wT7:9$;<yWv 'y
 '0:30
CF0
'@#&L 0.30:>4GA#&%&0Y_ wT7:9;`<yWv( ' 14356-MmYV wp7:9;`<yWv(.gT5AEIZ%(0.CF0t#&30
),ZGHV2-T3bVYEHZK[-W)2[:0:-$#&ZRn4>4>40,3um),n4Z@_F+),3
-/'0t-T0,3bP
#&Z@_F EA5@-/'08lb
HK l{Lr#&GHn40D+b),3
' ohj #&Z@_-T'0:ZzmYV 9&v:7:i,qs0.%#&Z|%),Z-/EIZn40D-T'EA5>43()%(0Y55
#

p

b .. D.

?4>),CF0,3K-b) [:0, _w w wp7:9;<yWv 'y Y 66YTPw w 9&v7:y sw t _w


_w
Y 66YTPw 6YTPw
sw


w wp7:9;<yWy
'
w 9fv7y
t sw

_w
Y 6YT w _w

x
w wp7:9;<yWy
' w 9fv7y sw t _w

CFEI-/'F-/'0D-T0,3bP3#&E65A0B_-b)e-/'0

}a'0D>43()B_Bn4%(-@),+-/'0D1435A--T'3 0,0e-/0:3bPd5EA5

(t sw 9 w

' t

'

9&v:7

_w w wT7:9$;<y y Y 6YTPw ' sw w 9&v:7y sw t _w


 _w 9 sw _w w wp7:9;<y y Y 6YT w

}a'0D>43()B_Bn4%(-@),+J#&GIG+),n43K-/0:3WPU5E65

' t  _w 9 sw _w w wp7,9$;<y y Y 6YT w w wp7,9$;<y v '4y


 sw
9 sw _w w wp7,9$;<y y Y 6YTPw w wT7:9$;<y v,4y
t
`),C ZK)-T0 -T'@#&- -/'0 0 W >),Z0:Z-TEA#&G -T0,3bP gp),Z -T'0 GI0,+p-Wo _a),P+
EIZK#&-/0Y5
#&GIG
),+
-/'0
>),GIVYZK)PREA#&G
-/0:3bPd5
5)
-/'0
0 W>43 0B5f56EA),Z
E65

_w
Y 66YTPw

# 9 _w w wT7:9S;*<yWy Y 6YT w w wp7:9S;*<yWv4y iMZ-/'0|56n4P -/'0?14356-T0,3bPE65t9


wT7:9; <y
i8}a'EA5t_a),PREHZK#&-/0Y5
-T'0`560:3bEI0B5.mY0,%#&n560

Y 6YTPw
-T'0Q+b#&%(-W),35),+
#&ZK_ w wT7:9;<y yW]
&bJH-T'0R+b#&%(-b)35

sw
9
 -T'0eGA#56-+b#&%(-W),3KEA5m)n4ZK_B0Y_ mYVh i
| | aI 
"

i Bi



BKbH FKh TYYlbHt$ lYb


hDY:b

H:z:TJ ?h

@6 lh T(

Oh lrlWHh

s 3KYl&.h

hrhWrD:pK (

4

.H. l.YhWe

.:W

aYp $

i aiD$( TDbh `D /YYlWHhz l


a(H

>

04}"O

HbHbbbHHbbHb(
 Y(   &pb&5  A p

MZz-T'EA55A0,%(-TE6),ZFC|0DC|EIGIGB%)ZK56EA_B0:3.5),+p-/C`#&30+b),3.#56VYZ%('3(),Z@),n5>#&3#&GC+
GI0:G>43()B[:3#&PU5i
}a'0Y560#&3 0n5An#&GIGHV3 n4Z ),ZpM p=
X %)PR>4n4-/0:35$C|EI-/'`3 0,GC+
#&-TEHL 0,GIV+p0:C>43(),%&0Y55f),35Aj#&GI-/'K)n[:'`EI-@EA5J>)B5f56EImYGI0c-W)_B0:LM0:GA)>56n4%('>43&)(+
[:3#&PU5r+b),3:pKs(
),+u5A0.- n40,Z-/EA#&GM%),PQ>4n4-T0,35fix#&ZVs),+a-/'0?EIPR>)3b-b#&Z%),Z%(0:>4-W5C|0:30e14356-K_BEA56%(n55A0B_cEHZ
B i T i u EIZz%('@#&>4-T0,3S 4 i
qs0JmY0Y[:EIZ8mYVO_BEA5A%&n5f56EIZK[#Zn4PRmY0,3J),+ >),3b-W#&mYGI0u>43&)B[:3#&PQPREIZ@[S>#&%A+
#[:0Y5i

b b3  A T ,  
i  i i:zMZ\-/'E65560:%(-/EA),ZdC|0FC|EIGIG._BEA56%(n55#2[:0:Z0:3#&Gr>43()B[:3#&P+


PREIZ@[F56V5A-/0:P

-T'@#&-a'K#5rmY0:0,ZEIPR>4GI0,PR0,Z-/0Y_),ZPU#&ZVs_BEI++p0,3 0,Z-a>#&3#&GIGI0,G

MX

%),PQ>4n4-T0,35fi
8n43DPd#&EIZ`0:PQ>4'K#56EA5uCFEHGIGamY0),Zs-T'0

M

>#&%#[:0Yi p

EA5$C|EA_B0:GIV\#&L{#&EIGA#&mYGI0#&Z@_\56-T3WE YEIZK[OEIZ`EI-W55AEHPR>4GIEI%&EI-TVd#&ZK_20:GI0B[Y#&Z%(0Bi.}a'0

MX

),3bEA[:EHZK#&Ge5AV56-T0,PRjJ%#&GIGH0Y_
>4n4-TEHZK[

 

jaC`#5

_B0:LM0,GA),>40Y_smYV

%(EI0,Z-/EI14%

5f5),%(E6#&-T0B5S#&ZK_O-T'0:VF'@#&LM0>),3b-/0Y_|EI--b)PU#&ZVF>4GA#&-/+),3WPU5

> ),P+
5A0,0

*+

  i aEIZ@_#uE65>#&3b-/EI%(n4GA#&3WGIV|EHZ-/0:30Y56-TEIZ@[?mY0,%#&n560EI-E65u#&L{#&EIGA#&mYGI0 ),Z>#&3
#&GIGI0,Gr%),PQ>4n4-T0,35#&Z@_ ),Z560:-W5),+$Z0,-TC),3Y
 0Y_`n4ZE p>43&),%(0Y55),38Pd#&%('EHZ0Y5i
0:++T0:%(-/EILM0:GIV|%),ZL 0,3b-W5KZ0:-/C`),3Y
}a'0Z0,-TC),3|
 L 0,356EA),Z^),+
 0Y_|n4ZE
>43()%(0Y55f)3SPU#&%('EIZ0B5@EIZ-W)F#Y
 EIZK_`),+ 
T>#&3#&GIGI0,G%),PQ>4n4-T0,3bi -a%),Z

!+

M{X

pM XN+

5AE65A-W5u),+




5A0,-),+4%),PQPU#&Z@_5r-/'K#&-4%#&Z2mY0EA5f56n40Y_O+p3&),P
[:3#&PUi

>430:>43&),%(0Y55),3-/'K#&-5A%#&ZK5

hMX

0:PQmY0Y_a_B0Y_

M{X

>

(+

),3 #5A%#&GM>43&)

-/'05f),n43%(0>43&)B[:3#&P

%),PRPd#&ZK_a5o#&Z@_30:>4GA#&%&0Y5$-/'0,P

+Tn4Z%(-/EA),Z@5fi

0

C+
|+

ghC|EI-/'

-T'0

mYVQ%#&GIGA5u-W)

MZ*),3&_B0:3?-W)^_B0Y56%(3bEHmY02-T'0%),PRPd#&ZK_a5AjKC|02PRn56-S14356-.PR0:Z-TE6),ZU-T'0
M{X %),Z%(0,>4-O),+cT: lcb6i "$55A0,Z-/EA#&GIGIV(jMX 5A-W),30Y5#&GHG?_a#&-b#
-T'@#&-
EA5e-W)mY0n5A0B_^mYV560:LM0,3#&G$>43&),%(0B5f560Y5EIZU-W#&mYGI0%(3 0B#&-T0B_#&ZK_sPU#&EIZ|+
-b#&EHZ0Y_mYVMX EI-b560:GH+pj4%#&GIGH0Y_-/n4>4GI056>#&%(0Yi2
560:3*+ _B0,14Z0Y_>43()%(0Y55A0B5
EA55An40MX %),PQPU#&Z@_5J-b) >4n4-S_#&-W#eEIZ-b),j@),3.-b)-W#Y0_a#&-W#z)n4-
),+K-/n+
>4GI0?56>#&%(0Yi pM Zc>#&3b-TEH%(n4GA#&3/j:-/'0:V#&3 0
%),PR>4GI0,-T0,GIVn4Z@#&mYGI0
-W)856'K#&30.PR0:Pd),3bV
 HHpiM{X %),Z-T3&),GA5?#&%(%&0Y55u-b)c-Tn4>4GH05A>#&%(0cEHZ56n4%(' #C`#&VQ-T'@#&p

&& .{KW zW   !. 


3#&%(0(+p%),Z@_BEI-TE6),ZK5D#&3 0tEIPR>)~5f56EImYGI0N
+),3
EHZK56-b#&Z%(08-/'08>43()~[:3#&P
 %#&Z@kl- mY0eCF3WEI-T-/0:ZFEIZ{MX i
p: l@EA5$#&Z),3&_Y0,3 0B_Q560A
- n40,Z%(0),+-/VY>40Y_ L{#&GIn40Y54GIE Y0.L
g &
j // j "cat",37)
p

),3

),ZQ>#[:0

T  (4Bo

g &j i 0

Z2YT -/n4>4GI0?EA5.56EIPREIG6#&3u-W)F#-/n4>4GI0,jB0 %(0,>4--/'K#&-$5),PR0F),+EI-W5K0,Z-/3bEI0B5

(+

#&3 0DCF3bEH-T-/0:Zs#54L{#&3bEA#&mYGI0 pZ@#&PR0Y5>430:%(0B_B0Y_

*W

g &j#"

j#"V(j

TBo

mYV

AL

i" #&PQ>4GI0

C+
Zn4PQmY0:3s),+0:Z-/3bEI0B5Ajz#&Z@_ #&GIGO),+8-T'0-n#&Z-/EI-TEH0Y5cEIZ-/'0x#&Z-TE!+p-/n4>4GI0#&30
0 W#&%(-/GIV 0A-n#&G-W)-/'0%),3b30Y56>),ZK_BEIZ@[k
- n#&Z-/EI-/EI0Y52EIZ -T'0-/n4>4GI0Yi Q ),3
EIZK56-W#&Z%(0.L
g &
j#"*W j#"V(j TB o

-Tn4>4GH08EA5.5#&EA_F-W)FT#&Z\#&Z-/E p-/n4>4GI0tEI+{-/'0,Vm),-/'R'@#&L 0t-/'0F5f#&PQ0

PU#&-/%('0Y5

_B&j#$&%#&-$&j TBo

g &j

mYn4-&b% PU#&-/%('

_B&j TBo

g &j

ghC|3()ZK[Zn4PRmY0,3.),+0:Z-/3bEI0B5fo),3

P4 _B&j "%#&- "j TBo


g j

gh1435A-0:Z-/3bEI0B5u_a),Z@kl-r#[:3 0,0Yopi

M{X
i a (T: l

}a'0

56V56-T0,P_B0:14Z0Y5Y-T'0$+b),GIGA),C|EIZK[?),>40,3#&-/EA),ZK5Mn4>),Z-/n4>4GI0B5
iD}a'EA5EIZK560:3b-W5S-T'0c-Tn4>4GH0z-/'K#&-#&>4>40B#&35#5#>#&3#&PQ0:-/0:3

)
EIZ-W)e-/n4>4GI0c56>#&%(0Yi"W#&PR>4GI0.L

s //j "%#&- "j TBo


abg &j

6n4>4>)~5A0'&4#&Z@_)(#&30:j,3 0B5A>40,%(-/EILM0:GIV(jY#J-/n4>4GI08#&ZK_|#&ZR#&Z-TE!+p-/n4>4GI0Yi
f+
5AE6[:ZEIZ@[c-W)80,L 0,3bV20:GH0:PR0,Z-$),+{-T'0#&Z-TECT+ -Tn4>4GH0-/'K#&-EA5J>430:%&0Y_B0Y_FmYV
#
jM-T'0 %),3b30Y56>),Z@_YEHZK[cLr#&GHn40EIZQ-T'0-/n4>4GI0Yi +T-T0,3S-T'0Y560#55AEA[:Z|+
?
PR0,Z-W5u#&30ePU#_B0,j-T'0c#&Z-TECT+ -Tn4>4GH0c#&ZK_ -/'0D-Tn4>4GI0 #&3 0lYTHHi
4 i p (Ypnb p: ) }a'EA5#&-/-/0:PR>4-W58-W)14ZK_#&Z #&%(-Tn#&G
-/n4>4GI0`EIZ-Tn4>4GI0(+
5A>#&%&0F-/'K#&-.pb-T'0`[:EILM0:Z#&Z-/ECp+ -/n4>4GI0Yi~M +$ZK)`56n4%('dPU#&-/%('EIZK[
-Tn4>4GH0`0
W EA56-b56jD-/'0`>43&),%(0B5f5-/'K#&-e%#&GIGI0B_ T EA556n56>40:ZK_B0B_ n4Z-TEIG#
}a'0Q),>40:3#&-TEA)Z),+DYY H:*&rCFEH-T'+(8EA5_B0:14Z0Y_Q-W)z%),ZK56EA56-),+D#5

PU#&-/%('EHZK[z-/n4>4GI0#&>4>40B#&35$EIZ`-/n4>4GI056>#&%(0gp#5#30Y56n4GI-),+D#&ZK)-T'0:3

>43()%(0Y55u_a),EIZ@[O#&Zs a@),>40,3#&-/EA),ZKoTi p+K#$Pd#&-T%('l@+b),n4ZK_

,#-.0/2143!57698;:=<>.@?BAC:ED8;?FAHGI;JK:EL:E?4JNMO?F.PD:EJ8Q<R?4STJUWVYX>ZQ[[ZQ[X.@\>A^].@D_:EJK.@<R]W.@<T`
]WD_a_aJN<T?Tb_#.@c_AdM Me8;<>cgf

f b~ {@   S   ..{


#i-T'0

(+

PU#&-/%('EIZ@[

-/n4>4GI0

EA5

#&-W),PREH%#&GIGIV

3 0,PU),LM0Y_

ph
+p3&),P

-Tn4>4GI0 56>#&%(0

!+

(+
C+

mi-T'0F#&Z-TE p-/n4>4GI0?EA5{n4ZEH140Y_zC|EI-/'-/'0?Pd#&-T%('EIZK[?-Tn4>4GH0Yi }a'EA5r3 0


5An4GI-W5uEIZ-/'02#5f56EA[:ZPQ0:Z-.),+KL{#&GIn40Y5-b)
-Tn4>4GI0D-T'@#&-'@#5amY0,0:Zz>43 0,%(0Y_B0Y_
}a'0

56-W#&-T0,PR0:Z-@30:>430Y560:Z-W5$-/'0

T
_a#&-b#+T3(),P

mYV#

L{#&3bEA#&mYGI0B5EIZ`-/'02#&Z-/E
i

>43WEIPU#&3bVPQ0:-/'K)B_N),+K30:%(0,EILMEIZK[

)-T'0:3>43&),%(0Y5560Y5EHZ#256V5A-/0:P
-/'K#&-$0:PQ>4GA),V5MX i
F0,3 0EA5u#&Z20 W#&PR>4GI0.Lqs0'K#&LM0z#
>43()%(0Y55r-T'@#&-4'K#5S#
L{#&3bEA#&mYGI0z_B0(+
14Z0B_cEHZFEI- ZK#&PQ0Y_
i}a'05A-W#&-/0:PR0,Z-L
zz
j#"/ / o
p gs&
-T0B5A-W54CF'0,-T'0:3S#-/n4>4GI0D0(
W EA5A-W5),+-/'0+)3bP (1,x) EHZz-/n4>4GI0(+ 56>#&%(0Yi
M+.ZK),Z020 W EA56-b56j-T'0:Z -T'02%#&GIGIEHZK[>43&),%(0B5f5EA5emYG6),%Y0Y_aipM +56n4%('#
-Tn4>4GH0|EA5u+b),n4ZK_R-/'0,ZsEI-JEA5$hHl|3 0,PU),LM0B_R+p3&),P
-/n4>4GI0(
+ 56>#&%(0
ghEIZQ),-/'0,3{C),3&_56j:EH+r560:LM0,3#&G>43(),%&0Y55A0B5ji5AEIPQn4GI-W#&Z0Y)n5AGIV$e#&-T-/0:PQ>45An4%&'s#&Z`),>40,3#&-/EA),Zj),ZGIVQ),Z0
PR0,Z-

),+-/'0,P

|+

56n4%(%(0:0B_a5fo#&Z@_-T'0O#55AEA[:Z

EA54PU#_B0Yi

x
T i k& (bzz
lT: l |0:30ebnbp: l@EA5S#!YEIZK_Q),+4-/n4>4GI0-/'K#&-4%),Z|+
)
-b#&EHZK5),Z0F),3SPd),3 0r:YYp
 liM{X %(3 0B#&-T0B_`5A0,>#&3#&-/08>43&)(+
%(0Y5560Y5r+)3$-/'0B5A0+Tn4Z%(-/EA),Z|p+ %#&GIG65fi}a'EA5rEA5{-/'0>43bEHPU#&3bV|C`#&VF-W)%(3 0(+
#&-T0D>43()%(0Y55A0B5EIZ|-T'0HMX 5AV56-/0:PUi"
W #&PR>4GI0.L
k&
g%),PQ>40AM- gh>4EA_aoTo
i
 (YTnb p: l ) 6 EIPQEIGA#&34-W) p (YTnb p: l )j:mYn4-~EI-4_a),0B5AZ@kl-B30:Pd),LM0S-T'0
PU#&-/%('EHZK[-Tn4>4GH0e+p3&),P-/n4>4GI0(
+ 56>#&%(0Yi
 i pKl (YTnb p: l ) 6 EHPREIGA#&3
-W) p (Yp p: )j mYn4-rEH-
_a),0Y56ZKk-S56n56>40:ZK_
-T'0%#&GIGIEIZ@[Q>43&),%(0Y55EI+.ZK)2PU#&-/%('EHZK[Q-/n4>4GI0EA5e+)n4ZK_ai8M -t5AEHPR>4GIV
3 0,-Tn43WZK5S#Sm)B),GH0Y#&ZFL{#&GIn40cgp#&ZFEHZ-/0Y[:0:3J0.
- n#&G-b)U
),3S o_Y0,>40:Z@_YEHZK[

),ZC|'0:-/'0,3.#uPU#&-/%('EIZK[e-/n4>4GI0eC#5a+b),n4ZK_ai

n

EIPQEIGA#&3J-b) Tl Yp p: jmYn4-EI-J_a),0B5AZ@kl-30:Pd),LM0


i  l YT T: l
(
)
(
)
#uPU#&-/%('EHZK[-Tn4>4GH0e+p3&),P-/n4>4GI0 56>#&%(0Yi

MX

GH-T'@),n[:'

(+

E65KLM0,3bV`56EIPR>4GH0F#&Z@_|0:GH0Y[Y#&Z-/jBEI-a'@#5r-T'08n4Z+),3b-/n

ZK#&-/085A'@),3b-/%),PREHZK[-T'@#&-MEA5GA#&%5J#&ZVY-/'EHZK[c#&ZK#&G6)B[Y),n5-b)85A0,PU#&>4'@),3 0.b

~, i
F0,3 0|EA5t#25f#&PQ>4GI0{MX >43()~[:3#&P -/'K#&-uEHPR>4GI0,PR0:Z-b5
-/'0`[:0,Z0,3bEI%
X8"6 > "X #&GA[Y),3bEI-/'P gp560:0H4 i )ZF>#[:0~B, osL
#5$_B0,14Z0Y_2)ZF>#[:0

m  n$
TRUE
1
v
m n$

K * ; the power
of 2 defining the size of the
v
* input
data.
*
v
v
m n$
N
*
2k*
p
bit test[K];
v
real main(argc, argv) * The main program in LINDA must be called

&& .{KW zW   !. 

p

;8;t;

* real main
the LINDA system
has its own
v
* main program that calls this. *

([  argc;
**argv;

s
DATA ITEM
v

* declaration *

s DATA ITEM T[N];


p
i,k;
a
v

(i=0; i N; ++i)
(T[i],i,K);

* Place
the data into
v
* tuple space
*v

?
v
(i=0; i K; i++) bit test[i]=1
i; * Initialize bit test array. *
(k=0; k K, k++)

v
v
(i=0; i N; ++i) k& (worker(i,k)); * Start processes *
;




k
p

worker(x,k)
x,k;

 k;
p

DATA ITEM data1,data2;


((bit test[k]&x) == 0) then

(?data1,x,k);
(?data2,x+bit test[k],k);
OPER(x,k,&data1,&data2);
a
;
(data1,x,k
1);
a
;
(data2,x+bit test[k],k 1);

MZ

#556n4PREIZ@[

-T'@#&-

o KpKq
EA5$_B0,%(GA#&30Y_ IG E Y0
(x,k,*data1,*data2);
}

k ro KpKq g jsYj> &j> o T js


M}a"K

-/'EA5

>43()~[:3#&PRj

PW

#&ZK_

EA5

v Pwyx8w/`6z{

 4 P

_B0:14Z0B_

CF0

#&30

W A

-b)

ipW{ =7 Iy i

 |X

>40:3W+),3bP

.L

-T'0

fL

}a'EA54>43&)B[:3#&PEA5aZK),- Z0,%(0Y55#&3bEIGIVO>43#&%(-/EI%#&G

-/'0

>43&),%(0B_Yn430

 4

tT> &jutT>

%),PQ>4n4-b#&-/EA),Z@5

),+

i}a'0-TEHPR0230A-n4EI30Y_^-W)\56-b#&3W-t#z>43&),%(0Y55O),3t0:LM0:ZU-W)%#&3W3bV),n4-.'0
@)>40:3#&-/EA),Z@5PU#&Vc0(W %(0:0B_c-/'0D-TEHPR0e30A- n4EI30Y_ -W)c5AEHPR>4GIV
p #&ZK_ a
0
W 0:%&n4-T0-/'0 #&GA[Y),3bEH-T'P 5A0.- n40:Z-/EA#&GIGHVi

f b~ {@   S   ..{

p!

4 i
ZGIVO'K#&GI+@),+-/'0D>43(),%&0Y55A0B5-/'K#&-K#&30e%&3 0B#&-T0B_c0,LM0:3@0(W
F0,LM0:3b-/'0,GI0Y55Aj

-T'EA5

EIGIGIn56-T3#&-T0B5

-/'0

56EIPR>4GIEH%(EI-/V

0,%(n4-/0Yi

),+

n56EIZ@[

-T'0

hM{X 5AV56-/0:PUi
6n4m56-W#&Z-/EA#&G\EIPQ>43()L 0,PR0,Z-W5EHZ -/'0 56>40:0Y_ ),+GM {X gp),30:LM0:Z #
'K#&3&_BC`#&30EHPR>4GI0,PR0:Z-b#&-/EA),Z@o@C`),n4GA_NZ0Y[Y#&-/02-/'0Y560-TC)^)m m 0:%&-TEA)ZK5iMpZ
>#&3#&GIGI0,G$>43&)B[:3#&PQPREIZ@[R%),Z@5A-/3Wn4%(-W58>43&),LMEA_B0Y_dmYVd-/'0

#_a_YEH-TEA)ZjU#>43#&%(-TEH%#&G^#&GA[Y),3bEI-/'P

n4>),Z-/'0

PU)3 0XC`),3

PRn4%('

%#&ZmY0_B0:LM0,GA),>40Y_

8

),Z0`>43 0B5A0,Z-/0Y_#&m),LM0

(W

EHZ

A-

EH-C`),n4G6_

GX8"6 > " X

0,%(n4-/EIZK[-/'0

#&GA[Y),3bEI-/'P

-T'0^-/EIPQ0^30 n4EI30Y_+)3-T'0^30Y#&GD%),PQ>4n4-b#&-/EA),Z@5zC`)n4GA_

Q),3EIZ@5A-W#&Z%&0XC|0X%#&Z
i

3#&-/'0:3K-/'K#&Zm n56-S
i6 n4>4>)B5A0.L

),LM0:3#&GHG%),PQ>4n4-TEHZK[-/EIPR0Bi
3()n4-TEIZ0>40:3b+b),3bP-/'0

-/'K#&-QEA5Nm#560Y_

'K#&LM00B#&%('>43&),%(0B5f52_a)

'K#&LM0

5f)

-T'@#&-

_)PREIZ@#&-T0N-T'0
0Y#&%('

worker
]

v ywyx w`6z{ T{ =7 Iy%),PQ>4n4-b#&-/EA),Z2+b),3

_BEI++p0:30:Z-L{#&GIn40B5$)+K

A-W)e%(30Y#&-/0c#u>43&),%(0Y55C|EI-/' k& i
} }MEIPQ0D30A-n4EI30Y_ -W) p #u-/n4>4GI0Yi
- n4EI30Y_ -W)O a@#u-/n4>4GI0Yi
@} }MEIPQ0D30A
- n4EI30Y_ -W)e>40:3b+b),3bP v ywyxw`6z{ iT{ X7 yi
H} }MEIPQ0D30A
}a'0,ZU-T'02-TEIPQ023 0.
- n4EI3 0B_^-W)>40,3b+),3WP -/'02C|'K),GH0N#&GA[Y),3bEI-/'PQj$C|'0,Z
0Y#&%('
>43&),%(0B_Yn430RC),35z),Z$]
_BEA56-TEHZ%(-3()C`5F)+D-/'0Q}+b#&3b3#&VdE65
worker
#&>4>43()W EHPU#&-/0:GIVL
] |} v
] X]w/ } } y4X]?] }
] _BEI+s+
0,3 0,jCF08#&30 #556n4PREIZ@[D-T'@#&-TjEH+0B#&%(' worker >43()%(0Y55a'@#&ZK_BGI0B5
F
+p0,3 0,Z-560:-W5)+?_a#&-b#&j{CF0F%#&Zx[:0:-#&C`#&V`CFEH-T'd%&3 0B#&-TEIZ@[ <v ]
)+S-T'0F>43&)(+
|~}

}MEIPQ0D30 n4EI30Y_

%(0Y5560Y5@CF0tC`),n4G6_F'K#&LM08'@#_|-W)),-/'0:3WCFEA560Yi{qs0|#&30#&GA5)F#556n4PREIZ@[-T'@#&-T'0c-TEHPR0Y5uGHEA5A-/0Y_\#&m),LM0

.-

+



:h#&GIG$),+J-/'0O0 0:%&n4-TEA)Z p-/EIPQ0

-TEHPR0O3 0 n4EI3 0B_Q-W)|EIZ%&3 0,PR0:Z-K%),n4Z-T0,35Aj>40:3W+),3bP

EAi 0Yi j-T'0

p 56-b#&-/0:PQ0:Z-W56j{0,-T%i j4E65
Z0B[:GIEA[:EImYGI0BiD}a'0),LM0,3#&GIG0 0:%(n4-/EA),Zs-/EIPR0OEA5#PREHZEIPQn4P
C|'0,Z`-T'0R_B0

]UEA5/0,3()c)3<L

] H}
|} v ]

4] |~} ]
]

(+

3bEIL{#&-/EILM0c),+-/'E65CFEH-T'|3 0B5A>40,%(--W)
;D]

]
(W

|+

H}

|}

}

}a'0D3 0B5An4GI-/EIZ@[0 0:%(n4-/EA),Z p-/EIPR0E65

4] |} v X]w/ }

?]

} y4X]

H}

4] |}

?]u

d

X] }

|}} ]

?]?wT7

|~}}

|}

}

]w }

|~}} ]w }
}

@} y

@} y
@} y

&& .{KW zW   !. 

Z0[Y)B)~_t+p0B#&-Tn430?),+-T'0zM{X 5AV56-T0,P EA5M-T'@#&-~EI-+#&%(EIGHEI-b#&-/0Y5M-T'0uEIP+


>4GI0:PQ0:Z-b#&-/EA),Z\),+r%#&GIEImY3#&-/0Y_.
+ #&G6[Y),3bEI-/'Pd5Aj@#5_B0B5A%(3WEImY0Y_EIZB i ,
),ZQ>#[:0
i
K$ ~
iCB iY\ :(W`K|&zU Tb\lbh x?_
B
WH: Yp 9eYb:
\ a . Yh/SBK?2H. l 
Y h @bH e!d YreYF (HJ
i bh
Y*

F 6WbY{bc bbbuH:\ xlbH
p:: k&
b

4 iD

F @H: Y p S?h:\ =lbh Qh|p: p b6z
a
_p hY@Dhb
a
W( #&h(
J
lce( bb|heh2TH`~:
\  . Yh/p
addr
 

b WbYhh

pH.Dhb4:`h

lheh2

ehb

0Hsh OT`lTlspshU\:abdata
6 YhTO:Tl


 lYpTzchD a
Ip h.Y@?THp
T i ( Tbh{8YFx 6Wb | pK H2uYlpH:e 
bbbtHUY:
\ a . Yh/ K2KYe`b(FhbHX,
( bb(MBrbh *J(SH /hbcH lb$K

:UYh hbHhJ(bph8. ( Tpb8  wWN(Y | y


JS  h:FK2
@ b
 (&/_ h&

i
& T^b8h~HSY^
F bW | ~JKYYhJ4hbHh
r b

a
W((/h&
i  i 4 i 40 .EA5{#r>),3b-W#&mYGI0?56V5A-/0:P_Y0,LM0:GA),>40B_O#&- 3&[Y),ZZ0z

#&-TEA)ZK#&G
$#&m),3#&-W),3bEI0B5t+)3c>#&3#&GIGI0,Gu>43&)B[:3#&PRPQEIZK[YiM -EA5z_Y0B5AE6[:Z0Y_d-W)RmY0Qn560Y_
CFEI-/'h
Q
rO }O #&ZK_ > #&ZK_|%),ZK56EA56-b5D),+S#.GIEImY3#&3WVN),+{3&),n4-/EIZ0B5J-/'K#&-aEIP+
>4GI0:PQ0:Z-

 x),ZEI-b)35

n5A0B_#5$560:Pd#&>4'K),30Y5#&ZK_

6'@#&3 0B_

C/

-T'0Y560#&30Q5AVYZ%('3&),ZE #&-TE6),Z\>43bEHPREI-/EILM0Y5S-/'K#&-J%#&ZNmY0
m#&3b3bEH0:356j#&ZK_PU)3 0O[:0,Z0,3#&GB-/'EIZ@[Y5fi

PR0:Pd),3bVi

 d0Y55#[:0 p>#556EIZK[Yi

M-WkH5Kn5A0,3SEIZ-T0,3b+#&%(08EA5KZK),-S#5J0,GI0Y[Y#&Z-S#5@-/'K#&-
)+aEIZK_a#&jMmYn4-EI-{0B5f560:Z|+
-TE6#&GIGIV|[:EILM0Y5M-T'0Sn5A0,35AEHPREIGA#&34+Tn4Z%(-/EA),Z@#&GIEI-/ViM -~E65 +p30:05f),+T-TC#&3 0,jY#&L{#&EIGA#&mYGH0
LMEA##&ZK),ZVYPU),n5a+p-/>2-b)""""""""

i i T iPdabS}'0t#&%(3&),ZVYPip0M$5A-W#&ZK_a5+b),3Rid0B5f5#[:00#55AEIZ@[MZ|+
-T0,3b+#&%&0$z#&ZK_23 0,>43 0B5A0,Z-W5#z56-W#&ZK_a#&3(_+),3.PR0B5f5#[:0c>#55AEIZ@[YipM -@C`#5_B0(+
LM0:GA),>40B_RmYV #8%),Z@5f)3b-TEHn4P
),+u'@#&3(_BC#&3 0|PU#&Zn4+b#&%(-/n43 0,35
C|'K)|'@#&LM0
#[:3 0,0Y_X-W)_B0,L 0,GA),> ),>4-TEHPREC
/ 0B_XLM0:356EA),Z@5)+p0F
M ),Zx-/'0:EH3F30Y56>40:%(-/EILM0
>4GA#&-/+),3bPd5fi > ),ZK560A
- n40,Z-/GIV(jJ#O5),+p-/C`#&30Q_Y0,LM0:GA),>40,3.%#&Z #55An4PQ0c-T'@#&-#&Z

f b~ {@   S   ..{

 

p0MS0(WEA5A-W5gT),3CFEHGIG@0:LM0,Z-/n#&GIGIV`0 WEA56-WoS),Z#2[:EHL 0,Z

0:+14%(EI0,Z-LM0:356EA),Zx)+
>4GA#&-/+),3bP

#&ZK_2_B0:LM0:G6),>N5f)+p-/C`#&30O#&%(%),3&_BEIZK[:GHVi

M- %),Z@5AEA56-W5u),+@#uGIEImY3#&3bV)+3&),n4-TEHZ0Y56j%#&GIGA#&mYGH0e+p3&),PlQ),3b-/3#&ZN),3 > >43&)(+


&M
+
#&GIEI-/VcEA5#5An4m560:-@),+-/'K#&-r),+|
 EHZK_a#), 3S40 jM#&Z@_ EI-b54n560:3*p+ EIZ-T0,3b+#&%(0eEA5a3#&-T'0:3

n[:GIV jmYn4- EI-EA54-/'0c)ZGIVQ56-b#&Z@_#&3&_ i


}a'0,3 0?EA5.#>)3b-b#&mYGH0gT#&ZK_|+T3 0,0YoBEIPR>4GH0:PR0,Z-W#&-TE6),Zd)+Cp0u
M _B0:LM0:G6),>40Y_
[:3#&PU5r-/'K#&-4EHPR>4GI0,PR0:Z-J#56VYZ%('3(),Z@),n5@PR0B5f5#[:0?>#5f56EIZK[Yi -W5r+pn4Z%&-TEA)Z

m),EHZ-/GIVOmYVc>40Y),>4GI0 #& #&-/EA),Z@#&G.$#&m5 O$n56-TVUan5EYj2EHGIG?3()>4>


 3&[Y),ZZ0c`
ZEHL 0,356EI-TV }),ZV6 m0,GIGIn4P #&ZK_#&-T'@#&Z
 dEA55AE65f56EI>4>4E6 -b#&-/0G
X )~5f5f

2  > ),3b>),3#&-TEA)ZirF
n4mY0,3b-Tn5YQ 3#&ZY0Bi
 MK
}a'EA5
EIPR>4GI0,PR0,Z-W#&-TEA)Z
EIZ-/0:3b+b#&%(0Y5
-W)
-T'0
Q
rO }O #&Z@_ >

GA#&ZK[:n#[:0B5$#&Z@_ 3Wn4ZK5),Z-/'0D+),GHGA),CFEHZK[>4GA#&-/+),3bPd5 L
0,-TC),3Y0Y_~6 n4ZFC`)35A-W#&-/EA),ZK5
#&Z@_5A0,3bLM0:35f
 F
kH5f
 O[6,
2  60+b 560:0>#[:0~
 -T'0HMK
M


Z
/
:
0
~
G
EC06 > 
560:0D>#[:0 ,

0 #&3#[Y),Z{ 5A0,0e>#[:0
 -T'0HM Z-T0,G.
}a'05#&PR>4GH0EIPQ>4GI0:PQ0:Z-W#&-/EA),Z`EA56ZKk-
#50,+14%(EI0:Z-.#5EH-rPRE6[:'-@mY0N
EH[Y#&EIZK5EI-b5>),3b-W#&mYEIGIEI-/VmYVzn5AEIZ@[F#&Z m5A-/3#&%(-t
X 0:LMEI%(03pM Z-/0:3b+b#&%(0-b)30:GA#&-/0Y_
EI-K-W)z>40:%&n4GA#&3bEI-/EI0Y5)+-/'0O'@#&3(_BC`#&30YiHpM -K%#&Zsn5A0#&ZVU),Z0R)+$-/'30:0Q56n4%('
5AV56-/0:PU5L > 'K#&PQ0:GI0B),Zj>4j > 'EIPQ>4j),3
0 exiM -EA5S#&L{#&EIGIE6#&mYGI0eLMEA#t#&ZK),ZVA+
PU),n54+p-/>+p3&),P

info.mcs.anl.gov

s s 

EIZ_YEH3 0,%(-b)3bV

b
&p

&pb&pap lapb
mY0:0,Z#&Z|EIPR>),3W-b#&Z--W),>4EI%
mY0:%#&n5A0

.L

pub/mpi

}a'E65R'K#5U#&GIC#&V5

 )PR0e>40B),>4GI014ZK_>#&3#&GHGI0:G>43()B[:3#&PRPREHZK['K#&3&_2#&ZK_C#&Z-r#$C`#&V
-b)

#&n4-W),PU#&-/0-/'0>43&),%(0B5f5i

QYn43b-/'0,3bPU),30:j0 W>40,3b-TE65A0EHZ>#&3#&GIGI0,G
#50(W >40,3b-/EA5A0eEIZs560A
- n40:Z|+

>43()~[:3#&PRPQEIZK[?EA5AZ@kl-@#5aC|EA_B0:GIVQ#&L{#&EIGA#&mYGI0
-TE6#&GB>43()~[:3#&PRPQEIZK[Yi

(+

C+

 }a'0z+#56-T0B5A-$Zn4PR0,3bEI%#&G{%),PQ>4n4-T0 p0:Z@[:EIZ0B5-/'0B5A0R_a#&V58#&30|>#&3#&G

.-

GI0:GHjYmYn4--/'0,3 0F#&308PQEIGIGIEA)ZK5.),+GIEIZ0B5.),+S)GA_`5A0 n40:Z-/EA#&G%)B_B08GHVYEIZK[

(W

#&3()n4ZK_BjM#&ZK_?>40Y),>4GH0_a),Z@kl-YC#&Z-Y-W).0
-T'EA5u56-/n4+/++p3&),P

56%(3#&-/%('Ki

>40,ZK_8-/'0.0,+/+b),3b-M-W).30 TCF3bEI-/0

!/

B(pHFbb H:^#&n4-W),PU#&-/EI%c>#&3#&GHGI0:GIE #&-TEA)Z\EA5.0Y55A0,Z-/EA#&GIGIV`EIP

>)B55AEImYGH0YiQ}a'E65DEA5e-W)\5#&V\-/'K#&-t[:0:-/-/EIZK[d#&Z*)>4-TEIPd#&G$>#&3#&GIGI0:GD#&GA[Y)3bEI-/'P

ST8;:8;:KA0ST8;cS>I;Le:EDGNsJN]W?F8;JP?FJN_Me>GD?~_#JNb_#JN:EJN<>?F:?4STJyAHD?FS>.@_:C_#JNAd]W?F8;.@< ?F.A0IQ8;`
G_Ad_LP.@\_a.@D?F8;<>JN:!8;?FSI;AH_#cJK<>DM GJN_a:.@\bAd_AdM JN?FJN_:EMe.@:E?.@\!S>8Q]WSAd_aJN<TQ?BD:EJNe8;<
AH<TLyGD?TM Ad_ac8;<TAHI:E8;?4DAd?F8;.@<>:d
6j:=.@\>?4ST8;:u!_8;?F8;<TcAHLydHdHd

&& .{KW zW   !. 


+p3&),P
#Q[:EHL 0,Z5A0.
- n40,Z-/EA#&GD#&GA[Y),3bEH-T'P EA5>43(),m#&mYGHVd3 0,%(n4356EILM0:GIV\n4Z%),P+
>4n4-b#&mYGH0Yi`}'0:30d#&30\5An4mAT+ >43(),mYGH0:PU5z),+-T'EA5z[:0:Z0,3#&G>43(),mYGH0:P
-/'K#&-8#&30
YZK),C|Zd-W)FmY00p+ %),PQ>4GI0:-/0Yi~
Q ),3?EIZ@5A-W#&Z%(0,jS#&Z),>4-/EIPU#&GK>#&3#&GHGI0:G.#&G6[Y)(+
3bEI-/'P
C),n4GA_N30A
- n4EI30N),>4-/EIPU#&GD#55AE6[:ZPR0,Z-t),+
>43&),%(0B5f5),35-W)>40,3b+)3bP
>),3b-/EA),Z@5),+.#O560A
- n40:Z-TEA#&GK#&GA[Y),3bEI-/'Pdi$}a'EA5JEA50B5f560:Z-TE6#&GIGIV0A- n4EIL{#&GI0,Z-r-W)
-T'08),>4-TEHPU#&G 3 0B[:EA5A-/0:3S#5f56EA[:ZPR0:Z-M>43(),mYGH0:PRj:CF'EH%('OEA5{0T+ %),PR>4GH0:-/0 gT5A0,0


  po i

Z0

A-

)+Q-/'0*>43()mYGI0:Pd5`E65`-/'K#&-\),>4-/EIPU#&G|>#&3#&GIGI0,G#&G6[Y),3bEI-/'Pd5X#&30

A-

+p30 n40:Z-TGHV=LM0:3bV_YEH+/+T0:30:Z-+T3()P

CW

A-

(W

EA5|#&n5f56EA#&Z0,GIEIPREHZK#&-/EA),ZjsC|'EI%('E65

),>4-/EIPU#&G^560 n40:Z-TEA#&G^#&GA[Y)3bEI-/'P

H0+p%),PQ>4GI0:-/0zgp560:0e>#[:0Vj #&ZK_ =

 opi}a'0c),>4-TEHPU#&G{gp#5$),+

YZK),C|Z-W)mY0

~4&j,VV o
CW

x#&V

>#&3#&GIGI0:G4#&GA[Y),3bEI-/'P+b),3K-/'EA5a>43(),mYGH0:PEIZL{),GILM0Y5a>4GIn[Y[:EIZK[

5

f-

-T'08Pd#&-T3WE OEIZ-W)#D>),C|0:3?560:3WEI0Y5

),>4-/EIPd#&G560 n40:Z-TE6#&G#&GA[Y)3bEI-/'PU5

),+SPd#&-T3WE QEHZLM0:356EA),Z\EA58#256-/3bE YEIZ@[0 #&PQ>4GI0R),+S-/'EA5iO}a'0

-T'0F>43&),mYGI0,P

#D-/0:%&'ZE n40t-/'K#&-C`),n4GA_GI0B#_F-b)F#&Z

.gT5A0,0e>#[:04
 opi
H:blD l@-/'0,3 0DEA55A-/EIGIGa5),PQ0ePU)-TEIL{#&-/EA),Z+b),3.#&-/-T0,PR>4-/EIZK[
-b)_Y0,LM0:GA),>N#&n4-W),Pd#&-TEI%#&GIGIVO>#&3#&GIGI0,GIEC
/ EIZ@[e%),PQ>4EIGI0:35fi
0 -/3#),3&_YEHZK#&3bEIGHV|EIZ0:+14%(EI0,Z-r5A0 n40:Z-/EA#&Ga#&G6[Y),3bEI-/'P

&

&

b $   

(+

>42EA5t#25An4%&%(0Y55f)3-b)F-/'05A0,-),+$>#&3#&GIGI0,G@>43()~[:3#&PRPQEIZK[`(z_B0
EIZ|-T'0em)B)

5A%&3bEImY0Y_

u i

aEIZK_a#C`#5_B0,L 0,GA),>40B_mYVhX#&LMEA_?0:GI0,3bZ-/0:3/jCF'@) C`),35?#5#%),Z|+


5An4GH-b#&Z--W)[
6 i > i i*Q )3#&Z8EIZ-T0,3 0B5A-/EIZ@[t_BEA56%(n55AE6),Z2),+-T'0u'EA5A-W),3bV|),+aEIZK_a#
5A0,0 <u
  -T'EA5u#&3W-TEI%&GI0c#&GA5)D0(W >4G6#&EIZK54-T'0eZ@#&PR0i,a EIZ@_a#$i

 A T  $ D
 &p  pM Z -/'EA5 5A0,%(-/EA),Z

Ka

&u

),ZZ0:%(-/EA),Z
x#&%('EIZ0

>

>

),3b>),3#&-/EA),Z@i
>4EI0:%&0

56EA_B0

PU#&Zn4+#&%(-/n430Y_

+T3()P

-/'0

a$

C|0
mYV

CFEHGIG

%),Z@5AE6_Y0,3

}a'EHZYEIZ@[

EIZ'0:30:Z-OEIZ-/0:30Y56-OEIZ

),+?'K#&3&_YC#&3 0,jDEH-CFEIGIG.mY0`EIZ@5A-/3Wn4%&-TEILM0^-b)

,(ap$

5A0,0`'K),C

-T'0

x#&%('EIZ0B5

-T'EA5F>#&3b-/EI%(n4GA#&3
#2Zn4PQmY0:3R),+

EIPR>)3b-b#&Z-KEA55An40B5$EIZ`-/'0c-/'0Y)3bVU),+K>#&3#&GIGI0:G#&G6[Y),3bEI-/'Pd5t#&30#_a_B3 0B5f560Y_
EIZz-T'EA5u56V5A-/0:Pdi
qs0D1435A-%),ZK56EA_B0:3
5f),PQ0c[:0,Z0:3#&G~+p0B#&-Tn430Y5),+-/'0#&3%('EI-/0:%&-Tn430z),+-/'E65

> p
 + 4 oE65>4'V56EI%#&GHGIVQEHPR>4GI0,PR0:Z-T0B_s#5
#N,4+b_BEIPR0,ZK56EA),ZK#&G 'VY>40,3 %&n4mY0:jB0B#&%('2ZK)B_B0|),+aCF'EI%(''K#5
>43&),%(0Y55),35i
}a'EA5EA5J#6M*
X Pd#&%('EHZ0.EIZzCF'EH%('O>43()B[:3#&PU5#&3 05A-W),30Y_),ZQ#$+T3(),Z-0,ZK_
%),PQ>4n4-T0,3bi}a'0+T3()Z-
0:Z@_sE65 #O%),ZLM0:Z-TE6),ZK#&GJ%),PQ>4n4-T0,38-/'K#&-uEA5D'K#&3&_.+
CFEI30Y_tEIZ-W).-/'0 > ),ZZ0:%&-TEA)Zx#&%&'EIZ0Yi 5K)+ -/'E654C|3bEI-/EIZK[gFx#&3%('jA,VV
o
-T'08-/VY>40Y5),+PU#&%('EIZ0B5@-T'@#&-{%#&ZQmY0?+p3&),Z-{0:ZK_F+b),3S-/'0 > ),ZZ0:%(-/EA),Zx#,+
%('EHZ0F#&3 0.L8
X " > kH5f6 VYPQm),GIEI%5a EA5A>`Pd#&%('EHZ0Y5f&6 n4ZQPU#&%('EIZ0B5fipM Z
#OPd#&ZZ0:3|),+85A>40B#YEIZK[-T'0 > )ZZ0,%(-/EA),Zx#&%('EIZ02Pd#&V\mY02LMEI0:C|0Y_X#5
5AV56-/0:PUi}'0

%),PQ>4n4-T0,38ghPU)~_Y0,G

fb.z   ..{ =&!~ ~{


#YEIZK_

),+u%),>43&),%(0Y55),3|gHoR+b),3-/'0F+T3()Z-S0,ZK_

%),PQ>4n4-b#&-/EA),Z@#&G~>),C|0:3rE65n5An#&GIGHV

 

0:LM0,Z\-/'K),n[:'dEH-b5.3#&C

PU#&ZV-/'K),n5#&ZK_a5J),+ -TEIPQ0Y5-/'K#&-{),+M-T'0

>

+p3&),Z-M0,ZK_ai:}a'0
+p3&),Z-0,ZK_t0B5f560:Z-TE6#&GIGIVi&+T0:0Y_a5d$J-/'0

(6

),ZZ0:%&-TEA)Z#&%('EIZ0

-T3bEH%(-TGHV256>40Y#YEIZ@[:j,EI-mY3()~#_Y%#5A-W5

EI-W5 >43&)B[:3#&PRjB),Z0$EIZK56-/3Wn4%(-/EA),ZQ#&-4#@-/EIPR0Bi

>

-T'0OEIZK56-T3 n4%(-/EA),ZK5.-b)Q#&GIGu),+$-/'0O>43&),%(0B5f5),35t),+-T'0

),ZZ0,%(-TE6),Z#&%('EIZ0

W+

-T'@),n[:'-T'0t'@#&3(_BC#&3 0t%),ZZ0:%&-TEA)ZQmY0,-TC|0:0:Z-/'0,PUi"$#&%('>43(),%&0Y55f),3u0

0:%(n4-/0Y54-/'0eEHZK56-T3 n4%(-TE6),ZK56j~n56EIZK[c_a#&-W#u+p3&),P

i-T'0.+p3&),Z-Y0,ZK_FgCF'EI%('#&%(-W5GIE Y0
%)PRPU)ZO

(+

56'K#&30Y_?mYV2#&GIG>43&)

%(0Y55),35o

4 iEI-W5u),C|ZFGA),%#&GAO  g  oP
T iGA),%#&GAO  ),+K)-T'0:3K>43&),%(0Y55),35i
}a'014356-

),>40,3#&-/EA),Z

EA53 0,GA#&-TEHL 0,GIV*56GA),CEH+DPd#&ZVd>43&),%(0B5f5),35?-T3bVU-W)

#&%(%(0B5f5._BEA56-TEIZ%(-u_#&-W#EH-T0,PU5@+p3&),P

N

-/'0t+p3&),Z-{0,ZK_#&-a-/'0t-TEIPQ0?-TEIPQ0

+p3&),Z-u0:ZK_`%#&Zj@'K),C|0:LM0:3/jrmY3&)B#_B%#56-t_a#&-b#

-T'0

-W)N#&GHGK>43(),%&0Y55f),35eL 0,3bVN+#56-bi

}a'EA5M-Tn43bZ@5K),n4-B-W)SPR0Y#&Z-T'@#&-BEI-BEA5{#_BLr#&Z-b#[:0B),n5-W)856-W),3 0t_a#&-W#J-/'K#&-~PRn56mY0-T'0d5#&PR0+)3#&GIG>43(),%&0Y55f),35Aj
EIZ

>

-/'0+p3&),Z-0:Z@_ai

T

),>4VYEIZ@[d),+_a#&-b#

mY0:-/CF0,0:Zz>43(),%&0Y55f),35Sgp56-b#&-/0:PQ0:Z- z#&m),LM0Yo +),GIG6),C`5a-TC)em#5AEI%u>#&-T-/0:3bZ@5

i



}'EA5RPU#Y0B5n5A0 ),+-T'0x+#&%(--/'K#&--T'0
a
>43()%(0Y55f)35NEIZ-/'0xPU#&%&'EIZ0*%#&Z
mY0 ),3&[Y#&ZE 0B_gp#&-23 n4Z p-/EIPQ0Yo

C/

+

EIZ-W)d#&3b3#&V5C|EI-/'X3#&>4E6_\%),PRPQn4ZEI%#&-TEA)ZmY0:-/CF0,0:Z

Z@_Y0,3

>43()%(0Y55f)35fi

x#&%('EIZ0

mY0,'K#&LM0Y5sGIE Y0

-/'0B5A0

%),Z@_BEI-TE6),ZK56j

|+

4 i

>43()%(0Y55f)35fi

 &

&$
3bEI-/'P

s

5),PR0,CF'@#&-


GIE Y0

#&GA[Y),3WEI-T'P

),+

=u

#&ZK_

%('K#&>4-/0:3

#&GA[Y),3bEH-T'P
ZK)B_B0B5

i EIZ

E65n560Y_

n560Y5

-/'0

?3bEA_

#&G6[Y)

5),3b-

C/

2a30:mYZ0,3

#&Z@_

),+\-/'EA5

(+
_+

#&Z

3#&Z@_a),PRE 0B_
m)B)ToTi

gp560:0

}a'EA55),3b-/EIZK[

CF'0:Zs_a#&-W#
PQn5A-mY0ePU)L 0B_OmY0,-TC|0:0,Zs_BEA5A-/EIZ%(-

,4+_BEIPR0,ZK56EA),Z@#&G^'VY>40:3%(n4mY0

)+-/'0

ZK)B_B0'K#5

),ZZ0,%(-TE6),Z

%),PQ>4n4-T0,3bi

),+%),PRPQn4ZEI%#&-TEA)ZmY0,-TC|0:0,Z
}a'EA5

#&GIE6#&Z-

EIZK[

>

-T'0

#PR0B5A' p%),ZZ0,%(-T0B_

%),PQPRn4ZEH%#&-TE6),ZEA5-/'0D+#56-T0B5A-+b),3bP

Z0,EA[:'m)3bEIZK[

g3 0,%#&GIG\-/'K#&-

O>43&),%(0B5f5),35opiR}a'0N5),3b-/EIZ@[d#&GA[Y),3bEH-T'P

0Y#&%&'

EA5emYn4EHGI-
EIZ-W)

'K#&3&_BC`#&30R#&Z@_Q0Y5560:Z-/EA#&GIGHVR-/3#&ZK56>#&3 0,Z-J-W)O-/'0On560:3Wiex),LM0:PQ0:Z),+\_#&-W#

mY0,-TC|0:0,Z

>43&),%(0B5f5),35`EA5U56GA),C|0:3\-/'K#&Z

#&%(%&0Y55U),+QG6),%#&G

PR0,PU),3bV&j)3@3 0,%(0:EHL EHZK[mY3()~#_Y%#5A-@_#&-W#u+p3&),P-/'0D+p3&),Z-0:Z@_i


-T'EA5

_a#&-W#cPd),LM0:PQ0:Z-$n5A0B5



-b#Y0B5L{#&3bEI0B5

>

EIZ%(0

#T:&b\#&GA[Y),3bEI-/'PQjK-T'0-/EIPR0EH-

M

mYn4-{EA5Jn56n#&GIGIV30Y#5),ZK#&mYGHV+b#5A-Wi pZR-/'EA5J%#5A08-T'0

0+sO

),ZZ0:%(-/EA),Zx#&%('EIZ0c%#&Z`mY0cL EH0:CF0B_^#5e#
Y Y:b?Tl Yi

C/

PU#&%('EIZ0,jJ),3

),nF%#&Zc-/'EHZ),+Y-/'0.PQ0:PU)3bV2#5mY0,EIZK[8),3&[Y#&ZE 0B_8EIZ-W)
'EI0,3#&3 %&'EI0B5

&& .{KW zW   !. 


GA),%#&GKPQ0:Pd),3bVd
-T'EA5E65.PQ0:PU)3bVs%),Z-W#&EIZ0Y_`EIZ\-/'0EHZK_BEILMEA_Bn#&G
>43()%(0Y55f)35fi }'EA5PQ0:Pd),3bVO%#&ZFmY0 #&%(%(0B5f560Y_ LM0:3bVO3#&>4E6_YGHV(jEIZF>#&3*+

#&GIGI0,GAi

_+

s+

+
>4n4-T0,3Tj$-T'@#&-8#&GA5f)%),Z-W#&EIZ@5?-/'0 & T+),3-T'0Q%)ZZ0,%(-/EA),ZPd#,+
+p3&),Z- p0,ZK_

%('EHZ0Yi

-/'EA5SEA5
PR0,PU),3bV`%),Z-W#&EIZ0B_EIZ^-/'0z+p3&),Z- T0:ZK_`%),P

}a'EA5?PR0:Pd),3bV

%#&Z

#&G65f)RmY0

#OGHEIPREI-/0Y_X#&PU),n4Z-?),+.>#&3#&GIGH0:GIEA56P

#&%&%(0Y55A0B_

3#&>4EA_BGIV(jSmYn4-O)ZGIV

s+

%#&ZUmY02n560Y_ai}a'02+T3(),Z- T0:Z@_

%),PQ>4n4-T0,3K%#&Z

3 0B#_d_a#&-b#+p3&),P

>40:3b+b),3bP

#F56EIZK[:GI0OEIZ@_BEILMEA_Bn#&G>43&),%(0B5f5),3EHZ`-T'0

+56-T0,>

Z0:%&-TEA)Zx#&%('EIZ0,jEIZ`),Z0e>43&)B[:3#&P

> ),Z|+

#`:: T (TTl ),Z #&GHGt#&%(-TEHL 0`>43&),%(0B5f5),35iy


6 0,0
;T i 4z),ZF>#[:0,4+)3#_YE65A%(n556EA),Zs),+%(0:Z@5An5f+)>40:3#&-/EA),Z@5fi
i&mY3()B#_B%#56-$2_#&-W#+p3&),P -T'0|+T3(),Z-sT+ 0:Z@_`-W)#&GIGS),+u-/'0z>43&),%(0Y5f+
5f),35EIZ #N5AEIZ@[:GI0>43&)B[:3#&P
+ 56-T0,>i*}a'EA5?EA5#+#56-O),>40,3#&-/EA),Zj

5AEIZ%(0FEH-un560Y5
-T'0`5#&PR0FPQ0:%('@#&ZEA56Pn560Y_+b),3mY3()~#_Y%#5A-/EIZK[

|+

-T'0eEIZ@5A-/3Wn4%(-/EA),Z@5r-b)e-/'0

?

 ZK),Z pGA)%#&G
%(0Y55),35i

>

),ZZ0:%(-/EA),Zx#&%('EHZ0Yi

(+

'0,3 0.>43&),%(0Y55),35#&%(%(0Y55GA),%#&GPQ0:PU)3bV),+{),-/'0,3{>43&)

}a'EA5?EA5z#F>#&3#&GIGI0,GSPR0,PU),3bV#&%(%&0Y55?-/'K#&-DEA5F5),PR0,CF'@#&-

Mp-z5A-/EIGIGn5A0B52#^56EIZ@[:GI0
56-T0,>5|)ZX-/'0 > )ZZ0,%(-/EA),Z+#&%('EIZ0

5AG6),CF0,3F-/'K#&Z-/'0X),-/'0:3z-/C`))>40:3#&-/EA),Z@5fi

+b5A-/0:>

>43()~[:3#&P

>43&)B[:3#&P

_a)DZK),-@#&GIGBn560e-/'0

5f#&PQ0c#&PU)n4Z-r),+-/EIPR0Bi

}a'EA5*_BEILMEA56EA),Z

EHZ-W)='EI0,3#&3 %&'EI0B5

-/n43bZK5),n4-\-W)

|+

14-^EIZ

C|0:GIGRCFEI-/'

>43()~[:3#&PRPQEIZK[>43#&%(-/EI%(0B5rn5A0B_OEIZF'EA[:' pGI0,L 0,GY>43()~[:3#&PRPQEIZK[?GA#&ZK[:n#[:0B5Aj


5AEHZ%(0Pd)B_Bn4GA#&3>43&)B[:3#&PU5PU#Y0n560s),+SG6),%#&GJPR0,PU),3bVsEIZ\>43(),%&0Y_Bn43 0B5

#&ZK_

-/'EA54-/n43bZK5$),n4--W)emY0eGA)%#&GBPR0,PU),3WVR)+>43&),%(0Y55),35i

M~

> )ZZ0,%(-/EA),Zx#,+
_+
M~
Pd#Y0Fn560s),+t#56>40:%(EA#&Gr>4EI0:%(0`),+

%#&ZsmY0|>40,3b+)3bPR0B_QmYV-/'0z+p3&),Z- p0,ZK_BjS)3e-/'0

%('EHZ0FEH-b560:GI+biF}a'0FG6#&-T-/0:3?+)3bP

),+

HX#&-W#
#&n4GI-

'K#&3&_BC`#&30%#&GIGH0Y_s#

0Y5560:Z-/EA#&GIGHV\_BEA5EN_B3bEILM0Y5JCFEI-/'

#e'EA[:'

_a#&-b#$3#&-T0Og PR0B[Y#&mYVY-T0B5 4560:%),ZK_aopi


}a'0

>

),ZZ0:%(-/EA),Zx#&%&'EIZ0tE6556n4>4>4GIEI0B_zC|EI-T'\560:LM0:3#&G >43&)B[:3#&PRPQEIZK[

AL

GA#&ZK[:n#[:0B5AjEHZ%(GIn_BEIZ@[

> ),ZZ0,%(-TE6),Zx#,+
%('EHZ0XghEI-|56-b#&Z@_a5+),30#&3#&GIGI0,GMZ@5A-/3Wn4%&-TEA)Z6 0:-WopiM-EA5 PQ0Y#&Z--W)
mY02n5A0B_NEIZU%),ZmIn4Z%(-/EA),Z CFEI-/'#O'EA[:'T+ GI0:LM0,GG6#&ZK[:n#[:0-T'@#&-
3Wn4Z@5
),Z-/'08+p3&),Z-_+p0,ZK_%),PR>4n4-/0:3WiJ}a'EA5EA5Kn56n#&GIGIV > i ),nsC),n4GA_BjM+),3
EIZK56-W#&Z%(0,jCF3bEH-T0# > >43()~[:3#&P
-T'@#&-@%),Z-b#&EIZ0Y_
0 #&3bEA5$EIZ@5A-/3Wn4%&-TEA)ZK5

0Y5560:Z-/EA#&GIGHVR-/'0Q#5f560:PQmYGIVRG6#&ZK[:n#[:0Q),+-T'0

0:PQmY0Y_a_B0Y_EIZ|EI-bi

>

aEA56>NC|EI-/'`>#&3#&GIGI0,G4>43()B[:3#&P+
PREIZ@[S+p0Y#&-/n430Y5@#_a_B0Y_-W)uEI-bi:}a'0Y560u0
W -/3#K%),PRPd#&ZK_a5r#&30SEIZ#@%(GA)B560
%),3b30Y56>),Z@_Y0,Z%(0
C|EI-/'0 OM6DEHZK56-T3 n4%(-TE6),ZK5
%#&n56EIZ@[t_
 E65A>c-W)SmY0

 Wl

-T'EA5$EA5D#LM0,35AE6),Z

),+

),PRPd),Z

fb.z   ..{ =&!~ ~{

 

p+ GI0,LM0:G$SGA#&Z@[:n#[:0zgHoTi~}a'0:30EA5$#&GA5f)O#
+),3WP ),+
>
 + aEA56>2-T'@#&-EA5$5f)PR0:C|'K#&- 'EA[:'0:3*+pGI0,LM0:GY-/'K#&Zt_E65A>i
a b  & -/'EA5SEA5#?L 0,356EA),Z),+[
Q )3b-T3#&Z\CFEH-T's>#&3#&GIGH0:G>43()B[:3#&P+
PREIZ@[>43bEIPREH-TEILM0B5fi
e8}a'E654G6#&ZK[:n#[:0.EA50Y55A0,Z-/EA#&GIGIV2#e56n4>40:3560:-{),+ 6M > iqs0
CFEHGIG~+b)(+
%(n5t),Z\-/'EA5
GA#&Z@[:n#[:0FEIZ5f),PQ0_B0,-b#&EIG6i
6 EIZ%(0FEH-$EA5S+b#&EI3bGIVs-/VY>4EI%#&G
),+J#uGA#&Z@[:n#[:0en560Y_),Z6M 
X PU#&%&'EIZ0Y54CF0CFEIGIGYn560eEH-@#5#YEIZK_
),+@b:6&
+),3
>430Y560:Z-TEHZK[c>#&3#&GIGI0,G#&GA[Y),3bEI-/'Pd5$EIZ-/'025A0.
- n40,GAi
3 0B[Y#&3(_B0B_R#5S#'i&GA),C
GIEA56>2%#&GIGI0B_

}a'0:30#&30u-/C`)D6 lhu YLM0:356EA),Z@5r),+-T'EA5MG6#&ZK[:n#[:0Yi:}a'0


),GA_LM0:356EA),Z@5

g ~o4CF0:30FLM0,3bVs0:GI0B[Y#&Z-mYn4-#&GA5)|EIZ0:+14%(EI0,Z-u-W)

-T'0.>),EIZ-)+ mY0,EIZK[
0Y5560:Z-/EA#&GIGHVYY:b }'0
Z0,C

|+

LM0:356EA),Z pZn4PQmY0:35

L 0,356EA),ZK5JgCFEI-/'

~o#&3 0`G6),CF0,3 TGI0:LM0:GGA#&Z@[:n#[:0Y5

S

LM0:3bVQ>),CF0,3b+pn4G$#&ZK_20:+14%(EH0:Z-

-/'0,VQ3bEHLr#&G

-/'K#&-z#&30

> ?0#&3bEA5uEHZ-T'0Y560c3 0(+

5A>40,%(-W5fiqs0C|EIGIGB+b),%(n5),ZF-/'E65aGA#&Z@[:n#[:0eEIZ|-T'0D30:Pd#&EIZK_B0,3.),+-/'E65
%('K#&>4-/0:3Wi

[   K



_B0Y56EA[:ZEIZ@[Q#&G6[Y),3bEI-/'Pd5u+),3-T'0

0O

#&GA[Y),3bEH-T'PU5D+b),3z#

GA),%#&G
EIZ

>

$
Z
PU#&ZV
30Y56>40:%(-W5

),ZZ0:%(-/EA),Zx#&%('EIZ0cE65$GIE Y0_B0Y56EA[:ZEIZK[

%),PQ>4n4-T0,3biO}'0>43&),%(0Y55),35D'@#&L 0F-T'0:EI3z),C|Z

dju#&ZK_s-T'0:V_)ZKkl-t56'K#&30EI-SC|EI-T'),-/'0,3>43&),%(0B5f5),35Ogp#&-
GH0Y#56-

v-

#s56-T3#&EA[:'-/+),3WC`#&3&_C`#&Vohj
mYn4-DPU)B_Bn4GA#&3O>43&)B[:3#&PQPREIZ@[s-/0:%('ZE n40B5

PU#Y0. H56'K#&3WEIZK[O),+PR0:Pd),3bVOn4ZZ0:%(0B5f5#&3bVOEIZ|PU)B56-%(EH3 %(n4Pd5A-W#&Z%&0Y5i

>

Z0EIPQ>),3b-W#&Z-S_YEH+/+T0:30:Z%(0mY0,-TC|0:0:ZQ-T'0
),ZZ0,%(-TE6),Zx#&%('EIZ0#&ZK_

PU#&%&'EIZ0tE65K-/'K#&-a-/C`)|),>40:3#&-/EA),Z@5J'@#&LM0F_BEI++T0:30:Z-a30:GA#&-/EILM0t-TEIP

0O
L
#

EIZK[Y5

::

),>40,3#&-TE6),ZK58-W#Y0R%),ZK56-b#&Z--/EIPR0

_
! I+

0O

%('EHZ0Y5
#&Z@_*Fw Ky T-TEIPQ0|),Z^#

)Z

>

%),PQ>4n4-T0,3bi

,+
,+

),ZZ0:%(-/EA),Z+x#

>

0,ZK56n5S),>40,3#

-TE6),ZK5S#&30O),>40,3#&-/EA),ZK5r-/'K#&-EIZL{),GHL EHZK[F#&%&%(n4PRn4GA#&-/EIZ@[|_a#&-W#t)L 0,3D#&GIG


),+K-/'0#&%(-/EILM0c>43&),%(0Y55),35ii

%(%(n4PRn4G6#&-TEIZ@[Q_a#&-W#$%),n4GA_^#&PU),n4Z-

?L
i-b#YEIZ@[8#.gT5An4PQj,>43&)B_Bn4%(-/j:GA)B[:EH%#&G2
Oj0:-/%ior),+_a#&-W#rEI-/0:PU5r),LM0:3


-b)

#&GIGa#&%(-/EILM0e>43&),%(0B5f5),35i

4 i%),n4Z-/EIZ@[?-/'0DZn4PRmY0,3.),+@#&%(-TEHL 0e>43(),%&0Y55f),35fi

Z#S0O %),PQ>4n4-T0,3Tj,%(0:Z@5An5@)>40:3#&-/EA),Z@5K#&3 0
EIPQ>4GI0:PQ0:Z-T0B_?LMEA#
#&Z#&GA[Y),3bEI-/'P
GIE Y0-/'0N),Z0^),Z >#[:0B
),3tEIZ
),+%('K#&>4-/0:3{i
GI-/'K)n[:'\-/'0F%),PR>4n4-W#&-TE6),ZK58#&3 0zZK),-+#56-/0:3O),ZN-/'0 > ),ZZ0,%(-TE6),Z
x#&%('EIZ0,j$-/'0%(0,ZK56n5z)>40:3#&-/EA),Z@5|#&300:++p0,%(-TEHL 0,GIVUmYn4EIGI-.EIZ-b)-T'0
'K#&3&_BC`#&30:j-T'0-/EIPQ0d56>40:Z-t_)EIZK[Q-/'0,P
3#&-/0Y_

EIZ-W)e-/'0ePd#&%('EHZ0e%&VY%(GI0Y5i

(+

EA5e0Y55A0,Z-/EA#&GIGIV\EIZ%)3b>)

6j:~?FS>8;:g:E?4Ad?4JNMeJN<>?@8;MebI;8;JN:EN?FS>JN:EJ?4!.^TJN_a:E8;.@<>:gS>AdTJ=AHIQM .@:E?[W4HZ[NXj8;<y]W.@MeM .@<


GD?T?FS>JK<>AdM JNd#AH<Te?FS>JK\Ad]??FS>Ad?>?FS>JNLPAd_aJI;.@.@:EJNIQL0GAd:EJN.@<Rj

&& .{KW zW   !. 


- n4EI30YYPTH. ),Z #
 0#&3#&GIGI0,G _a#&-b#Pd),LM0:PR0,Z-_+ ),>40,3#&-/EA),ZK530A
0O  %),PQ>4n4-T0,3Tj?mYn4- Pd#&V*30A- n4EI30dGA)ZK[:0:3^),Z# > ),ZZ0,%(-TE6),Z
x#&%('EIZ0Bi > 0:3b-W#&EIZm#56EI%PU)L 0,PR0,Z-_+ ),>40,3#&-TE6),ZK5#&30mYn4EIGH-EIZ-W)
-T'02'K#&3&_BC`#&30N#&ZK_`3 0.
- n4EH3 0n4ZEI-S-/EIPR0,j@mYn4-?[:0,Z0:3#&Ge)>40:3#&-/EA),Z@5
%#&ZF30A
- n4EI30PQn4%('FGA)ZK[:0:3Wi6 0,0c560:%(-/EA),Z{ T i i +),3KPd),30c_B0:-W#&EIGA5i
& A M Z#__BEI-/EA),ZX-b)-T'0Qn56n#&G
$  A  Rp
0
%),Z@5A-/3Wn4%(-W5?),+ 6M > j EI-.#&GA5) 'K#5$C#&V5),+_B0Y56%(3bEImYEIZ@[z%)~_Y0c-W)cmY0c0 W+
0:%(n4-/0Y_EIZR>#&3#&GIGI0,GAia
2 0,+),30),Z0%#&Z0(W 0:%(n4-/0 >#&3#&GIGH0:G%)~_Y0,jEH-rEA5KZ0,%(0Y5f+
 

5f#&3WV-b)F_Y0B5A%&3bEImY0t-T'0GA#&V),n4-u),+-T'08>43&),%(0B5f56EIZ@[c0,GI0:PQ0:Z-b5i}a'E65KE65_a),Z0

zM

LMEA#-T'0

f+
(W (+

lu %),PQPU#&Z@_i -
#&GIGA),%#&-/0Y5>43(),%&0Y55f),35
EHZ #&ZRbT&`#&Z@_^#5
5AE6[:ZK5#ZK#&PQ0 b
- )c-/'0560:-),+K>43&),%(0B5f5),35?#&GIGA)%#&-T0B_ai GIGa%)B_B0c-b)cmY0 0 0

%(n4-/0Y_R)Z2-T'0Y560t>43&),%(0B5f5),35@PQn5A-4%)Z-W#&EIZ^#.30:+T0:30:Z%&0-b)-T'0ZK#&PQ0-T'@#&-

C`#5$#5f56EA[:Z0B_aiYqs0EHGIGIn56-T3#&-/0?-T'0Y560EA_B0Y#5aCFEI-/'N#85#&PR>4GH0>43()~[:3#&P
EIPR>4GH0:PR0,Z-W5$-/'0c>#&3#&GIGH0:G$#&GA[Y),3bEH-T'P

EH-

+b),3D+b),3bPQEIZK[|%&n4PRn4GA#&-/EILM0Q5An4Pd5),+

EIZ-/0Y[:0,35

m p ( u
stdio.h
m  n$
MACHINE SIZE 8192
l$

[MACHINE
SIZE]sum;
v
v
:sum n;
* each
processor
will
hold
an
integer
value
*
v
v
:sum
PE number; * processors must determine their identity. *




p
&
:
lower(p );
k
p
add( );
p   &
T
:
lower
(
iteration)

p
p

next
:   &iter=iteration+1;

PE num
reduced = (PE number ?
?
next
iter)
next
iter;t
s
;
PE num reduced + (1
iteration) 1;

add(p

F$

iteration)

(lower(iteration) PE number)
n+=[lower(iteration)]n;

main() * code not prefaced by a shape name v


is executed sequentially on the front end. *
i;

 -D]WSRAd:uA7bAd_AdI;I;JNIMe.@TJNMeJN<>?.@\2AH?FA\.@_MOb_#.@]JN:E:E.@_=>?4.Pb_a.@]JN:E:E.@_Y4!8;?FS
0AH<0AH_aG8Q?4_aAH_aLPbJN_aM D?FAH?F8;.@<

fb.z   ..{ =&!~ ~{

 h

(sum) PE number= l
(0);
printf("Enter
8
numbers
to
be added in parallel:\n");


(i=0;i 8;i++)

Y 

temp;
scanf("%d",&temp);
[i]n=temp;

P6

0:0#&GA[Y),3bEI-/'P

(i=0;i =2;i++)
F
(sum) add(i);
v
* the call to add is executed in parallel
v
by all processors in the shape named sum*
printf("The
cumulative sums are:\n");


(i=0;i 8;i++)
printf("Processor %d, value =%d\n",
[i]PE number,[i]n);
g

-T'EA5>43&)B[:3#&P

i

TTV

),Z>#[:0

+),3#&Z

_)0Y5io}a'0`1435A-|#56>40:%(-z),+?-/'EA5

-T'03 0B#_B0:3`EA5Q-/'0

#&ZK_

)+CF'@#&-

-T'@#&-z5A-/3bE Y0B5

>43&)B[:3#&P

56-W#&-T0,PR0:Z-

#&GIGA),%#&-T0B5R#&ZWT(),+

0 >4GA#&ZK#&-/EA),Z

i
}a'E65
 l$
[MACHINE
SIZE]sum;
>43&),%(0B5f5),35`g%#&GIGI0B_ #
b(o8),+56E 0\0 n#&G-W)

#55AEA[:Z@5O-/'0NZK#&PQ0

MACHINE
SIZE
),Z0(+_BEIPQ0:ZK56EA),Z@#&GIjrmYn4-$V),n

C/

sum

.-

-W)^EI-Wi
8n43s#&3b3#&VC#5

%#&Z#&GIG6),%#&-/0s#&Zx#&3b3#&VX),+u>43(),%&0Y55f),35eCFEI-/'

~T4Q_YEHPR0:Z@5AE6),ZK5iS}'0_BEIPR0,ZK56EA),Z`EA5e#&%(-Tn#&GHGIVd56EA[:ZEI14%#&Z-KEHZ`-T'@#&-

n4>s-b)

-T3#&ZK56PREA55AE6),Z),+8_#&-W#c-b)2Z0,EA[:'m),3WEIZK[>43(),%&0Y55f),35%#&ZUmY0N_)Z02+#56-/0:3

-T'@#&ZF-W)e3#&ZK_a),P>43(),%&0Y55f),35fi}a'EA5GA#&Z@[:n#[:0e%)ZK56-T3 n4%(-4PREI3W3(),35{-T'0+#&%&-T'@#&-
-T'02'K#&3&_BC`#&30\)+-/'0

>

),ZZ0:%&-TEA)Z#&%('EIZ02%#&Z

mY0N_BVYZK#&PREH%#&GIGIV

3 0,%),Z1[:n43 0B_UEHZ-W)d#&3b3#&V5z),+e>43&),%(0B5f5),35i
+D%),n43560R-/3#&Z@5APQEA5f56EA),Z
_a#&-b#mY0:-/CF0:0,Zx>43(),%&0Y55f),35O%#&Z=#&GA5)smY0X_a),Z0#&-OT:

>

> O"aq

),ZZ0:%(-/EA),ZOx#&%&'EIZ0%#&ZdmY0LMEI0,CF0B_X#58#
PU),-/EA),Z

!/

EA5s),>4-/EIPRE 0Y_+)3R%(0,3b-b#&EHZ

V),n#&30^C|3bEI-/EIZK[#>43()~[:3#&P

A+
(+
gp_a#&-W#,p+ PU)L 0,PR0,Z- %)PRPU#&Z@_a5
-b#&3&[:0:-_p+ >43&),%(0B5f5),35opi

),+

gp5)N-/'K#&-?-T'0

%),PR>4n4-/0:3o

-/'E65

%)Z1[:n43#&-/EA),Z@5d),+z>43(),%&0Y55f),35fi

Mp+

EIZxCF'EI%('*-T'0_a#&-W#QPU)L 0,PR0,Z-|_a),0Y56ZKk-

14-eEIZ-b)U#&ZV),mYLMEA),n5#&3b3#&V p>#&-/-T0,3bZEI-eE65?n56n#&GIGIV
#x),Z0 _BEIPR0,ZK56EA),Z@#&GR#&3W3#&V#&Z@_

mY0Y56-e-W)U56EIPR>4GIV

n560

+#&%(%&0Y55U_#&-W#UPU),LM0:PQ0:Z-

_a)3#&ZK_a),P
%#&Z

%)Z-W#&EIZ

5An4m56%(3bEI>4-W5-W)

_B0,ZK),-/0

D__#JN<>?FI;LT48 J Ad:.@\_#JNI;JNAH:EJ^B y.@\~#JNAd]WSe28;M JN<T:E8;.@<.@\AP:ES>AdbJjM D:E?gGJjA


b.@!JN_.@\@Ad<>0?4STJ?F.@?FAHI<>DMeGJN_.@\@b_a.@]JN:E:E.@_:AHIQI;.@]WAd?FJN0MeD:E?GJAb.@!JN_.@\@?F8;M JN:
?4STJK<>DM GJN_g.@\Bb_a.@]JN:E:E.@_:ubSTL:E8Q]WAdI;I;LPb_aJN:EJN<T?T8Q<!?4STJKM Ad]WST8;<>J

&& .{KW zW   !. 

 

GHG
56-b#&-/0:PQ0:Z-W5-/'K#&-n560F-/'EA5t#&3b3#&V

),+$>43()%(0Y55f)35DPRn56-umY0zCFEH-T'EIZ

-T'0c56%),>40

),+J#56-b#&-/0:PQ0:Z- F
i

(sum)
#&GIGA)%#&-T0B5@#&ZcEIZ-T0B[:0:3aL{#&3bEA#&mYGI0
EIZc0B#&%('
}a'0t56-b#&-/0:PQ0:Z- p

(+

>43&)

:sum
n;
i;`),-/0-/'K#&-a-/'0F5A'@#&>40tZ@#&PR0t+),GHGA),C`5K-/'0|_a#&-b#
sum
-TVY>40F#&ZK_F-/'K#&--/'0:V`#&3 0F5A0,>#&3#&-/0Y_FmYVN#D%)GA),ZKiMZ > t4-T'0:302#&30FTJem#,+

%(0Y55),3?),+-T'056'K#&>40

L

;6

5AEH%e%(GA#5560Y5.),+u_#&-W# M6l$#&ZK_|/HIi

_+

%#&GA#&3_a#&-W#EA5.#&GIG6),%#&-/0Y_`),Z-T'0

+p3&),Z- p0,ZK_`%),PQ>4n4-T0,3tEHZd-T'0Fn56n#&GK+#56'EA)Zxgh+b),3?-T'0
>#&3#&GIGI0,G_a#&-b#cEA5

#&GIG6),%#&-/0Y_)Z

-/'02>43&),%(0B5f5),35O),+
-/'0

%('EHZ0Yi

SL

),nPU#&Vc'K#&LM0ZK),-/EI%(0B_O-/'0 _B0:%(GA#&3#&-TEA)Z

> p+ GA#&Z@[:n#[:0Yoj.#&ZK_
> ),ZZ0,%(-TE6),Zx#,+

 

#&ZK_
p
&
:
lower(int);
C`),Z@_B0:3
CF'0:30 -/'056'K#&>40
& {C`#5e_Y0,%(GA#&30Y_ai$}a'E65EA5D#&Z0 #&PR>4GH0
),+$#.>430 b_B0:14Z0B_#&ZK_Wbb&bF56'K#&>40Z@#&PR0Yi ZK)-T'0:3e5An4%('>430Y_B0:14Z0Y_



 
>
 
YbYplTp&>43&),%(0Y55),35i}a'0u+#&%&--/'K#&--T'0u>43&),%(0Y_Bn430

ZK#&PQ0SEA5 a
EH-B3 0,>43 0B5A0,Z-W5K#&GIG>43&),%(0Y55),35>4'V56EI%#&GIGHV>430Y560:Z-4),Z
l  &
#S[:EILM0:Z
),ZZ0:%(-/EA),Z#&%('EIZ0Yi,}a'0$C),3(_
& 5AEHPR>4GIV30:>430Y560:Z-b5{#&GIG
'K#556n4%('

lower W

#856'K#&>40c_Y0,%(GA#&3#&-/EA),ZEIZEI-EIPR>4GIEH0Y5{-/'K#&-4EI-4E65Tl~6&$-W)mY00 0:%(n4-/0Y_
),Zs-T'0|>43&),%(0B5f5),35t),+-T'0

 

>

),ZZ0,%(-TE6),Z#&%('EIZ0:j43#&-/'0,3e-/'K#&Zs-/'0$:Y

& EA5e# YEIZ@_s),+r:WH


hb+b),3t#c5A'@#&>40-/'K#&-{%#&Z
-W)c_B0:%(GA#&30c#>43(),%&0Y_Bn43 0e-b)emY0D>#&3#&GIGI0,GAi

:iK}'0C),3(_
mY0Dn560Y_

`)-T0|-T'@#&-u-/'0|ThJ-b)F-/'E65.>43&),%(0B_Yn430'@#5t:56'K#&>40R_B0:%(G6#&3#,+
 -/'EA5@PR0B#&ZK5rEI-430:>430Y560:Z-b5r$_#&-W##&GHGA),%#&-/0Y_)ZQ-/'0:YB:

-TE6),Z

(( (B-b)-/'0O560:-@),+#&%(-/EILM0>43()%(0Y55f)35@CF'0,Z0,L 0,3KEI-E65

%),PQ>4n4-T0,3e#&Z@_

Z0,0Y_B0Y_ai `),-/0t-T'@#&-{-/'0t>43()%(0Y_Bn430#&GIG6),%#&-/0Y5_#&-W#
),Z

-T'0Q>43&),%(0B5f5),35

),Z-/'0{:YM:#&ZK_

-T'0d560:%),ZK_x#&GIGA)%#&-TE6),ZEA5O_a),Z0QLMEA#



&

PE > num
reduced...
),ZK56EA_B0:3r-T'0eZ0(W->43&),%(0Y_Bn430AL
k

|u

add(p

iteration)

(lower(iteration) PE number)
n+=[lower(iteration)]n;

}a'EA5=mYG6),%
0:Z@_%),PR>4n4-/0:3Wi

)+

 +b5A-W#&-T0,PR0,Z-Wi

%)B_B0

8Z=-/'0

EA5=0 0:%&n4-T0B_

A-

560 n40:Z-TEA#&GHGIV

),Z

-/'0

),-T'0:3`'@#&ZK_BjOEI-l>#&3#&GIGI0:G%)B_B0EIZ

+T3(),Z-T'0

5A-W#&-/0:PR0,Z-J0:L{#&GIn#&-/0Y5#?GA)B[:EI%#&G{%)ZK_BEI-/EA),Z

F$
F$
),Z-/'0=560:-\),+U#&%(-/EILM0>43&),%(0B5f5),35#&ZK_=0 0,%(n4-T0B5NEI-W5`%),ZK560 n40,Z-\),Z

!+

A-

lMZ#RPd#&ZZ0,3N),+56>40Y#YEIZ@[:jtEH-

-T'0d>43&),%(0Y55),35F-/'K#&-25#&-/EA5A+TV-/'0d-/0Y56-Wi
3 0,>43 0B5A0,Z-W5u#$>#&3#&GIGI0:G pEI+@5A-W#&-T0,PR0,Z-Wi

`)CCF0$GA)B)T|#&--T'0uPU#&EHZ>43&)B[:3#&PUi Mp-EA5#&GA5)u0 W0:%&n4-T0B_z)Z


L

0:Z@_i:}a'0e14356-n4Zn5An#&GB>4EH0:%(0),+%)~_Y0D-b)e%#&-T%('F-T'0e0:VY0EA5

-T'0u+T3(),Z-

fb.z   ..{ =&!~ ~{

(sum) PE number = l

Y 

 !

(0);

-~PU)B56-),Z0856'K#&>40S%#&ZzmY0#&%(-TEHL 08#&-#&ZV[:EILM0,Zc-TEIPQ0Yi:q'0:Z#5A'@#&>40

EA5#&%&-TEIL{#&-/0Y_X#&GIGK>43()%(0Y55f)35eEIZd-/'0s56'K#&>40FmY0:%),PQ0s#&%(-/EILM0N#&ZK_`>#&3#&GIGI0,G

(W

%)B_B0u%#&Z

mY0u0

0,%(n4-/0Y_z),Z

%#&ZFmY08:bbi

F0B5A-/0Y_

-/'0:Pdi `)-T0S-/'K#&- F$

 +

>43()%(0Y55f)35 -/'K#&- 3 0,PU#&EIZ0Y_c#&%(-/EILM0u+T3()P

| b5A-W#&-/0:PR0,Z-W5

(W

-T'0$>430:LMEA)n5 F
$ 5A-W#&-/0:PR0,Z-W5fi
l O56-/3Wn4%(-/n43 0B_\56-b#&-/0:PQ0:Z-rEIZ-T'02560:Z@5A08-T'@#&-TjMCF'0:ZQ-T'08>43&)

}a'EA5KEA5.#

#&Z@_

F$ 56-W#&-T0,PR0:Z-b5O56EIPR>4GHV\W(bt-T'0Zn4PRmY0,32),+#&%(-/EILM0
0Y#&%('56n4%(%(0Y556EILM0 F$ b5A-W#&-/0:PR0,Z-.EA5e0 0,%(n4-/0Y_),Z -T'0

>43()%(0Y55f)35

[:3#&P

He+T3(),P

-T'0

(W

56-b#&-/0:PQ0:Z-$-/'0z%),Z-T0

(+

-$-T'@#&-J0 EA56-T0B_R>43bEA),3

|$
-b)EI-aEA5r30Y56-b)3 0B_i ZN)-T'0:3uC),3&_56jBC|'0:Z^),Z0?GI0Y#&LM0Y5u# F
$ mYGA),%Yj#&GIG
>43()%(0Y55f)35S-T'@#&-C|0:30c-Tn43WZ0Y_\),++$mYVQ-T'0cGA)B[:EI%#&G{%),Z@_YEH-TEA)Z#&30O-Tn43WZ0Y_

;M

m#&%),Z@i

F0B5A-/0Y_

56-W#&-T0,PR0:Z-b5J56EIPR>4GHV8%('@#&ZK[:0.-/'0
%(n43b30:Z-{5A'@#&>40?gp#&Z@_F
F
hK-/'0e>43 0,L E6),n5AGHV`#&%(-/EILM0O56'K#&>40eC|'0,Z-T'0>43&)B[:3#&PGI0B#&L 0B5a-/'0eEIZZ0:3
F 5A-W#&-/0:PR0,Z-Wopi
`)-T0 -/'0 0 >430Y55AEA)Z

>43()%(0Y_Bn430*ghEAi 0BiEI-

Y 
l

3Wn4Z@5),Z

%)B),3&_BEIZK#&-/02)+S#D>43&),%(0B5f5),3SEHZd#
#&3 0Zn4PRmY0,3 0B_

(+

+p3&),P

v-

#On4ZE n402Zn4PQmY0:3|ghEIZ

}a'E65FEA5#N>430Y_B0,14Z0Y_x>#&3#&GIGI0,G

(+

[:EHL 0,Zd56'K#&>40 #&3b3#&Via}a'0Y5608%)~),3(_BEIZ@#&-T0B5

5f)-/'0

),Z0 _BEIPQ0:ZK56EA),Z@#&G
#&3b3#&VGIE Y0

(0)

#&GIGz#&%&-TEILM0U>43&),%(0B5f5),35o?-/'K#&-3 0,-Tn43bZ@5F-T'0

sum

),ZGIV

(W

%)~),3(_BEIZ@#&-T0-/'K#&-U0

E65A-W5EIZ

EA5S-T'0i}a'EA5?56-b#&-/0:PQ0:Z-#55AE6[:Z0Y_

>#&3#&GHGI0:GAor-W)20Y#&%('U>43&),%(0B5f5),3

EIZU-/'0N56'K#&>40

F0,3 0?EA5.#GHEA5A-u),+-T'08>430 +b_B0:14Z0B_|+pn4Z%(-/EA),ZK5K-/'K#&-%#&ZmY08n560Y_|-W)#&%(sum


%&0Y55
5A'@#&>40Y5L
i l Y  (YY  )  _B0:14Z0Y_2#&m),LM0Yi

4 i & K (b& )  30:-/n43bZ@5-/'0 T

),+ -/'0 [:EILM0:Z 56'K#&>40
-T'EA5zE65c-/'0^Zn4PQmY0:3s),+_BEIPR0,ZK56EA),ZK5_B0:14Z0Y_+)32EI-bi="
W #&PR>4GH0AL
 &K
E65a0.
- n#&G-b)~ i
T i l (sum)


3 0,-Tn43WZK5-/'0S-W),-W#&GZn4PRmY0:3$),+Y>)~5AEI-/EA),Z@5K),+#
$
(
)
[:EILM0:Z^56'K#&>40
0B5f560:Z-TE6#&GIGIVF-/'0?Zn4PRmY0:3e),+a>43&),%(0Y55),35#&GIGA),%#&-/0Y_
-b)eEH-bi l $
EA5 ,V
4 i
(sum)
i  b(buYY  
30:-/n43bZK5.-T'0F3#&Z@[:0`),+#[:EILM0:Zx_BEIPQ0:Z|+
(
)
5AE6),Zs),+@#5A'@#&>40Yi

F0(W-TjC|0e0 W#&PQEIZ0-T'0%)B_B0.L


(i=0;i 8;i++)

temp;
scanf("%d",&temp);

&& .{KW zW   !. 

 

[i]n=temp;

}a'EA530Y#_a5 Zn4PQmY0:35-/VY>40Y_
>43()%(0Y55f)35fiM}a'0

scanf

EIZzmYVc-T'0Dn560:3.#&Z@_56-b),30Y5a-T'0:P

> +T>43(),%&0Y_Bn43 0z5)-T'@#&-

>43()%(0Y_Bn430EA5{-/'0z56-b#&Z@_#&3&_

P

EIZ-W)

EI-S30Y#_a5c_a#&-b#cEIZ-b)2-T'0.:Y T:%),PR>4n4-/0:3Wiqs0230Y#_N-/'0N_a#&-W#zEIZ-b)N#
-T0,PR>),3#&3bVcL{#&3bEA#&mYGI0.ZK#&PQ0Y5
_B0:%(GA#&30Y_EIZR-T'0

#&Z@_8-/'0:ZR#55AEA[:ZzEI-MEIZ-b)D-/'0L{#&3bEA#&mYGI0

temp i`)-T0 -/'025A-W#&-T0,PR0,Zn


sum
[i]n=temp;
0,+p0,35-W)t_a#&-W#@EIZ >#&3#&GIGH0:G>43&),%(0Y55),35i}a'0?_a#&-b#

>43()%(0Y55f)35),+

-T'EA5 EHGIGIn56-T3#&-/0Y5'@),C

),Z0S3

&6

EA5S#55AEA[:Z0Y_|-W)-T'0O 4 %)>4V`),+

temp
>#&3#&GIGI0,G,%)B_B0#5BCF0,GIG 

>

PR0,Z-e),Z#

i n4%('^56-b#&-/0:PQ0:Z-b5r%#&Z2mY0n560Y_H

n
-/'E65MEA5B'@),C),Z0_a),0B5/:`6WbK_a#&-W#{PU)L 0(+

),ZZ0:%&-TEA)Zx#&%('EIZ0Bi

>43()%(0Y55f)3Tj0Y#&%&'56n4m5A%&3bEI>4-E6540,Z%(G6)B5A0B_
0:-W5

[2][3][1]z

A+

EIZ|EH-b5),CFZ|>#&EI3
)+K5 n#&30mY3#&%

f+

}a'0,3 0
EA5r#&GA5f)?#.56>40:%(EA#&GZ@),-b#&-/EA),ZO+b),3a3 0,+p0:30:Z%(EIZ@[8: bH:>43&),%(0Y5

5f)35EIZ`#$b(i n4>4>)B560
5A'@#&>40Yi.}'0:Zs-/'0OZK),-W#&-/EA),Z
-T'0

C+

qUEI-T'#PRn4GI-/E b_YEHPR0:Z@5AE6),Z56'K#&>40),+

 

EA5$#u>#&3#&GIGI0,GYL{#&3bEA#&mYGI0DEIZs#),Z0 _BEIPQ0:Z@5AEA)ZK#&G

[l

Y 

(0)+1]p

30:+T0:35S-W)O-/'0OL{#&GIn40Q),+

p 0,Z-/3bVcEIZF-/'E65u56'K#&>40Yi:}a'0c56-b#&-/0:PQ0:Z-

[l

Y 

EIZ

(0)+1]p=p;

(+

560:ZK_a5_a#&-b#$EHZ|0B#&%('F>43&),%(0B5f5),3KEIZz-T'EA5u56'K#&>40-W)D-T'0eZ0 -'EA[:'0,3r>43&)

{

%(0Y55),3EIZN-T'0`56'K#&>40
5A-W#&-/0:PR0,Z-

EIZ),-/'0,3C`)3(_a5EH-_a),0Y5t#tb :4(TplMic}a'0

(this
shape) Y 
Y 

(0)+1][l
z=[
l

(1) 1]z;

(+

_a),0Y5#u-/C`) b_YEHPR0:Z@5AE6),ZK#&G56'EI+T-K),>40,3#&-/EA),ZKi

MZN56n4%('%#560Y56j~-/'0:30?EA5S#85A'@),3b-/'K#&ZK_z+),33 0,+p0,3b3bEIZ@[8-b)-/'0zYbY~
(W #O5A'@#&>40  -/'EA5$E65-/'0r:
hTlMi`}a'00
W >430Y55AEA)Z l Y  (i)kljCF'0:30 i EA5-/'0%(n43b30:Z-DEIZ@_B0 W j$E65
3 0,>43 0B5A0,Z-/0Y_mYVd#epi
}a'0_#&-W#,p+ Pd),LM0:PQ0:Z-W5_B0Y56%(3bEHmY0Y_\#&m)L 0c%#&Z`mY0
3 0,>4GA#&%(0B_mYVL

HTl)38YbY@&H:t),+
5f),PQ0cEIZK_B0 zEHZ

[.+1]p=p;
#&ZK_
F

gh-/'E65

/

5A'@#&>40Yo = is

  /

 iI;

fb.z   ..{ =&!~ ~{

(W

}a'0Z0

-5#&PR>4GI0>43()~[:3#&P



 

(+

EIGIGHn5A-/3#&-/0Y5Y-T'0un560),+#{-/C`) b_YEHPR0:Z@5AE6),ZK#&G

5A'@#&>40Yi -YEHPR>4GI0,PR0:Z-b5-/'0 a0:LMEA#&GA_BE

>

),n4Z-/EIZK[

GA[Y),3bEH-T'PRjM_BEA56%(n55A0B_EIZ

~MZ-/3&)B_Bn4%(-TE6),ZKiQYEI356-Tj4EI-[:0,Z0,3#&-T0B5#3#&ZK_a),P #&3b3#&Vd),+J>4ECW0,GA5$n56EIZK[
{ & Q+Tn4Z%(-/EA),Z@i}a'0:ZNEI-EIPR>4GH0:PR0,Z-W5S-T'0a0:LMEA#&G6_YES#&GA[Y),3bEH-T'P #&ZK_

-T'0
-T'0

3 0,>),3b-W5u),Z|-T'0Zn4PQmY0:3.)+%),ZZ0,%(-T0B_O%),PR>),Z0:Z-b5a+),n4Z@_i

m p(
u stdio.h
stdlib.h
[
l$ [64][128]pix;
m p ( u

*v image, represented as an array of


* pixels
*
v
p
:pix val, nval;
* 1v or 0, representing on or off
* pixel
*
v
p
total = 0;
* total v number of clusters found
* thus far *
p   &
p   &
:
h(
:
);
p
p
:pix h( :pix);
k
update();
p
isolated();
k
print array();

k

main()

i, j, on pixels;

* number
of 1 pixels in
v
image *
$ $ p seed; v ** seed
value passed to random number
v
* generator
*
v
p
density; * density
(% ofv 1s) in original
;
* image (0 100) *
printf("Enter density and seed: ");
scanf("%d %u", &density, &seed);
srand(seed);

(i = 0; i 64; i++)

(j = 0; j 64; j++) 7!7


7!7
[i][j] val = ((i == 7 0)
(i
= 63)
7
(j == 0) (j = 63)) ? 0 :
(rand() % 100 density);
printf("Array Initialized\n");
print array();
on pixels = 1;
i = 0;
F
(pix)

|T
(on pixels 0)

&& .{KW zW   !. 

t = 0;
update();
i++;
t += val;

T
(i 2)
print array();
on pixels = t;
printf(
"Iteration %.3d -- %.4d pixels on, %.3d clusters found\n",
i, on pixels, total);

printf("Final tally:
total);

 

&

 s

h(p :

(x

 

&

%d clusters found \n",

x)

= 1);

update()
total  += isolated();
l Y 
(( Y  (0) 0)
& (l Y  (0) 63)
& (l Y  (1) 0)
(1) ; 63))
& (l
val = h(h([.][. 1] val
+[.][.] val
;
+[. + 1][.] val 1)
+ h([.][.] val ;
+[. + 1][. 1] val

F$

isolated()
p

 
:

t = 0;
iso;
iso = (val ==
1)
;
& ([. 1][.] val == 0)
& ([. + 1][.]
val == 0)
;
& ([.][. 1] val == 0)
& ([.][.
+ 1] val
== 0)
;
;
& ([. 1][. 1] val == 0)

&

1));

fb.z   ..{ =&!~ ~{

 

& ([. +; 1][. 1] val == 0)


& ([. 1][. + 1] val == 0)
& ([. + 1][. + 1] val == 0);
t +=
iso;
s
t;

print
array()

i, j;

(i = 0; i 15; i++)

(j = 0; j 64; j++)
printf("%d",[i][j] val);
printf("\n");

printf("\n\n");

T i T i iPDYYYH:? ( T8u})D3Wn4Z# > tM>43()~[:3#&PL


i?EILM0eEI-@#$ZK#&PQ0c),+-T'0e+)3bP
kn
4 i > ),PR>4EIGH0eEI- LMEA##u%),PQPU#&ZK_),name.cs

+-T'0+)3bPL
%5ZK#&PR0Bi %5
-T'0:30Q#&3 0#?Zn4PRmY0,38),+)>4-TEA)ZK5u-/'K#&-J%#&Z`mY0Q5An4>4>4GHEI0Y_-b)c-T'0
%),PQ>4EIGI0:3Wi}a'0Y560.%(GA)B560:GHVc%),3b30Y56>),ZK_c-W)-/'0),>4-TE6),ZK5a+),3{-T'0

>

ZK#&3bV

(M

%),PQ>4EIGI0:3Wi +~ZK)),>4-/EA),Z

14GI0
EA5K56n4>4>4GIEI0B_Yj-/'0t_B0:+b#&n4GI-BZK#&PQ0SEA5j

T i"W

0,%(n4-/0EI- L E6##u%),PRPd#&ZK_
#i),n4}a'EA5s#&-/-b#&%('0Y5-W)X-T'0

a.out

>

a.out

kgT#5CFEH-T'),3&_BEIZK#&3WV

>

opi

),ZZ0,%(-TE6),Z#&%('EIZ0:j#&Z@_0 0:%&n4-T0B5

& s

C+

),3&_BE

30Y[Y#&3&_BEIZK[
-/'0SZ@#&PR0)+B-T'0?),n4-/>4n4-


:(W$:8Tl:Hl6pltu
qs0CFEIGIGMmY0B[:EIZ-T'EA5.5A0,%

 

T i i iH\

-TE6),ZFmYV_BEA56%(n55AEIZ@[-T'0D>430:%(E65A0DPR0Y#&ZEIZK[c)+-/'0 F
A5 -W#&-T0,PR0,Z-K#&Z@_EI-W5
0:++p0,%(-W5)Z F$ 5A-W#&-/0:PR0,Z-W5fi 5'@#5mY0:0:ZR5#&EA_mY0:+b),3 ,
0 j-/'0 F 5A-W#&-/0

PR0,Z-8_B0:-/0:3bPQEIZ0B5-/'0\YbYe56'K#&>40Bi
_B0:-/0:3bPQEIZ0B5CF'EI%('Q_a#&-b#K%#&Z

(W

3Wn4GI0D'K#54-T'0e+b),GIGA),C|EIZK[0

i

MZ[:0:Z0:3#&GIj$-T'0Q%&n43b3 0,Z-

5A'@#&>40

p&l>#&3b-/EI%(EH>#&-T0.EIZc%)PR>4n4-W#&-TEA)ZK5i}a'E65

%&0:>4-/EA),ZK5

)n%#&Z*_B0:%&GA#&3 0^#c>#&3#&GIGI0,GKL{#&3bEA#&mYGI02-/'K#&-
EA5eZ@),-t),+.-/'02%(n43b30:Z-

C/

5A'@#&>40Yi8}a'EA5.L{#&3bE6#&mYGI0Y5
%#&ZZ@),-mY0|EIZEI-/EA#&GIE 0B_Yj$56EIZ%&0F-/'K#&-C`),n4GA_
EIZL{),GHL 0eEI-b54>#&3b-/EI%(EI>#&-/EA),Z2EHZ#&%(-/EILM0%)PR>4n4-W#&-TEA)ZK5i

&& .{KW zW   !. 

4 i

>#&3#&GIGH0:GL{#&3bEA#&mYGI0\-T'@#&-

),>40:3#&-T0B_

EA5|Z@),-),+c-/'0U%(n43W3 0,Z-56'K#&>40d%#&Z

_+

n4>),ZEI+`EH-EA5^GI0,+p- pEIZ@_B0 0Y_mYV

_+
M Z

5AEIZ%(0U-/'0U30Y56n4GI-),+cGI0,+p- pEIZ@_B0 EIZK[5An4%&'


EA5\0:++T0:%(-/EILM0:GIV

#=56%#&GA#&3Wi

5A-W#&-/0:PR0,Z-W5.GHE Y0

mY0

56%#&GA#&35

#`>#&3#&GIGI0:GL{#&3bE6#&mYGI0

(W

)-T'0:3C),3&_56jsV),n

0:LM0:ZN-T'@),n[:'

[2][3]z=2;

5A'@#&>40Yi

5A%#&GA#&3),3

%#&Z0 0:%(n4-/0

EA5SZK),-e),+u-/'0z%(n43b30:Z-

T i}a'030Y56n4GI-S),+@GI0,+p-_+pEIZ@_Y0(WEIZK[#eL{#&3bEA#&mYGI08ZK),-S),+@-/'08%(n43b30:Z-
5A'@#&>40

mYV2#J>#&3#&GIGI0,G L{#&3bE6#&mYGI0
-T'@#&-lu),+M-T'0
%(n43b30:Z-r56'K#&>40.EA5 3 0B[Y#&3(_B0Y_F#5

M

mY0:EIZ@[c),+-/'0D%(n43b30:Z-K56'K#&>40Yi ZR),-/'0,3@C`),3&_a5Aj-/'0D+),GIG6),CFEIZ@[%)B_B0

EA54Lr#&GHEA_

[
[l$

l$

[128][64]s1;
[8192]s2;
p
:s2
a,b;
p
:s1 z;
F
(s2) [a][b]z=2;

56EIZ%(0c-/'00 >43 0B5f56EA),Z


),+-T'0c56'K#&>40

s2

[a][b]z

EA530Y[Y#&3&_B0Y_^#5mY0:EHZK[

i:}a'EA54EA540Y55A0,Z-/EA#&GIGIV_Bn40-b)D-/'0D+#&%(-

-/'K#&-M-T'085A0,-r)+r&:bEI-M-b#Y0B5J),ZQ#&3 08H:
56'K#&>40


s2

5AEHZ%(0

a
i;M-EA5?>)~5f56EImYGI0-W)U#&>4>4GIV*
),+),>40,3#&-b)3Tj

#&ZK_

#&30eEIZ@_B0 0Y_

b#&ZK_

WemYV8-T'0

mYV

s1
#&Z@_d-T'0U#_a_B3

a
l$
j-W)#>#&3#&GIGI0,G4Lr#&3WEA#&mYGI0 -/'K#&-@E65$ZK),-
),+K-T'0

&

f+

0B5f5

%(n43b30:Z-

5A'@#&>40Yi}a'EA5SEA5?_Bn40O-b)O-T'0|+b#&%(-J-T'@#&-J-T'0Y560#&30OEIPR>4GI0,PR0,Z-/0Y_QmYV

 i

-T'0e%)PR>4EIGI0,3Tj #&Z@__)ZKkl- EIZLr)GILM0O#&%(-/n#&GB>#&3#&GIGI0,GB%),PQ>4n4-b#&-/EA),Z@5fi

_+

(W

)n\%#&Z`3bE6[:'- pEIZ@_Y0 N#?>#&3#&GIGI0:G$#&3b3#&VR-/'K#&-@EA5uZ@),-),+J-/'0c%(n43b30:Z5A'@#&>40eC|EI-T'#$l

bbY

i )nX%#&ZUn560-/'0i_a),-$Q)>40:3#&-W),3t-b)s560:GI0,%(-?#

140:GA_X),+t#

H

5A-/3Wn4%&-Tn430|),3Kn4ZEA)ZF-/'K#&-E65ZK)-K),+-T'0%(n43b30:Z-K56'K#&>40

-T'@#&-140,GA_

4 F

>#&3#&GIGI0,G
>43&),LMEA_B0Y_

EA5aZ@),-K#&Z@),-/'0:3
5A-/3Wn4%(-/n430:j n4ZEA),Zj),3.#&3b3#&Vi

i i i pl
ph.YpS}a'0 F 56-W#&-T0,PR0:Z-{TH&bt#
with
[:EILM0:Z\5A'@#&>40#&Z@_FPU#Y0B5JEI-a-/'0FYWY{56'K#&>40Yi}'08%),Z%(0,>4-S)+r%(n43b30:Z5A'@#&>40|E65%(0,Z-/3#&G@-W)F-T'0

>

PRn56-B%),Z@5AE6_Y0,3{-/'0
>43&),mYGI0,P

(W

~M

tGA#&Z@[:n#[:0Yi Z)3(_B0:3-W)Fn4ZK_B0,35A-W#&ZK_`EI-/jrC|0
),+{_B0Y56%(3bEImYEIZ@[
 %)B_B0Yi EIZ%(0
0B#&%(' >43&)

6M pX

(+

%(0Y55),3$0 0:%(n4-/0Y5r-/'0z5#&PR0EIZ@5A-/3Wn4%&-TEA)ZjYEI-J56n4+14%(0Y5r-W)z_Y0B5A%&3bEImY0?CF'@#&-:
6WbbE65u_a),EIZ@[?EIZF0Y#&%('>43&)B[:3#&P

56-/0:>i~qs0e%)ZK56EA_B0:3D#?5AEIZ@[:GI0:WH

>43()%(0Y55f)3F#&Z@_sEH-b58#&%(-TE6),ZK5iF}a'EA5
:b.>43&),%(0B5f5),3?CFEHGIGKmY0%#&GIGH0Y_-T'0
YbY>43&),%(0Y55),3biO}a'0e-/0:3WPi&%(n43b30:Z->43&),%(0B5f5),3g$8_a),0B5aZ@),-PQ0Y#&Z|-T'@#&-



),ZGHV),Z0.>43&),%(0B5f5),3@EA5yi&%(n43W3 0,Z-$#&-#&ZV[:EHL 0,ZO-TEIPQ0

EI-YPR0,3 0,GIV560:GI0,%(-W5

),Z0>43&),%(0Y55),3),n4-r),+K#&GIG),+ -T'0e>43&),%(0Y55),35u#&Z@_n5A0B5EI-@#5J#&ZO
'K),C

-T'0e>#&3#&GHGI0:GB>43&)B[:3#&P0 0:%(n4-/0Y5),Zs#&GHG4),+-/'0D>43()%(0Y55f)35fi

. lS),+

fb.z   ..{ =&!~ ~{


}a'0YWYb(
_Y0,14Z0B5

 

+T%)B_B0YiM+4-T'0
>43(),%&0Y55f),34E65{#{PQ0:P+

 'K),C-/'0%(n43W3 0,Z-a>43()%(0Y55f)3uEA5
#&%(%&0Y55A0B_zEIZ>43&)B[:3#&P
%(n43b30:Z-456'K#&>40EA5]D_BEIPR0,ZK56EA),Z@#&GIj-T'0u%(n43W3 0,Z-

+

mY0:3.)+J#?] _BEIPQ0:Z@5AEA)ZK#&Ga#&3b3#&Vi

Y 

 -T'0e+Tn4Z%(-/EA),Z@5 l

W W

()

}a'0
Z0 -B0 #&PQ>4GI0
EIGIGIn56-/3#&-T0B5'K),C
3 0,Z-@5A'@#&>40e%#&ZmY0c#&%(%(0Y5560Y_
PRn4GI-/EI>4GIV#uLM0,%(-b)3

[
[l$
l$

,4

& 

CW

mYV#uPU#&-/3bE

*+

L{#&3bE6#&mYGI0Y5-/'K#&-#&30?: ),+Y-/'0
%(n43

(+

EIZ>#&3#&GHGI0:GB%)B_B0Yi }a'EA5%)~_Y0 p+T3#[:PR0,Z-C|EIGIG

 -/C`)~_YEHP

[8192]onedim;
:twodim
A;
p
:onedim v,prod;
k
main()

F
F

[l
(0)]prod+=A*[l
(1)]v;
* This code accesses prod and v, in
* spite of the fact that they are not of the
* current shape. The fact that twodim is
* the current shape
defines the pcoord(0)
v
* pcoord(1) *
Y 

(onedim) prod=0;
* Zero out the v vector. * v
v
(twodim) * Make the shape twodim current. *
Y 

PU#Y0B5EH-

Pd),30

d

E65cZ@),-bbbYpl@'0:30

}a'0sn560)+8-/'05A'@#&>40

twodim%)B_B0
%)ZLM0:ZEI0:Z-X-W)

-T'0

A+

#&3W3#&V #&%(%&0Y55

EI-?PQ0:30:GIV
),+

iOqs0

%),n4GA_'@#&LM0NC|3bEI-/-T0,Z-/'0N%)B_B0X#&m),LM0^C|EI-/'K),n4-8n5AEIZ@[^-/'EA556'K#&>40Yi }a'0
>43()%(0Y55f)35EIZ

-T'0*5A'@#&>40

twodim

#&30

-T'0Ub>43&),%(0B5f5),35N#5F-/'K)B560
),+8>43(),%&0Y55f),35foTi

EIZ*-T'056'K#&>40s:b gZK),-F5AEHPR>4GIV-/'05f#&PQ0YY

F0,3 0NEA5#RL 0,356EA),Z)+ -T'0^%)B_B0 +p+T3#[:PR0,Z-#&m),LM0\-/'K#&-2)ZGIVn560Y5c-T'0


+ 56'K#&>40.L

onedim
[
l$ &  ,4  -/C`)~_YEHP
[
l$ [8192]onedim;
p

:twodim A;

p
:onedim v,prod;
k
main()

F
F

(onedim) prod=0;
* Zero out the v vector. *
v
v
(onedim) * Continue to use the shape onedim. *

 

&& .{KW zW   !. 


v
Y 
 (0)v 128][l Y  (0) % 128]A*v;
l Y 
[
(0) 128]prod+=[l

F0,3 0,jMCF0n560-/'080 W>430Y55AEA)Z [l Y  (0)v 128][l Y  (0) % 128]A


i,qs0F#5f56n4PR0t-/'K#&--T'0256'K#&>40
EA5@Zn4P+
A
twodim
mY0:30Y_EIZ#u3()C{p+ Pd#*
m ),3J+b),3bPU#&-Wi
}a'0d5A0,%),ZK_d%)~_Y0(p+ +T3#[:PR0,Z-e%#&3b3bEI0B5|),n4-D-T'0U5#&PR0\#&%(-/EILMEI-TV#5-T'0
14356-bi }a'0zn5A0),+u-/'05A'@#&>40
EA5
ZK),-$0:Z-/EI30:GIV`0B5f560:Z-TE6#&GIj{mYn4-$0:Z|+
twodim
5An430Y5L
 }a'0e%)B_B0 p+ +T3#[:PR0,Z l Y 
 ag o  >43()B_K t l Y  4gs o  L&
-b)t3 0,+p0:3u-b)80,GI0:PQ0:Z-b5.),+

M (W

EA5H. lpjB#&ZK_

-T'EA5E65D_Bn40-W)+p0B#&-Tn430Y5D),+@-/'08'K#&3&_YC#&3 02),+
 -r0 0:%(n4-/0Y5K+#56-T0,3
-T'0
),ZZ0:%&-TEA)Z+x#&%('EIZ0Bi '@#&>40Y5z#&3 0QEIPR>4GH0:PR0,Z-/0Y_^EHZ'K#&3&_
56-b#&-/0:PQ0:Z-@'K#5#O_BEI30:%(-KEHZa
n40:Z%(0),Z`-/'0 #&3bE65
C`#&30#&ZK_^#
with
%)B_B0e-/'K#&-EA5[:0:Z0,3#&-/0Y_ mYVO-T'0
t %)PR>4EIGI0,3bi

>

T i i T iFpl|F

~0

>

.+

ph.Yp
}a'0,3 0R#&30`560:LM0:3#&G{EIPR>)3b-b#&Z W
+ 5A-W#&-T0,PR0,Z-Wi~pM Z
F$  b
%),PQ>4n4-b#&-/EA),Z@5a-/'K#&-M-W#Y0D>4GA#&%&0C|EI-/'EIZz-T'085A%)>40 ),+r# |$ 
+ 56-b#&-/0:PQ0:Z-Tj
-T'0#&%(-/EILM0 >43&),%(0B5f5),35X-/'K#&-#&3 05An4m Im 0:%(-^-b)=-/'0 %),Z@_YEH-TEA)ZK5XEIZ
-T'0
W #&%(-/GIVs0A- n#&G
F$  +b5A-W#&-T0,PR0,Z-e#&3 0-/'0),Z0B5C|'K)B560%)B)3(_BEIZ@#&-T0B5 #&3 0F0
-b) l Y 
-b) mY0t l:jmYn4-r'@#5
(& l Y 

i$}a'E65PU#&V^560:0,P
(0), ,
5f)PR0EHZ-/0:30Y56-TEIZ@[O%),ZK560A
- n4(0:Z) %(0Y5K-/'K#&-
#&30Z@),-
#&>4>#&30:Z-S#&-{14356-
[:GA#&Z%(0Yi
Q),3KEIZ@5A-W#&Z%(0,jEIZF-/'0D%)B_B0AL
where

%),Z@5AEA_B0,3#&-TE6),ZK5.EIZL{),GILMEIZ@[-T'0F0 0,%(n4-TE6),Zx),+S-/'0

l$
p

[8192]s;

:s z;

(z

F$

2) [.+2]z=z;

#z>43&),%(0B5f5),3

CFEIGIG30:%(0,EILM0Q-/'0L{#&GIn40\),+

[i+2]z
-T'0O),3bE6[:EIZK#&GML{#&GIn40c)+

gp#&ZK_Bj-/'0,3

0
PR0,Z-W5 EA5@56EIPQ>4GIV|#@&bH&K&4),+_a#&-W#5
[i+2]z

EI+8h&H:

Zn4PQmY0:3?7DC#5#&%(-/EILM0YoEA5JEI3b30:GI0,L{#&Z-Wi 43&),%(0B5f5),3
-b)e30:%&0:EILM0e-/'0c_#&-W#u+p3&),P>43&),%(0B5f5),3

[.]

n4>4>)B5A0D-T'0>43&),%(0Y55),35{'@#_

[0]z=1;
[1]z=3;

EIZ-/'E655A-W#&-/0

[.+2]
EH-4_a),0Y56ZKk-B'K#&LM0S-W)SmY0up&

+pL{#&GIn40B5u[:EILM0:Z|mYVL

i2
8Z-/'0c)-T'0:3K'K#&Z@_Bj>43(),%&0Y55f),3

[.]z
PQn5A- mY0c#&%&-TEILM0EHZ),3&_B0:3K-W)Db:?-/'0 _#&-W#i

E65

[i]z
0,+),30:j -T'0CF'0:-/'0,3K>43(),%&0Y55f),3

fb.z   ..{ =&!~ ~{

 h

[2]z=3;
[3]z=0;
[4]z=1;
[5]z=4;
[6]z=2;
[7]z=0;

&+

-T'0:Z8-T'0S%)B_B0S+T3#[:PR0,Z-a[:EILM0,Z#&m),LM0SCFEHGIG3 0B5An4GH-BEIZ-/'0u>43(),%&0Y55f),35'K#&L

EIZK[e-/'0DL{#&GIn40Y5

[0]z=1;
[1]z=3;
[2]z=3;
[3]z=3;
[4]z=3;
[5]z=4;
[6]z=2;
[7]z=4;

 +

q'0:Z2>43&),%(0B5f5),35.#&30tEHZK#&%(-/EILM0EIZ^# |
$ 56-b#&-/0:PQ0:Z--T'0:V|PU#&3|-TEIPQ0
#%(0,3b-b#&EHZ 5A0,ZK560
-T'0:V0 0:%(n4-/0c-/'0 %)~_Y0cEHZ #PU#&ZZ0:3
-/'K#&-@%#&n5A0B5



EIZ

ZK)
%('K#&Z@[:0Y5EHZR_a#&-W#EIZc-/'0,EI3PR0:Pd),3bV)3{30Y[:EA56-/0:35i}a'0:Vt%#&ZOmY0
>#5f56EILM0
3 0,%(0:EHL 0,35),+J_a#&-b#u+T3()P

-/'0,3

>43()%(0Y55f)35

>43()%(0Y55f)3~k5QGA),%#&G

%#&Z

#&G65f)

b(

_a#&-W#

+p3&),P

#&Z

rQ)3`EIZK56-b#&Z%(0-/'0X0:++p0,%(-R),+F-/'0

PR0,PU),3bVi

5A-W#&-/0:PR0,Z-

|u

),-/'0:3K>43&),%(0B5f5),356j 'K),C|0:LM0:3Wi
EHZK#&%(-/EILM0
F$

(z
2)
;
z=[. 1]z;

EA5-b)%#&n5A0-/'0\),3bEA[:EIZ@#&G?_a#&-b#zEIZX-/'0Q>#&3#&GIGI0,G$L{#&3bE6#&mYGI0
+),3WPR0Y_

?L

EIZ-b)

[0]z=1;
[1]z=1;
[2]z=3;
[3]z=0;
[4]z=1;
[5]z=1;
[6]z=2;
[7]z=0;

f+

-b)mY0Q-/3#&ZK5

&& .{KW zW   !. 

 

MZ),3(_B0,3@-b)en4Z@_B0:356-b#&Z@_


|u

PU),30%),PQ>4GI0 ?%)~_Y0eGIE Y0

(cond)
[.+3]z=[.+2]z;

EI-4EA5rZ0:%(0B5f5#&3bV-W)t>430:-/0:Z@_|-T'0?0 EA56-T0,Z%(0F),+$#Z0:CL{#&3bEA#&mYGI0
-TEHL 0D>43()%(0Y55f)35

|u

temp

EIZ^#&%

(cond)

: [
(z) temp;
temp=[.+2]z;
[.+3]z=temp;

T l$

,+

#|[:EHL 0,ZX_#&-W# pPd),LM0:PQ0:Z-JC|EIGIGa-b#Y0O>4GA#&%&0zEH+e#&Z@_\),ZGIVREH+-/'0O%)ZK_BEI-/EA),Z


EIZ

EA5?5#&-TEA56140Y_EIZN-/'0F%&n43b3 0,Z-$>43(),%&0Y55f),3Wi

MZN-T'EA5
%#5A0

cond >4GA#&V`#S(bH&3()GI0 -/'0?>43&),%(0Y55),3?#55f),%&EA#&-T0B_|CFEH-T'^),[.+2]z


#&ZK_
Z0tE65
[.+3]z
#D56-W),3#[:0eG6),%#&-/EA),Zz+),3{>#&3#&GIGI0,G_a#&-W#e#&ZK_?-T'0 )-T'0:3rE65K#>#55AEILM0.30:%(0,EILM0:3

+),3r>#&3#&GIGI0,Ga_a#&-b#i

 +
+

}a'0B5A0

$ 56-b#&-/0:PQ0:Z-b58%#&ZmY0%),n4>4GH0Y_UCFEI-/' #&Z ),>4-/EA),Z@#&G &(


|
%(GA#&n560YiD}a'0 &( T%(AG #&n560z-/'K#&-J+b),GIGA),C5?# |u 56-b#&-/0:PQ0:Z-KE65u0 0:%(n4-/0Y_
),Z-/'0\ YD),+-/'0d5A0,-

F$

 b+ 5A-W#&-T0,PR0,Z-Wi


|u

_BEI-TE6),Z

s2

#&%(-/EILM0REIZX-T'0

(c) s1;
s2;

&b(

6-W#&-/0:PR0,Z-

 +

)+>43()%(0Y55f)358-/'K#&-eC|0:30

|+

EA540 0:%&n4-T0B_)Zs#&GIG~>43&),%(0B5f5),35r-/'K#&-M?:5f#&-/EA56+pVO-T'0%),Z

}a'0,3 0|EA58#&G65f)|-/'0

 +

 k YF$ b5A-W#&-/0:PR0,Z-/jr-/'K#&-$0 >4GIEI%(EH-TGIV


#&GIG4)+-T'0e>43&),%(0B5f5),35S)+-T'0e%(n43W3 0,Z-K56'K#&>40Bi

3&_BEIZK#&3WV

#&3bEI-/'PR0,-TEH%),>40:3#&-TEA)ZK5?#&ZK_U#55AE6[:ZPR0,Z-W5SEIZ

5A0,Z-/EA#&GIGIV-/'05#&PR056EA[:ZEH14%#&Z%(0Q#5$EHZ

> (0 W

>

%&0:>4-@C|'0:ZU5A%#&G6#&3

M

TYb:

f+
*+

tK'K#&LM0O0Y5
#&Z@_>#&3

#&GIGI0,GL{#&3bEA#&mYGI0B5e#&30%)PRmYEIZ0Y_2EIZR-/'05f#&PQ0256-b#&-/0:PQ0:Z-Wi pZR-/'EA5J%#5A08-T'0

+),GHGA),CFEHZK[-TC)e3Wn4GI0B5$#&30c#&>4>4GHEI0Y_

i

56%#&GA#&3eLr#&GHn40|EA5?#&n4-W),PU#&-/EI%#&GHGIV`3 0,>4GIEI%#&-/0Y_
qlap
q

CF'0:30
Z0:%&0Y55f#&3bVt-W).+b),3bP
#J>#&3#&GIGI0:GL{#&GIn40Bi:}'EA5PQ0Y#&ZK5 -T'@#&-YEIZ#@PRE 0Y_

.L

0 >430Y55AEA)ZGIE Y0

CW

fb.z   ..{ =&!~ ~{

 !

a;
:someshape b,c;
b=a+c;

-T'0L{#&GIn40O),+
-Tn4-/0Y_2EIZ-b)

0:Z@_%),PR>4n4-/0:3Wi

a0:LMEA#&G6_YE >

}a'EA5?EA5z#&GA5f)Rn560Y_dEIZX-T'0

.L

>4GA#&%(0B5

+b),3KEIZ@5A-W#&Z%(0
T

 

&

 s 

C+
-T'0c+p3&),Z-_+

EA5{%),ZLM0:3W-T0B_|EIZ-W)z#
>#&3#&GIGI0:GML{#&3bEA#&mYGH0mY0:+b),3 0?EI-EA5S56n4m5A-/E

a
-/'0c0 W>430Y55AE6),ZKiu}a'E65$PR0B#&ZK5EH-rEA5

4 i

 b

h(T :

(x

 

&

(( (+p3&),P

8043&)B[:3#&P

)n4Z-/EIZK[

EIZ

5A0,L 0,3#&G

x)

= 1);

(W

N  &Cq
b >#&3#&GIGI0,G)>40:3#&-W),3@EA50 0:%(n4-/0Y_+b),3
#&GIG#&%(-/EILM0
>43()%(0Y55f)35#5EI+KEHZ 5f)PR0560:3bE6#&Gu)3(_B0:3Wiu}a'EA5PR0Y#&Z@5-/'K#&-{EIZ #&Z0 >430Y5

SL

5AE6),Z

f+

a;
:someshape b;
a=b;

CFEIGHGJ[:0:-@-/'0Lr#&GHn402),+@:8)+@-T'0

a_B0:-/0:3bPQEIZ0B_mY0:+)3

(W

00 0:%(n4-/EA),Z@i

>

%),>4EH0Y5e)+

K H)Z0

b
)B_B0GIE Y0e-/'0D+),GHGA),CFEHZK[AL

%#&ZZK),-rmY0

a;
:someshape b;
a += b;

CFEIGHG#55AE6[:Zz-W)

-T'085An4P

),+MH ),+M-/'0L{#&GIn40Y5K),+

LMEA#c#&ZQ0,+14%(EI0:Z-r>#&3#&GHGI0:G@#&GA[Y),3bEI-/'P
-T'@#&-n560Y_
-T'@#&-@-/'0

-W)

#_a_

i:}a'E654E65K#&%(%),PQ>4GIEA56'0Y_

Zn4PRmY0,354EIZF-/'05f#&PQ>4GI0e>43&)B[:3#&P

m#56EI%?%),PQ>4n4-b#&-/EA),Z@5[:EILM0:Z`EIZ-/'025f#&PQ>4GI0

Z0,%(0Y55f#&3WV(jJEIZ

-T'0GHEA[:'-8),+-T'EA5e3Wn4GH0

5AEHPR>4GIVc'@#&L 0DmY0:0,Z|C|3bEI-/-T0,Zs#5

total;
(sum) total += n;

+pGI0,L 0,GAo GHE Y0


[:EILM0:Z`#&m)L 0Bi`
),-/0
>43&)B[:3#&P
CF0,3 0 n4Z|+

gEIPR>4GH0:PR0,Z-/0Y_`#&-u#eGA),C

-T'0PU#&EIZ

%),PQ>4n4-b#&-/EA),ZX%),n4GA_

&& .{KW zW   !. 

 &

}a'EA5

EA5

043()~[:3#&PL
F

n560Y_

EIZ

5A0,LM0:3#&G

(pix)

|T
T

>4GA#&%(0B5

EIZ

-/'0

0,LMEA#&GA_BE >

),n4Z-/EIZK[

(on pixels 0)
t = 0;
update();
i++;
t += val;

T
(i 2)
print array();
on pixels = t;
printf(
"Iteration %.3d -- %.4d pixels on, %.3d clusters found\n",
i, on pixels, total);

T i i iaTHl$bt:`$b Ybci &b 2 i\}'EA5EA5|_B0(+


%(GA#&30Y_ 0
W #&%(-/GIVQ#54EIZ {6M > i
4 i  l$ F

0:30eE65$#&Z|0 W #&PR>4GI0.L
[
l$ bb h{56'K#&>40:Z@#&PR0(
CF'0:30bb hE65S#SGIEA56-J),+F
),3JPU),30|5AVYPQm),GA5rGIE Y0 [YY  ] 5A>40,%+
EI+pVYEHZK[-T'0s56EC
/ 0`),+u0Y#&%('_YEHPR0:Z@5AE6),Z),+u-T'0s#&3b3#&VX),+S>43&),%(0B5f5),35i{M+$ZK)
_B0Y56%(3bEI>4-W),3eE65[:EILM0:Zj4-/'0Q56'K#&>40cEA5u30Y[Y#&3&_B0Y_U#5$'@#&LMEIZK[|mY0,0:Z ),ZGIVQs
pHU56>40:%(EH140Y_QEI-W5c5A>40,%(EI14%#&-/EA),Z

PRn56-.mY02%),PR>4GH0:-/0Y_gT#5c_Y0B5A%&3bEImY0Y_

mY0:GA)C`o mY0,+),30EI- %#&Z|mY0en560Y_ai


q'0,Z56'K#&>40B58#&30`_B0:14Z0Y_UHN#>43&),%(0B_Yn430:jr-T'0:VX#&3 0_BVYZK#&PREH%#&GIGIV

(+

(W 6

#&GIGA),%#&-T0B_)ZF0:Z-T3WVz-W)e-/'0e>43&),%(0B_Bn43 0O#&Z@__Y0 #&GIG6),%#&-/0Y_),ZF0 EI-bi


%#&Z

'K#&>40B5

 HHpQ_BVYZK#&PREH%#&GIGIV\#&GIGA),%#&-T0B_\#&ZK_2+p30:0B_ai
}a'EA5$EA5_a),Z0
[l$ %),PQPU#&ZK_ai}a'EA54EA5#u>43()%(0Y_Bn430CF'@)B5A0.L
i14356->#&3#&PR0,-T0,3@EA5#Yh-W)e-/'0c56'K#&>40DmY0:EIZ@[e%(30Y#&-/0Y_.
4 iJ5A0,%),Z@_Q>#&3#&PR0,-T0,3DE65$-T'0T
),+J-T'05A'@#&>40gh-/'0OZn4PQmY0:38),+D_BEC+
PR0,ZK56EA),ZK5oP
T i-T'0
3 0,PU#&EIZEIZK[
>#&3#&PQ0:-/0:35{#&3 0
-/'0?56EC/ 0t),+Y0B#&%('_BEIPQ0:ZK56EA),Z2),+Y-T'0
#&GA5)cmY0

CFEI-/'F-/'0

Q),3

&p

5A'@#&>40Yi

EHZK56-b#&Z%(0:j$-T'0d56'K#&>40

sum
'K#&LM0mY0:0:Z_BVYZK#&PREH%#&GIGIV#&GIG6),%#&-/0Y_

l$

sum;

EIZ

-T'0Q14356-5f#&PQ>4GI0Q>43&)B[:3#&P

.L

LMEA#u-T'0e%)~_Y0

%),n4GA_

fb.z   ..{ =&!~ ~{

sum= &p
}a'0856'K#&>40

%(30Y#&-/0Y_

pix

mYV

l$

 &

(&sum,1,8192);

>



EIZO-/'0 a0:LMEA#&GA_BE

0

)n4Z-/EIZK[ 43()B[:3#&P%),n4G6_8'K#&LM0.mY0:0,Z

l$

pix;
&T [lu

pix=




'K#&>40Y52%#&Z




&p

&p
'0B#_Y0,3
-TE6),Z

&p
T i

mY00 >4GIEH%(EI-/GIV

[
[l$

14GH0

gV),n

_)

(&pix);

stdlib.h

ZK),Z0:0B_

SL

_B0:%(GA#&3#&-TEA)Z

 &pb&

%#&GIGIEIZ@[-T'0+pn4Z%(-/EA),Z

#`>),EIZ-/0:3Q-b)U-/'05A'@#&>40Yi

),n

l$ opi

_Y0B#&GIGA),%#&-T0B_mYV

#&Z@_*>#55AEIZ@[

l$

(&pix,2,64,128);

'K#&LM0

CF'0,Z

V),n

-T'EA5

|0:30

AL

-b)

EA5

n5A0

'0Y#_B0:3
#

-/'EA5
14GI0

-TVY>4EH%#&G

AL

" #&PR>4GH0

EHZ%(GIn_B0
-W)

-T'0

+pn4Z%
n560

>#&3#&GIGH0:G

-/VY>40

-/VY>40:ZK#&PQ0 56'K#&>40,ZK#&PR0L{#&3bEA#&mYGI0

 Q [l$ M Z > tTj5A'@#&>40Y5D%#&ZUmY030Y[Y#&3&_B0Y_X#5


&  l T ?
hRHF#&Z@_NEI-.EA5e>)B556EImYGI0-b)^_B0:%(GA#&30^#Q56%#&GA#&38>),EIZ-T0,38-W)\#Q5A'@#&>40Yi
"W#&PQ>4GI0AL
[
l$ tb#,
#&LMEIZ@[c_a),Z0D-T'EA5C|0D%#&Z|PU#Y0 #&Z`#55AEA[:ZPR0,Z-GHE Y0
`
#56n4P
#&ZK_ 0(W 0,%(n4-/0e%)B_B0DGIE Y0

F gtW#opiii

 i &b 

;M

*+

l$ p+Tn4Z%(-/EA),Z@i -4-b#Y0B5


#>#&3
#5EH-b5>#&3#&PQ0:-/0:3u#&ZK_830:-/n43bZK54-/'0
b(S),+M-T'0D>#&3#&PR0:-/0:3Wi

+pn4Z%(-/EA),ZR30:G6#&-T0B_|-b)-/'EA5@EA5r-/'0

#&GIGI0,G L{#&3bE6#&mYGI0

 

6

.L

b l
&p& i #&PR>4GI0
-/VY>40:ZK#&PQ0 56'K#&>40,ZK#&PR0tTL{#&3bEA#&mYGH0

F0,3 0

l T

AL

mY0,%),PR0B5$#u>)EIZ-/0:3K-W),EIZ@5A-W#&Z%(0B5$)+J#[:EILM0:ZF-TVY>40

variable
>#&3#&GIGI0,G4_a#&-W#iMp-mY0,%),PR0B5a>)~5f56EImYGI0-W)DC|3bEI-/0

 tTL{#&3bEA#&mYGI0Bi_a#&-b#

} VY>40:%#56-TEHZK[%#&ZFmY0_a),Z0DCFEI-/'F>#&3#&GIGI0:G_a#&-b#uEIZ
EA54>)B5f56EImYGI0D-b)eC|3bEI-/0
i

`),-/0

> tbi Q),3K0 W#&PQ>4GI0:jEH-

a=(int:sum)b;
type procedure name (type1 par1, type2 par2,
...,typen
parn);
> tG6)B)T5
-/'K#&-/'0
>430:+T0:3b30Y_
5AVYZ-b#,W
)+

0#5A%#&GAi

),+

GIEI-/-TGI0

GHE Y0

GIGM>43&),%(0Y_Bn430Y5
#&30z5An4>4>)~5A0B_z-W)mY0z_B0,%(GA#&30Y_RgT),3J>43()-b),-/VY>40Y_aoj

I,

&& .{KW zW   !. 

#5CF0,GIG#5mY0:EIZ@[_B0:14Z0Y_zghEAi 0Bi:%)B_B0Y_aoTi:}'0
lTpl),+M-/'0
>43&),%(0B_Yn430

AL

#&m),LM0eC),n4GA_

Bi

mY0

type procedure name (type1, type2,


...,typen);
),-/'0:3
C),3(_a56j
V),n
GHEA5A--/'0

EIZ

-/VY>40

),+

_a#&-W#

30:-/n43bZ0Y_

mYV

-T'0d>43&),%(0Y_Bn430:j8-T'0UZK#&PR0),+c-T'0U>43()%(0Y_Bn430:j2#&Z@_x-/'0U-/VY>40Y5R),+c-T'0

>

_+

>#&3#&PR0,-T0,35i:}'EA5EA5#3Wn4GH0D-/'K#&- EA5ZK),-r56-T3bEH%(-TGHVz0,Z+b),3 %&0Y_mYVc>430Y560:Z- _a#&V

.L

tTjmYn4- PU#&VcmY0eEHZF-/'0e+Tn4-Tn430Yi" #&PR>4GI0


p

:sum lower (T

iteration) * DEFINITION
of
v
lower procedure *

next iter=iteration+1;
:sum PE num ?
reduced
= (PE number t

next iter)
next iter;t
s
;
PE num reduced + (1
iteration) 1;

add(p

F$

iteration) * DEFINITION
of add
v
procedure *

(lower(iteration) PE number)
n+=PE[lower(iteration)].n;

MZ-T'0

3 0,PU#&EIZ@_B0:3?),+{-T'EA5e_BEA56%(n55AE6),Z

,W

>43 0,+p0,3b3 0B_5AVYZ-b# i


i=o

),+

>

t{C|08C|EIGIG#&GIC#&V5J+b),GIGA)C-T'0

M >


t EI-E65a>)B556EImYGI0e-W)c_B0:14Z0
naa $ Z
5A%#&GA#&3O#&ZK_>#&3#&GHGI0:G@LM0,35AE6),ZK5 )S
+ -T'0`5#&PR0|+pn4Z%&-TEA)Z*),3>43()%(0Y_Bn430Yi pZ

k

),-/'0:3.C),3(_a56j),Z0%#&Z

_B0:%(GA#&30

>43&),%(0B_Yn430Y5uC|EI-/'N-/'025f#&PQ0cZK#&PR0CFEI-/'

M-KE65.>)B556EImYGI0z-b)|'@#&LM0
+
>
C|EI-/'`PU#&ZV\),+@-/'056-W#&ZK_a#&3(_
+Tn4Z%(-/EA),Z@5fi

CFEI-/'_YEH+/+T0:30:Z-_a#&-W#t-/VY>40Y5
+),3-/'0z>#&3#&PQ0:-/0:35i

_BEI++p0:30:Z-LM0,35AE6),ZK5),+K#>43(),%&0Y_Bn43 0D+),3
_YEH+/+T0:30:Z-b(W
),+EIZ>4n4-M>#&3#&P
0:-/0:35iu}a'EA5EA5e#&GI30Y#_BV\_a),Z0

Q),3EIZ@5A-W#&Z%(0,jrEI-EA5.%(GI0Y#&3e-T'0F-/'0`56-W#&ZK_a#&3(_`GIEImY3#&3bV* math.h %),n4GA_BZKkmY0|n560Y_EIZ^-T'0Fn56n#&GKC`#&V`+b),3>#&3#&GIGI0,G


_a#&-W#

L -/'05A-W#&ZK_a#&3&_s+Tn4Z%(-/EA),Z@5
),ZGHV\%),PQ>4n4-T0^56EIZK[:GH0L{#&GIn40B5fi
Z -T'0N),-/'0:38'K#&Z@_Yj)Z0%#&ZU%)B_B0 > t
>43()~[:3#&PU5z#5EI+ePd#&ZVx),+D-T'0Y560Q+Tn4Z%(-/EA),Z@5t0(W E65A-/0Y_aiN}a'0 > t%),PR>4EIGH0:3
#&n4-b)PU#&-/EI%#&GIGIV30Y5),GILM0Y5J-T'0Y560 +pn4Z%(-TE6),ZT+ %#&GIGA5$EHZ-T'0>43&),>40:3.C#&VC|'0,Z
>#&3#&GIGI0,GYL{#&3bEA#&mYGI0B5S#&3 0z56n4>4>4GIEI0B_Q#5>#&3#&PR0,-T0,35fi.M ZF+#&%(-/j~Pd#&ZVR),+4-T'0Y560
+pn4Z%(-TE6),ZT+ %#&GIGA5 #&30FEHPR>4GI0,PR0:Z-T0B_ ),Zd-/'0 > ),ZZ0,%(-TE6),ZOx#&%('EIZ0#5t.
H:el: :(SEIZK56-T3 n4%(-/EA),ZK56jJ5)8-/'0 > ta%),PR>4EHGI0:3?56EIPQ>4GIVN[:0:Z0:3#&-/0Y5K-T'0

fb.z   ..{ =&!~ ~{

 &

0 [O M 6o:EIZ@5A-/3Wn4%&-TEA)ZK54-b)
>40:3*+

#&>4>43()>43bEA#&-/0#5560:PRmYGHVGA#&Z@[:n#[:0tgp#&%(-/n#&GIGIV(j
+),3WP-/'0Y560e%),PR>4n4-W#&-TE6),ZK5i

MZ ),3&_B0:3-W)),LM0:3WGA)B#_
 ?+

#Q+Tn4Z%(-/EA),ZV),n

PRn56-?n5A0NEI-W5OZ@#&PR0sEIZ=#&Z


k b5A-W#&-T0,PR0,Z-Wi }a'EA5PRn56-FmY0X+),GIG6),CF0B_ mYV -/'0 _B0,%(GA#&3#&-/EA),Z@5
),+c#&GHG?),+-/'0QL 0,356EA),ZK5|),+-/'0Q+pn4Z%&-TEA)Zjt#&ZK_d-/'0d_Y0,14ZEI-/EA),Z@5F),+D-T'0Y560
LM0:356EA),Z@5ughE6i 0Yi j-/'0

#&%(-Tn#&GY%)B_B0Yopi

T i i  iH\: aTHlrThT$}a'0+),GHGA),CFEHZK[N5A>40,%(EA#&G),>40,3#&-b)35
_B0:14Z0B_EIZ > tM+),3_a),EIZ@[e>#&3#&GIGI0,GB%),PQ>4n4-b#&-/EA),Z@5 L
 6 0:-W5-/'0 -W#&3&[:0:-@-W) -T'02YHY ),+K-/'0 L{#&GIn40B5e),+r-T'0 >#&3#&GIGI0,G
L{#&3bEA#&mYGI0 ),Z-/'0e3WEA[:'-_
 6 0:-W5J-/'08-b#&3&[:0:-{-b)-/'0F  Y ),+@-/'08L{#&GIn40Y5),+r-/'08>#&3#&GIGI0,G

L{#&3bEA#&mYGI0 ),Z-/'0e3WEA[:'-_
 6 0:-W5{-/'0-W#&3&[:0:--W)O#&Z| pT/tWlTlc)+4-T'0L{#&GIn40Y5$),+-/'0>#&3*+


#&3 0

#&GIGI0,GBL{#&3bEA#&mYGI0

),ZF-/'0D3bEA[:'-Wi

-Tn43WZK5-/'0DPREIZEIPRn4P

),+-/'0DLr#&3WEA#&mYGI0Y5i

(+

 }a'EA5EA5u#u+pn4Z%&-TEA)Z\)+-TC)Lr#&3WEA#&mYGI0Y5$gp56%#&GA#&3D),3J>#&3#&GIGH0:GAo-T'@#&-3 0

,W

-Tn43WZK5-/'0DPU# EIPQn4P

),+-/'0DL{#&3bEA#&mYGI0B5fi

  }a'E65E65LM0,3bVUPRn4%('

s+

>

#56%#&GA#&3NL{#&3bEA#&mYGI0EI-2mY0,'K#&LM0Y5Q
5A-W#&-T0,PR0,Z-Wi
F$

&

M+\&REA5
p8 E
;

#5

&

*+
),+
J )iM+2&E65

),>40:3#&-W),3 pLM0:35AEA)Z

sE

T

T

pl*GIEY0*-/'0%),3b30Y56>),ZK_BEIZ@[

AL

#XTHltL{#&3bEA#&mYGH0EI-mY0:'@#&L 0B5sGHE Y0


&( p

AL

 Y iY}a'EA5%#&Z2mY0n560Y_z+b),3y$#[Y5
#&ZK_OEA5.#_YL{#&Z-b#[:0B),n5Aj45AEIZ%(0tEI-4EA5@EIPR>4GH0:PR0,Z-/0Y_Q#5
#56EIZK[:GI0tmYEI-#&Z@_|-T'0

>

tK#&GA5)z_B0,14Z0Y5u#
Z0:C

>

GIE Y0-/'0\5A-W#&ZK_a#&3&_

lM-8EA5c%)B_B0Y_

-T'0dEI+ 56-b#&-/0:PQ0:Z-Wi

>

(+

 }a'EA5EA5u#u+pn4Z%&-TEA)Z\)+-TC)Lr#&3WEA#&mYGI0Y5$gp56%#&GA#&3D),3J>#&3#&GIGH0:GAo-T'@#&-3 0

_a#&-W#.-/VY>40

),ZZ0:%(-/EA),Zx#&%('EHZ0e%#&Z`#&%(%(0B5f5$5AEHZK[:GI0DmYEI-b5i

T i i iH\:. l@ ( Tuqs0DmY0Y[:EIZC|EI-/'N5f#&PQ>4GI0e>43&)B[:3#&Pd5r-b)%),P+
+

>4n4-T0pn4GIE6#F560:-W5#&ZK_Q-/'0#&ZK_B0:GImY3&),-560:-Wie}a'0Y560Q#&3 0OEIPQ>),3b-W#&Z-J+p3#&%

-b#&GD560:-W5en5A0B_NEIZUPd#&ZV#&3 0B#5c),+
>4n430\#&Z@_#&>4>4GIEH0Y_`PU#&-/'0:Pd#&-TEH%5c#&ZK_

>

%),PQ>4n4-T0,35A%(EH0:Z%&0uEIZ%(GIn_BEIZK[?_a#&-W#r%),PR>430Y556EA),Z#&ZK_EIPd#[:0u>43&),%(0B5f56EIZK[Yi

> 0
#&%(-/EILMEI-TV
-n4EI%YGIVz_B0,14ZEIZ@[$-T'0Y560
%),PQ>4n4-b#&-/EA),Z@5#&3 0EIZ-/0:30Y56-TEHZK[cEIZ-/'K#&-r-/'0,V3 0.
- n4EH3 0 0B5f560:Z|+
.-

),PR>4n4-/EIZK[-/'0B5A05A0,-b5J3 0 n4EI3 0B5e#D0,ZK),3WPU),n5D#&PU),n4Z-


),+

!/

#&ZK_DGH0:ZK_a5BEI-W5A0,GI+~-W)$>#&3#&GHGI0:GIE #&-TEA)ZKi,qs0JmY0Y[:EIZtmYV
5A0,-b5i}a'0Y560

-TE6#&GIGIV:.%),PQPRn4ZEI%#&-/EA),ZmY0,-TC|0:0:Z|>43()%(0Y55f)35fi

a0:- |

j RmY0t5),PR0.%)PR>4GI0(WZn4PQmY0:3Wi:}'0 pn4GIEA#560:-YCFEH-T'O>#&3#&PQ0:-/0:3
dj dCFEI-/'-/'08>43(),>40,3b-/VQ-/'K#&--T'0
|
5A0.-n40:Z%&0`),+S>)EIZ-W5 30:Pd#&EIZK5.m),n4ZK_B0B_i~F
0,3 0  2#&ZK_`+),3z#&GHG

 | i
),-/0c-T'@#&-@EI+ z5A-W#&3b-W5),n4-.56n4+14%(EI0:Z-TGHVRGA#&3&[:0:j  }
#5t
} 5AEHZ%(0-/'0|Zn4PQmY0:358#&3 0mY0,EIZK[s5- n#&3 0B_`0B#&%('d-/EIPR0BiUpM Zx),n43
>43()~[:3#&P
C|0OCFEIGIG%#&GI%&n4GA#&-T0 $+b),3e0B#&%('sEIZEH-TEA#&GL{#&GIn40Q),+ F#&ZK_3 0m 0,%(EA5D_B0:14Z0B_F-b)mY08-T'02560:-u),+@>),EHZ-W5

EIZEH-TEA#&GL{#&GIn40B5{)+ r-T'@#&-a[:EILM0?#@L{#&GIn40),+ YC|'K)B560?#&m5),GIn4-/0SL{#&GIn40SEA5



I*

&& .{KW zW   !. 

5AEHZ%(0#__BEIZ@[ | -b)56n4%('#rZn4PRmY0,3J_a),0Y56ZKk-~'K#&LM0#r%('K#&Z%(0),+~%#&Z%(0,GIEIZ@[
EH),n4
- i:qN0.C|EIGIG4#556EA[:Z#D_BEI++p0:30:Z->43&),%(0B5f5),3K-W)0B#&%('O>),EIZ- -/'K#&-MEA5-T0B5A-/0Y_ai

F0,3 0EA5-/'0D>43()~[:3#&PL


[ [64][128] plane;

:plane r, c, r1, c1, x, y, mag;

m p ( u
stdio.h
$
l
p
:plane
k

main()

injulia, row, column;

p r = 0.0, p c = 0.0;
i, j;
(plane)Y 
v
v
r = l Y  (0);
*
Determine
row
of
processor.
*
v
v
c = l v
(1);
*v Determine column
of processor. *
;
;
x = r 16.0 2.0;
* Determine x coordinate
* (real part of point that
* this processor will
* handle. ; We subtract 2.0
will
* so that x coordinates
;
v
* rangev from 2 to +2.
*
v
;
;
y = c 32.0 2.0;
* Determine y coordinate
* (complex part of point
* that this processor will
* handle. ; We subtract 2.0
* so that y coordinates
will
;
v
* range from 2 to +2. *
r = x;
c = y;
v
injulia = 1; * Initially assume that
all points
v
* are
in the Julia set. *
v
mag = 0.;
* Initially set the absolute value
* of the z(i)s to 0. We will
* calculate these absolute values
* and reject all points v for which
* they get too large. *

printf("Enter real part of par:\n");


! ST8;:8;:<T.@?T.@G8;.@D:E8;<>]8;2JN<>?FAdI;I;LN14??4D_a<>:.@D??4STAH??FS>JAdI;DJN:.@\"C?4STAH?b_#.@D]J
AC<T.@<>JNMeb?4L$#DI;8;A:EJN?>STAHJAd<!AHG:E.@I;D?FJAHI;DJ&%('@

fb.z   ..{ =&!~ ~{

scanf("%g", &p r);


printf("Enter complex part of par:\n");
scanf("%g",
&p c);
v
*
* Compute the first 100 zs for each point of the selected
* v region of the complex plane.
*


(i = 0; i 100; i++)
|
(plane)
v
*
* We only work with points still thought to
* v be in the Julia set.
*

|$ 
(injulia ; == 1)
r1 = r * r c * c + p r;
c1 = 2.0 * r * c + p c;
r = r1;
c = c1;
mag
= (r * r + c * c);
v
*
* This is the square of the absolute
* v value of the point.
*

|$
v

(mag

5.0) injulia = 0;

*
* Eliminate these points as candidates for
* v membership in the Julia set.
*

*
* Now we print out the array of 0s and 1s for half of the
* plane in question. A more serious program for computing a
* Julia set might work with more data points and display the
* set in a graphic image, rather than simply printing out a
* v boolean array.
*


(i = 0; i 64; i++)

(j = 0; j 64; j++)
printf("%d",[i][j] injulia);
printf("\n");

 

&& .{KW zW   !. 

 

(W

x#&Z@_Y0,GImY3&),-{5A0,-b5K#&30.L 0,3bV256EIPQEIGA#&3-b) pn4GIEA#560:-W5Aj0 %(0:>4-Y-/'K#&-/jEIZO%),P


>4n4-TEHZK[) +p3&),P
j CF02#__-/'0bl :&:8),+ eEIZ@5A-/0Y#_N),+#e1 0Y_

>#&3#&PR0,-T0,3 | i Z+#&%(-/jMEI-aEA5JZ@),-a'K#&3&_-b)560:0t-/'K#&-$# [:EILM0:ZQ>),EIZ-{EA5


-T'0
x#&ZK_B0,GImY3()-J5A0,-EI+#&Z@_Q),ZGIVzEI+-/'0*pn4GHEA#?5A0,-J[:0:Z0:3#&-/0Y_On5AEIZ@[?-/'E65{>),EIZ-

A-

#5$EI-W5u>#&3#&PR0,-T0,3.EA5::. hi}a'EA5),ZGIVR30 n4EI30Y5#PREIZ@),3%('K#&Z@[:0cEIZ

pL

-T'0e>43&)B[:3#&P


[ [64][128]plane;

:plane r, c, r1, c1, x, y, mag;

m p ( u
stdio.h
$
l
p
:lane
k

inmand, row, column;


main()

i, j;
(plane)Y 
v
v
r = l Y  (0);
* Determine row of processor. *
v
v
c = l v
(1);
*
Determine
column
of
processor.
*
;
v
;
x = r 16.0 2.0;
* Determine x coordinate
* (real part of point that
* this processor will
* handle. ; We subtract 2.0
* so that x coordinates
will
;
v
2
to
+2.
*
*
range
from
v
;
v
;
y = c 32.0 2.0;
* Determine y coordinate
* (complex part of point
* that this processor will
* handle. ; We subtract 2.0
will
* so that y coordinates
;
v
* range from 2 to +2. *
r = x;
c = y;
v
inmand = 1;
* Initially assume that allv points
* are
in
the Mandelbrot set. *
v
mag = 0.;
* Initially set the absolute value
* of the z(i)s to 0. We will
* calculate these absolute values
* and reject all points v for which
* they get too large. *

fb.z   ..{ =&!~ ~{

*
* Compute the first 100 zs for each point of the selected
* v region of the complex plane.
*


(i = 0; i 100; i++)
|
(plane)
v
*
* We only work with points still thought to
* v be in the Mandelbrot set.
*

|$ 
(inmand; == 1)
r1 = r * r c * c + x;
c1 = 2.0 * r * c + y;
r = r1;
c = c1;
mag
= (r * r + c * c);
v
*
* This is the square of the absolute
* v value of the point.
*

|$
v

(mag

5.0) inmand = 0;

*
* Eliminate these points as candidates for
* v membership in the Mandelbrot set.
*

*
* Now we print out the array of 0s and 1s for half of the
* plane in question. A more serious program for computing a
* Mandelbrot set might work with more data points and
* display the set in a graphic image, rather than simply
* v printing out a boolean array.
*


(i = 0; i 64; i++)

(j = 0; j 64; j++)
printf("%d",[i][j] inmand);
printf("\n");

 h

&& .{KW zW   !. 

 &

T i i BiaYhTMZ-/'EA5$5A0,%(-/EA),Z2CF0DCFEIGHG_YE65A%(n55{-/'0Dn5A0O)+>),EIZ-T0,35
tbi 5aC#5aPQ0:Z-TEA)Z0Y_#&m),LM0,j > tM%),Z-b#&EIZ@5S#&GIG),+-/'0en56n#&GB-/VY>40Y5$),+
> +p>),EIZ-T0,35ipM Z`#_a_BEI-TE6),ZjC|0e'K#&LM0.L
 5A%#&GA#&3K>),EIZ-T0,35-W) 56'K#&>40Y5f
>

EIZ

5A%#&GA#&3K>),EIZ-T0,35-W)D>#&3#&GIGH0:GBL{#&3bEA#&mYGH0Y5i

M-?EA5EIZ-T0,3 0B5A-/EIZ@[\-T'@#&-8-/'0,3 0NEA5ZK)`H. lzC`#&V-b)s'K#&LM0#>#&3#&GIGI0,G


GI-T'@),n[:'-/'0 > p+ 4 > ),ZZ0,%(-TE6),Z
>),EIZ-T0,3d-b)=#X>#&3#&GIGI0,GFL{#&3bEA#&mYGH0Yi
x#&%('EIZ0x'K#5REHZK_BEI30:%(-^#_a_B3 0B5f56EIZK[:j-/'0xPU#&ZZ0,3^EIZC|'EI%('

A-

$)B#&-/EIZK[

>),EIZ-O_a#&-b#2EA58>43&),%(0B5f560Y_X30 n4EI30Y5-/'K#&-eEIZK_BEI30:%(-z#_a_B30Y55AEIZ@[NmY0

|+

EIZ#t3#&-T'0:330Y56-T3WEI%(-/EILM0N#&ZK_ZK),Z pEIZ-Tn4EH-TEILM0C#&V,+i

_a),Z0

}'0_B0B5AEA[:Z0:3z),+$-T'0

> t'K#55AEHPR>4GIV ),>4-T0B_-b)sZK),-?EIPQ>4GI0:PQ0:Z--T'EA5 EIZ


> tbiM-%#&ZNmY0`_a),Z0|EIZx0 OM6Ngh-/'0#5f560:PQmYGIV`GA#&ZK[:n#[:0BohjmYn4-$EH-$EA5
ZK)%(n43b30:Z-tLM0,35AE6),Z),+

5A-/3#&EA[:'-T+b),3bC#&3(_sgp#&GH-T'@),n[:'EI-4EA5:(oTiMqs0%#&Zi&+b#Y0$
>#&3#&GIGI0,GY>),EIZ-T0,35

-b)`>#&3#&GIGH0:G
L{#&3bEA#&mYGI0B5mYVXPd#YEIZK[s-T'0bT&|EHZ-W)`WT(OF bbb/

E6i 0Yi j256-W),3bEIZ@[EIZK_BEILMEA_Bn#&Gt0:GI0,PR0:Z-b5FEHZ560:>#&3#&-T0


0Y#56VX#&ZK_

5A-/3#&EA[:'-T+b),3bC`#&3&_\-W)30:+T0:3?-b)s560:-W5

L{#&3bEA#&mYGI0B5fi@}a'0_YE65f#_BL{#&Z-W#[:0

>43&),%(0Y55),35i

EA5K-T'@#&-r-/'EA5JEA55AGA)CF0:3
-/'K#&ZR-T3 n40

#_a_Y30Y556EIZK[xghC|'EI%&'),ZGHV*EHZL{),GILM0Y5O-T'0dGA),%#&GPR0,PU),3bV=),+
>43()%(0Y55f)35foTi

5A%#&G6#&3K>),EIZ-/0:3K-W)

l$

tT>4-/3

(W

F gtT>4-/3oTiii

5ePQ0:Z-TEA)Z0Y_NmY0:+)3 0,j56'K#&>40B5e%#&Z

MZ

-T'0 &T
 l$ %),PRPd#&ZK_ai
n5A0,3@Z0,0Y_a5-b)eEHZ%(GIn_B0D-T'0e14GI0F

&p

l$

EIZK_BEI30:%&-

EHZK_BEILMEA_Bn#&G

#56'K#&>40D%#&Z|mY0D%)B_B0Y_#5

}a'EA54%#&Z|mY0c#&%(%(0B5f560Y_#5),Z0DPREA[:'-0

M-cE65

),+
>43&),%(0B5f5),35eLMEA#c>#&3#&GIGI0,G

>40,%(-

mY0\_BVYZ@#&PREI%#&GHGIV#&GIG6),%#&-/0Y_^LMEA#

)3(_B0:3-b)Rn560Q-/'E65t%),PQPU#&Z@_Yj$-T'0
i

stdlib.h
EA5#u>43()%(0Y_Bn430CF'@)B5A0.L

i14356->#&3#&PR0,-T0,3@EA5#Yh-W)e-/'0c56'K#&>40DmY0:EIZ@[e%(30Y#&-/0Y_.

4 iJ5A0,%),Z@_Q>#&3#&PR0,-T0,3DE65$-T'0T ),+J-T'05A'@#&>40gh-/'0OZn4PQmY0:38),+D_BEC+
PR0,ZK56EA),ZK5oP
T i-T'0
3 0,PU#&EIZEIZK[
>#&3#&PQ0:-/0:35{#&3 0
-/'0?56EC/ 0t),+Y0B#&%('_BEIPQ0:ZK56EA),Z2),+Y-T'0
5A'@#&>40Yi

EIZO-/'0a
 0:LMEA#&GA_BE > )n4Z-/EIZK[043()B[:3#&P%),n4G6_8'K#&LM0.mY0:0,Z
pix
L
[l$ >4ECW
>4ECW &p [l$ g>4E!W j 4j_&j_,4 o
X VYZK#&PREH%#&GIGIV #&GIGA),%#&-/0Y_ 5A'@#&>40Y5 %#&Z mY0 +T3 0,0Y_ LMEA# -T'0
t
&
p  [ l$ %),PQPU#&ZK_ai
}a'0856'K#&>40

%(30Y#&-/0emYV

-STJKAH22_aJN:E:~M D:E?BGJ/.d:ES>D\10JN328;<!A]JN_?FAH8;<0!AdL

fb.z   ..{ =&!~ ~{

 &!

%#&GA#&3u>)EIZ-/0:35@-W)8>#&3#&GIGH0:G Lr#&3WEA#&mYGI0Y5@>),EHZ-a-b)HM:hYb),+-T'0Y560

AL

L{#&3bEA#&mYGI0B5aEIZ|-T'0:EI3r3 0B5A>40,%(-TEHL 0c5A'@#&>40Yi ),3KEIZ@5A-W#&Z%&0:jEI+C|0DC|3bEI-/0

l$
[8192]s;
T
:s a;
T

:s *b;
b=&a;

%#&n560Y5

#&ZK_

,+

H0#&3#&GIGI0,G
+pn4Z%(-TE6),ZKi[pM Zd),3&_B0:3

-W)z30:+T0:3-b)c-T'0Q5f#&PQ0c>#&3#&GIGI0,Gu_a#&-W# pEI-/0:Pdi

a
*b
_a#&-b#e%#&ZQmY02_BVYZK#&PQEI%#&GIGHV\#&GHGA),%#&-/0Y_2LMEA#e-T'0
-b)n560EI-J)Z0PQn5A-EHZ%(GIn_B0-/'0e14GI02

AL

+pn4Z%(-TE6),Zs#&30

l &p

stdlib.h

i }a'0e>#&3#&PR0,-T0,35{-W)-/'E65

i}a'0c56'K#&>40EIZ|CF'EH%('-/'0e>#&3#&GIGI0:GL{#&3bEA#&mYGI0DGIEILM0Y5f
4 i}a'0c56EC/ 0 ),+-/'0>#&3#&GHGI0:Ga_a#&-W#uEI-/0:PEHZ a i}a'E65EA54%),PQ>4n4-T0B_OLMEA#
-T'0

 Y  +pn4Z%(-/EA),ZKi

.L

" #&PR>4GI0

m T & $
stdlib.h
$
l

[8192]s;
:s *p;

p=l[&p (s, boolsizeof(T :s));

XtVYZK#&PREH%#&GIGIV

#&GIG6),%#&-/0Y_>#&3#&GIGH0:GtLr#&3WEA#&mYGI0Y5%#&Z

mY0

+p30:0B_L E6#^-T'0

la   +Tn4Z%(-/EA),Z@iJ}a'EA5D)Z GIV-W#Y0Y5e)Z0t>#&3#&PR0,-T0,3z -T'0>),EHZ-/0:3


-W)8-T'0
>#&3#&GIGI0,G4_a#&-W#,p+ EI-/0:Pdi
T i i iHY\ ppb 8YY6plY Zn4PRmY0:3 ),+ -b),>4EH%5xC|0:30
[:GA)B55A0B_=),LM0,3QEIZ

-/'0

5AEHPR>4GI0R#&%(%),n4Z-)+

>

>430:%(0B_BEIZK[*5A0,%(-/EA),ZK56j

EIZ

#&Z

0,++),3b-c-W)U>43 0B5A0,Z-#

tbi8qs0OCFEIGHG._BEA5A%&n5f5
-T'0Y560|-W),>4EI%5'0,3 0Bi8}a'0R#&GI0:3W-

-n40Y56-TEA)ZK56j #&m),n4-%)PRPRn4ZEI%#&-/EA),Z5L
`),C#&3 0:T~#&Z@_8 bl &bb%),PRPQn4ZEI%#&-/EA),Z@5{'K#&Z@_BGI0Y_8EHZ >

3 0B#_B0:3@Pd#&Vc'K#&LM0D'@#_#u+p0:C

>

EIZ

#556n4PREIZ@[z-/'K#&-),Z0z'@#5$-/'0Q#&mYEIGIEI-/VR-W)c>43()B[:3#&P

t"

GI-/'K)n[:'56-W#&-T0,PR0:Z-b5GIEY0

jJEIZUC|'EI%&'

>#&3#&GIGI0,GIj{#_a_5@n4>`L{#&GIn40B5D),+
EI+

-/'0B5A0c-/'EIZ@[Y5

EA5S#STlL{#&3bEA#&mYGI0"

A-

EA5

56%#&GA#&3F#&ZK_

E65

a+=b
a
b
EIZ-W)
jM'@),CEA5K-T'EA5#&%(%),PQ>4GIEA56'0Y_
b
a
Zn4PRmY0,3D),+$#&GA[Y),3bEI-/'Pd5
gh0Bi[Yi jPd#&-T3bE!W

PRn4GI-/EI>4GIEH%#&-TE6),ZKo~C|EIGIGB30 n4EI30e-/'EA54%#&>#&mYEIGHEI-TVi

 `),C=EA5$_a#&-W#u>#5f560Y_mY0,-TC|0:0,Z`_BEI++p0,3 0,Z-K56'K#&>40B5H"
}a'0
t GA#&ZK[:n#[:08C`#5_B0Y56EA[:Z0B_2C|EI-/'-T'0EA_B0B# ),+@>43&),LMEA_BEIZK[#&GIGK),+
a
-T'0?%#&>#&mYEIGIEI-/V`)+u#5560:PRmYGHVGA#&ZK[:n#[:0?EIZN#.'EA[:'0:3 pGI0,LM0:G GA#&ZK[:n#[:0|ghGHE Y
 0
-T'0

>

>

*+

GA#&Z@[:n#[:0:j ),3WEA[:EIZK#&GHGIVo4#&ZK_2#_a_B3 0B5f560Y5#&GIGa)+-T'0Y560e-W),>4EI%5i

&& .{KW zW   !. 

W

qs0214356-
ZK),-/0-T'@#&-
-T'0Y@+),3bPd5c),+.%),PQPRn4ZEH%#&-TE6),Z

s+

(W

CF'0:Z0,LM0:3
)Z0en560Y5aGI0:+T- TEIZK_B0

EHZK[c),+>43&),%(0B5f5),35o~EA5

i:T %),PQPRn4ZEH%#&-TE6),Zj
_a#&-b#,T+ EI-T0,PU5$),3@Zn4PQmY0:35f

EH+

_+

-T'0

(W

GI0,+p- pEIZ@_Y0 EIZK[

gEIPR>4GHEI0Y_
EIZL{),GILM0B5

4 i bl8YYHTljEI+t-T'0NGH0:+p-_+pEHZK_B0 WEIZ@[^EIZL{),GHL 0B5?:hTl


CFEI-/'`1
W 0Y_^_YE65A>4GA#&%&0:PR0,Z-W5fi
}a'EA5JPR0B#&ZK5$-/'0cZn4PRmY0:35#_a_Y0B_-W)
-T'0O_a),-W5EIZ|-T'0eGI0,+p-_p+ EIZ@_Y0(
W 0Y5u#&30e-/'0 5f#&PQ0e+b),3#&GIGB>43&),%(0B5f5),35iQ ),3
EIZK56-W#&Z%(0
;
5#&-TE65A140B5{-T'EA5%),ZK_BEI-/EA),Z@iApM Zs#_a_YEH-TEA)Zj-T'0
a=[.+1][.
n5A0|),+4-/'0 l Y 
 O+p1]a;
n4Z%&-TEA)Z-W)%),PR>4n4-/0?EIZK_B0(WT+ L{#&GIn40Y5r30Y56n4GI-W5rEIZ
[:3bEA_F%)PRPRn4ZEI%#&-/EA),Zj EH+{-/'0|_BEA56>4GA#&%(0:PQ0:Z-b5.#&30t-/'0F5#&PR0?+),3#&GIG
>43()%(0Y55f)35fi
Q ),3SEIZ@5A-W#&Z%&0:j -T'08%)PR>4EIGI0,3
EA5.5APd#&3b-r0,ZK),n[:'Q-b)2_B0(+
-T0,3bPREHZ0e-/'K#&-

Y 4g o  l Y 4g o;H  #,

# l

EIZL{),GHL 0B5u[:3bE6_c%),PRPQn4ZEI%#&-/EA),ZjmYn4-

Y 4gso  l Y 4gP o;H  #,

# l

_a),0Y5ZK)-Tj56EIZ%(0-/'0c_a#&-W#$PU)L 0,PR0,Z- EA5$_BEI++T0:30:Z- +)3_YEH+/+T0:30:Z-

>43()%(0Y55f)35fi

f+

"aLM0:Z`EIZX[:0:Z0:3#&G%),PQPRn4ZEI%#&-/EA),Zj4-/'0,3 0Q#&30Q5f),PQ0OEIZ-/0:30Y56-TEHZK[_BEA5

6
+

-TEHZ%(-/EA),Z@5K-W)tmY0?Pd#_Y0Bi n4>4>)~5A0

,+

E65
5f),PQ08>#&3#&GIGI0:G{_a#&-W# pEI-/0:Pdi4qs0C|EIGIG

%#&GIGB-/'0D+),GHGA),CFEHZK[%)B_B0 T+p3#[:PQ0:Z#

#

#u>#&3#&GIGH0:G56-b#&-/0:PQ0:Z-/j#&ZK_-/'0D+),GIG6),CFEIZ@[

 ##

#D>#&3#&GHGI0:GMb:56-W#&-T0,PR0:Z-bi Z-T'0814356-%#5A0F_a#&-b#0:Z-/0:35K-/'0|YbY
>43()%(0Y55f)3D+T3(),P

5),PR02),-T'0:3>43()%(0Y55f)3TjJ#&Z@_EHZ`-T'05A0,%),Z@_YjK_#&-W#+p3&),P

-T'0e%(n43W3 0,Z->43&),%(0B5f5),3JEA54>4GIn[Y[:0Y_

M-B-/n43bZ@5)n4-Y-T'@#&-Bb:

EIZ-b)c#&Z@),-/'0:3K>43&),%(0B5f5),3Wi

),>40:3#&-/EA),Z@5K#&3 0tTD6$#5 +#56-#5-T'0.>#&3#&GIGI0,G

),>40:3#&-TEA)ZK5i "$5f560:Z-TE6#&GIGIV(jEIZN#8[:0,-),>40:3#&-TEA)ZjB-/'0%(n43W3 0,Z-4>43&),%(0Y55),3u'@#5

A-

-b)|5A0,ZK_`#.PR0Y55#[:08-W)t-/'0F),-/'0:3u>43(),%&0Y55f),3
30 n40B5A-/EIZK[t-T'@#&-{EI-$560:Z@_|-T'0
_a#&-b#i

M-.EA5c#&GA5)EHPR>),3b-W#&Z--W)mY0^#&C`#&30d)+D-/'0^_BEA56-TEIZ%(-/EA),ZmY0,-TC|0:0:Z[:0,#&ZK_N5A0,ZK_^),>40:3#&-/EA),Z@5SCF'0,Z _B0:-/0:3bPQEIZEIZ@[z-/'0c0,+/+T0:%(-)+D:p&
b

bTi4}a'0[:0,-u#&Z@_`5A0,ZK_)>40:3#&-/EA),Z@5D#&30)ZGIV2%#&3W3bEI0Y_`)n4-{mYV-/'0F#&%(-/EILM0
>43()%(0Y55f)35fi

>

l$
T

AL

),ZK56EA_B0:3@-/'0D%)B_B0

[8192]s;
:s dest,source;
T
index=4;
|u 
(source 30)
dest = [index]source;

fb.z   ..{ =&!~ ~{

W

'0,3 0,j{-/'0z>43&),%(0Y55),35D%#&3W3bVYEIZK[s),n4--/'0R#&%(-TE6),Zx#&30|-/'K)B560`)+

M
source

-T'0:V^#&302[:0:-/-/EIZK[_a#&-b#+p3&),P
mYVO-T0B5A-/EIZK[-/'0L{#&GIn40O)+

[4]source

EIZ-W)

dest

W dest

i -+),GIG6),C`5$-/'K#&-{-T'EA5%)B_B0

0 0:%&n4-T0B5

EIZ0:LM0,3bV|>43&),%(0B5f5),3/j-/'0,Z-/'0:ZF>4GIn[Y[:EIZK[

source

EIZF>43&),%(0B5f5),35EIZFC|'EI%('

source

EA5.4i Zz%)B_B0DGIE Y0

l$
[8192]s;
T
:s
dest,source;
T

index=4;
 (source 30)
[.+1]source = source;

|u

-/'0c>43&),%(0Y55),35
EIZ

#&30z>#556EILM0c3 0,%(0:EILM0,35),+D_a#&-b#i."LM0,Z

[.+1]source

CF'0:Z-T'0:V^#&3 08EIZK#&%&-TEILM0,j@_a#&-W#eCFEIGIGmY0560:Z-r-W)-T'0:P

Zn4PQmY0:30Y_>43&),%(0Y55),3Jn4ZGI0B5f5h bWbE65$#&GA5)DEIZ@#&%(-/EILM0Yi

T i i V i
,+

[M

Hll: Z

0 O M6

>

_a#&-b# TPU),LM0:PQ0:Z-),ZU-/'0

-/'0,3 0

>

+b),3Q'@#&ZK_BGIEIZ@[

EIZ

%),PRPd#&ZK_a5

+),3

tF%)PR>4EIGI0,3sEA5\56PU#&3b-20,ZK),n[:'-W)

}a'0

[:0:Z0:3#&-/0*#&>4>43()>43bEA#&-/0X%)~_Y0

#&3 0

-{GA),C|0:3

),ZZ0,%(-TE6),ZOx#&%('EIZ0-/'K#&-u3 0B5f),GHL 02%),GIGIEA56EA),Z@5

),+N_a#&-b#dEIZ=Lr#&3WEA),n5RC`#&V5i
5AEH-Tn#&-/EA),Z@5

(W

mYV2-/'08Z0

),-/'0,3

-/'0B5A0

C`),3&_a5-T'0%),PQ>4EIGI0,3

%),GHGIEA56EA),ZK5EIZ
%#&Z

_B0:-/0:3bPQEIZ0

Pd#&ZV
-T'0

S0 [O M6?EIZ@5A-/3Wn4%&-TEA)ZK5i

>43()~[:3#&PRPQ0:3kH5aEIZ-/0:Z-K#&ZK_2[:0,Z0,3#&-T0D-T'0e>43&),>40:3

iEI+a-T'0z_a#&-b#
PU),LM0,PR0:Z-EIZLr)GILM0Y5
#t5AEIPQ>4GI0z#55AEA[:ZPR0,Z-#&ZK_O-T'0:30
#&3 0%),GHGIEA56EA),ZK56j#O3#&ZK_a),P
EIZ@5A-W#&Z%(0\),+-T'0Q%),GIGIEA_BEIZ@[d_a#&-b#zEA5c5A0(+
GI0:%&-T0B_A
4 iEI+ # 3 0B_Yn4%&-TEA)Z+ #556EA[:ZPQ0:Z- ),>40,3#&-/EA),Z EA5 n560Y_ +),3 -T'0
#5f56EA[:ZPR0:Z-Tj-/'0 #&>4>43()>43bEA#&-/0c),>40,3#&-TE6),ZFEA54%#&3b3WEI0Y_2),n4-Wi}#&mYGI0 i
GIEA56-b5a-T'0eL{#&GIEA_ 30Y_Bn4%(-/EA),Z|
+ #55AEA[:ZPR0,Z-J),>40,3#&-/EA),ZK5aEIZ > tbi
}a'0Y5603 0B_Yn4%&-TEA)Z
+ )>40:3#&-/EA),Z@5#&3 0%#&3b3WEI0Y_x),n4-n5AEHZK[U#&Z 0:+1+
GIE Y0-/'0\#&GA[Y),3bEI-/'P

%(EI0,Z-8#&GA[Y),3bEH-T'P

+),32#__BEIZ@[

Zn4PRmY0,35O),Z

~Bi O0Y_Bn4%(-/EA),Z|+),>40,3#&-TE6),ZK5{-W#Y0Fw_
K4yI+T-TEHPR0-W)c),>40:3#&-T0 ),Z
6 0:0$ %('@#&>4-T0,3$+)3KPU),30eEIZ+),3WPU#&-/EA),Z`)ZF-/'0c#&G6[Y)(+

>#[:0

8Zn4PRmY0:35fi

3bEI-/'Pn560Y_ai

#&300Y5560:Z-/EA#&GKEIZ^>43()~[:3#&PRPQEIZK[N5f)PR0YEIZ@_a5

}a'0B5A0|%),ZK56EA_B0:3#&-TEA)ZK5

CW
#&GA[Y),3bEI-/'Pdo30A-n4EI30Y54-T'0en560

),+r#&GA[Y),3bEI-/'Pd5fi ),3@EIZ@5A-W#&Z%&0:jPU#&-/3bE ?PQn4GI-TEH>4GIEI%#&-/EA),ZsgT#&-GH0Y#56- C|'0,Z),Z0

I
!

n5A0B5-T'0w KyM-/EIPR0

-TE6),ZK5

m p ( u

stdio.h

m p ( u
stdlib.h
$
l
[64][128]mats;
k
p p T p

matmpy(

 

&

*,

,+

),+3 0B_Bn4%(-TE6),Zs),>40,3#

&& .{KW zW   !. 


O 0Y_Bn4%(-/EA),Z+ 55AE6[:ZPR0,Z-
>40:3#&-TEA)ZK5EHZ > t


W

>40:3#&-TEA)Z

+=
-=
=
|=
<?=
>?=

 

&

#&GHn40eEI+ZK) #&%(-/EILM0e>43&),%(0B5f5),35

"a+/+T0:%(-

6n4P

|0Y[Y#&-/EILM0c56n4P
"W %&GIn5AEHL 0e
O

NO
pM


,W

} 65~

*, p :

 

&

# EHPRn4P>)~5f56EImYGI0DLr#&GHn40
dEIZEIPRn4P >)B55AEImYGH0eL{#&GIn40

 4iC

*); * Function prototype. *

* This is a routine for multiplying an


m x n matrix (*mat1) by an n x k matrix (*mat2)
to get an m x k matrix (*outmat)
v
*

p
T
k
matmpy(
m,
n, p k,





T
&
:
*mat1,
T   &
:
*mat2,
T   &
:
*outmat)

l$

[32][32][32]tempsh; * A temporary shape used


* to hold ;t
intermediate
;
* results
products
* that are combined
* in the reduction
* v operations.
*
p
:tempsh tempv;
*outmat
= 0;
F
(tempsh)

bool:tempsh region
= ( l
(0) m) &
Y




(l
(1)
n)
Y 

& (l v
(2) k);
* This is the most efficient
* way to structure a where
* statement with complex
* v conditions.
*
|u 
(region)
Y 

fb.z   ..{ =&!~ ~{

W

tempv =[Yl 
(0)][Yl 
(1)] (*mat1) *
l
l
(1)][
(2)]
(*mat2);
[
l Y 
l Y 
[
(0)][
(2)](*outmat)
+= tempv;
v
;8;
* Parallel reduction
operations
here
;
v
via the += operation. *

Y 

Y 

main()
p

n = 3;
m = 3;
p
k = 3;
p
:mats
a, b, c;
p
i, j;
F
(mats)
a = 0;
b = 0;
c = 0;
v
v
* Test data. *
[0][0]a = 1;
[0][1]a = 2;
[0][2]a = 3;
[1][0]a = 4;
[1][1]a = 5;
[1][2]a = 6;
[2][0]a = 7;
[2][1]a = 8;
[2][2]a = 9;
b = a;
matmpy(3, 3, 3, &a, &b, &c);

(i = 0; i n; i++)

(j = 0; j k; j++)
printf(" %d\n",[i][j]c);

>

`)-T02-/'K#&-
-/'02Pd#&-T3bEH%(0Y5c#&302>#5f560Y_s-b)2-/'02>43&),%(0Y_Bn430^#5D>),EIZ-T0,35
-b)F>#&3#&GIGI0:GrEIZ-/0Y[:0,35fiF}a'0Fn560s),+S>),EHZ-/0:35 gT),3>#55vT+ mYVAp+ L{#&GIn40YorE65[:0:Z|+
0:3#&GHGIVQ-/'0cPd)B56-K0:+14%(EI0,Z-KC`#&V-W)O>#55$>#&3#&GIGH0:G_a#&-b#i > >43&)B[:3#&PQPR0,35
PU#&V2mY3bEH0>aVC`),Z@_Y0,3
CF'VEH-rEA5JZ0:%&0Y55f#&3bV-W)-b#Y0>),EIZ-/0:35#&-
#&GIG
EIZ
PU#&-/3bEI%&0Y5#&3 08ZK),3bPd#&GIGIVN56-b)3 0B_N#5@>),EHZ-/0:35J-b)8-/'0t14356-{0,GI0:PQ0:Z-bi{}a'0

&& .{KW zW   !. 

W

(+

#&ZK56CF0,3rEA54-T'@#&--/'0B5A0i#&3b3#&V5d$#&30eZK)-@#&3b3#&V5EIZz-T'0Dn56n#&Ga560:Z@5A0gp#543 0

>

[Y#&3(_B0B_emYV-T'0
-T'0:

;

>43&)B[:3#&PQPREIZ@[
G6#&ZK[:n#[:0YoTi,}a'0,Vz#&3 0JTlYhb/

H:)+r-/'0Y5600,GI0:PQ0:Z-b5KEA5_)Z0mYV2-/'08>#&3#&GIGI0,G>43&)B[:3#&PRPQEIZK[

>

%),Z@5A-/3Wn4%(-W5?),+

>

A+

t{3#&-/'0,3.-T'@#&Z-T'0#&3b3#&V T%),ZK56-/3Wn4%(-W5?),+K-T'0

>43()B[:3#&P

PREIZ@[?G6#&ZK[:n#[:0Yi ZN),-/'0:3$C`),3&_a5r-T'0Y560|#&3 0?30Y[Y#&3&_Y0B_#5uYhb/$3#&-T'0:3


-T'@#&ZRb/(8),+@EIZ-T0B[:0:35iS}a'0:V^56-b)3 0c-/'05#&PR0YEHZK_N),+KEIZ+b),3bPd#&-TEA)Z
#&Z#&3W3#&VQ),+EIZ-T0B[:0:35amY0:%#&n560e-/'0,V#&3 0TlEIZ-T0B[:0:35i

`)-T0-/'0c5AEC/0

[
_
 I+

-T'EA5EA5a-T'0
lu
[32][32][32]tempsh;
+pn4Z@_#&PQ0:Z-b#&GGHEIPREI-W#&-/EA),Z),+Y-/'0'Fw K4
y T-TEHPR0?#&GA[Y)3bEI-/'P+)3Pd#&-T3WE ePQn4G
-TEH>4GIEI%#&-/EA),Z@i

),+4-/'0O56'K#&>40

#5

Pd),3 0F>43#&%(-/EI%#&GJ>43()~[:3#&P

CW

C+

C`),n4G6_X_BVYZK#&PQEI%#&GIGHV#&GHGA),%#&-/0

-W)?'@#&L 0z_BEIPQ0:Z@5AEA)ZK5{-/'K#&-#&>4>43&)(
W EIPU#&-/0zj j4#&Z@_]eEI+4>)B55AEHmYGI0Yi
6tempsh

n4%&'s#u>43()~[:3#&PC`)n4GA_Q#&G65f)c56CFEI-/%('-W)c#?5AG6),CF0,3#&GA[Y),3bEI-/'P-T'@#&-J_BEA_BZKkl3 0.
- n4EI3 0#5PU#&ZV>43&),%(0Y55),35
EI+.87d97 ]C`#5uPQn4%('`GA#&3&[:0:3-T'@#&Z`-T'0
#&L{#&EIGA#&mYGI0OZn4PQmY0:3),+u>43&),%(0B5f5),35iN
Q ),3DEIZK56-W#&Z%(0,j{EI-JEA5u>)~5f56EImYGI0|-b)Q5AEIP+
>4GIV%),PR>4n4-/0c-/'0:7 ] 0,GI0:PQ0:Z-b5D),+
EIZ`>#&3#&GHGI0:G
-/'EA5uEA5e#&Z
wyIp+ -/EIPQ0 #&GA[Y)3bEI-/'P-/'K#&- 3 0.
- n4EH3 0B5$;*outmat
7s]>43()%(0Y55f)35fi

| |aI 
"

TaiCBi8JYlx p Jx `l(W b.6T H:hdh=< : 


bb bee&E?>
T ia4 iN
a
bHhQhOF ( Tc.pW  YHTl HpRbb b
&B~WYlt :HHh:@,Wb
h8.(
DHK H 
tempsh
l:K(  Hh ~:2] pH~h~b6? :u.b(D:
.K J T:8Hp|h.lJlbh hDYY 4u b
bTSYWOl.(S bT

TaiTai\Y:(WJJKYYK ( /N@THlbh Xh,&bJ:bb

u{ <rc] a pl[  &


T&
p &
 <@bA@
a T l[  &T&
K
&JCBEDGF 7 ^~ W6
7
 s?K
YM l.

Tll8bh{J/.H(rhY.H (

fb.z   ..{ =&!~ ~{

[ S

W

I H e pZz-/'E65560:%&-TEA)Z|C|0C|EIGIG_BEA5A%&n5f5J5),PR08),+ -T'0

[Y)B)B_s#&ZK_m#_F+T0Y#&-/n43 0BD
5 ),+r-T'0
t{GA#&Z@[:n#[:0Yi^dn4%&'U),+{-T'EA5JPd#&-T0,3bEA#&GE65

0

B jmYV #&-T%&'0:3/j 4'EHGIEI>4>560:Zj #&Z@_}MEI%('Vi

-b#Y0,ZF+T3(),P
qs0

>

_a)D-/'E65+)35A0,L 0,3#&GB30Y#5),ZK5

 Z@#&GIV5AE65)+-/'0B5A0+p0B#&-Tn430Y5J56'K),C54'@),C

-T'0D'@#&3(_BC`#&30EIZan40:Z%(0Y5

-T'0c_B0Y56EA[:Z),+-/'0c5),+T-TC#&3 0Bi

 }a'EA5S-/VY>40R)+#&Z@#&GIV5AE65
E65uEIPR>),3W-b#&Z-$EIZs>),EHZ-/EIZK[|-/'0zC`#&VQ-b)O-T'0
_B0:LM0:GA)>4PR0:Z-@)+Z0,CF0:3{>#&3#&GIGI0,GB>43&)B[:3#&PRPQEIZK[GA#&Z@[:n#[:0Y5i

}a'0=_B0:LM0:GA)>4PR0:Z-d)+R>#&3#&GIGH0:GFG6#&ZK[:n#[:0Y5`%#&ZZK),->43()%(0:0B_EHZ

6

>4n43 0,GIV`#&m56-/3#&%(-+#56'EA),Z@i )PR0|),+-T'0tE65f56n40Y5


_BEA56%(n55A0B_F'0:30?CF0,3 0?ZK)-

>
[0 [O M6
>

YZK),C|ZFn4Z-TEIGY-/'0
t GA#&Z@[:n#[:0eC`#5#&%(-/n#&GIGIVQ_B0:LM0:G6),>40Y_ai

+.)Z0Y
 Z@),C`5
Rgh-/'0 i#5560:PRmYGHVG6#&ZK[:n#[:0$O),+K-/'0

O#&ZK_
ohj-/'0D14356-$
#&C),+
t -/'K#&- %),PQ0Y54-b)PREIZ@_cE654-/'0D+#&%(- -/'K#&- PU)B56-
EIZK56-/3Wn4%(-/EA),Z@5Q#&30`ZK),-EHPR>4GI0,PR0:Z-T0B_ EIZ
t i}a'EA5EA5>43&),m#&mYGIV B
b
_ n40N-W)
-T'0`+#&%(-e-T'@#&->40Y),>4GI0RC`),3Y
 EHZK[NC|EI-/'*-/'0
),ZZ0,%(-TE6),Zx
 #&%('EIZ0 ,
) 3WEA[:E

>

> +b
|0 O[M6

>

C+

G0 O M6i}a'0:30RC#5?-/'0d[:0:Z0:3#&GSmY0,GIEI0,+

ZK#&GIGHVU>43()B[:3#&PRPR0B_dPU)B56-TGHVXEIZ

-T'@#&-)Z0z'K#_R-W)_a)5f)zEIZ)3(_B0:3e-b)[:0,-[Y)~)B_>40:3b+b),3bPU#&Z%(0`)n4-),+$-T'0
PU#&%('EIZ0Bi:}a'0_Y0B5AE6[:Z0:35$),+

(W

CF'@)DC`#&Z-T0B_-b)e0

,W

>

t PU#&V'K#&LM0emY0,0:Zz+p0:GH- -/'K#&--T'0D-/'0D>40Y),>4GH0
 b5A0,3bEI0B5amYV

-/3#&%(-PU# EIPd#&GB>40:3b+b),3bPd#&Z%(0D+p3&),P-/'0

> p+

0 OM6EIZ@5A-/3Wn4%(-/EA),Z@5AjC`)n4GA_U5AEHPR>4GIV
> ),Z@5A0.- n40,Z-/GIV(j-T'0:VPd#&Vt'@#&LM0
+p0,GI--/'K#&- -/'0:30eC#5aZ@)D%),PQ>40:GIGHEIZK[e30Y#5),ZF-W)eEIPQ>4GI0:PQ0:Z-M-/'0B5A0DEIZK56-T3 n4%+
-TE6),ZK54EIZ > tWi:}'EA54>)B5AEH-TEA)ZEA5J#&GA5) #&PR>4GIEH140Y_mYVc-/'0+#&%(--T'@#&-|0 OM
6 EA5#
LM0:3bVcGA#&3&[:0O#55A0,PRmYGIVcG6#&ZK[:n#[:0-/'K#&- EA5u[:0,Z0,3#&GIGIVcPd),3 0i&n5A0,3T+ +p3bEI0,ZK_BGIV$
-T'@#&ZOPU#&ZV2),-T'0:3S#5f560:PQmYGIV GA#&Z@[:n#[:0Y5KJ|
 EHZR)-T'0:3rC),3&_56j0 OM
6 C#5
n5AEHZK[R5),PQ0),+J-/'0zPU),30Q),m56%(n43 0

N0 [O M 6+T3()P

>43()~[:3#&P

EIZ

_B0Y56EA[:Z0B_NCFEH-T'

-/'0EA_B0Y#

-T'0SmY0Y[:EHZZEHZK[Yi

-/'K#&-i),3&_YEHZK#&3bV^n5A0,35H$OPREA[:'-.>43()B[:3#&P

NmIn5A-@5AV56-T0,P>43&)B[:3#&PRPQ0:35opi

EHZ

EH-

gh3#&-/'0,3@-/'K#&Z

C+
3 0,%(-
#_a_B30Y55A0B5
560:05T i i Bc),ZR>#[:0i& i@}'EA5GHEIPREI-W#&-/EA),ZC#5D),3WEA[:EC+
ZK#&GIGHV2_Bn40.-b).%(0:3b-W#&EIZzGIEIPQEI-b#&-/EA),Z@5aEHZz-/'0 > p+ 4D'K#&3&_BC`#&30YiM ZQ5A>4EH-T08),+ -T'0
'K#&3&_BC`#&30GIEIPREH-b#&-/EA),Z@5Aj-T'0 > t GA#&ZK[:n#[:0%)n4GA_z'@#&L 0>43&),LMEA_B0Y_O>#&3#&GIGI0,G
>),EIZ-T0,35z
EI-JC`),n4G6_`'@#&LM0zmY0,0:ZN>)B55AEImYGH0|-W)|EIPQ>4GI0:PQ0:Z-KEHZ5),+p-/C`#&30:j
qs0?'K#&LM0#&GH3 0B#_YV`5A0,0:Z-T'0>43&),mYGI0:P),+{>#&3#&GIGI0,G>),EHZ-/0:35D#&ZK_|EIZ@_BE

mYn4-C#5AZ@kl-r#u'EA[:'|0:Z@),n[:'>43bEA)3bEI-/Vi
}a'0

|+

n560),+KGH0:+p-rEIZK_BEI%(0B5+b),3D>#&3#&GIGI0:GLr#&3WEA#&mYGI0Y5EA5#ZK),Z ),3W-T'@)B[Y),ZK#&G

> tbi80#&3#&GHGI0:Ge5A%#&GA#&3L{#&3bEA#&mYGH0Y5c#&30\( Hl\#&3b3#&V5z),+_#&-W#i


_+ W
EA5e-/'K#&-.-T'0d_a#&-W#,p+ EI-/0:Pd5O#&3 0^56-b),30Y_dEIZ560:>#&3#&-/0>43()%(0Y55f)35fi
6 EIZ%(0-T'0
GI0:+T-s+TEIZK_B0(W 0B_`_a#&-b#DE65D),+T-T0,ZU#&%(%&0Y55A0B_`#&ZK_F'K#&Z@_BGI0Y_FEIZ-/'025#&PR0tC`#&V`#5
3bEA[:'-sT+ EIZK_B0
W 0B_*#&3W3#&V5Aj$CF0\5A'@),n4GA_\mY0\#&mYGI0-b)Qn560-T'0d5#&PR0ZK),-W#&-/EA),Z
+),3D-T'0:PdiM ZX),-/'0,3C`),3&_a5Aj-/'0z%(3bEI-/EI%(EA56PE65.-/'K#&- > tJ30A
- n4EI30Y5
n5S-b)zmY0
+p0B#&-Tn430^),+
}a'0),ZGIV

_BEI++p0,3 0,Z%(0zmY0:-/CF0,0:Zs-T'0Y560Q#&3b3#&V5?#&ZK_3bEA[:'- pEHZK_B0 0Y_U#&3W3#&V5

L -.@M JKbJN.@bI;JKM 8QcST?>28;:EAdc_aJNJ!8Q?4S!?FS>8Q::E?FAH?FJNM JN<T?f

&& .{KW zW   !. 


PU),30Q#&C`#&30),+J-T'0O'K#&3&_YC#&3 0QgEAi 0Yi.CF'EH%('X#&3b3#&VAp+ 0,GI0:PQ0:Z-b5#&30OEIZ 5A0,>+
#&3#&-/0c>43(),%&0Y55f),35fo4-T'@#&Zs-T'0cGA)B[:EI%F),+D#>43(),mYGH0:P
3 0.
- n4EI3 0B5fi.}a'0cEA55An40cE65
+pn43b-/'0,3$%),Z+Tn5A0B_`5AGIE6[:'-/GIVmYVF-/'0?+b#&%(-a-T'@#&-4-T'0 > p+
#&Z@_
4 +T3 0.- n40:Z-/GIV
W

#&GIGA),%#&-T0sbp: bbWTi}a'EA5PR0Y#&Z@5D-/'K#&-t),n43YZK),C|GI0Y_a[:0N),+.'@),C

,+

_a#&-b# TEI-T0,PU5K#&308_YE65A-/3bEImYn4-/0Y_2#&Pd),ZK[.-T'0>43&),%(0B5f5),35gp#5EHZK_BEI%#&-/0Y_8mYV8-T'0

s+

A-

GI0:+T- TEIZK_BEI%&0Y5o EA54+p30 n40:Z-TGHVR#&ZRHH:eEIZ#&ZVc%#560Yi

MZ

&0

B `#&-/%('0,3Tj 4'EIGIEI>4>560:Zj#&ZK_F}MEI%('VN#&3([:n408-T'@#&-{-/'0F5A-W#&-/0:PR0,Z-W5


t#&3 0.ZK)Z )3b-T'@)B[Y),Z@#&GAi }a'0,V >),EIZ-{),n4-M-T'@#&-{
),+$#_a#&-W# pEI-/0:P
56'K),n4GA_R_Y0,-T0,3bPREHZ0?-T'0'Y
 EIZK_a5
),+u),>40:3#&-TEA)ZK5@-T'@#&-a%#&ZmY0
>40:3b+b),3bPQ0Y_n4>),Z\EH#&ZK_R-/'K#&t PRE 0B5-/'0|%),Z%&0:>4-W5),+?_a#&-W# p-/VY>40

#&ZK_^#&3b3#&VU56E 0Bi Z
t -T'0 b(),+D#t>#&3#&GHGI0:GaL{#&3bEA#&mYGI0cE65u3 0B[Y#&3(_B0Y_\#5
@
#&Z #56>40:%(-S),+KEI-W5h hWCF'0:30 EI-@E6530Y#&GIGIV n56-.#Y
 EIZ@_\),+.#&3W3#&Vd_B0,%
+),3S_B0:%(GA#&3WEIZK[8_#&-W#$EIZ

,+

&Q

>

+

>


C/ M >
,

Y0#5A%#&G{gT),3 >

GA#&3#&-/EA),Z@i ),3JEIZ@5A-W#&Z%&0:j~EHZ

!W

,+

~m

,+

o4)Z014356-$_B0:%(GA#&30Y5$#8_a#&-W# p-/VY>40:j

|+
-TE6),Z0B_\#&m),LM0cEIZ@5AEA56-@-/'K#&-@-/'0B5A0#&30c-/C`) GA)B[:EI%#&GIGIVREHZK_B0:>40,ZK_B0:Z-
),>40,3#,+
-TE6),ZK5S-/'K#&- > tJ+b),3%(0Y5?#tn560:3-W)z%),PQmYEIZ0Bi [Y#&EIZs-/'0 > tD560:Pd#&Z-/EI%5#&30
%(GI0B#&3bGIV2_BEI%&-b#&-/0Y_mYV -/'0.'@#&3(_BC`#&30:j:mYn4-#&-T%&'0:3/j4
0 'EIGIEI>4>560:ZjY#&ZK_t} EH%('V
>),EIZ-),n4--/'K#&-e#8'EA[:'|p+ GI0,LM0:G@GA#&Z@[:n#[:056'K)n4GA_EIZK56n4GA#&-/0F-/'0Fn560:3D+p3&),P
#&ZK_-/'0,Z|%#&ZR_B0:%(G6#&3 0

#&Z#&3b3#&V),+K_a#&-W#),+-/'K#&- -/VY>40Yi}a'0#&n4-T'@),35PQ0:Z

-T'0e'@#&3(_BC`#&30c#54PRn4%&'`#54>)B5f56EImYGI0Bi

.-

MZU-/'0N5#&PR02LM0:EHZ`#&-/%('0,3TjS04'EIGIEI>4>560:Zj#&ZK_N}MEI%&'V#&3([:n40-/'K#&- >

3 0 n4EI3 0B5n560:35a-b)O_B0:%&GA#&3 0D-T'0O5#&PR0>43&),%(0B_Yn430EIZFPU),30O_BEI++p0,3 0,Z-C#&V5

Q

-T'@#&Z#&30GA)B[:EI%#&GHGIVOZ0:%&0Y55f#&3bVi )3@EIZK56-W#&Z%(0,jEI+C|0D'@#&LM0
>40:3b+b),3bPQEIZK[#O5AEIPQ>4GI0%),PR>4n4-W#&-TE6),ZX),Z

#$>43&),%(0B_Bn43 0D+),3

#&ZEIZ-T0B[:0:38gp5#&VoK#&ZK_C|0

C`#&Z-

-b).0 0:%&n4-T0-T'EA5>43()%(0Y_Bn430eEIZO>#&3#&GIGH0:GIj,CF0PRn56-r_B0,14Z08#$LM0:356EA),ZR),+ -T'0


>43()%(0Y_Bn430F-/'K#&--b#Y0B5t#t>#&3#&GIGI0,GrL{#&3bEA#&mYGI0R#5SEI-W5.>#&3#&PQ0:-/0:3Wi8}a'EA5?#&GA5)
3 0B5An4GH-b5aEIZFGA)~[:EI%#&GBEIZ%),Z@5AEA56-/0:Z%&V|EIZ|>#&3#&GIGI0,GB%),PQ>4n4-b#&-/EA),Z@5fi

Q),3$EIZK56-b#&Z%(0:j45An4>4>)B560?CF0?'K#&LM0|#>43&),%(0B_Bn43 0t+),3%),PQ>4n4-TEHZK[2#&m5)(+
GIn4-/0eL{#&GIn40O),+K#&ZFEIZ-T0B[:0:3
iM Z`)3(_B0:3J-W)e%),PQ>4n4-T0O#&m5),GIn4-/0L{#&GIn40B5
abs()

EIZN>#&3#&GIGI0,GrCF0zPRn56-_B0,14Z0R#8LM0:356EA),Z),+S-/'EA5
>43()%(0Y_Bn430F-/'K#&--b#Y0B5#

<L

5An4EH-b#&mYGI0D>#&3#&GIGI0,G~EIZ-T0B[:0:3#54EI-W5a>#&3#&PQ0:-/0:3
p

`)C
AL

 

&

abs(p :

5An4>4>)B560

CF0n5A0

%)B_B0

:someshape
c,d;
 (somecondition)

F$

 

:someshape a;
a=c+d;

&

);

-/'E65^>43()%(0Y_Bn430

EHZ

#>#&3#&GIGI0,G2mYGA),%

),+

&&   .. c F..b.O{ ~. . NM

Wh

e=abs(a);

`)CCF0Q0 W#&PREHZ0R'@),C
a=c+d

(W

.+

-/'EA5%)B_B00 0:%(n4-/0Y5i

}a'0U#_a_ ),>40,3#&-TE6),Z

EA5K>40:3W+),3bPQ0Y_FEIZQ>#&3#&GIGI0,GIjYn4>),ZQ>#&3#&GIGI0,GK_a#&-b#iq'0:Z-/'0t%)B_B0

3 0B#&%('0B5-/'085A-W#&-/0:PR0,Z-

A- |+
_a#&-b#,+TEI-T0,P

j-T'0
%)B_B0tl( HDmY0,%),PQ0Y5K560 n40:Z

e=abs(a)
-TE6#&GAi}'@#&-E65AjEI->40:3b+b),3bPd5u#$: l@+Tn4Z%(-/EA),Z|+p%#&GHGYCFEI-/'s#56EIZK[:GI0

`#&-/%('0:3/j04'EIGIEI>4>560:ZjD#&ZK_N}MEI%&'V#&3&[:n40-T'@#&-

gp#&GImY0,EI-/je#O>#&3#&GIGI0,GD),Z0Bopi

EI-.56'K),n4G6_mY0

>)B556EImYGI0c-W)Q56EIPR>4GHVQ'@#&L 02#|56EIZK[:GH0_Y0,14ZEI-/EA),Z

(W

)+K-T'0

abs*+

+pn4Z%(-TE6),Z|+b),3
56%#&GA#&3{L{#&3bEA#&mYGI0B5AjM#&Z@_8'K#&LM0.-/'K#&-M+pn4Z%(-TE6),Z|0 0:%(n4-/0Y_EIZO>#&3

#&GIGI0,G$n4>),Z#&GIGe),+-T'0\.:Yh2),+-T'0Q>#&3#&GHGI0:GL{#&3bEA#&mYGI0B5EHZL{),GILM0Y_ai

>

}a'0:V\#&3&[:n40|-/'K#&-K-/'EA5uC),n4GA_QmY0OGA)~[:EI%#&GIGIVRPU),30O%),ZK56EA56-T0,Z-J-/'K#&ZsCF'@#&-

t8_a),0B5Aj$mY0:%#&n560Q-/'0\560:PU#&Z-TEH%5|)+e-/'0

|+

5f#&PQ0

#54+)3#__BEI-/EA),Z ),>40,3#&-/EA),ZK5i

+p+pn4Z%(-/EA),ZC),n4GA_\mY0-T'0

abs

MZd_Y0,+p0,ZK560),+ > tTj{),Z05A'@),n4GA_Y0:0:>`EHZPREIZ@_-/'K#&-{EI-S.m#5A0B_n4>),Z


> j#&ZK_-T'0 > >43()~[:3#&PRPQEIZK[OGA #& ZK[:n#[:0 E65D5),PR0,CF'@#&-@GA),C|0:3*+pGI0,L 0,G4-T'@#&Z
GA#&ZK[:n#[:0B5GIE Y0
0 #56%#&G),3Ka EA56> i>
Z0.%),n4GA_#&3&[:n40.-T'@#&-YEI-YEA5mY0,-T-/0:3-T'@#&Z
C`),3YEIZK[EIZ0 OM6 j4#&Z@_),Z0F56'K),n4GA_BZ@kl-a0
W >40:%&-{-W)tmY0t%),PQ>4GI0:-/0:GIVFEIZK56n+
GA#&-/0Y_+p3&),P-/'0D'K#&3&_BC`#&30EIZ`#GA#&ZK[:n#[:0Dm#5A0B_cn4>)Z > i

EIZ-/0:3WZK#&-/EA),ZK#&G

[:3&),n4>

),+30Y560Y#&3%('0:35

'@#&LM0

_B0:LM0:G6),>40Y_

>43()~[:3#&PRPQEIZK[xGA#&ZK[:n#[:0x-/'K#&-N#&-/-T0,PR>4-W5R-b)%),3b30:%&--/'0B5A0>40,3 %&0:EILM0Y_

> t& 560:0   j O j #&ZK_  u i:}a'EA54GA#&Z@[:n#[:0DEA5m#560Y_


,+ 4j4#&Z@_OE65{%#&GIGI0B_ )B_Bn4GA#tbi~qs0O_BEA56%(n5f5r-/'E65{GA#&ZK[:n#[:0eEIZ

5A'@),3b-/%),PQEIZK[Y5$),+
n4>),Zx)~_Yn4G6#

-T'0eZ0 -@560:%&-TEA)ZKi

 A T a)KaQP   l a  Y. b
 sY. MZ -/'EA5O560:%(-/EA),Z CF0CFEHGIG_BEA56%(n55z#OZ0,C >#&3#&GC+
GI0:Ga>43&)B[:3#&PQPREIZ@[FGA#&ZK[:n#[:0Om#560Y_n4>)Zx)~_Yn4G6#,+ F
4 EHZ5),PQ0:CF'@#&-K-T'0
5f#&PQ0DC#&Vc-T'@#&- > t C#5am#560Y_ n4>),Z|-T'0 > >43&)B[:3#&PRPQEIZK[GA#&Z@[:n#[:0Yi


}a'0?560:Pd#&Z-/EI%5K),+Y-/'E65GA#&ZK[:n#[:0t#&30t5),PR0,CF'K#&-45AEIPQ>4GI0:3$#&Z@_?%(GH0Y#&30:3

>

pMpX >#&3#&GIGI0:GM>43&)(+
[:3#&PRPQEIZK[Yi.}a'EA5$G6#&ZK[:n#[:0c'K#5umY0,0:Z _B0,L 0,GA),>40B_EIZ`%)Zmn4Z%(-/EA),ZNCFEI-/'
#epMXN+s6MX='VYmY3WEA_%),PR>4n4-/0:3
-/'08}3WEI-b)Z 5AV56-/0:PRj mY0:EHZK[2_B0:LM0:G!+
),>40Y_Q#&-a-T'08ZEILM0,35AEH-TVs)+ #&3bGA563Wn4'0Yi}a'0,V'K#&LM0EIPQ>4GI0:PQ0:Z-/0Y_x)B_.+
n4GA#t.),Z`-/'0 > p+ 4 > ),ZZ0:%(-/EA),Zx#&%('EIZ0,jJ#&ZK_-T'0x#5f
0 #&3ep0+ & j#&ZK_
EIZ-/0:Z@_^-W)EIPQ>4GI0:PQ0:Z-
EH-
n4>),ZX-/'0,EI3pM pX+ 6M pX
'VYmY3WEA_\%),PQ>4n4-T0,3Tj
-T'0}3WEI-b)ZS&jBC|'0:ZFEI-4EA5{%)PR>4GI0,-T0BiM}a'0z_BEA56%(n55AE6),ZEIZ2-T'EA5
560:%(-/EA),Z+)GC+
GA),C5-/'0-/3 0B#&-TPQ0:Z-J),+x)~_Yn4G6#tEIZ  u jmYV > '3bEA56-TEA#&Z{F
0:3W-T0,3e#&Z@_ q#&G!+
-T'@#&Z

C+

6MpX

tTj4#&Z@_zEI-4EA5CF0:GHG 56n4EI-/0Y_|-W)tm),-/'

#&ZK_

-T0,3@}MEI%('Vi

,SR 1?T8;:u:E.@M JN?F8;M JN:=]AHI;IQJNT.dS>8QcST`I;JNJNI@Ad:E:EJNM GI;LPI;AH<TcDAHcJI2>

&& .{KW zW   !. 


 0 ,(
b 
i 4 i i alYTcFbu}a'0 0:GI0,PR0,Z-W#&3bVd_a#&-W#,p+ -/VY>40Y5)+jx)B_.+
n4GA#tK#&30-T'0z5f#&PQ0O#5{-/'K)B560z),+x)~_Yn4G6#,+
4 iB}a'0:VO%(G6)B5A0,GIVF30Y560:PQmYGI0m#56EI%
_a#&-b#,+T-TVY>40B5KEHZh
0 #56%#&GAi4}a'0?PU)~5A-u5A-/3bE YEHZK[2_BEI++p0,3 0,Z%(0Fgp#&-a14356-$[:GA#&Z%(0BoME65
-T'@#&-4-T'0GA#&ZK[:n#[:0E65r%#5A0(
+ 560:Z@5AEI-/EILM0|#&ZK_Q#&GIGuY0:VYC`)3(_a5.#&3 0%#&>4EI-b#&GHEC/ 0Y_ai
qs0D'@#&L 0.L
W

VU) p pKq i
4if}a'0Y560#&3 0Y:l :b?EHZ-/0Y[:0:35fi
q VU


i
K
'
&
#
3#&%&-T0,3_#&-W#i
P
q

=W o)o) p U i $)B),GI0B#&Z`_a#&-b#i
i YGA)B#&-/EIZK[>),EIZ-@_a#&-W#i
a
 qep
iB}'EA5DEA58#Q56>40:%&EA#&G_a#&-b# T-TVY>402n560Y_s+),3|56VYZ%('3(),ZE EIZ@[
4
 KAU
>43()%(0Y55A0B5fi
EA5J0Y55A0,Z-/EA#&GIGIV\#eb.(i$}a'0B5A0_a#&-W#
2
KXU
EI-/0:PU5u#&3 0n560Y_cEIZ9x
 )B_Bn4GA#K
t 5),PQ0:CF'@#&-4PU),30-/'K#&Z2EIZ
 )B_Bn4GA# j


{
>
,2

,+

C/

,+
,+ 4
5AEHZ%(0t-T'EA5@EA5r-/'0?PU#&EIZ^56VYZ%('3()ZEC/ #&-/EA),Z>43WEIPREI-/EILM0t+),3#5AVYZ%('3&)(+
{

ZK),n5a>#&3#&GIGI0,G~>43&),%(0B5f560Y5i

4 4

> tTjx)B_Bn4GA#t'K#5@ZK)56>40:%&EA#&G>#&3*+

0#&3#&GIGI0:Ge_a#&-b#zEA5EIZK_BEA56-TEHZK[:n4EA56'K#&mYGI0+p3&),P bT( _#&-W#&j

i i iaTHlhOb 8ZGIE Y0


#&GIGI0,G_a#&-W#z-/VY>40Yi

0 %(0,>4--/'K#&-@),Z0D%#&Z`56>40:%(EH+pVc%(0,3b-b#&EHZs#5A>40,%(-W5$),+>#&3#&GIGI0,G4#&GIGA)%#&-TE6),ZKi

M Z
)B_Bn4GA#,+ 4
#&3b3#&VA+T-TVY>40B5
#&30
_B0:14Z0B_
C|EI-/'
5A-W#&-/0:PR0,Z-W5
GIE Y0.L
qq $Y J:.bb h7o h
0,3 0PJ:Wbl _B0B5A%(3WEImY0Y5M-T'0u3#&Z@[:0),+5An4m56%(3bEI>4-_+pL{#&GIn40B5AjB#&ZK_
F
h4E65-T'0?_a#&-b#,T+ -TVY>40),+Y-T'0S0:GH0:PR0,Z-W5r),+Y-/'0#&3b3#&Vi:"
W #&PR>4GI0.L
Z q
W|L qq [ Y  ii ,  o VU p pq
}a'EA5EA5LM0:3WVcPRn4%('zGIE Y0
0 #5A%#&GIj0 W %(0,>4-M-T'@#&-Y0,VYC`),3&_a5aPQn5A- mY0.%#&>+
EI-W#&GIEC
/ 0Y_ai:}a'E654%),ZK56-T3 n4%(-E65[:0,Z0,3#&GIEC/ 0B_-b).'EA[:'0:3
_BEIPQ0:Z@5AEA)ZK54EIZQ#$C`#&V
3 0,PREIZEA56%(0:Z-@),+ > L
Z q
VL qq [
Y  ii ,  j +s T ii 4B  o VU) p pKq
MZx)B_Bn4GA#tTj{#&3b3#&V5D_B0:%(GA#&30Y_-/'EA5JC`#&V2C|EIGIGmY08>#&3#&GIGI0,GIj cYp

M+uC|0FC#&Z-u-W)F%),Z-T3&),GJ'K)C

-T'EA5#&GHGA),%#&-/EA),ZUEA5t_a),Z0,j^x)~_Yn4G6#t#&GIGA),C5

#&Z( p: #_a_BEI-TE6),ZK#&G >#&3#&PR0,-T0,3Tj%#&GIGI0B_z-/'0l-/'K#&-4+b),GIGA)C`5@-T'0

5L

J:Wbl +b),3K0Y#&%&'`_BEIPR0,ZK56EA),Z
qq $Y J:.bb h l  o

h

M+J#&Z`#&GIGA),%#&-W),3EA5PQEA55AEIZ@[tEI-EA5S#55An4PQ0Y_c-b)mY0-/'0z5#&PR0c#5-/'0Z0(W#&GIGA),%#&-b),3K-W)eEI-W5Wl p}a'0e>)B55AEHmYGI0L{#&GIn40Y54+)3@-T'EA5u#&GHGA),%#&-W),3#&30AL
i  qp

i}a'EA5?EA5?-/'0YH#&GHGA),%#&-W),3WiM -DPR0B#&ZK5-T'@#&-eL{#&GIn40B5
),+.-T'0^#&3b3#&V#&30^#&GIGA),%#&-T0B_^EIZ

3#&ZK[:0B5c),+.%),Z@5A0,%(n4-TEHL 0L{#&GIn40Y5EIZ

&&   .. c F..b.O{ ~. . NM

W!

(+

-T'0s560:>#&3#&-/0F>43&),%(0B5f5),35i|}a'EA5.PR0B#&ZK5
-T'@#&-uEI+$CF0FC#&Z-$-b)`#&GIG6)
%#&-/0\X#&3b3#&Vd0,GI0:PQ0:Z-b5c#&Pd),ZK[

!/

>43()%(0Y55f)35Aj5A0B[:PR0:Z-b5z),+5AE 0

|+

4v | O#&30`#&GIGA)%#&-T0B_-b)|0B#&%('\>43&),%(0B5f5),3Wi }'EA5t#&GIGA),%#&-W),3z[:n#&3#&Z
-T0,0Y5a-T'@#&-K#&3b3#&VO0,GI0:PQ0:Z-W54CFEI-/'%),Z@5A0,%(n4-/EILM0O5An4m56%(3bEH>4- TLr#&GHn40Y5S#&30

s+

MZx#

#&GIGA),%#&-T0B_Yj#5.PRn4%('*#5.>)B55AEImYGH0:jK-W)2-/'0N5#&PR0F>43(),%&0Y55f),35fi

(+

),Z0 _BEIPQ0:ZK56EA),Z@#&G #&3b3#&VFgh+T3(),P

]\

EIZFG6),%#&-/EA),Z`,B

4 iP

Y p i}'EA5

.+

3()n4ZK_ p3&),mYEIZ
3 0B5An4GH-Tj
#&3 0

| EIZ|>43()%(0Y55f)3I6v | i

#&GIGA),%#&-b),3*#556EA[:ZK5`0:GI0,PR0,Z-W5U),+R-/'0=#&3b3#&VEIZ
CFEI-/'

#&GHC`#&V5>4n4-EIZ

%),ZK560:%&n4-TEILM0

),Z0 _BEIPQ0:ZK56EA),Z@#&GD#&3b3#&Vg+p3&),P

.-

5#

MZ

-b)`d;=<ohj@0,GI0:PQ0:Z-rEA5D>4n4-uEIZ

GA),%#&-/EA),Z6v | ),+>43&),%(0B5f5),3,B 3\ | i
ZRm)-T' ),+K-/'0>43 0,%(0Y_BEIZ@[O%#560Y56j EI+KPU),30

_+

5An4m56%(3bEI>4- pL{#&GIn40B5

_BEI++p0,3 0,Z->43()%(0Y55f)35fi

+b#5A'EA),Z#&Pd),ZK[d-/'0#&L{#&EIG6#&mYGI0\>43&),%(0B5f5),35i

A+

#&3W3#&V p0,GI0:PQ0:Z-W5

#&GIPd)B56-

(+

-b)
;<Wj~5#&Vohj0:GI0,PR0:Z-,EA5r56-b)3 0B_

-/'K#&Z

),Z056n4m5A%(3WEI>4-

EIZ*#5A0 n40,Z%(02n560Y5-T'0\5#&PR0N#&GHGA),%#&-W),3/je#&GHGe)+-/'02%),ZK560:%(n4-/EILM0
5An4m56%(3bEH>4-b5C|EI-T'-T'0

(+

5f#&PQ0

|+

#&GIGA)%#&-b)3R#&30%)PRmYEIZ0Y_UEIZ-W)U#s5AEIZ

[:GI0^),Z0 _BEIPQ0:ZK56EA),Z@#&G$EHZK_B0 -/'K#&-


E65e>43(),%&0Y55A0B_\n5AEIZ@[

Kqep

),3 Y p j@#5$-T'0c%#560zPd#&VQmY0Bi ),3EIZ@5A-W#&Z%(0OEIZs-/'0c+b),GIGA),C|EIZK[


_B0:%(GA#&3#&-TEA)Z

Z
L
V

SL

qq [Y

ii

+ 4 4B

 Y p ii

 Y p o

VU) p pKq

-T'0u-/C`)?56n4m5A%(3WEI>4-b5r#&3 0S%),PRmYEIZ0Y_EIZ-b)?#
56EIZK[:GI05An4m56%(3bEI>4-~-T'@#&z-W)U7_^`^je#&Z@_\-T'0Q0,GI0:PQ0:Z-b5O#&30d_BEA56-T3WEImYn4-T0B_dmYVd-T'0

3Wn4Z@5?+T3(),P

Y p _BEA56-/3bEImYn4-/EA),Zj n56EIZK[-/'EA5),Z0 5An4m56%(3bEH>4-bi


}a'0

+b),GIGA),C|EIZK[c-/C`)#&GIGA),%#&-b),35u%),3b30Y56>),ZK_-b)

Kqep

#&ZK_

&+
|+

Y p j,3 0B5A>40,%(-/EILM0:GIV(j:mYn4-YEIZ'EImYEI-Y-/'0.>43()%(0Y55K),+M%),PQmYEIZEIZ@[ 560:L

0:3#&G%),Z@5A0,%(n4-TEHL 05An4m56%(3bEH>4-b5KCFEI-/'-T'05#&PR0|#&GIGA)%#&-b)3SEIZ-W)#85AEIZ

[:GI0c56n4m56%(3bEI>4-

T i

o ati&-T'EA5a%),3b30Y56>),ZK_a5{-W) qp i
W K
iP W Ko)Ta8i&-/'E65a%)3b3 0B5A>)ZK_a5{-W) Y p i
iPKo)
i}a'EA5+),3%(0B5K#&GIG0,GI0:PQ0:Z-b5@)+ -/'08#&3b3#&VCF'@)B56056n4m56%(3bEI>4-W5
4
),ZGHV_BEI++p0:3EIZQ#&ZcEIZ@_Y0 O_B0:14Z0Y_t-W)mY0Ko)
j-b)
mY0.EIZO-T'085f#&PQ0
~

>43()%(0Y55f)3bi

| | aI 
"

(W

ai BiD JJ&J8 YJDhS bbWT.TYY


bb 

b@,

hlH:WT(O@HhW:zh@ bbbT

W

qq

&& .{KW zW   !. 


$Yb E  E cP Y p b  eJ dfd geh cj Y p o VU p pqji

k lnm,l o prq6st?uwvsuxzyw{T|e}~sq ~1t|eSywxzsywVV}{sspSy?{


,
~t?spKywGywqTG_uwVuuwGywxzuw~1suw{ yw_~t?s
~1yK?sxKst?ywq
|eSy?xsywV

e T$ dfd ? c6

V gedfd geh cj6X( ,( i

e e 6$j ,I  [_([([VN


w*Ge[_?w_/w___N l_ 
G_A__NV,//N?N[6N
[[G_3_w_/VeAw?`/_NVG? [AIz
/_ l
k,llt?suGxe~1uE

  

 , ?s~ 6sfVu?_?s?|?sV



~uw~1s{ s~ _s }_sxs



?l



,


 





 6_?* jG 


l _NV/ 
/`/
/X ,VN*VN? ,wNV[X 
  , I__ l
m l
e
/ /T_ /
j
rangeType
][X/*//_) l /_/NVN
/_& [3 ?, A  , I__N l
N/ ?VI 
/

rangeType
 /)VN?X/_
  VNA? _
identifier
[
/ l
l
/VNw V/_w/V([G_ l

identifier
w/  , 











 statementSequence

#
!
"





*
$

%
'
&


(
)

N/


, ?lfl V

6 ,



+,-
.#/102.#3546467 8$03 467 4695: ;<7 469>=@?#AB.#7 9DCE/146-
FGIHB.#JK46/195FLI3M NPOQN
UT VR SR
XW 
 
x

Y
 


Z

\Y  $ [
_a$` ] ^& &  
(( **
b 5 
K
`_ 
*h
dc ] g`f] e _a`
i $
Y e

__NV /eG w [(


l / 3
VN/_ VN[_

 VN jG/
l

 eN/G  ,  

6  /
VG**[G_eVN?,X_w/V lN
V// uexzteyw_yw}_ /
VN TzA[G_3
/ l
/Q/_G/([w_/QVN
VN?,
_NVG V[_w/V l

=, / m w,
V  /

_w/GN eV*?[ / l N
e~1u /V [_ _

A

A

?/

_/

G([V/

 G NV/
$ _

/$w

V
 ?6
[VV j& N ? l VV(N_VN&N
/NV ,wVN / $ l

?l
mel

kel lf?lt?s uexteyw_yw}_xzus d z VN ?N[w?_VN


 , I__N_(N_
VN ? /
VN
~1uw~s{Ts~ _s }_sxzs _V l
?//V  ? /
VN
_E&_w_/&=V_N ?N[ w?_
_w/_  s?|eGx~ NN ?


V __ l V
 _V_
statementSequence
/ j
/
N_
 l

identifier
/&V/N ,& __VwN
VN
/GA/_/N /*`[ 8A
/*_
  G l
kel l melt?sexzteyw_yw}_Exzus d T ?? $w [
_w_/V 8 zrw//_ lT [w? &  ?N[
w? _w_/jVVNV_N&G
VNE6VN w/ _w
_/ N[G l  XN/TG$  
/j/[N l

 B

\ k


Z



#lm gn `

$ w

<

`/6__N$ I

o$prqro5s
qtttuo5v

ow ow

_w_/V
[


_ :/ 
N[Gw_/XVN
/
 V
j,_/)/NVj__
jw/V l Nw)
?[$ _/ _/N l
,
? _N_N__NNVNI

o wyxp
{zzP|~}

Y j



NPOQ

+,HB#3546-
LBHB;@/5HI#7 ;uGI7 8$0D-u35.#3LBLIHBLC/146-
F5GBHB.#;

e % 

$3/[
_
/
rangeType
?,
l
?l
N/[
[ _ 8N
rangeType
[
? /3
_
rangeType
j l
mel
/ :
[
_w/ 
rangeType
N[
jG/ l
rangeType
l
N/6
 VN_
/w//V(
rangeType
VN_wVNVN_ /V e
w//
( /_
GV_ l
_8? __NT_V l z _ /*
_
/X VNw
I/j$/ /
 =
/_,/__V l

_w_/V8_($G (? __N


_[ l E_//
//EVNE/
rangeType
_6AVN/,  _*(/ lj N
A&//w VN(A//GT
/ mel
 

V_N_w/V( 
if _ [?_ m =/ [X_ l*
where
N
_6
IG(GEV




 i 
\

D

V&

X` 

 `

b 
#$ zzP|' z b

`af

~ z

2!

V

 V X
m





/_w_/)N[
?/I
l
?
/ , [3/ 
[ l
e1
mel  / /Ij(G
[
_3
e1
/V
N[GNGA(&/ [
t1
N[G l
e2
l (/( [
/
e2
VN_(w_/
N[/ l
t2
r[ _w_/
V_V
if
(N_( ?NV_//_
VV l
rangeType
I  N

 



gif 

gh

+,-
.#/102.#3546467 8$03 467 4695: ;<7 469>=@?#AB.#7 9DCE/146-
FGIHB.#JK46/195FLI3M NPOQ
$ 

e 
&`
(

rangeType
1 e 
rangeType
& e>DT
K(






Uf &
6switch

Sf (



e

#

` e f
K  
`  t1
<

[ z


[

  K b
 #
condition

`
e


<

 

t1[



1N_ 
[ [/V l
?l
w/
N[ [_w/ 
l

mel / _ w? 8_XN VN


__
w//
/ l$ / 
[VGVG
V
/G[ , [// l
N / C_ N[G_w/VVN
V(? [Q w? V(
_ l) N _/8G VN
__N
?
y

l
VN

zVN/ _
VVN
V=_N,[)NI?/3/ l

V_N l` Ae,/Tw/
(/ mel
(

/wN/A/NVGVN V _T*_w_/ l

V/(V_w_/
[/
N/ ?/I

?VN_  N  A/6VNVNw/(
VN
_& / *_w_/V_
_N
N[G l
 _,j3/N[)
[
/NX V/  G_uwxK~vs V /_
e_ (
V_N l

  

zE/ N(_V= 
?l  , / ,_w_/ wT
 
[V l

mel /N($ [ /*


 & 
l

l 6/[ _ 
N[G3
l
/VVNw
E_w_/&

V_N$?/ /NVGVN_
l
  / 

NPO+

+ ,HB#3546-
LBHB;@/5HI#7 ;uGI7 8$0D-u35.#3LBLIHBLC/146-
F5GBHB.#;

{z

u
^


, I 
_ ?/_T/
N
V[_Tw w
 _s~1sNl _VN
 , _

,

~t  tt

1

1
 1






&
S
5  `ege
 5
o # 2(
o

$
 i
o

[w_/=N[ _
jj/
rangeType
e?,
?l /
?//
_*_
rangeType
l ?//
_NGVN_ _ _
U
?
1)

GV_ _N
/I
[
U
identifier
V )_N
V_N V_/
VN/
_ kelf [?_
1?$&[__ l
mel  / V V / 
///j)/(Tw /((
l
/`/
/
l  / `&G*VN3/Q VN__N
lA [_ 
?/
VN[_

t1
tk
rangeType
_/   _w/VG?/
V_/__ _ l
 /
/ 3/ GV_N N[G
?N[/_

/V
 , V l
V

_AT/N[3
w[ uw_ / *VN_ E
/
VNw VN_ uwG VN_ l /G
N
e(  NG l
w

N_ N/
N[_w
rangeType
_/$$// w/

i [ _
 nY #m$ in 
& $( *
K
1
rangeType
` ttt P

rangeType
x1
xk
u(
 ` 5




1 lflfl f



?,

/TG
V  V$/_
l
/
mel
e/6G
[XVN [[__

N[==VN_ 16_ 
T_ N /V/ I VNT? [
I[V/( /_  V l
P
l
N/[_w/VVN
N[GVN
P
_ N_N_ (VN_j/V e V j l
?l



\



&

\

+,-
.#/102.#3546467 8$03 467 4695: ;<7 469>=@?#AB.#7 9DCE/146-
FGIHB.#JK46/195FLI3M NPOQ


rangeType
] 

i gh]  i"*
 ` b E f&
g(
E
u



rangeType
  } z
& ( 
2 (
f
   &
$I'2>>IIh #
B~ b IZX
I6 6K IPZX
~h\
h^6~hIbEK\I6\K \\~I6K
~XI  SI

]

stride[i]


i
#
   b
_
$
    ] #" * h `fe *

*


%
[ gy ] #" ]
&~& "  %   "& )  > ((5%2" ( &~& ( %2(
D>*  % >
kel Nr// wG _V ( =/
___V  8 /_T
VNw l
VN_ G/ V/ __N j 
// l z
E_w/ _/=__N 
,

w/ 
&///G/N[G
 [
[
VN
/8?XVN
/E*VN
/V
w l
_ [VG
GT3/ 8///G 
/j
  EG *( /_VN
 __N// w l


e e ,

_  /)/_ l
/
,_N/j*/_I?,X/
NV__ le j_w
1[
/ ?&/[G/=VNE/ =[?_
l [?_ m
l z/NV
/G_VG
[// G
w[ VN
/_


 

V $([&_w/G 
[G_ 
[,_w/ G_w
G l
/ X,   ? ?_ VN
 //[I
/_=/V   =/G__
 l
?
 /_I VNw/V$?N[
lfl A
 T6[

V
V

 V

V




 ,
lfl V
,
V 1
m


V
16 
 1

 1

m
V

NPOQO

+,HB#3546-
LBHB;@/5HI#7 ;uGI7 8$0D-u35.#3LBLIHBLC/146-
F5GBHB.#;

N}{G  !I#" V

#
Z "

 | ~| lm m
Z& kf

#
# 
X
p p



$ &%
(' _[?_ / [,/
$?
e
/VN[G  N G/[e
V_G *)() 
&_w`/_NV  ?,+ _?8__N_.-[
j/__[?_ 1
/*__V_[?_ l
/[/G V/_jNVN / V _ 
_/_NjzA zw//V,G  /VN

0 VN I / ?N[[?(N?
N[ [G_? l
/G/NI
wVNr[ ?r
/ j [/_ _[_ _ 6/
_[?_) [*G8 V

N[_ N  /_,wE/I e`/ 
X_S/)[[G_ww//VV_/e /__N VN
GVN /_N)_/_N /[_/ T/
/$,, l z//XNX,/ [//[V(VN/
_ l
[/_VG 

(

 S








 
( ` g]

l E/ //6*$N/_ l
?

mel _
_$ _
j
#
1
l
 /_
V[?_

&


 g]

N GVV/  e/,


 //[I/8/
_
 N_N //[T_[
/_V l_ N_? /V

N,/ 
 X//

[T ? |?yGs I

 l

/_/_*?
rE
/
_6/ _[?__ (N_ [_&w/=///VN
2436587:9;=<>; ?;=<>;A@ V/V l VN[T_N GN
[*___[&/_ G(_[?_ l
V &/G_&*__[_/_

/*X(GVXX/ /w/_[/wGw_N ?
VN ?V/j[/_ l? N[/j// T/



` $ ] ` g]  $]  g]

Y

~ U
P b I
#' P~ B B
~ K #'P # B K U
BI

BBDCFE

HG JI K HI MLON E
PJQLOP#PSR>ITQMU(R?Q HVHW E SK E X
W R YU
ZR G[U(K E R \R^]>_a`
E
b 
c*daeSfg b da ihAdjhAklL (?
] kDm>fgc*fgm>kTNnL
K Jo JIAQpR>PSQML
G H
V R =R>IR?K qU(R?PHr LOQ ?
R G[G JIAQ
PJR?IAQU(R>Q

+,-
.#/102.#3546467 8$03 467 4695: ;<7 469>=@?#AB.#7 9DCE/146-
FGIHB.#JK46/195FLI3M NPO
Y
ps (
&

gs

/jw/
/wV/At+?/VGwX[G_ ?Gl
w/_ e?wV

# B h ' 
# ~ ' ~ r
K BE''@ KX X# KB~h # S1 # I# '1 S 1 #' ~ Q
BDuCFE

JG[r(L R?I Yr(L JI


r LOQ R>GyG
iz JI HI qV R E
E
E
E R o
W
U(K
KaLOGyr JP

E R W vR
HwU
SIAQ
E ?
R I qL JG[(
r PS{ R?I SP R
HI
KgLOU R?Q JIAQ

E vKgLOG[r JP
E |r DLOQ >
R G

L

C=E

E
HKaLOQI Sx
H}#r
HIAK

NPO

g~

+,HB#3546-
LBHB;@/5HI#7 ;uGI7 8$0D-u35.#3LBLIHBLC/146-
F5GBHB.#;

` $g

y|MH|H88THHy

zEVN/V( (G, _ z
V/$/_?/_ l
e

| m | | n |'
Y 
_



| ~} g

b

,IT e
#

 (V

 $z) _(X(G[ 


e e %
IX/I
[ /_ l
(T?/
V,?VG ]/ VN_AV l z](G3*_NV
I
*__ ?[VN [NI?[ &V(N_
//wG l
, ?/N(
[w
//V j/T[ ?/N[VN_ l
__



ll 3
q6y
{Tuw~VGxzs
uw_xzuws{}G~V|esG
9  @ e
| ywxzsy?V
~VG{Ts}_G_ t

v6=vDD
9jn

 i_ h _ u

v66

 9jn

i s

b

l$
T ( I
@ _[/ /
_6 l

w Pv

//

S&

w/,//w `/
(_[ //?V 1X,/ _$?/_

?& # 1(1e 3
*//VG/w
_ ? (w
__ ? VN
 

b 

  " (

Y

vvY8 lnm,lo p{}~|eGGxzuw~VywySp


{ uw~GxzsxzuwsuwxKxzyw{
|eGt?sXqTG~t 9 @ 
{ }G~V|eGxzuw~yw_6~t?sXG~xzuwXs/?yw_s[G t9Dn @ ~VG{Ts}_G_
9 @ |eywxzsy?V

jre_S/G_/* //_
[?_ / ?l

/ _N /
_

@ [
9 @ /
(N= X ]V) 9D

_ ( Vl
w 9 @ N/Xj//w
/GV/GE
A l

5  "  k


$z z |   #lm ~'| z

NQO

$ 

\
 $z=X_ (E(G[
[/I  V&N`[V
e e

(N_

$



we,$
a

3I_

_ l

asg

P,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;



 i





6(_w_&/[ G~sVuw~VGvs _I6 */`[


V l` N_  &N/_6/(_V _,[  

c


[wV l
[

V

=(VN[I?V l
[ __ l

V l

` 

__N_`//e//[A l N&?]_
E(G_w/ * G j6/$/
[IG/_N( [_w//_ l $V,
XX?G ?//V, uw?s~ _G_,VNV
(w8 ? l
GV[_VN?//V
_ _ 






j/ /,AE /?//I[N
VN/
/w,VG`[ l N[,//G
w &/w&/A |?uw~Vuwe pGpKsSs~u?s }_u
~yw_ ) VG&  G
VN$
 VG ?_ l

 ($//w l
 _yw~ ,VVN_?$_X?
VGVIG* IE/_/VG*
w/ l

5 

 

B

Y

  !" 5
b


z # 1
 I/
[G_[Iw//V ?s~1s
{_uw~1  vsVs $VG
?l /
[?_ me l
_ 1( $
VG*6* / ?l =[?_ mel  &
GVNIVN _ VG?.,/_?  
# 1 /?  
6I/=/ I

?l )[?_ m (/ lN [,G[
(

V=NVNIeN[G_,T&/_&VV
_NV _G
S,VNX[?/j l N(,
`/_ VN G _EVG3 [ _GV
,$_G[[ e
w[ / *[
/ jj[Nj
xzyw{T|es~1s
_ q)($ l z ) _G VN_
,
se~ ?[G_ VN I _V 
?
/[VNV?6//X
uw}_uwsG{_uw~yw l _AVN
k 1 I l
[ =([?_ (
?l [ V,6,
I* eV
 l_ TV,, `/ /ETV VN
,6[EVN ?/jV?_
 l
?l melf?l s_sVu?GG~Vsjywvsx~ywVu?_ { uw~xzs

_?V6
Nj  _ I[ l

 2" !  

 

\

 jZjDv

l l s~

5 Y
hc
 { " 5  
<
 
i
X

su?

{Tuw~V

q G3sxzuwGs

NQ,LB7 8$HB35.3LI02HBAB.#3
w w
W W
w w
W W

N QN
as

?lywqs~Vu?_e}uw py n
q t?s_svs 8
6
melp_}y?q6s ~uw_e}u? p n
qt?s_svs 8
l}_|?|?s~Vuw_e}uw py n
q t?s_svs 8
6
kelp_}}_|?|?s ~uw_e}uwj
p n
q6t?s_svs 6

]
Y

 Y

VV&/ /GV$///(_V_/
VG ?_ ? l  /V
/V$G8/8jVN ($/_V)
?_ _NV$( ? l



w Qw

jZjDv lnk,l G vs)u{Tuw~V[ ~t?s:s{~uw=~Vuw_|?ysAySp[



?s_yw~syw6?s _sI 9 y @
[ /qt?ss ; ?s_yw~s ~1t?s xzyw{T|esxzyw
}_?uw~s i

jZjDv l / l s~uw_s=~qyvsxK~1y?V(ySp)uw
eG{Ts_yw_u?


vsxK~1yw ?
| uwxzsZ:t?s G_sN|eSye}x~?ySpy*u?_??s_yw~1s 9 < @ j?s _sE

q6t?sSs

9 < @

w p w w
w

 [

?s_yw~s ~t?s xzyw{T|es xzyw }_?uw~1syp[

ss



zN_j//

9 < @
l |
?
9
i
<

@
D9 :< @
mel

9 <i4@
l 9 < 4@

K

(*//VG

p ttt v
w T W@
T tt t k p ttt v
p ttt v
w
w w v W
w
w p w
p ttt v T


t

t
t
T

K
p
T
6T
T

 jZjDv

l lys~ySpvsx~ywV <
9 *< >@

#< T

$xzuwsyw~1t?yw_yw{Tuw? p

y?~1t?sqTs

?<
#<  s$~1t?s$Ss}G~_ySp|?s{}~_~t?s

jZjDv l l s~

>< t?s$|?u?G~ySpX~t?s[|?s{}~uw~yw_8 9 ?<
#< #@
G~ySpXG~s?sV <
?uw_Exy?{T|e}~1sEv?uw

u|?|?su?G_ ~y~t?s
?l6ywsuwxzt
G
xzyw}~~1t?s}{s&ySp vuw}_s
`s~N~1texzyw}~s
?te~?ySp

V n s }xzt~1t?uw~

>< #@
9g
@
me6
l yw{~1t?s ~yw~1uw `uw_X?s _s4 9 ?<

X/_ [_N?/ A_w_,AX/_/


>< l

V ,`/_N VNNV__ <
_ 
$ /
//[ /_/VE M < <=<i\< l _
_w[VN

/[__N=VNX?/ 
VN_ 
G_ __N
((_*&GVN=`/_N l z&  [V 
l _/( T[

/_/)
T A?

N Q

P,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;

as

w svs|?s{}~1uw~Vyw_ =[V*[V
|?s{}~1uw~Vyw_l

!

Z
w w W p ttt W p w

w
TW p tttttt W

 jZjDv l l o p46uw
_s ~1yXs ~t?s\>
9

{Tu?~?~1t?s?s~s{_uw~ySp4[?s

9 ?<

><

n 

W p ttt W

q6t?sSs 9 <

 n

    

#<

X wG y?

~1t?s|?uwG~1ySp~t?s|?s{}~1uw~Vyw

$ ?syw{Ts~VGxe?s~y? __eV/_ 

_ EVN _ /N6/[_


wVV l z _/N )_VG 
l
EwVV 
w 9 @
\>
_ E
 l  3I_
9 @ `[
[G l? VN/
/
\?
VN
/= 9 @ l

T $]
6

9 @ 6 `/))/
VG e
/_
9
@
w
y

s


1
~
w
u
V
~

w
y

l
/[
_*?


 ?//VG&6__N[VG

\>
v6=vDD

>

\?

l
1,lo py=uw_t8uws

K

{ uw~xzs~t?s

9
9 @
9 @
l
?
@
\>
melt?sG_suw6~VVuw_pKyw{Tu?~y? Ss|eSss~1s( vs~s puw_yw
9 @
p
>
>
l[o v
p u ywq6s3ywN}_|?|?s~Vuw_e}uw{ uw~&uw_
Nueu?y?_uw{ uw~?
9
9
@
~1t?s
@

Y 

@
p 

 _ I[[w`///(V?/ VN  s



(AwG _yw{ _ l
/?/ VN ?
{Tuw~V ,wGVN _yw{ T { uw~ (G,_G? 
VEV :$ _ l _NVG*:$
?/ 3_N((GV&VG
+?V _> _ GVN
_ I[
~VSs~xzteG_ ?/ E/E
 l

 5
;

6

>

 jZjDv l ls~ Is,uTvsxK~yw|?uwxzsT_yw{


jqTG~tE~1t?s`pywywqTG_*|ey|?s~Vs

yw

/u]p_}xK~Vyw


~ X
#'~g5  k
#' I P' #K b b P'
I Q
l|
?
p6uw_*ywE p ~t?s vsxK~1y? X 

melpyweuwG= <i

|


L

B P E O
L U(Q E E
V>W |W JPJPIAL TU

H} IAL G
LONAGyR
E HG JI E ^r
HI

SK

E R MR fge JI FU(K
KaU
JLOI

Zo{8IAL G

LON HK

NQ,LB7 8$HB35.3LI02HBAB.#3

N Q
as

lpyweuwG=
<

| 
 ? |
p_}xK~yw ; !#"uw~Gxzsywvs$
 xzuwsu{ uw~_yw{
p G~?uw~[sxzyw_eG~Vyw_G%s '&?`uw_)($u?Iy?vsuw_?NGu?e~yw
*elpyweuwG3{Tuw~VGxzs,
+uw_.
-ywvs8+/-, + 0-,

y? uvsx~yw|?uwxzs$q6s$xzuw
jZjDv l`l vsTuvsxK~1yw,_yw{ ; N

?s_s~1t?s uywxKuw~1sE{ uw~_yw{u?pywywq.> 21.3!4658:
7 9 >|<;|




S 


?l_ X N_//_ m 
 _
 l
/_ * /TV9VN(I&&
_ V*_
  Tw/
/ I + | 0-:| _ej_ TVN
w/
/ +/-^l
mel /_

 /6V(w_/NVN
A
+ 21.3!4 5 = 5 =D + |
 VN
_6

 


 #

 

 p * K
p w w

w w
s w w s


B


B
jZjDv lm/l

mel|0> 21)3?4 

l | A@

TVN

?l|

_6[_  Tw [XV l

jZjDv l
l
?l6 }_uws){Tu?~qTGG[sxzuwsueu?y?_uw

\>
{Tuw~V p[u?Gs~s_y?~]yw~1t?s{Tuweu?yw_u?uws 
9B
mel
*u|?ywe_y?{u?G B xzuws ~t?s(xzt?uwuwxK~1s~x
:C @
|?ywe_y?{u?ySpy[
l }{s B
6
p p~1t?sSsse~juXvsxK~yw
  xzuwsu?*s?svuw}_sjySy
 }xzt~t?uw
B FtevsxK~1ywX(xzuws ~t?ss?svsxK~1y?

~ [
xzyws|?yw_e_~y BD u?G~1s_uw~1s?sfG~Vyw ySp s?svuw}_syS
p
B uw s?svuwG}_sySt
p pAu?_y? p~1t?s{ uw~ B 6C _yw~
Gvs~G
s te*su?*~1y*uw s }_uw~yw[pywxzyw{ |e}~_Es?svuw}_sXuw~
su~1`pyw G~s e{Ts_yw_uw {Tuw~VGxzs&s?svuwG}_suwSs Syy?~1*ySp ~t?s
xzt?uwVuwxK~1s~VGxN|?y?e_yw{uw
*el[o p B Tuw(s?svuwG}_sTySpu{ uw~ 6$~1t?s~t?s s?s_|?u?xs uywxKuw~s
q ~1t B X~t?s|?uwxzsySpvsxK~1ywp
euw~VpKeG_ 9EB DC @
p
[o :
t?uyw yw_ss?svuw}_s&s }_uwN~1y B ~1t?s$s?s_|?uwxzs$uywxKuw~s)~y B
F
~xzyw_~1jySp[uwxzuwuwj{}G~V|esjySp ~1t?ss?svsxK~1y?
eG{ s_y?_uw?
uy?xuw~1sq ~1t B
G 9EB@ ySp/u }_uws6{Tuw~V
~1t?sN|?ywe_y?{u?
/ lt?s{G{ uw|?ywe_yw{uw?
G 9 @ ?ySpywqs~??seSssj}xztE~1t?u?H
~ G 9 @

?lt?s }G|?uwxzsypAu{ uw~
~t?s|?u?xs ySp*uwGvsxK~1yw }xzt=~t?uw~
[
oI~, ~t?s$u?{Ts6u~1t?s[s?s_|?uwxzsySp VSs?u?V?sAu$u?s?s
vuwG}_sjyS[
p 6H
l I 9 @ ,~t?s[|?sxK~VuwueG}_6ySp 6?s _s(~1yIs~1t?s { ueG{}{{Tue
J
~}_?syp~1t?sjs?svu?G}_s ySp[y

N +
as

P,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;

p
s
p s T


5
5
 \
5



5

5


5



^

?l6{Tuw~V xzuwGss{~uw( p:
yLK6sxzuw ~1t?s&?sfG~VywAySp
~1t?.
s s{G~uw~VVuw_|?ysG M*y?|?u?s 'N?
1e6
l { uw~
xu?Gs}G~uwVE p PO

lt?sxzyw_eG~Vyw=}{s&ypAu{Tu?~ ?s _s <Q SR

p _yw__e}uwfH
Tyw~t?sqTs

zN,6S// _ VVN__ jG/& [  VN xzyw{T|es


xzyw }_?uw~s 
w`/_NV s{G~Vuw G$__N
S


s
w
u

l
/[
VX/___ X/? /`/VN?
__ /
?//6__ _T?
 _ e__ / __ _(? 
((N__ / l
GV[_?//Ve__ /A___ 6NV
/[ _G//__N_e /_?$
_V[/V/ l []__N
/& eu?yw_uw {Tu?~  V
U[, jG/j&/$AG
? l * _ VG _N/w// __N
mel * ([?_ '
m *
?lf?l
/[ __ _6(_

?l
([?_

 ]
5
`
 


v6=vDD

l*/lo p ; 6juw_E_y?{8uw_

w p w

ju?_E{Tuw~V? ~t?s

lJI 9 @
?
\>
mel W u

T9 puw_*yw pI 9 @ 

9 @
l
X B qt?ss~1t?s B uws ~t?ss?svuw}_syp,yss
eGvsvuwG}_sTyS p*s?svuwG}_s{TuywxKxK}{Ty?Ss~1t?uw(y?xs1uSyyw~1 ySp
~1t?s xzt?uwuwxK~1s~xN|?ywe_yw{uwi


< e
5 



v v T
<

T
v
vv v f
v T 
T
T
u

Y
_

v66 l  V_N
B T y

_ I 9 @
[) B lZY / y^

_X__ / l
__ _? _
B 

|  ?lf T [
B
[|
|
I 9 @ ^l
| VN
__ I 9 @ |
wN[ /[  |l
_w__N //[ I 9 @
l& N_ I 9 @ I 9 @
I* E VNV [IXG l
 VN_

T , I 9 @ 

Tl EI$V
[
?
?
I 9 @
I 9 @ I Vj[_ /_

*Z

/G VNwN[ l
 _
I
VN__IEVN
w_
A[`[  jG/ ?_VN
\>
//& X l
E//( __N/XVNXVV
9 \B
[
l
]C @
_ B =VN
B _

NQ,LB7 8$HB35.3LI02HBAB.#3


X

w
p(
a&

u

N Q
as

jZjDv l / l3qy
{Tuw~VGxzsuw_q GsXuw~1ys


G{Guw p ~t?ssse~1uX~1teVEGvs~Gs ^ }xztE~t?uw~ 2 _O


W@T ttt

w
w
w

p 
e


 [ G  *`/
[

_ l //

G

$

$$I [*(? _ *
<
>< l
&I 
_ I[X( ? 
a` l
,TXw/$ /GN_w/ VN
` V$  l

$

E/G$(GV(VN I VA[VN


?  &VN VG 1 b _O l z8_T
,&
, _/ _N uw{Ts~Vu?_pyw{Tuw~Vyw
G
S?G_
_ l zN [ 

lG ls~
uw_
sr{Guw
{Tuw~VGxzsq ~1t
c_c
d

p yw,yw{TsGvs~s{ uw~ &t?suw_,t?uwvs*~t?s&uw{ s


e O 

s?svuwG}_s uw_*|?sxK~VVuw3VueG

&e

 5
 (

l
$
__:/
__ jG/;/;VN
//_V?G[ l
_ B   ___ / (
l` _
[G__ _ _ ?lf ([?_
w
v66

/

5

f gO

&

/VG/

p
p
p p

(,I/& __

u(

VN ]f gO

p `

5

B O

b

5


G/jV B )___ /E (GV)w[__N
_ gO ]l
GT_/_N// e__ /
/&?[(___ / l
zI

5

Z B

ls|
~ s6uw
}_uwSs { uw~
,t?s
[G{uwj~1y
dc_c lG

u _
p }G/}_|?|?sT~Vu?_e}uwT{Tuw~V?ih6q ~1t~1t?sTs?svuwG}_syp y?~1t?s{Tu?G
eu?y?_uwn

5



1 p ttt p tvtt v i]


><jB
l //[__ /*  B H<
? _

<
>
< T l

[GG_/_N __ e

(I A?*$
_[w[$__ _A
w/_ l l T__ _,_NN &w/G_?I
v66

{&

D5 

N QO
as

 5

P,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;


p ttt i v
p sp
s a a
VE( 
1p

v
p


w p]
 

5
s s

p s p s



t

t
t
T T Y

VN e[ e
VN_ e_/_N[,VN
#<
M lo~1teu ?/
 H<
__ _


&

(N_


w
/VN ? ?k

l l
l

w 
5


ll

*V

ll
l

B nom

($(E ((N[(/VG
w[_&V[_
[6   _  j  O VN/
[[NVN  ?p
r(/E*__ /? _
[___ 
XAX_, _ G
wN? /* ___ ? [G p z(VNj
?
(G  I

_ k e VN

mo


_/_[IT
/V (Ew / G/
#< Ws
V
  IV=__X)`/_N=VG rq <

p
Nw_ ? ? /[_6(N_
 TV Vs / //[NVVN(_NVG
//G///_ _/ p

N?(?


!

p s6
~ s
u s{G~Vuw{Tuw~Vt?sTG{Gu? ~yu
dc_c p
eu?y?_uw{ uw~Eq ~1tE~t?ss?svuwG}_s ySp =yw~1t?s { uwGeu?yw_uwt?s{
uwG~1 ~Vuw_fpyw{ uw~yw }G~uwVP
F
Gy?~1t?sqywV?

q6t?sSs

uX}~1uwVE{ uw~uw_

b

 p
O

ju&eu?yw_u?{Tu?~


#!

w]VN
_
_/N
6$/GVG p
_$,/ 

//_G p tup t ([?_ tup

eT

* p 

p T1 p s~ B suw
s ?svu?G}_sySp u_yw_G_e}u?({Tu?~wv
; B w
u s?svuwG}_s Sy pv O

dc_c

t?s

[?_

NQ,LB7 8$HB35.3LI02HBAB.#3
]

5

T T
s s s

Se

asgs

v66 p
 Bx _w[ ($_/ p

B p v
?__ _ v


9 v

dc_c

v66 p

; B@yB

pt

; B@ v

<v

 <v

<v

I 9 v

@ pJv

_s[|eye}xK~

w VN
_/NV$VN

p/

[?_

p
X _X?G//_TG$//V_ p /G/
VN/V_NVN
<v

.z

1)3?4 9 v
58:
7 9

< v

@ ; 9 < @

.z

1)3?4 9 v
58:
7 9

< v

@ ; 9 < @

1)3?4
58:
7 9

.z

1)3?4
58:
7 9


 5

9 < v

9 v

v
v

@ ; 9 < @

< @ ; 9 < @

/
p N
/[ VN
[/[(G v
 vA{
wV_N  INV( w(/ u
w[__ _ v 1N_ _($[&V ___ /
VN$/_ VN$N/[ v ,__V*VN&___ 
p NE_  / V ? /[8VN V
__ _$__ / XNE/_/
w/NjN[N /G[6 v |B aC
 VN
_ I[ _V X___[$ X___ 
} ]_  }  *___

&G p //[V


v p

S 5

&

~

9 v



< v

w
w p w w
w p w w w w
w p w w w w w w
w p w s w s
5

@

9 v

} < v

9EB

~} <jB

55

55

~} j@

} j@

9 v < v @ qs?te~suwvsVu?s T__ / v p z I


&V[3G/
/ 9 v < v @ ; 9 < @ /(N_ 
__ _V / , `[ (___ / p



 jZjDv



5

pt p s{~u?{Tu?~q G3s xzuwGse

p yG~VGvs s{?s~1s& p 9 y < @ pywNu?_E_yw syAvsxK~1ywpF


tup 
y G~VGvs ?
s~1s p 9 [ < @ pKw
y eu?_(_y? syAvsxK~1ywp=

P,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;

asg~

qTG]sxzuws[s{G~Vuw |?yG~VGvss{?s~1sM

dc_c pt:tp s{G~Vuw{Tuw~V|?yG~VGvss{?s G~1s$ p6uw_yw


p ~1Ts?svu?G}_sTuws_yw_s?uw~vsoI~[T|?yG~VGvs ?s G~1s p*u?_ yw pG~
s?svuwG}_s uwsj|?y~vs

#!

/I_G 

([?_

pt p s~Ysu|?yG~vsNs{?s~1sj{Tuw~V]t?s*~1t?ss
se~1u|?yG~VGvss{?s G~1s&{Tu?~)v:}xzt~1t?uw~
vvY8

#!

IG
_G

v66 p

 p

/G

#_

[?_

(G

\

(N_ ?e VV eA_NV?_


 p

_/

p ds p

U p ds ] &
 (
s p ds p  p ds p p ds p ds p p
E

(N_ VN _
w [G_NVG&
v

JU[
p

NV [`[X

z /[/eVN  T
? Tw//

_yw{

i_

\Y

S

[

w p w
w w
T W

pt * p t?s{ uw~_yw{


; 0> eGvsI>
0> 21)3?4

v6=vDD

uywxKuw~sq ~1t~1t?svsxK~yw

X/ U_ 
[ w ?1)3?4

`/XGVN  _(_ E p XV


(Tw(w ?`[VG # ?V
v66 p

Y

TT


<


<

w
w

 *
\
w

/[

/V e p

 /= ~1y?~1uwvu?G}_s I[  p N
 AdU[ { ueG{}{
I/ p

v6=vDD

p t / p t?s  _yw{ >

w p w

1.3!4

?ySp6uX{Tuw~V

jevs

NQ,LB7 8$HB35.3LI02HBAB.#3

asg

y-axis

1
Unit diamond
1

#8

/ p

x-axis

p 2t G_,

w 5 w \ 

/6 _e S//G VN ??


/ U
VN T p
[ w//TVN 3G/;.
p xK}xKuw?~1s|
AVN `/ _V
e

p
3G/ /_ uw/}~/yw_s $ W
I
TN ?_ {}_~ 
p
X(_ t?s}~VGx,|eSyyp VN p
VG
VN
_/_Nw? w/V[ p
6[
wj__X_N/we _eVN
/8
+?/N_ ? -$(GV /_NVN p N _j e
(VN//_V |
6I T[_ 
,VN
p
e

w
u

{
w
y
_ p _/[
_G
wGVN&
/ p
$ t I_
 p

(
_w=?=?[ VN
 V  _  VN_
V_N _ p
V (w_/NVN

*V
?(?G[&VN
V&
9#d:
3 1 @ e?/[_/

/ p tup
V&?[ *_NV*_ ?
?/

U[ ~1s xzs|e~  ~1s xzs|e~ p N t?s}~x|?u?~
_/_N]&&]VNG_N* u?Gqu?
_ 9 /N @ j vs~s p ,/G/VNGw
_,_w[ e&E/G (/ _
VN[
(
?G`[
G,_?G p
X _GVN /[V I
`/  p
z VN

w[


w[ ?
v66 p

  |
_

 5Y

6 (  _

c 

D

2 T
T

p T

T $_
 

T

<

E

{&



P,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;

a~g

y-axis
1-norm of M

M(unit diamond)

p w w

p V9

{ ueG{s p

>|
&V

x-axis

/ pt

j?//(V)

/

IV/V3VN_  G{ |es I/I t 6&


N
VGV s~s  p t s{~uw
|?y~Gvs[s{?s G~s{ uw~ V/( p t [?_
/ /j
*`[XX_ s?svuwG}_s ,* p
E, *XI
 /N/VN `[N /_V?G[

&

es

<v

dc_c

<v

Hv

p s~gv
1)3?4

w w
p
v66 p

1.3!4

pt

w w

w w w

1)3?4

t?s

9D ?@

1.3!4





<v

s _ # #( 

w w js s
p
p pp

<v

<v

V

<v

<v

I 9 v

Sv

<v

VN3/G I/?E_ _  p


$
TN__  p / * ([?_ t p
<v

<v0>

, ^j p

h p
s
5
p
ttt v
B b6

5s p 5p s s
5p s
ttt v w
B

p p s&
~ Is$u }_uws*{ uw~
_t?ywq~1t?uw~ p B uw_ B uws*~Vq6y s?s
B ~t?suw_
vuwG}_s$ySpq ~1tuywxKuw~ss?svsxK~ywV[ uw_, uw_ B
G_suwjxzyw{G_uw~VywySy
p u?_
uXvuws?svsxK~yweySp B uw_ B

B p
X K

ptp s~&Is$u }_uws*{ uw~u?_)s~ B


B s&s?svuw}_sq ~1t
uy?xuw~1ss?svsxK~1yw
_ou?eG~Vyw_`}_|?|?ys&~1t?uw~ B  BF py?euw
u C=E

NnLOPJPJLOW N LOG

&LOIr(R>Q

0<&R>I

0&LOIr(R>Q

0<

p ttW t v

< }xzt ~t?uw~


vsxK~1yw: ?<
xzyw{G_u?~y?

#< M

NQ,LB7 8$HB35.3LI02HBAB.#3
w
v
w p w w

N QN
a~



3uw_~t?uw~uwG_ySp*~t?sy uws _yw syF _t?ywq~t?uw~/~1t?s6s~ySp


uwSsG_suw_?s|?s_?s~F
 s$~t?s$y?)quuGG_suw

qt?ss~t?s
uws&xu?uwVxzuws }_u?sSypKywu?G?ySp~t?sxzysfpGxKs~1
~1y

i
s sF
y
t?s~Vq6y s?s xKsu?Iy?vs$t?y?q~t?uw~,~1t?s}{TsxzuwvuwG}_s$ySps?svuw}_s
?s~1s{_s{Tu?_Typ~1t?s/|ey|?s~VsySp&~t?s/uywxKuw~1ss?svsxK~ywV] p&~t?s/s?s
vuwG}_s&uws&s }_uw ~1t?ss?svsxK~1y?V$u?Ss$~yw_esuw~1s~1ysu?xtyw~1t?sfuw_ p
~1t?s s?svu?G}_s uwSsje~VGxK~1 ~t?ss?svsxK~1yw uws _?s|?s_?s~

 

p p _t?ywq~1t?uw~&~1t?s~Vq6ys?sxKsTuwywvsEG{ |e=~t?uw~uw
xzuw_yw~3t?u?vs {Tyws~t?uw
e~x~?s?svuwG}_s
p * p yw{ |e}~1s ~t?s  _yw{8k uw_E~t?sT

T T
R
TT
TT

p / p yw{ |e}~1s k ~t?s  _yw{8uw_E~t?sT

TT

TT

;
;
;
;

TT

;
;

;
;

{ uw~

_yw{ySp ~1t?s { uw~

mo

_yw{ySp ~1t?s { uw~

T T TT
T TT
T

;
;

; m8

k uw_*s?svsxK~1y?VjySp ~1t?s{Tuw~V
p p xzyw{ |e}~1s~t?ss?svuwG}_sj

T T T

s~1texzyw{T|e}~uw~yw

p p s~

mo

~1y*xy?{T|e}~1sG~1 |?sxK~uw]ueG}_

s ~t?s {Tuw~V

T T
w Z
w

yw{T|e}~s ~1t?sL& _yw{ySp[=eGsxK~

! 

p p }_|?|?ys ~1t?u?
~ Tuw
{Tuw~Vq ~1t s?svsxK~ywV  uw_
xzyws|?yw_e_As?svuw}_s B  o p C 6u
?s~~1{Tuw~VXuw_
uw_

uws&xy?_~1uw~jt?y?q~1t?uw~ ~t?s s?svsxK~1y?V/ySp


C uwSsuwy * uw_~t?s

B

xzyws|?yw_e_s?svuwG}_s uws

N Q
a~

P,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;


B

S

p 1 p }_|?|?ysT~1t?uw~v
jyw{Tsj }_uwSs { uw~ _t?y?q~1t?uw~vv E|?y
G ~VGvs&s{?s~1s _t?ywq~t?uw~1j p_v
X
_yw__e}uwfj~1t?uw~vv |?yG~vs
?s~1s

 

p p }_|?|?ys ~1t?uw~Hv yw{Ts&_yw__e}uw{ uw~u?_


?s~1s{Tuw~V _t?ywq8~1t?u?~v 
v Ej|?yG~VGvsj?sfG~s

u&|?yG~vs

p ` p s{{Tu M*y?*|?u?s 'N MEG{T|es&~1t?u?~1pywNu?_A }_u?SsT{ uw~[


I 9 @
z qt?sSsX*u?__y?{o u?eG~Vyw_ qs%w_y?q
~1t?uw~ p
4s{~uw_V
I 9 @
vs*uws?u?{T|es*ypu{ uw~}xzt~t?uw~
I 9 @  Vn 
s ~1t?s*uws _yw~3s }_uwi

s B

b #!



p tup tup T|?|?s_eeu?yw_uwu?~y?ySpXs{G~VuwP"uw~VGxzs z)VNT/


p (G_( G 
/_G (N/ p [?_
VN/ p =[?_ #/?_w_/6/G ///VV_/
w h ?(V/
/ s{~uw
(N(/NN
? p
[_/6_ 

GVVG
><B M
(
__ / B ?<

w [G
___[

1
p


t

t
t

v
5

p _ ttt v 
W
W

T H<

>< ?p

_(

pt

 jZjDv
yw_uw] ppywNsvsV

<

p ttt v

p s~wySpvsxK~1y?V4 <
 q6s t?uwvs
}xztE~1t?uw~

w
w w T

9 *< ?@

>< M

qTGG]sTxu?Gsyw~t?y

t?sjs~3ySp vsxK~1ywVq G3sxzuwGsyw~1t?yw_yw{Tuw] pGu?e~y?_eq6st?u?vs

T jW
_  
e
!

pyw uwG

9 *<

*X
T[

6?//_V)3?

p ttt v

p s~4 H<
><  sXuw)yw~1t?y?_yw{Tu?IuXySpuvsxK~1yw
dc_c pt
|?uwxzsuw_Es~ suwuw~VuwvsxK~1yw G: t?s

v
w p w w

9 < @

v66 p

NQ,LB7 8$HB35.3LI02HBAB.#3
p ttt v
v
w p w w
] g
v
w p w w
v
w p w w

G  <

_w/ 

?j

>< T

N Q
a~

/j[ XA/

(N_ VN   E/?N p


IVNN_6/
/j/_w /  (=? _
9 M< @

9 O<

9 M< @

9 M< @

j@

9 <

p ttt v

p ttt v

vvY8 pt 1 p s
#<  uw_
#< M s
~
 <

 <
~qyy?~1t?yw_y?{TuwusTySp~1t?s uw{ svsx~yw|?uwxzst?s~t?s{ uw~
~ t?uw~
~Vu?_pyw{TZ
~1
y *eGvsI

w
n

uw_E uX}G~uwV{Tu?~

W
w

9 <

p ttt
pw

! b


E wG/
_8?_S/V
#< M & p t
_w/  _VN  ?<
 (G/ 
_ p N _ _NI
, 
v66 p

#!

@ 

9 O<

9 *< ?@



5

/ / p E[?_
w  V p [?_ #/
_w/j (/[) y?~1t?yw_y?{Tuw ?__ _
&I  p

T//N(T /

dc_c

w

p s~ B

s?svsxK~1ywV t?s

K

BF sAs?svu?G}_s*ySp

9 *< ?@

rqTG~txzyws|?y?_eG_

N +
a~

P,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;

i_

w//

v66 p

w w w
w
w &
w
w w w

B 9 < >@

9 y < >@

>@

9 <

1w[

9 < [ #@

(

GV

BFM9 < >@

B 9 *< ?@

vvY8

p ttt v

p p t?s6s?s_|?uwxzs4T <

~1ysuwxztyw~1t?s

BFM9 *< #@ (N)/XwN[N

>< M

B J

B=jp

ySp4uws[y?~1t?y?y?_uw

zIV` (3 __ [?I 


V__N
 p N //$VN(/ &$?,(VN(wN
_
>< M N_I_
[ p z [__[ T <
(T G? /   N/G  ? __ _
6 t V p
_N6/G_  __[
? G___  p
[j(w/ 

q

1
~
e
t

e?
 __[ p




e

p ttt Y v

b ` u
h_

p ttt  v

5

p ttt v

dc_c p tp s~ suvsxK~1yw]|?uwxzs6q ~1tuwX_s]|eye}xK~ 9;=<?;A@ uw_


><  Tt?s~1t?ss&se~1$uwyw~t?yw_yw{ uwu <
>< T
uu  H<

teXAxy?{T|e}~1sIuwG_e}xK~VGvs|eywxzse}sWF
qsXxzyw{ |e}~1sA~1t?sepKywGywqT G_
~qys }_uw~Vyw_TqTG~t

&(
& 2(

W@T tt

wp
w w p w
w w w w

q/

ss

p p

; @

9 < #
@

9 <

//wVN Vuw{ xzte{e~`yw~1t?y?yw_u?Guw~ywXu??yw~1te{:

w w T _ & 2(
?[

U

/G$86  ?$//
p
_ 9 *< @
(G/Q VN 6 
/[ V 9 O< n@
p
/ p /
< ` 
(G$
I&
v66 p

W _

w w

V 9 *< n@

QN ,LB7 8$HB35.3LI02HBAB.#3
W Wd
wp
w w w p w
w
wp
w
w w p w
w w w w

N Q
a~

T #`

9 <

9 < >
@ < @

9 *< @

9 *< ?
@#9 < @

@ 9 < @

9 *<

w
w W W _



//[*E//EVNGVN*__[ T  
p A_ ? _6(GN(
)4
_$N_?  G  [VN T  ( s{Tuw
p
VEVNN_? _ T V E` 

w?/__V?I  p //[V 

?

 

p ttt

 H<

2 &
(

><

 3[w [3Ve? $*,


[
?T 
}G~1u?V){Tu?~ _A(/& /VG

p ([?_ * p ,V p t 1 [?_


VNI
V  VN,?X 
1 XV

#<
?p
  <
( V/(N(/

p
([?_ #/ e(3/ 

  p ttt
]



& #! 
b

X


p
_

(N_ h ,V////_ _/ 


/G h
GVG

P p p
p
f
O

&


$(

,/N p

@ h

/N

f p &
h





(





N QO
a~

P,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;

b

e/GN h
h p AN VN__Nj h _VN
?$ [/G$ G&VN __N  VN
?,  h [? p

NQ,LB7 8$HB35.3LI02HBAB.#3

 

a~gs




t

t
t
p
{ 
&
tttttt

p tup p
t?suwxzyw"s~t?y =X?G/

NN [*_ NN?[

& (

\  k ttt p

(~



X(=

a 

9 9<
><
g@ VN_&j/N
(N_ _ e VG3
O
9 9O<
?<
@ &_ e*
p

/
[_
O
9 @
VIT /(/ _  [ T
w[) ?__[ (N(?/ 
_ywvuwteG_
k

&#(

pp

p
l

pp

` ( u  b
k_
5

pp

ss

9 9

ttt

p p
p

pp

p p
 D& hc

m8

\ Y

_  _$VN?&_ 1 p p ([ G



 , (A,6_ E?[G_ e
V p
$w`/_w/ ~1suw~vs V,X
VN / p N_ X_j[ j `/ jVN A
j _VG p jj`/ _N/XVN*`/,V[j
VN ?__N ? p
/AV6w
/?( w( _`[
3G(



5Y & @ (`

p p pp


&! (
p p
Z _ p




Z& (
c
 ttt p * p ttt
yw xp
w p
p ttt 5
]

& ( p 


@ O

@ O

@ O

C @

@ O

(N_ C 
_NVGVVG p
//_& 9 @
C
VIT *`[V
w/
9

p X/$ /V S
tup `/_N)
9 @

@ O

9#]9<

@ O

#<

@ O

)([_ VVN
@ O p E? _

9 O

a@

_  <

<

>

> w
r//[$V?/  < <
_e*
p
 V  G{G~  ?/)/V
_
6 $ ywG}~Vyw / __
9 @ O
 9 @
&`[V
p NA__j _ =_$
`[[&w) Vuwxzyw/{Ts~t?y K6su?uw~yw"s~1t?y p N
V +NV_^
-6wA/ ?6/Gjj//GwV
N$__$/_Gw//[N[S_ _NV`[
 _[ =([?_ t 1 p

a~g~

P ,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;


p ttt 5 U_
2
 


)[V$w`/&) (VN_(N_VN
9
E
? w
`/_  < <
_ p
,[ V
VN
/_V [ 6AVVN//[ p

p }_|?|?ys uw
p
{ uw~qTG~t~1t?s|ey|?s~1

~1t?uw~wuwGySp G~1 eu?y?_uwss{Ts~1uwSs_ywvuwteG_
t?siu?xy?uw?y?G~te{pKyw
ywv?G_~t?s G_suwe?~1s{
v6=vDD

xzywvs?s~yA~1t?s uw{TsvuwG}_sSs?u?Ves ySp6~1u?~_*|?ywG~N p6u?_*ywE p


I 9 9 @a@
G 
eq6t?sSV
s I 9 9 @@ ~1t?sj|?sxK~Vu?Vue}_?s _sEG (&yw
|?u?s '
N ((

] 5



VXj /$_ j[XA t?y?qpu~ VN(


w _ p
V

&(

#! p
& ! (
< p

v
T




wyxp p w p
wyxp p Z& ( b p
p p w w p
w

2`


wyxWp w
T
hW 
SW

//[ N[ /VX_NN 


N [?_ &/GV
p ?[

v66 p

@ O

@ O

G  I 9 9 @a@
G  6IG
 9 @ n

T
I
?
;
wV
p 8* [?_ * p
(?//*VN
/N sSyw V$wAN8_ _ ?_
&EV p N
`[
GVV

N(/,V

& 2(

@ O

P 9 @#9

@ O

@#9

@ O

_

@ O



@ O

`[V

@ O

@ O


A/[ VN[6_ ?VN_V
[//GV/G*& 9 @yp
/*/V _/_N

/e)NVN E GVV

& (

9 @ 9

w[ 
p 8* [?_ * j(G/G V
p TG? 9 @ 
9 @ 
?  T 6 I 9 9 @a@ 


T
VN  G=ST?
  _j?
GVG p



5

I(w_ [[EVV V?


__N p

 T

a~g

p * p t?s*xzyw_e~y?_ 1~ t?s$|eSy|?yG~Vywu?Iy?vs&uws&u?~
pyw6uw_={Tu?~ _yw { ; Ao pE~1texzyw_eG~Vyw

vvY8

[s p 9 @
uw~V6s ~t?s

NQ,LB7 8$HB35.3LI02HBAB.#3

wp
O

q6t?sSs uws?uwxK~wy?G}~ywySp~t?sjyweG_u?G_suw ?~1s{

v66 p

w xp
w xp

9 @ 9

Z& ( b 

/[*G//GwV
`[V

w
w
9

9
@

N

9
9

@
@

9
@

?G[VN$_V (k =E_N/G p

T
T
TT T T
T

mo

mo

9 @

TT

;
;

;
;

mo

/_NIVk 

wyxp T
T

TT

TT

;
;

mo

mo

w TT

;
;

'; mo

P,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;


p T
_
T
p T

ag

<

; EIwjVwN
z[_ 9 @
9
__/ITN ,VG*[ p k
_
p

m
8

/_[w//
V

T
k



VVNXV)w e_j* /

m8

, ^j p

p tp T|?|e~t?su?xy?3{Ts~1t?yE~yX~1t?s?~1s{

NQ,LB7 8$HB35.3LI02HBAB.#3
T
TT T T
T

N QN
a

q6t?sSs

mo

uw_

yw{ |e}~1s
p

mo

uw_ k 9 @ qt?s
@

T TT
T

mo

uw~1t?siVuwxzyw{ s~1t?y Is}_sE~1y&ywGvsG_suwN?~1s{ ySp ~1t?swpKyw{

X ]

p tup * p t?srK
{Ts~t?y

9(Gw

VN w_ p

(VNwNV3  w


_ _ p
VN
_ V/(/
/VNw _ w[_  V)X_ p
X _( NV

  5
c 

 


 V a
w xp

(N_ T_ _ (VG((?/__NT N
 /X_ ]I_ _ p N Iwe_
/ w//`/_N

p
<b 
b

(N_
C

+

V

w
wyxp 

9 @

@ O

*VNVG?$_ w 9 @
9 @ O p z_ )V
?[[

E
p ?*
 

V
9

z$GGV?
G/V
p}~1t?s 8 _ V?,
/ pu~sD

N Q
a

P,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;


w
wyxp
b
wyxp
T
I `
T w
w p T p w
Tp
w
p w T
p p




p p p
p

p 
5
$
p T
w wp

_3w?/ _/ S /
?/ _]/

E
9
)

/X__Zw3__N p
/_ wA su?uw~ywxzyspxKs~ p [ ywvs NV
p
/(N_
/?_NIV)

& (
t

wyxp
E

9~

@@

9~

9~[9

@a@

C 9

@ O

@ O

@ O

@ O

@@

C 9

@ O

@ O

VEVV,[_ w __ E6* 

/&_ _
&N `[V p z _
,

/V=

\

/

@ O

@ O

@ O

@ O

@ O

E

9 @ O

//G

@ _ e p

w ___NVN&V$w__N
VN T
?/yIw_
9

vvY8

[s p C
xzus

p / p t?s*xzyw_e~y?_ ~1t?s$|eSy|?yG~Vywu?Iy?vs&uws&u?~
@ O 
pKywuw_{ uw~ _y?{ ; )o~1te


q6t?sSs uws?uwxK~wy?G}~ywySp~t?sjyweG_u?G_suw ?~1s{

#!
_ p


p
p p
ws s

v66 p

C 

Y w p

[V

@ O

/TVNX w& p *

[?_ #1 p

w`/
?U[
 j&N ? O

@ O

_
y

p 


9

@ O

v6=vDD p
p o p~t?snuwxzyw {Ts~t?yxzywvs?s~t?s~1t?s.IrK
{Ts~t?yxzywvs?s`pyw 


5 

/  __ jG/


@ O @ 
 _V;r; 9 @ w[
C
9
9 @ O @
9 @
9
@
=__ /
C
C z[
9

9 @ O @ VN_/

F
B
w(N_ BF $(___

/
C

} ?VN_
9 @yp z B=
v66 p

9

TT
s
T
s
T
T
! 9
@

T
9

NQ,LB7 8$HB35.3LI02HBAB.#3

 
&

N Q


_/wN *
V AVVT(=/
   VNy
V(Gw __/j /
(N_ *VN4IweV, _yw~ 1X/X /,/V
ew _ uw~su~ ?[_ p

5

(

p s
6 6c p
,
~ Is&u*|?yG~VGvs?sfG~sX{Tu?~q ~1t_ywvuwt
G_eu?yw_uwNss{ s~1}xt ~t?uw~~1t?suywxKuw~1s { uw~ 9 @ t?u*|?sxK~Vuw
Vue}_
[t?s ~1t?sSs[se~1[u }{s
}xzt)~1t?uw~ 
}xzt~t?uw~

~1t?L
s Ir
K { s~1t?y xy?vsS?s?py?NuwG]vuwG}_sjyS p }xztE~1t?uw~  

s~ B { s~1t?s{Tuws~s?svuwG}_sySp 9 @ Ho 
s X~t?syw_sqTG~t ~t?s
uw?s~e{TueG~}_?sH t?s

Ti

 \ $_
p


 p ds

s
p
d
s
V p ds p ds

j
_
D


p ds  p ds p p ds p ds ]
p ds p ds p ds p dsp ds p dps ds p ds

p ds p ds p T p ds p ds


p


5
p TX w
!
# !

&
#(
#




\ & p T w ! W #! T ( 5
T

\B

I 9 9 @@

{G

/jN __[ p
X/ &
?__N[ [N [V e p
; 9 B
! O
9 @l
p z  
 @ _VN

/[GV / p
VN?__NE  [ _
E
v66 p

VN_ wAA
_/GVGE8
E
E
O
fO
9 @

[
O
O
[

E
E
fO
p
O

_
C

9 @

/
E

n

O
E

@yp

8_/GV p

9!

9 @

VN[ 9
/ :
 O
9 @ [[ / p Y / VN___

/
(


_ _w_  p [?_ ? & G/V [?_[/


VN
T ?/VN __ /6 9 @
_ p [?_ #/ p N
 $[ / T NVN __ / 
p /A
[V e _ p t't [?_
, p [?_
N  O : G T 1e  ; 9 \B @p

N +

P,K8@Fp 46HI.#7 C35L3LI02/1.#7 GB=$4S;


\5  X& 
( p T 




&
p
d
s
p ds
_
! (  p p ds
I

T
#

1
&

2
(
p
d
s
p
p
d
s
p
d
s
] 

p p ds ]
p ds p p ds
p ds p p ds

s p p dds s p p p ds s p p ds p ds p p p ds




&
5 #!


#

(

s p ds p p p ds \ (
T6&
\ 
#!
& 

s p ds p p p ds
5


k _
 5
p ds p p ds
f

_c
 
I


c
b
wyxp  w
& (
y
w

x
p
$
w f
wyxp B
wp yxp s wyxp

5 \c
wp yxp
wp p wyxp  
a

tup

I 9C

@ O

@ 

e[

[V e
_/GV
Vw _ 1 p /

[?_ # 1 t p

[GV /_G? ?[ A 1 p t
[?_
E
E
p
9

wVN`[

(G/ eV I 9
C
E

9 @ O @ O
@ 
 (G(G/8
G
N8/_
?,Gj& `[ p [?_ #/ p
E
E
E
E
9 J
9 @ O @ O
9 @ O
p

C
C J
(TI



C !
C
C

@ O

@ O

@ O

@>9

C
E

@ O

@ O

@ O

@ O

! O
9 @8 p N j[ / 1//
(N_
 VGVG
_([
_T_w_  p 1
p z/
V,VNA__N
)[?_ t T/[?_4/
E
E

9 @ O
9 @
9 @ O
/
[/
N*VN
/G/*_ $VG[V e p Y / $[
E/_N*/VNI
  [V eE/
p 
_)_w p 8[?_ t  GE /V [?_ /
E
E

9 @ O
9 @
9 @ O
 )___ /
V_
 p
wN[V __ jG/


p

/
C
E
E
9 
9 @ O @ O

G$V__ A *$wN[
C
IG
p

p tup / p t?s rK uw_yw_~s~?sSs "s~1t?y?

ww
)V _,E e(8VN [ _
V p [  _ _)/_GVV?
 V [N6S
E

zVN?//V
 `[V t
E
w//
/NI S
 A/VGV/ jG/N

u[yywXu~t?su?Ss[uwvuwuws /Xw/(,VN
w//V p

_
,? /(w//
E

s }_s~Vuw 

w//V

XIV p N _/ w_
(
V e/_G w//
_NV p [ __ j ?//

j(V

_ ,)N

VN_

NQ,LB7 8$HB35.3LI02HBAB.#3
@_
wyxp


p


Uc




@




  ( 
  
wyxp

wyxp _

v
w
wyxp _

&
(
yw xp

N_)(X A[&w//V

w// p

N Q

s wyxp

p N$_N`/ 6?
uwGsu? w
VN w//V
/)
G/_NV s }_s~u? xzyw{ |e}~1sf /66[ 
/G_ N[_ p
wG [  __) _ _N
K{Ts~t?y p _
[? r
 }xxzsGvs$ywvssu
uw~yw
w/__N V?//T$&
w e_[?_VN

_ p A /VN

Vw __I [[ /  VN _ p


([?_ # 1 N //G/I
_ p
z=_6(GVE,= `[ 6VN _VIN_
E

X*w&,/jA[

b

>&

*_)

p
*?//XVN T_
E *_G/VG/

E
p
S
A  9 @ / __ S

w//V(VN
E

_ VNVG 9 @ Vj_N
_NVXX_NVj xy?G}{ V/_[VGjV
Sy?q V/ p z
VN_
,] (V_/6_NV$
VNVG p zj/[VN py?Gy?q _ _NI

&  (

w xp
E

[9

wyxp
E

@ O

p T w

p



g
@

9 @ VN(_ _/X[P 9 @ 

///_ _/[ p

& (
8*

w T p
` 

p 5 T
 ! X

wyxp
E

9
@ O 9
(N_ /W
C
IG(G_ VNw

, 6 6c
~1s{

@a@ O

@ O

@
9

2@

C @p

VN

T_I[)
___N
_
9

VN

t?s rK~1sVu?~y? xzt?s{ s_pKywywGv?_~t?sG_su? ?


y

qt?ssZ t?u _ywvuwteG_*eu?yw_uwss{ s~1 xzywvs?s p ,


pyw uw_{Tuw~V _yw{ ; _oI~texzus

wp
O

q6t?sSs uws?uwxK~wy?G}~ywySp~t?sjyweG_u?G_suw ?~1s{

i` #!

v66 p

_ _eVN/ VN G w

p * [?_ #1 p
, 6 6c

 ~  "

p 1 p _ss ' ft?s|?sx~VVuwwVue}_ySp W uw~[s


I 9 @

TE

N QO
a

P,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;

6

oIu?e~yw_e pT~1t?s VK

{Ts~t?yxzywvs?s ~t?s


5 
p p T

T
T

j;X,V__[& 
VT`[ VN //X(__ /
_ p 8* [?_
\?
\?
* p
v66 p

>

> 99

\
9 ?

9
9

@ O

@@ O

9 \>

9

C @a@
@

C @

C @

<

GTVNV j$XeVN/6( ///


V_/V VNVVG p zeI
,V
I 9 W @

TE p T

5

/__N eVN_ _,/? __


w
p * t ([?_ #1(1 w
V?/)?T?Iw]V
//VN/]?G[ I 9 @ VN  V/[wV
_ p
NIV/V
_?/ _NV E,.

[ e p /_N[VE
V
& V,[G_ e p

Y

jt W j


t

t

T
ttt o5v

 jZjDv

p*

p s~

su?

Y

b

w w o$p o5s

{Tuw~Vt?s

< t
p ~ qyAG~s?sV
uwSsjuywxKuw~1s p n _ w
y . g  
tup s~
#< j~t?ss~eySp}{IsV p_yw{
<
u _s~
w

~1y

se yww
~ }s~1ySpJ}xzt~1t?u?~

v
w p ow
o$p o5s ttt o5v
T $o p
W w w
w
p o
ow xp T jW

t?s 1~ t?s|?u?~~y?

ySp
ywV?s_ySpy p
p uw
u?_,pyw uw_ < xy?~1uw_sEG~t?sju?{Tsjs~
p
u?Ss _y?~]uy?xuw~1sF
n sO n
g

p o p ~1t?s ywqs~e}{s

q

~t?s

pyweuwG :

8

o W

uw_

NQ,LB7 8$HB35.3LI02HBAB.#3
jW o x p W Wh o
o p W
p

ags

p uxzyw_~1s~ywV?sG_ySp pNpKywu?_ |?uwG,ySpTuywxKuw~s~1s?sV


<

?}xt ~1t?uw~

p t 

p t 

O
k
p vsx~yw

mo

ww

T T W W
WW
b 


ow
gW 


$

B

o$p ttt 'o


 T < { o
 gw m wyxp v wyxp
i v v
i
B


q G3s xzuwGsuXxzyw_~1s~3ywV?sG_ vsx~yweyp[uX{ uw~


p u?_ u?SsuywxKu?~1su?_ 8 
p

p uw_ uwsuy?xuw~1suw_ 8 
p

ow W

?p
V* _?=_G (?U[[

ze _y?~ /N _ V?$ xzyw_~s~ _G p


V6_Nw_
_& _
 VN
_
?VX_G VN=)/V
1?IT&w_N_G
_ p

_I$X[w[ 
/[ |?u?
uwGsG s VN
_

p *, p }_|?|?ysjuw
{ uw~*s }|?|?sq ~1tXuw

#< * ?uw_Exzyw_?sj~t?swpywywqTG_ G ~1sVuw~yw|eywxzse}Ss

v6=vDD

ywV?sG_

<

uwG

}xztE~1t?u?~

_s~

6s~VsjySpy

te|eywxzse}SsTs }Gvuws~/~1y~t?s VK{ s~1t?yXu|?|esE~y uvsywySp*~t?s


G_suwe?~1s{
y

G
qteGxzt=~t?sxzyywVe_uw~1st?uwvsss=s }{IsSs
G yw{ sq6u o p~1t?sy?
?s_ ySpt q6u xy?_~s~1~1t?s
~t?sG~sVuw~Vyw |eywxzse}suwywvsEs?uwxK~V
s }Gvuws~~yX~1t?s r
K=uw?y?G~te{

f

wwyxxpp

uyyw
z `? [GT?//
/
E
u[~1t?s uws/uwvuwuws Aw//VAww[N_I S

/G/TA
[
/jGw//w
[j(//T X
V p  [ +/?
-A

o$p

5o s  
I X #' B' h
~ 'K
V?W

E LOU

nIAU(Gyo

JITQ

E ^KgLOL

JITR



P,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;


f&

ag~

o$p

VNXw//w)(,X[ p z)N=//wG
[G ([=N ~qy /? 1 p p j=_G =?_
p

_N/ w&  _

o5s (



,/N_ ywG}~Vyw p ze[?,G(  V

(N_

p p 6 p

[ /_/N

p N/

&  (

 /V?_ p GVN)w//)


wG / GV_ _Nj_ V`[V
[?_ #1 /?VN
Vuw~s ? ___N_NS p

5

i_





2

o w
&  (
2wyxp( wyx p
wyxp
wyxp


_ )NV/ _/ p (_/NV
A
[ _A p * [?_ #1 /G [/__N <a
=VN 
 G_?s|?s_?s~ &&VV,
EI/
E

1?[ N([?_ # 1 / w
V[
v66 p

&

p VN?[(I

tup VN?[(I

E
E

/Nw

/Nw

wyxp
wyxp

E
E

_ p

wyxp

_ p
E

{}~1uw_sy?}_Y

z X ?8?//


_N/ e wV,?[/ew[T _N


, w//,S_ _N_E`[ ?
/
EVN_ p _&//[(  _ (
<=<i T
M < T//[) w[ 
_/__/[(w[
[, V / _/NV
_ p _

/) ew//
w[ I (w[N_ 
V_(GV_ _N
/G(GVN ?/[
/T_ p
z/[A V q ,VN(_ xzyw_~1s~
VN// V/*8VN _V/w
?6VN//_j,.
j8)_G_& ywqs
~uw_e}u?  VN }_|?|?s~Vu?_e}uw ]
_ p N
`/_VNE/N_E
VN_N/ e _yw~
/ p

$o p  T

o5s





 
& ^ " (

&  (



 I 

 K  P b b
G[R

HwU(R>P qL

J}W

H}#R?K qPJ{ LOI

JI

HR>K E


'g '

LOWR>I KgLOPJU(G[ITVYR?I R?PJP=L

HI

NQ,LB7 8$HB35.3LI02HBAB.#3

\ 

ag

[ xzyw_~1s~ _
u&&V[G[
[G*_ e*w/]I/I*/VG su?u?~y? xzyspxKs~
I/
&

6

6 6c p * tp o p~1t?s*{Tuw~V,Xxzyw_~1s~ ywV?ss?~1t?ss_s
,
?s_sG M yw|?u?s '' e~1t?s ~t?s rK=ywj~1t?s xzyw_~1s~ ywV?ss~1s
uw~yw|eywxzse}Ss?py?Nywv?G_~t?s?~s{
yw~1tExzywvs?s pJI 9 9 @a@ 
xKs~e~1yX}_s

T
Ti T
p

woIy?~1txzus~1t?sy|e~VG{}{su?u?~y?

I 9 9 @@

xyspG

9 @ O 6juw_
9 @ ~t?s {Tu?~ySpAe
q6t?sSs1u}_}_uw 9 @
C
u?yw_uwss{ s~1yp[o p~1t?sAsu?u?~y?xzyspxKs~et?uA~teAvuw}_s~t?s~t?s
|?sxK~uw/Vue}_ ySp~t?s sppsxK~VGvsAG_suwT~Vu?_pyw{Tuw~Vyw}_s
~1t?s r
KQyw

xzyw_~1s~V y?V?ss? G~1sVuw~ywxzt?s{ sVI 9 @

 &y  !
s
Ti R
@
\
s
R

5
K( \Y 

T?__N_ /[6*?/ TV? _


__NE/
_
p
[?_ #1 /E*I/VVN
t 6V A,`[VN /_?[ p
?(_w[  T_, __ G[ ?

 /e(

9 G @

/$_SV e/`?[,]VN$VG
G

X "
_  

t9 G @

b 

/$ p * t _EEw/E/
_/_
q I[/I p zj_ VG/j/, _yw~
I V 6w_NVG _ 

X
_w_ e//
/ ?? p
_
GV I*_ w_N*_=N_
_w,I*_ _(V p
T  _/GV /

_ 



  "

<

~ sTu?}_eGsxK~1seVu|?tqTG~t
vs~GxzsO
jZjDv p * p s

xzywywG_AySp6uwue{ s~ySpXxzywyw~y ~t?svs~GxzsypA}xztAuqu
~1t?uw~N_yX~qyu uwxzs~Nvs~xsjt?uwvs~1t?su?{TsxzywywD
><  ,qsxzuwX?s_s~1t?s[uy
p q ~1txzywywV:
M H<
GvsXu xzywy?G_AyS
xKuw~sxzywyw_eVu|?t~ys uAeVu|?tqTG~1tvs~VGxzsAGu  xzyws|?y?_?sxzs


'' PB Kb #
Q'
E NnR?K

E R

Mr DL =U(K

p ttt v
# b


~ 

\KgLOG[r(U qR JLOI 
m>kD en
c*d b qL

4R>PSQML

E G

P,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;

ag


p ttt v
s

/ p

p _/=$Nw

?< M u?_uw)s??sIs~qss ~qyvs~Gxzs


q ~1t~1t?sxzywy?V M ?<
uw_
p u?_vs~1sySpTxzywywsq ~1txzywyw u uwxzs~~1yXuw_vs~s~1t?uw~
xzywywsqTG~txzywy?

G_suwxzywywG_y
p uxzywywG_ qt?ys,uywxKuw~s xzywyw_eVu|?tu
G_suweu?Vu*ySp vs~VGxzs&n O
s G~Nxy?_~jySp6u_esj|?u?~1t??u /[e}i
s (i

p *:* p t?sy|?sVu?~y?TySp3_e_uxy?_~s~ ywV?sG_TySp


u{ uw~xzuw(IsSs?uwV?sAu&s }vuws~~yy?Gv?G_uJ%w_ySpeVu|?t xzywywG_
|eSy?s{
v6=vDD

GvsEu }_uws { uw~?6


[$xzyw_~V}xK~ueVu|?t?
$q ~1tyw_s
vs~1s[pKywjsuwxztywqywxzywG}{_ySp~1t?sA{Tu?~?eu?_Eu? s??s
xzyw_sxK~VG_Eu vs~1ss|eSss~_Sywq
~1y~1t?svs~sSs|eSs
s~G_Eywq p 
u?_
g

t?s

T T

p ~1t?s*yw?sG_xt?s{TsTySpu?Ss u
xzywSs|?yw_?sxzs qTG~t~t?s
xzywywG_?jyp
tup ~1t?sXxzyw_~s~eyw?sG_xzt?s{Ts[ySp:8uwsXGu

xzyws|?y?_?sxzs
q ~1tE~t?sG_suwxzywyw_?jySp ~1t?sjeu|?)
t

 S&
2

o$p o

T T




v66 p _ A_/N VN=_ \ (VN=


_
VG[ (GV  ? p p e_
_ VN _j+?_ __[_ p p
_VN_E ?Vw
wGV p * =[?_ #1 p N&_G/NE/ 
VNE/__, _[_A& *V/VN
__N uxzs_e_ ywV?s ?NA V /_
/_ p
__ t //[ <
#< M T?V$ ,VN
 p
X(Gw __
Vw \ (N_ \ (
wNN p N w

( ]

$
o
p


t

t
t
'
5
o
v

@_ W
  W
ttt Wh o
oo xpp WW **
W2 Ta& W
<(

I [6? VNV__



G|
t

G|
t

o
o
jW j

< t

3e/

W T

/G[VN
? Vw=_/  p z6/GV

__ , VNE?G=_/ yw ? U_N6


VG

p
_w

5

NQ,LB7 8$HB35.3LI02HBAB.#3
6 &



 QN
a

B(

_ _)jGw_($/ _VjVN
(_/)
?_NA _V T?? 
w
e~uwxzs V _ p

1` W
 

p (w G_ VVw p


 (GV$ 3VN [ 9 < Q j@ `(N_  TwT
  Q  [  r _6[

 VN  w p
p
_3Gw_/NwE [G 9 E< Q @yp
* p /AVN//V
 NT[
(E6,NVN
$_/( / e[G p

tup

 &
( 

b

z  
_G*_VN//QT
wG/jVN , _V/VNwNGVN
_G/G_ ((,w_NV(

$
/ =*_ _ ?G*N/T
VNwTNVwV p





 e

[(_N/6$k w_NV_  

o$p T U o5s


zj
E p

T T T T
T
o
T

_

Y<

m8



w_N

m
l
o

wV
_*V p N_/8
A/([_/ [/ p * p
wN[_ V
I__N
(N__  t?u w_Nr_ (w
[I/ G p * t [?_ # 1(1 w//VVN /V/
NVVI p NVN [wV/V eVN)G
[ /,$_Ge_w p ze$/TJ
j/ V q

B(

\

&

D&  " (


B

{Tuw~V(o~*|?yGsE~yE?s
c p * / p s~Z IsXuw
1~ s{G_s qt?s~1t?svt?u$u xzyw_~1s~yw?sG_ ?
v u~1t?spywywqTG_s }_sxzs[ySp
~1s|?
D uw_ 
 vsxK~1y?V
s~
G~Vuw :h

yywsuw vuwuws/y?_
:K_r

6vj

wT T

 Q

P,K8@F46HI.#7 C35L3LI02/1.#7 GB=$4S;



     

X/eV XVN?

p T p < T
| p p
  
i  T
|  ! #"#"#"

 _

X 

$

   

8 :/ p * p

w I_/

 $&%('   -,


.0/2*14)(+ 36 75 368:9!;=<>;?<>8:<>57@BADC '
-EGF-
.0/2143657368:9!;=<>;?<>8:<>57@BADCIH KJ "#"#" JL0M(NPO
-,RQ $&%
$&%TS U O +  -,
' / 'V H S M
/ \[
$&XZW%TY S`_ . +  X^W -] ,
X-EGF-Z Y / X!]Ia
X-,RZQ Y $&% / X!] [4
-EGF- H S U ObM
$&% XcW Y   :[ X!W ] +  -,
d A!5ceb/2f#g\hji7k
lnm $ +
-,RQ $&%
$&%TS`_ . +  -,
h

<



 

><

  

oqpsr>tvujw>xzy{x|r~}w>>yBx

$% ZX Y   X!]Ia +  -,
d A!5cbe /2f#g\hji7k
lnm $
-,RQ $&% +
-EGF-
$% XZY   X!] [4 +  -,
d A!5ceb/2f#g\hji7k
lnm $ +
-,RQ $&%
-,RQ $&%
-,RQ ` $ EG
n <R-9!3?9B~;< <=@<>8365c<e <>@ <>@ <R8\9B@&3 9#e9A!5ce>3e>@<>57@cAB
k9!@7@ <<>5 ADCP@ <9!;?BAB36@ 8\I@ <R-<>@AB X 3ej9A!5ce>3e>@<=57@
< >35cZC(3@73?e nCons
A! <>365c-<=@A! n 3?e <=@<>8365c<e\9A!5ce>3e>@<=57@A! <>365cBB3?9@ <AB88\<=57@
CA!; ;?A!\365cB -KA!5{B9#B<P BBB
B vB 3?e>cee>3A!57R-Zz6#=-#|7{z-#6~q7-
ZzZ|{z7~~c>--7Z Z\s~j Z|
7-|7K-Z c zcq-q| ZZn Z-zIs7Tn -q
-ZKc>ZTZ7|7b-7Z K Z06-|#c~|(c!Z#Zz Z
---7Z n c ZT
B z| ZZ(! Z`Z>-Z\nB6n-#|cnZ
6n7ncZZT--#>-# K z-7 cTjz ~z\~
Z\ c#>-7>BnZ -
 z z cZ ->-6cj 0q7Kq7 Zz~z!
zccZP>~-Zc~(--Zc#>n-ZZ|G&#Zz0 ! Z jzZz:nZ-7 ZZT7z Z Z |-


-z!B7RzB7 ->-Z-7Z6 R|Zz-n
-Z-n c6| -n| z c\Zcj -Z-7ZTb cZ
TZcT- -7B-c>-Z| -6`--ccjZ T-
s -6Z-7
znB7Z -T-Z#n-j-q7Kq7-zn
B7Z-Z cz Z:z - TZz0-z||#ZcTZz
# c |\Zc!ZT76~z\-`!-Z 6-(
s Z!Zz ^ znz7TZ-zz 3 9B eA!5 c>-Z#|
nB6n-|\- ---njz!ZnZTs
B 77BB Zz--7
 z c->-7=B76R Z [ 7 R -Z\-|67B(


pu0|:w~yBtvIxzrPx|r~}yBtj
ncc z(c=-~zG#| b|Z~TnKcz-Z

 


[ 
 a   

7 [   a   7

  7 [ 
 a 7

  [ 7 
 a 7

 Zc>-Z|G#z {
]  [ 7   ]  a 7

 Z:T-Pq7-Zzzcn\7TZ 7 Z-nc0:!-z~
z -nZ(z-z RZ -6zc>Z -7Z6 |
zZ^c#ZTc7R-`n -{Z\7q
7  "! $# # & % # #('
z\6cz0Z z 1=032 BTZ B )+* ~ Bc - , zq7ZT-
Z#Z TZ T-/ . L ->-ZZ>-Z\Zz:-7Z -qbZ
Kncn7q7n7cqc~-##>-# R-|c -
| j cZzZ>- 54 *-7Z #GBZ(T-z\#| 3 C3@
9!5<Pce<
6 c
z |7Z ~ !ZTc| Z-7ZT #| n
ZGnZZ n zZ -q c#~ &c>-Z -z 7 -
cc|c>-8 7B7!ZTczZ#nZ #z 7 z7BBn-
nZq n6Z-! z` -qc-z-Z!ZZD#c|  Z:9<;=->@?nGZ

  

6/ACBEDCFHGJIBI

nLK h7<>@


MNHO
Q

O
R

P
O

Q ST

qo psr>tvujw>xzy{x|r~}w>>yBx
q
d A!8\7@<P@ <0eB<>@&9!;!9 36ce0ADC@ 3?e8\9!@3?VU36;;I@ <PiVW 8\<>@ A A!57-<>B<
365@ <A!>;?<>8
MY P -S [
Y
[
N Q T]\
Z

X  [
CeAbA!8:7@<:@ <A#@36878 <>;?9#B9B@&3?AB5A#<vC8^3<>57@365@ <PiVW 8\<>@ A
nL) i A!@ 9!@ 98:9!@&3?@ 9B@3?e:A!5ce>3e>@<=57@&`; _bA! <>D< 9#e9!5{A! <>365c
a 5cA!5cA!5ce>3?e=@<>57@b@ 9!@ 9#eA!57c; _@&ATe<>@e> n 3?eT8\<9B5ce@ 9B@n@ <|B9!9!;;?<>;~- <>e>3A!5
ADC@ <iVW 9!;?BAB36@ 8 a B \A!5B9-B<{BB- b 9#eAB57`; _@A 9#e<e> a<d 3657f@ e0ce<
B B{A!5B9#B<hgB-bG

 GF- $ BF&q +fr l QFts +fr  kHu ,vpxw $%hy Efz l o $ +fr q i
B vB 57@&A 7@&3?AB57 |Rq7Bnc c|IT-RZTncq7{T-I`{
zBB`z cqznB7~-c ZzZ - -9!573?e \Zb|
!ZT76~~ c#>-7>Bn-ZTs-7
zc-~` nZz0--~ Z zc=- ZTn
n7# n Z \ |n6(zc#Z-qZ Zq|7Zqc!-
T- >-#! - 0-z-\zZq7Kq--cc| Z(Z -Z#7Z>
T-|Pc>- c j7-T|c>ZZj -{Tcc|c>-6~
| n|z cB- ZTnZ:ZT`R6zn-:j
~#nc:nc>-|-7Z6 Z -`zc=~zz
Z>-6Z-cc7-n`-qP76P(|Z P8\9B @&3:|
{Bs P`
-RzZ6z Z  n(`-| (zcz c~}P
BA!<=ze<>3<e c!-7z`c6&7~ Z`cqGcnGZz|Z>Z
:[ X
a X a X@ a X@ %%%
B-z Z`cbc7! }7z`-6-
7 - GZ } 7 z- } 7  } 7 7  +}C 7  0[ [ +}C 7 #
|cqz Z`cqGc67R!-#- b[ [ +} G7 b
`7 n7 -Zz6zc>Z }!z|c +}`6 -n` -
:[ +}b6 {#n{ , {T-z Z`cqGc670Z \[ \[ }C G7
6n!Z|Z#c
TT{Z-:-RZzR!- B7~Z8:9!@&36<e R
Z-7ZqcZ -GZ -#n` >!ZncT-6
;i jikHlnm -op -o
*


pu0|:w~yBtvIxzrPx|r~}yBtj
GZ\n- ~GZ\cqG cZ`7cRqGZ cn-(Z- 7 j-{!#Z7|Z{#c!~zjcZ-\c -I |T z n{|z -

c:~zc j-| K ZT-z#n



 DC5IG1G1/ n K h7<=@
<9!5 LL ;?A!<>{@3?9!5c7;9!
8\9!@3? 7 3e3?e98\9!@3?|CABj 36  ]  ]Y R <>5c<>-<>~. S n <>5  R
9!5
[
7  a
a  a %%% a 7
 R n#Z Z L nB
 DC- #ZT-
c|q7j|!B`zZ L  P  nznj
GZ-& ~^Z`c-c- --7  c a a Z`c
-c- -! BTZ-
P#~-T!Z GZ  :~c-c- -
>~
!
-|ZzZ a  a Z`cR-c-

 6 6
T--zz!1 #n6n#|~ ~ z:zZ`Zc q& -Tc-: 7 -!@ c`:Z

R
R

 |cqz R `z cTcz n6~ nZzRBZ Z


7Bc-n|- q q7c|RB|-Z Z~\c Zz
TZ--c- ` ZzzGZ

B66jZz-bc6{#~ZC7Bc-{c c| |{B


4 |&zZ !-Z ZPz
`7ZD-ZP|cZ
Zz
z -|- c|zG~Z nqc#|! -Z
[
a
a  a %%% a 7 [

s c`-cn-Z\cczZ>-j
DE~D KHn h7<>@<9!5
L L 8:9!@&3?{ADC@ <!CA!8
' [

qo psr>tvujw>xzy{x|r~}w>>yBx

<=D< ' 3e9 39#BA!5c9!;78:9!@&3`3@ 9!;6; 39#BA!5c9!;c<=57@&3<e\5cA!5n#<>A#I9!5 3?e9
;?A!<>@&39!5c7;?9B8\9B@&3 7 <=5
tt R S [
MY 7 R
Y R
[
7 tt R T
N
' 7  
R
R
tt 7
-
9!5
7 ' 7 a ' 7 a a ' 7 7
 ~ cBT-7Z GZT9 35ccbz7 ~c\c7
B
 DC5IG1G1/ n KH h7<=@

7
a  q n <>5
]
] 7
 DC-R z7GZ6Z bn#ZZ
2zRn6 7#n-b
|BB|cq H  Z n|q7jTZbc6Z
0-Z 6 -Z`6Zz|c!zc|c0-  ZT-
x
a  |z7K-n
7
7
7

a   ] ]  ] ] a   ] ]



 7
 7
] a ]  
] 
] 
 + 7 ]

] 

DE~D K h7<>@
<9!5 L L 8:9!@&3B9!;;|ADC A#e<<=57@&3<e
-9!573?e 9!A!-<@ <8:9!365 39#BA!5c9!;9!5 e>7 @ 9!@ 9#e{9!5357-<>e<> n <>5
@ <><3e9ic1 B9!9!;;?<>;79!;BA!36@ 8CA!A!8:7@&35c 7\365 . 1032  L :@&368:<
ce>365c L   DAB<eeA!e=
z-7Z > n-n 9<;+n?-T 9+=?  Z 9f-@?jG~{Z
-7-7Z
 DC- B K B K -T B K 6>-c|Z-#`- ^ |
>q7( - 77K- Z`cqGcn
Z -#7B6Zz L ZC 7Bc-03Z2 -zB|q7c6n
- z Z`cqGc676 L 0 | : -nn#(Z
Z T-0n-#nK-|nZz -6 \-c=-nK-Z


pu0|:w~yBtvIxzrPx|r~}yBtj
- LL - TzB-q{q7Kq7. 1032 L 7 c!
L   -Z#nsZ> B ~ Bc B-
 ~ 6!ZncPzK7~ ZTTZ Z|\-|c>
ZR-- >-|c - z cc|c>-6 b!-|ZRB bT-
s :z ZZ(~ -j~T -`^-| 6\
- T76 Z Z(c7Z -6#7 z-7!~zc-c Zq Z` ( zZ7
nZz nBq~|e>3`-<\Z -&{{!-7BK-z&
R |`- ZzT-0zbc :Z( ZZZnZ --7: # -#
KZ-z#n
B * n <8\9B365(9!;?BAB36@ 8  Z b-qP nZn#||
-zRZ{-7Z z-ZcTZ(zZ#Zz0`TT-!7
L L -6^ 6Bs \-T3657-<>@36>;?<=

BEtGJGJG1 n ),n <CA!;;?A!\365c 5cA!@9B@&3?AB5 \36;;:G<ce< @ A!c A!7@

@ 3ee<>@3?A!V5 e
B C 3?e098\9!@3?  j3e < ^5c< @Ab<: [ ~
 g 8:9!@&3? \36;;I<P9!;;?< 9(e>8C ^3?<>57@`; _{BA#A <e>@&38\9!@<BCA!T@ <(3657-<>e<
ADC3 C #  # }  ( #
 ~
n {~c- -!-T {-c|
7nn7 - Z(zzc=`n Z#jeA!8\< -!&TZ Z
`\ Z2TZ2c c# -7 --Z> b7
7q7  7q [  G7q 6BAB<>(e<
3?<eZ -TZZ [  7 zG-#j-*B:-c|
7nn7 -ZzzZ> Z` -\z Z7!Z|
c-c76q7 c-z| -!&TZ
zGZZT{n 69!n5 _ -!&~
 DC5IG1G1/ n ) i7cBBA-e<@ 9B@ 3?e9e>8C ^3<>57@&c; _;A#e<<e>@&38\9!@<
CA!R@ <b357-<>e<RADC 7 <=5@ <BAB<>je<>3<e a a   a %%%
A!57-<>B<e@A\@ <3657-<>e<ADC(cG 5C9B@n3 C 3e@ /< B9B@&39!;e>78ADC(@ <e<>3?<e
a 3 <>
a a %%% a  q j@ <>5
# #} 

# 7 [ #
[ } 

3 @<=5 e:@Ab9-e :BA#<e(@A
 DC-R z 6z7K-6n
| - Z
T- #  ] # # # ] -T # [ # zZ|
_
# #L } 
a %%% a } # # }  a } a }   a %%% ~

# #} 

! [ } 
 -q -7 Z| G-# T-
} 
zcq7 2 |Z , B -
c , s |
ZnA!57-<>B<e ?T-# cT-z4c7BZzc-c

qo psr>tvujw>xzy{x|r~}w>>yBx

| ~ Zz -- !ZzZ#c* | 67T-
| <e>7;@Z 76 | -9Bn5 _ -<=@A!!~zc-c7  Z

7 [ 
q
a  a   a %%%
zZ!Z - cza %#%% 7-
!- B K ~ Bc + , B z Z`c`cn
zn6 cT` -
GZ6ZT-
# #} 

# 7 [ #
[ } 

Z T-:|c67!Z|c-c7- --#>-n - Z
7 6 . J082 L 0 |cn7TZ Z| Z||0-Z
} 
Z ZT-z0-:`z7 cT Z L G-#7`
z-nBbZ-- B L 7ZnT , `b!Z7KZzzZ77TZ
T-Zn ?|#q7BZ-#  b> 76 6 #Zn`-c
|c# ZT-
u- + @ } 
~ [ ! L   B L 082# # L B
 DC5IG1G1/ n )n h7<=C
@ <je>7 @ 9!@@ }  [ ! CL 9!5 9#ee>78:<
@ <@&A:C9!@e;63e>@< 9!A!-<9B5 @ 9!@ >36@eADCD<=3e>3?AB59!< <e>3D< 365@ <
A!8\7@9!@&3A!5ADCb7q 7 <=5 % P 3?e:9e=8C ^3<>57@&c; _;A#e<\<e>@&38\9!@<:ADC7
<=D< L 082 L a a L @=CA!;;?A!e@ 9!~@ . 1032 L @<=8\eb35@ <
A!8\7@9!@&3A!5A:C 7 a   je>8C ^<@AA!8:7@< 7 @A@ < <e=36<
< <<0DCAC9!- 79!_I -z
# #} 
 P
# 7 [ #
[ } 

-7z{n7- c6n
082# # a P 032@ } 
[ 032 [ } [
zZ!Z{-# n7-I|7 {-n6 P 032 } [ 082 [
} 
[ L K z:>|-# 67T-|6z7K-6`
s-7|a T-

P 082 [ [ 082
P 032 [

L
L
L a 082@ L [ a L
 Z 6zc6&7TZ Z`cc7 032@
[ [ [
! P
[P ! Q %%% cP7
[ ! C
L [ ! L  [ ! Q L %%% a 032 L [ a L z
znK-` s-77zPZ~TZz:s-7P zZ:`
- -#7{z ZZZn `(#cq7-c~z7 [ ! LC a
082V L [ a L

oq
pu0|:w~yBtvIxzrPx|r~}yBtj
7->-Tc\Z c7 082 L a a L P ! L ~ LC 032@ L a
a LC  P K`z- #~nzn

 ~ -:-s \n7~|TZ z ZZPc67!Z|Z#cn


 B- -| nq -j -:~| ZZ- -Tc6
zc67 -GZzzZ>ZT K |jn -Rc6Z j
n )* lF + $ q u +x % l o 7s
 ! # # h% # #('

j -j b-z- G~ c7P-7 -


GZ z 6z c> Z - - >- TZ Tc - - BB -#
| -  6 - z - Z| -  |
c>-Z| ZTnZ0| qc~c#ZT 4 znD&cqc|# Z`cZ
| nZzbn6-zc=-~ ZTnT-b| q7c|
-z !~zc-c7 87 8\A!< e>;A!;c_ T-2z c=-~zG#| n
n-s7 Z |!Z7KZz# -z Zq -Z#7Z>
|! -~ c~c -Z#nsZ>`  ZG~
 ~ c\>-6ZnTj~  Z->--ZcB| B KB cs nn{ZzTZ z

-7Z6 Zjs
 nZ|- -

MY
Y
N Q
R
Z

Q
R

Z S [[
Z T

zZZTn -{Zz6zc>~Ts
MY RRR Z RR Z
Y


# # # #(' N RRRR QRZ RRR R Z
%
&
RRQ+P Z RRQ+P Z
MY RP
Y
N RR QnR
RRQ R
RPPLQ

[ RR R + QR [

R
RERRn Z
RER t Z
RERRn Z
RRnQ R
RR Zn O
R nn
R O O

RRnQ+P
R
R
RR

Z S [[
T
Z

RPPLQ S [[
RR+ O T
R O O
R RnO

[
[
Z
* [ [[

R
O
[ RR+Zn O
[
[
[ [
z &TZ ~  TZ RE Z |B-|6P~
7B! 7n(|#nc|-6jb| Z`cqGc67`(B ZPnzQnO c-c
z7B! nZ -cZ #  # -


qo psr>tvujw>xzy{x|r~}w>>yBx
oo
#  #(' PLQnO zcc6n!-ZZ`zZ|c(zZn
6n!Z|Z#c
 ~ `! | 7Zz- Bv -sK-q



nz7`-- ZZ:Z 
`n Z : RRP RRR

zTTZ7(nB6 - * T`z- nZzTB76( [


Z Zz ZZ:cns cc
MY P Z RnR
PLOQ QnQ
PE Z +
[
E QQ S [[
Y
N PLPEO ZQ Qn Q [ PnQ O Qn+Q [ O RnRn+R [ [ P 5 n Rn R+R T
[ QQ [ P + [ 5 nRnRR P Z RR
-
YM [ RR Z RR [ R Z RR
R RRR
RQRRR S [[
Y
N [ RR Pn ++ [[ RR PLZ +RR [ RRE Z O+QQnQQQ Q [ RRQR++ T
RR QQ
RE P Z RR
[ RE n+ [ R +
|#Bcqcn` 7 z| Z:ZnZ# - -#77zZ
B * *  A#ADCADC@ <8:9!365<e>7;6@ RZ!-7-  B v 7n- 7ZZ>-
nD&cqc|T!Z|# {Zz 7B~\ -|| &~ || &~
-| Z z # Z-:z -z RZ-7Z Zj{Z
Kn--zqcZ:|7 `-|cn cc>-|7K-7
T-|znZ -
/B n` )Kn <-<=@A!5cA!8:e\@
< 5cA!8:@ < G5cA!8:9!5 @ <
P G5cAB8 < ^5c< 35Bv- gA!5B9#B<:B
e9!@&3e(C _e
B #  #(' #  #  #  #
 #  # L #  #('
* #  # L  #  #('

K L 7  #  # #  #
) #  #  #  # &% #  #(' 

 DC- #  #(' |#  #  Z~ `e >c9!365cA!@ @<=8\eG #  #  |#  #
GZ6Z K- Z Z -T q7-6 7B# #- #  # #  #(' B`A#ee
@<>8\eBR`cB|sK-q7{Z\TcZ  L  ZZ
&- z{-#-n-#Zz L c 0 #  # z8:9#36878 #
Z #  #  L  #  #(' GZ6Z -`--c c|-&cb>
e >c9!35c Znn
L 7  #  # #  # ZZ(&- h79-9!5cB<75 <>@<>8365c< 87;@&3;63?
<>e c |c-q{ n8 365738`3 -<  ]  ]  {c-z |A!5ce> @9!3657@IT-
]  ] |TT|`s B z 7BT ]  ]  n T~jT-#
`Z-z | Z#->`zZ -6z!n~#nT-n -6Zj|

oq
pu0|:w~yBtvIxzrPx|r~}yBtj
 ] j-qb< >c9!;-T`|0-`@9#<>5A!5  ]  ]  L   z
!B
zPBznK-ZZ --#c c|77:T-7nG~0^
7-#c  ]   ] |8\9-36878*#c
znqc-ZT 6 zG~Z`qc-~ ~zBZqc
~n8:9!@&3?5cA!8\e~
DE~D ))
B # #  L  # #('
 L 7  # # # # 
* # #  # #
% # #('

c!-zGZ BZb| &~ -z &TZ 6 B + K Z
Bc z+ + q7-T Z:B + |) Z Z #BcZ + +B czPZ| |||7Zqc!-
BZTz-7Z B -6# -B \ 6zcq7n6cZ
|0Bc6Z ~ZD#Zz7nn7 -Zb 7 |
~-| - cZ s
BDCB n )n B # #  ! # #  ! ]  Y ]Y

 #  #  [ ! ! L#"   L q
B zn6 nz gB5cA!8:e:Zz -#njK7Z
 z(q -nc ~7|Tc#Z` b c | #~6P|7b-c
nZz6 c ! |IT--###6cn Z*Z7|^7 {#  -# c|!$  | -6
- # #  [ ! L  |q - ~ %]  Y ]Y
* z -nZZz|jznZ 6 -7|7-Zz<>3B<>57-9!;
c<e:~ -6#7 Bv- * Z Bc + -* GZ(nc|ZZ|Zcc|0-
7 K | nn-K|zZ B-
|Zcc|0-7~ -T DBnczn B )+* -q
#ncqc-7TnZT
5c|A!8 <>3B~<>z57z-9! ;c<e-~{6^- | --q`#nZqc-7z gB

!-|ZBZ7Kc|6# -Z-|7K-bGZz &~ Z 


-`#c-Z-Z cZcZ \&n7# n B )+K Z Bc
= >n>- !~z#ZTT ZI|0- 70Znz{Z |cTZ 0Z 
-z!ZzZ#cZz#~| Z`cqGc67
& TZzc\-z|Zz n-z -
3?9#BAB-5c 9! ;63c#n9!>Z;?<67z 6 & TZ - 0#!- T zc#q{Z^- ' ((Z T76 c - -3?9-B6A#
5c9!; -` Zz6ZC7Bc-czn6Z| -nB7~- T Z
| cTGZ-cc: ~~ ! 6ZT

')(+*
,.-/102/4365)798:79;<,./!=9=9>@?BACDFEGIHKJ1LM793N7F;O,I-N/!5)/!,I3%>@5 79P4>@?QR3%-S>UT/!,.336-N/!3VUWXYV[Z
\

qo psr>tvujw>xzy{x|r~}w>>yBx
oq
z|c#ns-js `Z|zZ77~ -P# <3?e=@e 0
Z-RR` qc-cnB #~`| - q7
|!B
-7Pnsc|-^bZzP-#n-7z &TZ Z ' |s
BTT-PZ &|# q7cn Z | Z|c(Z-j~
-D&c-n nB7~- 7-Z  n- '
MY R t- R S [
Y R
t- R T [
N1]
] 
R
R t-

]
zcT
B # ' # # # ^
 ~c -T-]] ] Z|zTZzZzz ] R
 ~{nZ
_ ! # # % # #('  |c # #  ] !_ B  Z Bc
+ -, |-| &~ Z jnK-7
_ %  ] ] | - ' 
7K- n
]
R
tt
R
MY [ _ 
S[
Y

[
R
t

R
[

_
N
T
]



]
R
R
tt [ _ 

- 36@e &TZ 7K-{`  ] [ _ ] ]# # B TZc-


|c z ] -q -ZC7Bc- z-#] T-  !_- |
G-#- ] # #   ] ] \ T-a _ ] G~ -.-
# ' # ^ ] [ _ ] ] | &TZ ] ~TcT
nB7 Z-6 7-Z c 7] zZ7T-## cP# - ' IzznB7Z-6 7-Z
Z  0\!Z|#n{-   KB~c-
& 6Znz7 cT7nZzbB Z-!Z bnB7ZT-
7B76z7- ~ |7TZ GZ-6 -#n -T{| ZI|
-Tnc\ZzZ#Zz0Z6n( #j- RZ- -
\n7-zcZzc=- !B|!B`zZ!- nB7ZT- 7B7
c!-I|nc|ZZeB<>@&9!;I9 36ce6 Bv- * Z Bc + -*
& 67 B  Z Bc + -, 
b  `cc #  #  !_ |cq
_~! # # @ % # #(' nczn B )B ~ Bc + ,+c 7Z~ B )
T- #  #  ! _ # # 
z(q -nZZnzTc-~ { Zz -ZT:z(6z7K-6
z Z B ) ~ Bc -
DE~D )Hn h7<>@ G<R9!5<>3B<>57-9!;6c<ADC  9B5 ;?<>@ G<{5cA!5c

e>365c7;9! 7 <=5 ! # 7 #  ] # # 

pu0|:w~yBtvIxzrPx|r~}yBtj
 DC- dc    # #  ncz6~-T B +, ~ Bc ++B
4 zZ|c0] -  
7  7 7  7   7 e`c -
n- 6ccZnzc0|- Z -  6  f   7 ZBTv- n K~ cz B c ! + B c 6 7R  G-7 ! ]
c b7 b7  # 7 # 
]

/B n`)Hn h7<>@9B5 _~! # # # #(' Ih7<><@ g`<j9!5\<=3?B<>57-9!;c<
ADC  ~* [ n <>5 R g [ ! @ !% hL "   L
 c   jg"RZ l k R Z |c [ _  m_  
 DC-i
g" |cqcZ` 
 G~ [ gH !_s :-Zcc|0-`Z
 Z-Z- B ) ] 67] - # ! # # b 7 #  ] # [ # gH !_ # # 
7 7n-c6G~Z- [ _  g [] _! 7  c 7 -T
\\|nZzZZ1 _! $# # " % # #(' j-T - cz *
Z B )+) Z Bc -
-q- n|z7 T- ZTn7|Zcc|-67Z


:-zP 7 ZT ~ z c->-=B76 z Z

Zz c#>->BnR n ZT Zz gB5cA!8z-  j
eZ -  |#n

g-9!>36@9! _ccZz0-Z 

c 

[
L "   4 z`ZzZRT-n #  # c  T|# 
! ! h
[ _  [ e`c - zB Znz # Z PZ0|c!~ |
Z B ) Z Bc -
!
nnn g\B`; _@ <P9B;?BA!3@ 8*3-<>5 <><@A`@ < <>-<>;A#8\<=57@ADC9!59!;BA#
36@ 8CAB <>@<>83657365c` <>@ <=# 98\ 9B@&# 33e{5cA!5ce=365c 7;?9Bz\ e3@nBA#ee>3~;<ICA!9
8\9!@3? @A<e=365c7;?9B\\36@  a 9!5n_5cA!8b C@ 3e 9-BB<>5ce
A! 9!5{A!5c< <>3 < <>@ <>0 9#eTe>35c7;?9!A!5cA!@ \
nn U36@<9 pd o A#9B8 @A368:;?<>8:<>57@@ 3?e9!;?BA!36@ 8 <e>3?5@ <
9!;?BAB36@ 8 @A75757@&3;!9 <e>36< <D<<AC:9!79! _3?eR9! 3?<>-< r q 35A!@ <>
AB e A:5cAB@ 8\9 #<@ <|DA-9!8 ce<@ <|<>A!<e>@&38\9!@<ez3-<>5{35@ 3?e|e<>@&3A!57
nn fjA!8 @ <e9B8\;?<A!8\7@9!@&3A!5 A!5c<:35@ <(@<@B<e>@&38\9!@<P@ <e>3c#<
ADC\@ <:A!5ce>@9!57@IADCDA-BA!@&3A!5c9!;36<@ _@ 9!@^9-BB<9!e(365@ < s . J082  L It
nL d A!8:7@<:@ <:3657-<>e<ADC\@ <P8\9!@3?
MY P
R R R S [[
Y
N [ R R T
Q
R Q R
6/ACBEDCFHGJIBI

qo psr>tvujw>xzy{x|r~}w>>yBx
oq
ce>365c@ <9!;BA!3@ 8ADCB RAB5B9-B<hg
uB
n , C 3eT9Pex_88:<>@&36|BA#e=36@&3-< < ^5736@<:8\9!@3? a 36 <> B9B;6;~AC{36@eT<>3?B<=5c
-9!;6c<e9!<TBA#e>3@&3-<xb|e A!@ 9!@
# #('
9!5<:ce< 9#eT9!59#BA#38\9!@<P3657-<=e<jADC a 35;?9!<AC@ <T<e>@368\9B@<365B vO
A!5B9#B<gB - b

;i >iiwl ,jE $ , u o k o lNx E q F i zZ#Z `c c


 Zn#~ Z`Z |6Z>-6 ZTnnZZ n z
# cB- cc|c>-6 7B7TZz6zn- -  Z 9=+L?GZ
cc|c>-c Z| Z # -93;
y+j@?-T9<;Oz?GZ
ZZ ->-6c-7Z
BEtGJGJG1 n ) h7<=:
@ {M|~} } <9zCc757@3?A!5@ 9!@8\9#BeeAB8\<D<
3?A!5  } @Ab36@e<>; CZ n 3?eBCZ757@&3?AB53;6;^G<P9B;6;?< e
B 9A!57@9!@&35c8:9#R A!5 \36@ <eB<>@7@A9 a -<>@AB b05cA!8 ### 3 CP@ <><
<3?e=@eT9b5778<> 0e>7 @ 9!@CAB|9!;6;>B9!36eTADCBAB3657@e X{9B5 $
365
# { XC [ { # # X [ #

 9Be<= A#GA!57@9!@&35c8\9-A!5 a \36@ <eB<>@@A9-<=@A!\5cA!8 b3 C


@ <><T<3e>@ej9PBA!357C@ X U e>7 @ 9!@ e
{ X  X 9!5 @ <>D<<3e>@e95778<> <>@&<<>5 R 9!5 e>7
@ 9!@CA!9B;6E; X U
# { XC [ X # # X [ X #
& 6TZc |7 ncz6~ c|Z 6 >--->
c-z-c:{~T-{| # c Z Z BZz>-#
Z#c Z|zn-c=~ Z|- c|-\|TZ Z
-6 z -c-zZ#Z ` nqc-
cc|c>-8 7-~~|z -c-I7-cc#ZZ|2 -! cn
c Bc + +B
 nl
{ Zj~&!Z|=-#6 |cz6ZT-#
Z-TzZ>-| B-~ Z {`-| Zz -#`

o
pu0|:w~yBtvIxzrPx|r~}yBtj
n6znKcz-Z Zzj-|!Z|Z#cX
{ XC J { { XC J { { { XC J %%% X
zbnqc#|!ZTnBZz#Z|{G--z-z7-z# Z`cZ
-z Z|\- X q7n#7 !ZT-z-#Zn-# Y {
Zn677 z -> ZZ c z 7--z6z-||s~-nK-
{ XC X

B-7B ccb-43@<>9!@&3-< #Z-7nZbnX G--(|


G-! 6 4  E4 { ZTnR-q{T c#- !B7Z| -Z#nn
|# {;6365c<9!#Cc757@3?A!5
& {q -77 ZcR| n nG~c Z6T ->-Z
zTZz6z7-b!B-qcczZ>-G-bns\T-||7-!B
|6z7-!BZ7`T-cTZc -Z#nsZ>B- ->-6c8 7B
z` |c!> -ZT Z|c=-ZZZP6z7-{j

X
|cq \ -!T-T L \--c| c7!-B
7-7K- |PZ#z|K`(7z -zf c6
-7Z6 6a  B *n Z|zn- # 6 `cc|c>-6{ZT-
! -#-z6GZ -`Z7q q7czT{ z L &Zb!
Z&z-~ {z7s` cGZ |c=-~~z-0R
!-Ic Z6 ->-Z 6B {{ zZ|cq-q--c
z c:Z|0- n`| - ncz77-Z
BZz#67|Rc-~-c| 67
6/ACp5B L , h7<>@
<(9!5 8:9!@&3?C 3e(9!5<>3?B<=57-<>@A!ADC
\36@ 95cA!n5 #<>AP<>3?B<=57-9!;6c< @ <>5

x_ < ^573@&3A!57KC
eA<TB<>@

#p#


] fe
 # ] #  #

3?eT9B5n_5cA!8\<B<=@
#

 #


# #

d A!5ce< >c<>57@;`_>|<0B<>@z@ <!CA!;;?A!\365c5cA!57;635c<9!|< >c9!@3?A!5


{

<=D<{ K ! # # @e{eA!;67@3?A!5ce9!<{<>3B<>57-<>@ABeAC ADC7573@


5cA!8 a 9!;;~<>3B<>57-<>@A!e0ADC 9!D <e>9!;?9!087;@&3?;<eAC@ <e<xbG n 3?eP3?eP<>@9!357;`_

oqpsr>tvujw>xzy{x|r~}w>>yBx
o
5cA!57;635c<9!e>357<\3@3657-AB;6-<e 3B3 365c9;365c<9!>CZ757@3?A!5x_ # # 3 <
B<>5 365ccBA!5@ <:5cA!8*ce< 8\ t9 _ 9B-<Te >c9!<:DA-A!@eTABT@ <:8:9#36878Cc757
@&3A!57 n 3?e@75ce{A!7@R@A<9Be<> A#A!57@&9B@365c8:9#@A <>< X a 365@ <
5cA!@9B@&3?AB5AC <^5736@3?A!5B v- b3?e@ <{<>3B<>57-<>@ABADC`@ <<>3?B<>57-9B;6c<AC;?9BDB<e=@
9!eA!;7@<:-9!;c<>
, zn -+$ oxq $ , u , + F i z
;iz+i y kHu o u EE E y fE z l o $ +fr q % l oi l qU + $ H
Z#Zjn#(--7Z G~B ncc -|Z
-Zq#nz nZZz6!->TR- n>-# ! -s-||7Z n-\ 6 z# 76-q77 . 93j
L? -Z#b7Z
s~>-T| Z!-6 T B | - ZzB znZ
Z 6-zTZ -6R-| ZnT` Z| Z !-|c q{G-#Z>jT-
-7\c BZczZ c|z~|Z^T- w -7Z
|`7ZzZ ZR7ZZ 6-z B Z Bc + - nB-Z Z
zZz-nz c:~Z `
|Zzc6&7TZ ZTnGZ0! Tncc -|z|
0Z0--ZP~TbznZzZ|Z -- 6 T-
Z + |z7Z` &B Z Z Bc K+
cZ s-|7 z7| c
93j
@? - B 7zcczZ>- Z
Z|B-|fw -7~ Z^7GZB ncc T-z
z-Zc~|c-~`ncTZ- L L -
BEtGJGJG1 nn C:3e09!5
L L 8\9!@3?Bn@ <@&9B<jADC\3e < ^5c< @A
<
_ 
~ ] ]
]
c!-I|{#T->-#c Z7T -6znZz7 Bv- * Z Bc + -*
| -ZT6c-
- ) { ^4 % [  ~ [ ]
]
]
] 7 ] ]
B
a  7 a %%% a  7 a 
|cq(|H ] M -PzPZcc|-6] 7~]z - qc-7] ! -Z
TZ- ]
+
_ 
~ ] [ 
] ]
IGZZ|-I|(>-#(0-|--zB-|6 ZzZZ-
=-GZ | - --P!~n ~{#-Tc
!nZ-n-j |Z#~ -# Z`z--#{Z7
#-Tcz>--

o
pu0|:w~yBtvIxzrPx|r~}yBtj
 cT R z7K-Z B ^ n-||ncc -|T~
7K- ] [  
z>` s-|7v6-7Z Z| nZZ T-z
! z Z Z>Z{{  P tt D 7P-Tz> --Z(7--
 Z[ m_
 DC5IG1G1/ nZ C 3e95cA!5ce>365c7;9!b8\9!@3?9B5 3?e9!5

3657@<B<>@ <>5

_ ~
]
] ]
6 B-Z + |TZ T-: _ ] g  ] BzZ|
 DC-
Hg ] M -zccZz0-7\ZP !Z|n`|c #6n
zn6RZZ:# zG-#T-|`Zcc|-67bZ{ - {
ZZ>ZBZq7 ZnTZcc|0-7Z zZ~{&-
ncz6~ZccZz0-{ Bv- * Z Bc + -* I6(Pz Z|
# c 7T-zZ c!B`:`|cc#D&ZZ #~- -7 T6 ]  | 7!---#
zc 76 z c#Z ` R- zcD&Z#Z
] 766 z!-- ]  g  ] ] ] -zq7ZZ

& | Z6z2` - z K-z7 ] ] ] ]

tt ]

] 7 TZ-!-! ] ] ] &- z]
zZ -] ~ (nBP cTZ | ] !Bn Z
-z#Z n L c |c
B a 
  ]  a ] 
-nK|!] ]  `cc  a P  a  
]
] ]
]
 [ 
P
] ] 
zZcc|c>- cnZ! Tz!ZZ-c|Z`
Z7T -B6c jZ Z`c>0Zn -nZ K zBjncc 7
Z A! >36@eZZjZzjb6 +>-K+(, c&cc 9<;+-|?7c-P 9z-y@j?&cP(-! T-0`Pc#qZ7-TZc -c||

7  cc
 DC5IG1G1/ nL * h7<=@
XC ~X a  X 7 a %%% a  7 X a 

oqpsr>tvujw>xzy{x|r~}w>>yBx
!9 5 ;?<=@|@ <:DA-A!@eTAC XC j<X J t- J X 7 <=5
MY
Y

tt R S [
R
  R [[

Y
Y
Y
R
N 7 t-

7 t- 7 -t
<=D<B ] X ]
 DC- 6c6- -T-7
|nc0-Z XC DBcc
" XC
L 7 a  L[
"X X
!--Z
Y
Y
Y

o

[ MN  ST

T [
[
[

MN ST

#n~{Zzn \ T-7
a

 X 

%%%

a  7

[ X ]
]
-nD&ZZz-{|jZ {z #nn#|nIcc
XC
" XC

X [ X Y ~
"X
] Y+Y ]
] X [ X ]
s\cZ
+
L X 7 a  L[  X  a %%% a  7 X [ XCX ] XC X [ X ]
]
]
 ~ {Z -7-#~|{Z ! X [ X ] | Z`cqGcn
Zc X ] ! XcZ


X
X 

a ] a ] a %%%

X [ X ]
X [ X ] ! XC
X
X
X 

XC ~ X

pu0|:w~yBtvIxzrPx|r~}yBtj
 ~  zz7K-Z + ^cc
L X 7 a  L[  X  a %%% a  7 XC X [ X ]
]
XC
X
X 

a ] a ] a %%%
X ]
X
X 

L
XC  a a  a %%%
X
X 
X
 z#`| ~cqGc7:!ZzZ#cZ-(D#6cz--c0-n
ZhXB!z!ZcD #6cz~ X | 6 Zn7ZznK-
Z \`nK-z!ZcD#6czZ X 7 ~ 7nZz
7K-ZzB`cZzz -7K-Z`|- c|
s-|7v
6-7Z6 GZTz7ZZ 6-z|s
& DGJB nL K
36-<>59!5 L L 8\9B@&3 <9!5A!8:7@<@ <
<>@<=B 8d 35cA!9!8\57@|7x _@<@ <! CA!365;;?A!B\9!369B5c;6;?<=e;< C >A!c <>57<ADCP e>J @t<tB e Je L[ # n 3?eb9!5< A!5c<365

. J082  L @&38\<Pce=365c
. LzL   7A!t-< eeABxe
 d A!8\7@< _ ~CAB J JL[ # 7 3eb< >736<e . 1082 L
@&38\<Pce=365c . L  nDAB<eeA!e
* icA!;6-<P@ <:8:9!@&3B&< >c9!@3?A!535B u
nCAB
MN  ST

@ <e<(9!<b@ <bA#<vC8^3<>57@eADC@ <b 9!9!@<>3?e=@&36jBA!;`_5cA!83?9!;BADC 7 3e


< >c9!@&3A!59B5<eAB;6-< 35 . 1032  L 0@368:<Pce>35c L   DA!<eeA!e> n <
A!57;`_@ 35c@ 9!@ 9#e@A`G< A!5c<3e@A`3657-<=@T@ <:e >c9!<8\9B@&335@ <
< >c9!@&3A!5c!9!5 @ 3e:9!5< A!5c<:B39@ <T9!;?BAB36@ 8*B RAB5B9-Bh< gBB
<>@&75 [  9#e:@ < <>@<>835c9!57@^AC
 ~\T-|`-scc|0-nZ   Kc B-B7n Z|
zcq\T -!   ~-! 6{|7
ZzcBZcD#Zz z~cT- cZ -z77z7BZcD
#Zz! b77zZ B
7 [  7 a   a %%% a  7 E

qo psr>tvujw>xzy{x|r~}w>>yBx
qo
& 6TZczPB:|> |7w G-7~ Z||
c>Z-- 6>-|Z - ! 60TZ#qc|6 7n|#
|cq-q # Zc\Z|7-0-
, z i -| --7~ -7Z|
;i+i Ho +r/ o o u Q $ H
s~&!-67 nZ! Z Z -&-!-67 z TZn7
nc! nZ ZK- -l | ~777Z! Z
6~Zp RZ

|cq bZZ{-c- -- b- c-c-
nc-!  Z n: 93>+;@Z? Z- Pc-7 jn- w z-Z7zZZ >Z-#T!-76R|#z{ z TnZBn67n
->- 6c-7~ Z|ncc T-z7 T-z  B ) Z7
4 | b-Z
?0~#zn Z|cqR-:Z:5cAB8\9!;CA!8:e
ADC8\9!@36<e= & Z -\GZ -!&0-7 z#Z Z -
-Rncc zn(& Z`Z|cR|7`zZ|c -6#7P-q
e>36836;9!&cz nc| Z*Z - Z -#n B v- ) Z Bc
+ -K Pc6ZTZ -GZ Z -l
\nc~n Rs
Zzc8:9!@&3|||c -#n - -q -\6\- ~z
   Dc|-# zcq- q|  ZbZP nDcqcz0Z -
GZ ~ --7j6z#nT7  Z -nG~ -Z#-`GZ
 n
t - L L -6 ccZz0-n6z#q7B
t

Z-7Z> K zc`|f Z#-`Z -7GZ Zp z -


]
]
R S[
MY
Y
[

Y
[


Y
~ YN

T
%
%

|cq ] - ] ] -ZzZ
MY ]
Y
Y ]
]
Y
]
Y
%
%
] N
%
%

[
[


R S[
[
[

[
[

]
-|H ] M -7Kc|#Z nz7cZ>T-:n Z Z
| - 6
R

)>@3636>@5179n3%-S>;>@N;>T*
;79NrT>@>@5M
5K,.>@;;5 ;/!N?Q>@79N025 >S*
0f>@5 79,./!=9=9R
;3%/!Q=9>

q
pu0|:w~yBtvIxzrPx|r~}yBtj
93+;@?
-Zcz
\zT n~|#z-  -Tnc> nZz ->-Z
9!5 A!83`#< -7Z 0G~B z7{TZ -7Z  ZT-
|c-7Z n ZTZzZ|7c! P|(ccZz0-n
Z -
Zz6-z7Z |;9!B<e>@ccZz0-Z -!`
!-|BA!<>8:<>@ A 7Z S 7n- 76c| Bv- , Z
|B c ->B-B6cj (-7ZZz 67Z-zc z`n <>3?B<>57\-9B ;6c<-e~ b z -Z- !T~n!- 9<+V?
zP -7~ - -- B 7`T76zbc ccz0-n:Z
eB9!e< --7 R 9<;+>+>@?  Z7c#|  c-=-h e6>-7-  | B
c`- c|-Z ZR--7Z6 G~cccz0-nPZR -6
Z --- ->-6cn! c\z  -
i r GF o -$+ l Ho o o u ,RF % l oxq
i ;i~u-+ zVo l ,RQ i ~c =-GZ R-q\--ZZ|:c6
7Z` ZZ  cn & ZZ  cnB0>BnZT-nc|7B
-`Z -ZZTs z#Z6c67Zze>35c<e:-TA#e=365c<e77
'
{ XC ~ #~% XC a
 5XC

 z#|7-TBn6z7- Znnz#ZT! : Zn P
|Z -TZ-6n- z - c  Z|-zZ -TZZz
`RZz6 0-6 { XC c 76z#Z|s
 cn- 7\|7cBn7K>--TIZ - |zn7Zn70- ` `!-6#c&-#Z|>

B6!!-BZT ~ Z C@ <_<3?e>@P#c -ZT- -z

{ XC nK-*| c6Z ZZ6 cnn



9!-< Zs sZ -T  !- q77- - | c
H 5XC J 5XC M B| A!8:BA!5c<>57@eZ{ XC Z`0-Z
Cc< >c~<> 573?<e
 !- q77-- |*Z -TZ2~a { XC z
ZZcnB ncB nZ Zbz6! ZzZz
Z 0-Z nBZz#67 z B -z 6!-Z
c- #Z-7TcI cGc7R--jBc
ZZ cn-c Z&6 TnZZT`~#Z-
nZ --jnD&cqc|-n7K-Z

) 36-N>@55 ?;hKF6pOX FN/4S?I4.@<XI6NT%5/!=9=+/4=F*


>@;T
)
-S>UT5K>@*
>@S,.RpT %+79;S@

qp( jwzt yBw>wzzyBtvw>y>yBxzuv(yB

0
-2

-1

-1

-2

&G[~DCB ) ) >zc
nn{ XC I|P zPz#ZnB-BX`zZ [ X -T Z
nnR Zn zn\- c|ncz{ XC 7! ZZj
zc Zc\c67s
'
XC

[  $ ~%
-
{ XC P


cq 7 P ) ) z-Z c P ) 6>-|!Z|Z#cZz#ZPzZn
|c [ !
X ! { 7-#!B --( ~zZnP
#nZcn -Z7nr { XC !TZ TZ z -- 0cZ##nsc
{ XC P P ~ XC P
cq ) ) ! -n
c )v ZjB7- . XC [ ~% XC
c ) ZjB7- P . XC [ ~% P XC a P . Q XC ! Q -
c ) ZbB7-6 P ~ XC [ ~% P XC a P . Q XC ! Q [
~% O XC ! P
zj c#n 0Z|b0-Zc( -6K>-c{Zn0-n0ZC X:2||
Z0-[ [ J c zTc7z~&cZ&`Z`c Zc Z|c|-
|Z B
9]  XC a . . XC


pu0|:w~yBtvIxzrPx|r~}yBtj
2

0
-2

-1

-1

-2

vGK[~DB)6n >c
2

0
-2

-1

-1

-2

&G[~DCB) n{ >zzqcZ

qp( jwzt yBw>wzzyBtvw>y>yBxzuv(yB

0
-2

-1

-1

-2

G[~DB ) n 6>|GZc
&
|cq.& [ ccZ77n
'

{ XC
' + ] ~
4
!-! ]~ |`!~cD#Zz T`|AB@ A#BAB5c9!;63@<_A#B<>@<_
Zzz&|#Z
+,
P ~

[ cB- 9]  x  =
]~ ]
]9 $ 
] $ P
" X
 " X R

Z z cc 7c6# B cB- Z  n  P 1! . a


s
P { XC ] ~ " X

Z67` 3e>D<>@`3 #<\z(!~#Z nc|6{ X


Zz6-77Zzz ZZ-67 z##- Z0-Z
T-|6h XbZzzGZ P S ! L Z\ z7cZ> S -T L B|c
] ~  ]Y  ] Y   ]  ]  $  Y
Z!- ] cnn6 c P Z ^GZ6ZT- zRc ZzZz-
T-Z-#>z Z |s B0z{Z ZzZz-7T-Z#->







pu0|:w~yBtvIxzrPx|r~}yBtj
| a L Z 4 :c7RZzq7-6B L c `
7

{ P S ! L +  ]Y

|cq
'
B

$
'
|cq \&- R L[
zZ7 Z0-4| -c-Z| -Z Zc
=-GZ znTZzzRZ#Z
U, l , u ,RQ xu .F vo l o F i |cq-q -z0--ZT
i i
Z4z -Z+ Z6c >-TZ + z B- 7Z6 |
s 6-nBBn
 n-qcc47KZz#ZPz c>H J tt J 7 M
|7 nZzz-9!;6c<e~{ XC P- L Z|( - |# - L
# Z PZ B0 z |# - L -nZ:~ -jz -(~zz# ZT
~% XC 0-  XC ZT I |BA!<>e\~ 6 -| -TZ . 5XC
-  5XC c z|TT! 6c| Z `z # Z-
(-T

k 0G~\- L Z
(Zz6\-Zz--
]
Z LzK Z-z#Zt -  R z# - L (-nZZ B
 cP|
H J J 7 M 7Kc|#Z\q7-Z:! c|z
c> ^nc|z n Z 6c |=-7GKZ c| #H  J ztt~ J |M7cKZcz # q7 c#

7
7

+ *

Y ]Y

]
Y 
-Z ~c >-TZ j- -z 6!-Z
B" 6 B-ZT  R-T B Z-z7#qc ~c >-TZ
 ZZ Zn 2 ZZT--6z !-ZTZ
ZZ\Znn#s7Z Bc BB -s |cq
 zcc -|GBR -7Z Z- 7-t A!57-AB;67@&3A!5ce
Z t7tK c|#7 c 7KZz#n H J J 7 M -
H
J tt J
7 M zZ Zcz L AB57-A!;67@3?A!5 2 nKcz-
H  J J  7 M cc j
7
 ]
]
+K
] 















q p( jwzt yBw>wzzyBtvw>y>yBxzuv(yB



T~R-| ~c >-TZ ~z!Zz0Z6~ Z
nKcz-77{I|{@<>8\3?e< -nn#ZI| Z6c >-
GZ ~|7Kc|#7 c z-ZztBt ZZs
ZZtt - | nBZz#n H J J 7 M -
H
J J
7 M -q 7Kc|#7 Z !ZZ-c| Z
Z7 -
XC 7 ] X ]
] 
XC 7
Y X Y
Y 
"  -RZ-bqTz-j!zZb|!~~cD#ZZzZ\~z0z= T--nnz# RZnB| Z z~#n7s

 XC ~
]
Y X
%
 ] BY
-
7

 /
]
Y
%
 ] BY

L
j

zZ :- {-nZ(Z z  L 7-=|cq P Z


!P -R| -nn# Z67 -| ZR` Zz7ncZ L[
z R ZZ>Z- L -nZZP -= --Z
-#T 

& (Z(-nz(Z BzGZz ~c >-G~


#n~!ZZ n6 z ZT| Z 7T7 c6-Rz XC 0Z-TZ>` ~ XC q z |# -
H R t 5- R J tt J 5 L [  M -
H
J J
L [ M -q z ~c
>-TZ Z7zPb7K] c|#7~|c7K-Z + ] *
~0- 5 . -
. D
| Z6c =-GZ 7 nBZz#n -q {
0-n -7c ~ z Z7 - zZ
Z0--n -*-c- ~z z !Z|#Z
Z~j# |-#|-B|c`jZ
cZ~ 7 -nn zbc 6z0--Zn(-nB!n~cn ~cznz| ZTz-



"

!

#

$

'(

&%

(

'





)

\ 3679,I>136-N/!336-N79; 45 /4

7FN/!5K*
N? 179=9=C IE,I,.*
57FT
3%-S>1;*
0T
36-N>M?>@5K>@>@;
TN36-N>U36i
=FRS0f79/!=9;OQ>@79N0f*
=93679
=97F>@?279;
+*-,

/.

10

'2

354

pu0|:w~yBtvIxzrPx|r~}yBtj
z n- #qc Zc >-TZ j-
6!-Z B c-c > |c
nZ#- zB!cB K- Bc:  ) v Z6 -- n c>c TZ- ZZnq
~\! -Z `` (GZ Zz B
~c >-TZ
TZZT-z!~! 357-<>e< ZZ>-
GZ KP!~! :zP!~z0ZZZ|nKcz-7 j
-7T{| Z6c >-GZ (Z||7Kc|#7
7T z ZZ >-TZ ncZ|cZ
Z
-7T z |c> ZZ >-TZ Z|c 
#nn#
Zz0ZZTjT-z c:Z| ~-| B-~
| !-ZT* Z6 ! -~ c|~z7
Z-&-tT 7#7 -tZ qnc-nR-c#T Z
-H zJ J c >7 Mz-c |H
J A J7
@T7Z M -|q>36@ebZz0 c>L |

 ]P ]
]
t



zZ H J J 7 M  |BZz0ZZ Z| #-T

nBZz#n \Z!~>Z:Z 7B |7
Z ZZ>Z  RZZ\-!Z|~ZT-
!-ZT - !-Z zn-7Z
!- z!~ Z>-7zf   n7cT
* & Z7 cTZ-^c>ZZ7z ~c >-GZ |7
368:9#B<&A!<ee=365c z~Gn ZZT-jBBz -Z
Zc S G~ + * |q --7 :Z ZZjb
- |-z7Kc|#7-q-j~ cnc!n c | Zc
=-GZ Z\ !- 7Z^>-#\c= z0C<9B@&7<e
&- zZcT-7 Bc
znnzcqT- Z6c >-TZ c q7 BcZ
&|#Z#`c Z Znn(z#ZT B zZ#B!ZTnBZz#
c!>-#B<>3?A 3{zZ -Z # z BcZZ!nc| 7BZ
7- -cT
6!ZTnKcz c zcq7n nTGB-7Z
 0GZ! Z Z >-TZ P-|c:357-<>e<e ^ |T
Z:T-:|357-<>e<Z ~c =-GZ ~| -~|c
Z|f7AB73?<> 9!5ceCA!8 c Z-nc\DAB-< |B|cn
\)\ K> ~3%-S>hT*
S,.3679S;-S;>#S/!=9*
>O79;36-N>79N36>@N;7F3%R[T=979-S3/!3+/#
7FN3T3%-S>7902/4>

q p( jwzt yBw>wzzyBtvw>y>yBxzuv(yB



 DC5IG1G1/n i7cBBA#e< 3e9\3573B9!; L A#A!@ ADCb-^9!5 S 3?e9!5

3657@<B<> R S L[ - n <>5Ve
7
]Y LR 3 C S SR L[

+)
3 C

] 
 DC-R Z#nZc|R n
7
]Y

] 
 ~{T(`
Y z 3?e=5 t @( 9!5cB< Z|c
Z-
Y 7  ]  Y

] 
Z!-
7 ]Y

] 
6

87

9

:

zY nT- Y [  R R  |# 3573B9!; L -nZZ


k : | 7- 6z#zA!57;`_5778<>-
#-Tc7 c6 6 67 ~7Bc-z cT #<=DA


;



z TZPZP-Z0|-z zZ> ZZ >-TZ


7Zz-zs B-ZzZ Z6c =-GZ
BDCB i7cBBA#e<H J tt J 7 M 3?e9:e< ~c<=57<ADtC tL 5778:

<>e 3?e936573B9!; L A#A!@ADC`9!5 @ <\e< >c<>57< H
J J
7 M
3?e @ <ttf7 AB 73?<> 9B5ceCA!8 ADC\36@ <eB<>@@A h7<>@P@ <be< >c<>57<
H J J 7 M <:@ <f7A!73?<= 9!5ceCA!8ADC \36@ R D<eB<>@|@A P7 a 36 3e
9!;?eA9P3573B9!; L A#A!@!ADCB n <>5  ] L ] CA!|9!;; . L
G@qCAB;6;?ABeR@ 9B@|<(9!53657-<>@@ <0f7AB73?<> 9!5ceCA!84\36@ <eB<>@7@A x _
@+9 B365c@ <f7A!73?<= 9!5ceCA!8 3@ <eB<=@@A 7 9!5 36B3 365cx _ L
(

=<>

?

A@

B

C

D

q
pu0|:w~yBtvIxzrPx|r~}yBtj
B- -Z | - c| >-cz! -~ |
ZZ=- GZ Z H
J tt J
7 M `q7 c#|  P7
7
7

] 7 ]Y
] ]Y
] 
] 
7 7
]
]Y

]  
7 7
] Y 
]  
7 7
] Y 

] 

-TZ \G~ + ) !Z|#n{-
7
]  Y  LR ~~ k SS

] 
-zBT L Y
!Z|#n|c#Z --V 7BTz -T -#!
c!Z c|67K- Z + *
B 4 Te< >c<>57@3?9!;KA!8:7@<>n`(#n-zcn . L  D -` --
 4   & `P!-! :z Z6c >-TZ ]Y . J082 L
T. L  #Z-7sZ= K z-7~ ~nh ] 6 -Z
#7Z ]  Y -nz G-7Z n7# nZ Bc B
B {z -Z
u F l Ho o o u ,RF % l oxq y fE z l o q i - +KB -zZZ
i jii
-  -|tr7nnc+ Z 7 - - 7Z082 G~f+ !r z Zc
=-GZ -:c!c-n . L L Z 93>
y@? | Z
| cB  #~ Zz >-#!- Zc-T-j
- zZ B-~ &>-*!-c&- 6K  6cn
s {nn~Z ~z{!- 6 ~c >-G~ |c-
|c cn7nB~ Z|-RTc-(`cq zn
- B+ K
9%+V? Z|
Z|7n| B Zc =-GZ {cZzZ>-
- 7 nZZ- #7c  T zn 93j+j@ ? - - ) j
--7Z6 Z! T ZZ >-G~ T- z`7Kc|
-!BZ: !ZTnZ> GBZ- |>-c|Z-#4-7~
E

EF

5$

?G

H%

AI

5I

\ -N79;:79;:/,I*
5)79*
;1>@8/!0f
=9>iT<3%-S> !T/!79=9*
5K>36f,I0f02*
N79,I/!3%> 36-N/!3;0f>@36790f>@;
0f/!N79T%>@;3%;7936;>@=9TS7Fi/!,./!?>@0f79/ m
*
Q=97F,./!3%7FiT5 >@;*
=F3%;?>@; F3N>@,I>@;;/!5)R,I/4*
;>3%-S>@0
3%pQ>@,I0f> !>@=9= S
.

KJ

NM

.

QR

L0

PO

q p( jwzt yBw>wzzyBtvw>y>yBxzuv(yB


qo
7cn77K-Z +* \ z7Kc|-jBBZ| B Zc
=-GZ -7Z6 c!Z#n:6 . L 082 L D 4   & !
-ZZR6Zc!Zc #76 + * . 1032 L |Z| bq77Kbqz7 .= -L cz#GZZ-7s-Z-= z P -c7|Z
 B -TP cZz~jn7 cz6
 n L
-  T- nBZz# Z L | c=
t

H J J 7 M -` -z4-7 ZZ >-G~ &


ZZz7TZ zn - ZZ X z *Z |-X # 67 -|z s Z zB*H cJ0- J t--J 7| M
|cq a z# a - %L % % a #n~ Z B z4 c-Z ZzT | B

ZZ =-GZ ~-R&Z -#


 |# - L ! P -nZ~ B
!-`6{z Z7T - XC ~ a X a %%% a X 7B

XC ~ XC a X XC
|cq
XC  a  X@ a X a %%% a  X 
XC ~ a X  a X a %%% a 7 X 
z n-T-z`!-`c0-- XC 0-| Z`c>RZ
B  6T|nKcz-bZ!ZZ-c||P|Pcc-z j
7KZz#n Z 6{| Z67 - XC j- XC
#  c
W XC ~ a  X a X  a %%% a  X"  6 
W XC ~ a X a xX@ a %%% a 7 X   6 
6 -6-T W XC 0- W XC 0-zz ZZ>Z 
* 7cTbznj6z7K-Z 

z c-ZTcn|GZZT -7Z GZ|
#qc Zc >-G~
& DGJB * h7<>@ L 9BA#e>3@&36-<<>-<>53657@<B<> U<9!5A!8:7@<@ <
f7A!73<> 9!5cevCA!8ADC@ <e< >c<>57< tt I 7 3@ <eB<>@^@A9T3683@&3-<
L PA#A!@^ADC- 7$ _@ <!CAB;6;?AB35c{e< >c<>57<ACA#B<>9!@&3A!5ce e
B 75ce C < \@ <Re< ~c<=57<357@A\A B 9!5 <>-<>5e>7e< >c<>57<e e 9!5

 d A!8\7@< 79!5 - q
* d A!8>365c<P@ <:<e>7;@eP@A#B<>@ <>Tce>35c a g- bGV U<TB<>@ e
  . ~ t . a ] L .
t .U L ! P a ]

+

.M L ! P
S

T

VU

W

VU



X

ZY

\[

^]

(_a`b`

cedfceg

C



ih

(_a`b`

B

(cbdkceg

B

ih

(cbdkceg

jh

cedfceg

_\`b`


ih

(_a`b`

q
pu0|:w~yBtvIxzrPx|r~}yBtj
 ~ --6V7Bz c!
6c!~|-7Z  n
T- O L zz bq7K q7`! z Z6c > -TZ GZ
7Kc|# Z 7B L 6z-7Z z -7Z Z
TZ-
B ->-Z O L O L ! P a c`zc|cc L -P cZ`| c
PTZP-- cT-P| 67- O >\s|
->-Znc!Z#Zz Z||-7Z6 . 1032 L
  nKcz-6 O L P O L ! P a L ! P |P czZc L - cZ
z c ecqczBnZ-c ~ L ! q q7c|z
|# | ~c =-GZ ~zn -TP c c P
nKcz-7-q! zn cczc P`6 O
cc|{GZ6Z6{GZ (G~T|
P P % 7 P 7 a P 7
-nB|c767 P ccZ
7 a ! P
|# 7-TP- - Z~-  082 ~R-z7KZz-
c!c-~z& Zz(-7Z 4 L L I zRGBc
T- zZc6-Tc=~4ZR| Zc >-G~ -7~
nK-~ + * |Z Bc BB
& 6TZcT s #nc= z-7Z nqc## n
>-#!- P # c> Z(:G~-:z |77 7-P 3@-<>9B@&36-<:n7Z># Z~zzc>--7Z
GZ Z0| 77 -7Z z0Z nq q7c|T 9# 39B;6`; _ 
n\6zzn\-T#!q#n - -ZTns c ) q q7cz| -Z#nsZGZ

4  / %   a  %  

4  /
%   a " %  


6Z&Zc ) B\z~7@@<> _ 39#9!8 Z(z7K-ZT
Z
zZ !- nZznK-~ + |nBc> cq
)v-,~ |cqc~zbBn7 -#zn0~n|bc> Tq q7cz -#
nZK!7c z-T7-cIB 6 q7 cz# Z  Z& !>-zTnzZ T~Z z-{|n0--n{zcnZ!- 7
GZz -B 7 P-(0-nTZ BL B7ZT-I6zn60-n
Z7K-n T-|c-67cz-n7 7 6
Z#nZPTnc>-TzZ#> cT-ZZ0|-7~
\6nzZ7z{ZZ`nc|Z
ml

ml

$

%

:

qp( jwzt yBw>wzzyBtvw>y>yBxzuv(yB

a
INPUT1

OUTPUT1
b
c

INPUT2

OUTPUT2

&G[~DCB )
Computes
n

2(A odd )

7
n

(A) 7

(A) 6

(A) 5

(A) 4

A6
n

(A) 3

A4
n

(A) 2

A2
n

(A) 1

(A) 0

A7
3
A5
2
A3

A1

6
5
4

1
A0
Computes

2(A even)

&G[~DCB)L, > |(q q7cz-ZZz| 77 -7Z


pu0|:w~yBtvIxzrPx|r~}yBtj
BEtGJGJG1 K <^5c<@ <75ce C R<:A#B<>9!@3?A!5ADC\e>3`#< P @A`G<@ <
B<>87@9!@3?A!5Ve
R P O -tP
P
ttP
R P Q -t [ [ ttP [[
d <><j<bce<b@ <ce>c9B;5cA!@9B@&3?AB5CA!09{B<=87@9!@&3A!5
<8\9#<>;<>8\<=57@eADC
@ <(cBB<>TA!P 357@AbA!D<eBA!5 365c{<=;?<>8:<>57@e0ADC@ <P;?ABq <>DA!
h7<>@ L 9!5 < ^5c<@ <AB8\;?<=@<75ce C R<RA#B<>9B@&3?AB5A!59e< >c<>57<
ADC L 3@<>8:eP@AAB5ce>3?e>@!ADC\@ <:<e>7;@^ADLC e
A!5
 <> CAB835c
i 77 36B3 35c 3657@A36@@e ^e=@9!5 ;?9-e>@ L ! P <>;?<=8\<>57@e79!5 B<> CA!835c
 365 <B<>5 <>57@&c; _{A!5@ <e<e>7e< ~c<=57<e>
3657@A 3?e A!3657@03657@<=-9!;?eADCe>c3 #< L ! O 9!5 B<> CA!835c
i77 36B3 35c
A!5{<9! AC@ <e<>
< g
n 3?eA!< 7<P3e:A!57@&357c< 757@&3; @ <P3657@<=-9!;?e09!<TADCe=`3 #&
U<(ce<:@ <:5cA!@9B@&3?AB5 @A <>5cA!@<P@ <:A!8:;?<>@<(75ce C R<>

ZT-z-c! cT| jZ 7B s
[

\[

ep

)q

[

R
R

) h7<>@ L P n <>< {3?e9RBA-e>36@36-<3657@<B<> n <>5@ <


A!8\;<>@<75ce C < 3e3-<>5x_@ <B<=87@9!@&3A!5Ve
R
P
-t
L[

R J  J  P J -t L[ J 

<=D<(@ <BCZ757@&3?AB5 J  3?e < ^5c< x _e


C @ <:>~3@P>365c9!_ <D<e<>57@9B@&3?AB5ADC S 3?e
t7t t-
<^5c<
J S j@AG<(@ <:>35c9! _5778<>36-<>5x _

7
 Z`
{<>-<>e<z ~ 6 6-q q7c|-Z Zz c
Z-nc!-#-z &z#Z  ZT-P| c -~
3 <>8:BA!@<=57@  z-z` Z>-ZZjqcc>T|~#ncZ
| ( 6- nZz-~4Z| c-n Zc|
z n-T- 7
 DC- -Zz n#ZZ |cq L P

zZ |q7:{- B |q7:{GZs
0-Z ~:-` -Z|\Z: a 4|c L P $ 0| >
z Z>-Z Z7-TcZz&6nc!7Z c|Pz`Z`c
-(Zzzc--T-nn&Tnc!7c6 ZzTzP Z(-6&
-zc cZ \zT|KZG Z>-Z:GZ L Z 7-# Z
 DC5IG1G1/
\[

&q

q

q

rq

qp( jwzt yBw>wzzyBtvw>y>yBxzuv(yB


4

Row 7 A 7

6
2

Row 6 A 3

Row 5 A 5

Row 4 A 1
4

Row 3 A 6

7
s

6
s

(A) 7

(A) 6

(A) 5

(A) 4

2
Row 2 A 2

(A) 3

(A) 2

Row 1 A 4

(A) 1

1
s

Row 0 A 0

(A) 0

&G[~DCB)cn Z ZnBc> ZRz 77


-7~ Z
| zc-  tt nT-z cB ` z 6-
nZz-Z
$



- | #Z-7 ~T| j6z | c=4-|
cZ4Bz cD&Z# Z ZGZ T _;636 3 @ e 3 Cc@ Z |
- z7&:q q7c!c-z-Z<>-<> 5 | Z>cZ ~n nZ7K-T
-zZ(~ cP T - 0-P : z zc| |&R Z 4 | c=
ccc|z
! sz z6z ZcZR|&7
ZZz| a Z Bjnn |Z&cT ~zz| Z
GZt6tZ T- Z z Z cc z6&7 z nZ
 Z  ZG~ |B Zz c -ZT


x

Zz cb-TZZP-7\ZTz~|Z0- |qcc=n
| q - zT Z| T-7&q q7c|-Z Zz c>
|6t-n #z ~|7 4 z c cZ|&7 nZ


$
{!- 6`nBc> 0G~z ~c>-G~ :Zz j-
cc nK cz-7z znBc> -ZTzn -cZ
nKcz-7Zz@ <e<T7Kc|#7 -ccZIznBc> cq
)v=B
Level 1

Level 0

ut

wv

Level 2

pu0|:w~yBtvIxzrPx|r~}yBtj
n d ;?A-e<T<B9!8365c9!@3?A!5AC^7<:vv=D<>-<9!;?e0e<>-<>9B;C<9!@&7<ee
B CT9 39#BA!5c9!;!;365c<cCcA!8 ;?<>-<>;B.A!575c<>@e(A!e S 9B5 n@ <>5@ <~35c9!_
D<D<e<>57@9!@3?A!5ceADC S 9!5 S 9!<{3 <>57@&39!;?I<<@GCA!@ <. >36@& ad <><
<b9!<`A!757@&35c@ <>3@e0CcA!8 3 @(@A;<Cc@ q @ <`5778G<=ADC9~3@
A!<eBA!5 e(@A@ <0BA!<>|ADC g@ 9!@|@ <:>3@z<D<e<>57@e= b
n <0f7A!73?<> 9!5ceCA!8\eZCZDA!8 ;<>-<>;!.@A;<>-<>;!. a 9!<0B<> CA!8:< 3@
D<eB<>@@A:9P383@&36-< P ] A#A!@ ADC- ]  L n 3?e\3e\G<=9Bce<!9#e
<8:A!-<@A\@ <;<Cc@I365@ < 39#9!8:^@ <A#A!@ZAC:<>365cce< 3?ee >c9!<
* g ;365c<cCcA!8 ;?<>-<>;!.|@Ab;<>-<> ;!. a 9-eT9A#<3C ^3?<=57@B9B@&@9B < @Ab3@|@ 9!@z 3e

k 3 C9B5 AB57`; _3 C\@ <(;?<CZ@!<=5 ADC@ 3?eP;365c<(3?eAB59DA!


: A-e<P>365c9B _B
D<D<e<>57@9!@3?A!5 9#e9 365`BA-e>36@3?A!5. n 3?e3?eG<=9Bce<P ] 35;?<>-<=;j.(@ <
AB;?<e<>@~ADC(A!e3ee>7 36B3 < 3657@Ae>7>9!5cB<eAC0e>3`-< A!eR A-e<
5778<> 9-e9 35>36@BA#e>3@&3?AB5.<D<e<>57@@ <@A#B 9!;-<eAC@ <e<
e>7>9!5cB<e= n <P@A# 9!; CADC<9! e>7>9!5cB<B<=@eP@ <Tf7A!73<> 9B5ceCA!8
ADC{@ <A B &e>7e< ~c<=57<^9B5 @ 3?e:3e\87;6@3?;3?< x _b9Pe>73@9!>;?<BAB<>ADC
] < ^5c< 9!A!-<>
K g ;365c<#CcA! 8;<>-<>;>. @A:;?<=-<>;>. a T A#e<T;?<CZ@><>5 3e35DA!G=9!5 \36@ @ <
DA-B<><@ _@ 9!@j@ <{>365c9! _D<D<e<>57@9!@3?A!5ADC 9-eR9 36 5`>36@ BA#e>3@&3?AB5.
a eA3@ 9#e9\5cA!n5 #<>ABA!<= ADC ] b 9#e9A-<8C ^3<>57@~AC 5] <>D
< 3?e@ <
DAB 5778<>zAC{@ <\3 @^<>5 ADC@ <\;635c<> n 3e:3?e9 3D<>@|AB5ce< >c<>57<
ADC< >c9!@3?A!5 a g- bA!5bB9#B~< gO B - <><\@ <BA!<>zADC 9#e< >c9!;7@A@ <
5778<>|AC@ <e>7e>3?@BA!5@ P <] A!7@7@C U<9!;eA(B<>@ e
8:t9 _`<\@+9 #<=5`8:A 7;?A |G<=9Bce<\<\ce<\36@I9#e\@ <<BBA!5c<>57@^ADC
9 P ] A#A!@!ADCB
5 ~c<e>@&3A!53?e AB`3 #AB57@9!; P ]  P ]
C@ <:;635c<P3
C@ <;635c<\9-e 39#BA!5c9!;  <>D< 9#eR9>365c9B _B
D<<e<=57@9!@3?A!5@ 9!@|3eP@ <e9!8:<9#e(@ 9!@!ADC B<<@@ 9!@z@ <P. #~3@
BA#e>36@3?A!5 9-eT9 R q e<<P;365c<:-K9BGAB-<>
< g
7 3eBA!<>|AC ] 3?e0< >c9!; @A  n x _;365ch
z -j\ Z T-0TZzZj| c-ZT-q9B3
<>57@Ze( Z -| >--###T- -:T#- > ZRz6c R 7>-BTc> Z ~ z j6 - -&6G - B
B#cTnZ-nc-zZ c n ccz7Bc>
c )v-
-T-V 7B(zPZc#j~7| -#> \ Z>-Z(P|
n7# Z~zzB Zz Z>-Z  ) Z Bc + *+K
 ~ `!-n7# z B Z6c >-G~ -7~
nn&|cZzc=-P z 6! z ZZZ 6 v Z
Bbcnc+*+z)P  z# nZT L J S D  |J S -87B Z |J S I7ZK-Z!z#znR7c Z>K R 7 Z

[ P- R S L
/x

y

!zS{kz

x

|x

D

~}

}

Cx

Z$

!z{z

X%

($



qp( jwzt yBw>wzzyBtvw>y>yBxzuv(yB


A7
A6
A5
A4


7

4
2

(A) 7

(A) 3

(A) 5

(A) 6

A2

(A) 1

A3

(A) 2

A1

(A) 4

A0

&G[DB ) 6Z T-> n 7 7 # 6#6


$ l

(A) 0

&%

B 0|~ 6-q q7c|-Z ~ S


7C%%%

zc J S z| ZPR  R -q q7c|
-~

  J S
7
| %%%
Z 7 %%% ~ T-
q q7cz-Z0|`s BT-Z S Ic!# -
z [ a R z#= nnBc=
7`z  jTZ | | T-
q q7cz-Z- ccqcc>7
*  J S z c0 - nZz-Z
z BT-TZ S Kc!# |-| [ a
  Zz -| qcZz
 ~-G~ZZ-6Z
|ccz cT. cZc , -
L[ 07K-nZ|c  J . 0Z  J .
c`|nc|ZzBz B ZZ =-GZ & 7Z
& DGJB n 5 <>
@ < 9#ee>78\@3?A!5ce 9!A!-< ;?<=@
R H J tt J R 7 M G <9e < >c<>57<ADC`5778<>e> < ^5c<e< >c<>57<eH ] Y M
S L[ B3?+9 e

[ q
B *
 f7A! z 9!;; R S L[
<    Y     Y  a     Y 3    Y 

<    Y     Y  a     Y 3    Y 
n <>5@ <0e< >c<>57< 4 3eT< >c9!; @Ab@ <e C R< f7A!7 3<> 9!5cevCA!8ADC e
K

\[

pu0|:w~yBtvIxzrPx|r~}yBtj
S , * K )
Q , K ) *
P , , K K
, , , , K K K K
B)n  6! -~(Z J S
H


 J . ^ 4 ]
*+,
C<75ce C R<@ 3?e(e< >c<>57<0<(B<=@@ <f7A!73?<= 9!5ceCA!8:  ADC

:zcn\-cD#Zz-! | J S D&z#ZT
>|Z- J S j {znPZP<>-<>e>35cz T- Z
Zz-Z Z S /  ~ !ZTnZ [ J S |R|q7\ZT-7
| - nZz-~Z S nqcc>TncZTzb> 6|
;?<CZ@&8:A#e>@ Z(z c6-z 70-B76 , Z|c|
zzjznZZT(Z&GzZ J S 0-T|!-|
n6n 7ZcT:zP|czZ#nZ c I|~n--bZPT-
GZP-. . J S n|q7Z{ -: Z>-Z~ . a J S c |
-cBcZ|`!~`zB
b 1)%nzZ % |
(e(i+1,j)
q l Q G Z>-Z
 z#`-#- ZzzZ7   Y  TZ0-Z0-7~ -
S n-6!- -0Z!-#-Tz J S Zzqc b`~z
!-#-{z J -T  4  6 zZ!---z -|
  Y  Z   Y   7  Y   c -7T:znsK-q7||s
B 6 67:|Pc ZzZz -bnn#:|Pn6 nn L
z` -|&|#Z\T-b 7-{6 z-7Z c
 J -  J q|-q-7!
)v cn 6! -ZTz!B|cq :
Q -T L K
eZ 6 -nc> G~ c|6 z B Zc
=-GZ * Zb|! c| Z ~Z|c7nT
!-#-z J S \Z-(0-7`Z (j z -nc>
zq7BZ-(:7BcB | Z`c>~ nqc-
zn-!n|7T-!- Z|sK-TcG Z>-Z
n7# n Z  c Bc K- Z-c| Z{- 77 -nc>
T-TZn ?|! -6Zzz J S
_
&, E Q
stdio.h _
&, E Q
math.h
F r u [8192]linear;


\[



A

B

qp( jwzt yBw>wzzyBtvw>y>yBxzuv(yB


[
!
!
structure to hold the data items. *
F f*o~ Basic

H compl
Q l x E re;
QlxE
M ; im;
Q F o
compl complex;
[
!
!
* Basic structure to hold the data items. *


complex:linear in seq;
* Input data. *
!
complex:linear work seq; * Temporary variables, and
!
* output data *

&,

&

:linear e vals[13];
* Parallel array to hold
!
* the values of the e(k,j) *

complex:linear omega powers[13]; * Parallel array to


* hold the values of
!
* omegae(r,j). *

GQ

main()

b&

i, j;
k = 13;

b&

* log of number of
!
* data points. *
!
n = 8192;
* Number of data points. *

b&

*
* This block of code sets up the e vals and the
* omega powers arrays.
*

eb

(linear)

b&

i;
:linear
p = Viw (0);
b&
:linear temp;
e vals[k 1]= 0;

n; i++)
i (i = 0; i

b&

[i]in seq.re = ( &i& ) i) (( &i& ) n;

W/'V^N/'=Vw6

[i]in seq.im = 0.;

(i = 0; i

k; i++)

e vals[k 1] = 1;
e vals[k 1]+= p % 2;
p : = 1;

omega powers[k 1].re


= cos(2.0 * M PI * ( i&&L :linear) e vals[k 1] ( &i&&L ) n);
omega powers[k 1].im
= sin(2.0 * M PI * ( &i& :linear) e vals[k 1] ( i&&L ) n);

i (i = 1; i
k; i++)

e vals[k 1 i]= (e vals[k i] : 1) % n;


omega powers[k 1 i].re
=
cos(2.0 * M PI * (( &i&&L :linear) e vals[k 1 i] ( &i& ) n));
omega powers[k 1 i].im
=
sin(2.0 * M PI * (( i&&L :linear) e vals[k 1 i] ( &i&&L ) n));

work seq.re = in seq.re;


work seq.im = in seq.im;
p = &1iw (0);

i (i = 0; i
k; i++)

complex:linear save;
save.re = work seq.re;
save.im = work seq.im;
temp = p & ((1 : (k i 1))); * Compute c0(r,i). The
(k i 1 is due to the fact
that the number of the bits
in the definition of c0(r,i)
is from 1 to k, rather than
k 1 to 0. *


(p
==
temp)
e
:linear t = temp (1 : (k i 1));
* Compute c1(r,i). The

!'N~Vww|HNNVwwVNV

(k i 1 is due to the fact


that the number of the bits
in the definition of c0(r,i)
is from 1 to k, rather than
k 1 to 0. *
[temp]work seq.re = [temp]save.re
+ [temp]omega powers[i].re *[t]save.re
[temp]omega powers[i].im *[t]save.im;

[temp]work seq.im = [temp]work seq.im


+ [temp]omega powers[i].re *[t]save.im
+ [temp]omega powers[i].im *[t]save.re;
[t]work seq.re = [temp]save.re +
[t]omega powers[i].re *[t]save.re

[t]omega powers[i].im *[t]save.im;


[t]work seq.im = [temp]save.im +
[t]omega powers[i].re *[t]save.im
+ [t]omega powers[i].im *[t]save.re;

(linear)
w (&1iw (0)
n)
save seq.re=work seq.re;
save seq.im=work seq.im;
[e vals[k 1]]work seq.re=save seq.re;
[e vals[k 1]]work seq.im=save seq.im;

(i = 0; i

n; i++)

printf("Value %d, real part=%g\n", i,[i]work seq.re);


printf("Value %d, imaginary part=%g\n", i,[i]work seq.im);
;'AEAa\ ( aVKN-SP'a(mKNXE1P KP(&/

Pi\( S!iK?PaiE^w P

i1i eXjPNK aaa9e/"

e\i (P9-Ea a \?PPSK\9

bKaPN

 /Vi:aaEe/:VPai
(e Wa!XS(KNm/
PBPWSP HPP
\
+

a(:KN"XS'SH'wH&NB aV
^ (LP P\e/
jaX&ZE
e\Da

m-E
E PSPw

Na/5aSaX a;i1PSeX6a

+\

W/'V^N/'=Vw6

  
 

    !#" $ % &(1' *) &  ' % &#+ , - &  $/.  +021 % & 3
4   . f & 5 f% 6#
78 9;:
<:#  7 8 9=:

$?>@.  % 
&  $2. B AC ,



  D   $?>   $2' E $2F  $?G  & %  '  $  HHID $?>J.  %  &K$ "KL
 $?>M>@ F ) % &   4  $ B N PO 4  " .  &   % :# 7 8 9; : $?>J.  % 
&  $/. 

AC , D  % % Q > %   $ WNR  $?& ) &K'SG  F  4 ) %  & % B > B & $ % & -4  <HHI
D

"

4
4
 $  5 0 &  $2. UTV , H % &K'  )RL
$?>@.  % 
&   &  N PO $   %  "
%  & % B > B & $ % & 4  WHHID &    F  "X3  $&K '   "X33L &&   '
F
> 

S
$   %  " ,

 Y  Z" $ % &\[]++^ &  $2.  ++ T % B > %  $  >J$ % &  % UX_ N`3 &  `: % L

 BH "  % 5aD $& 4 ! "$ &K '    4 ) %  & % &S$ H " %   7 5kE
 %  , 7 "K  

kW

 $ % % O & N &b[ 4  QU $ &K^  $ cedgfih 4 


, w6 > $ "B
k

 $ l m % $?&  G  & 4 " & % & n l m f l 1 m oqp , 7   N  N


Q"   



m
4
4
4
4


%
%
%
%
l




)

s

H

"

5








B

:



IH "

"  % 
& &Kr &
D
 $? & 4 3Btu   4 3Q ' "K  &
Q) & %   4 G2$> "K 4 l m ,

 $  $ X3 3 & "  '   " .  "  %  % &


 v 8 & % '    & "#X3 S1km
1&

$   % r  4   Z"K & wX3 % &K.  $?w& 4 3B '([     '  4    >@F& % $>
4 " & % F t     '   4  # % & S%  $?>
X3 % &K.  1G2 $?> " $  'x $  % & %  $?> 
w

w
4 " & % F X3 % &K. "  '^_, D  aH $ H "  %  yD $? & 4 3 $?>J .  %  . %G  $

4 $   ' "  4  Q " |% &K. H " %  ED $?& 4 3 N   &
fiz d , 7 "K 3t
d
% &  $/' t  $
f|{ ,}   $ 4 $ $?>@.  %  4  Q" % &K.   ' %  
4
% $?>
H " % WD $&
! % &  % $  ~ % & n % G  &e$  >@F&

po



m
m
f


NR $?& !L_NQ %  % % &   4 !
m f m mC m m m

N  5

p K o
m p
m f
p

p K o *
p
C m f
p om

p K o *
p
m f
p m

q?Ka_M?<Wb`?

!'N~Vww|HNNVwwVNV

wk

} 4 "  $
' % ) ' H $ H
3  w " % & S% Q Q $ 
N
 % G  &$  4
: %   8 % & BD $& 4 !
 c

Y 
N  5

" % yD $?& 4 3 $?>J.  %  3 % t  N '  %


%   $ 4   $?&K '$  ' H $ H " % <D $& 4 ! =~
fz d & "(X3 c tR//Kt c  o tIN` $?&(' ) &   

[ : 8 D ^$ 4 >> N n

 o 2u
z2 ;
f c

z


} " &
4 M> > N n

 o

f m

w

9 N 4   (Z"K % &n<}  
 $  % " >@$  >@F % &   ' % & & QN

z % 4 f
ht

S

fi 5?

  3N % 

"  $   % $?& % &G  a: %   8 % & U


 D $?& 4 3 Qt ' ) &  '$

2u
z
;
w

S
S
z

c w


$ 4 $ : %    8 % & #D $?& 4 3 =~ $ 


%  $. '  $  $> >  > % Q > 5Q & $ % &,

KNiSKP?AAaai

b
Si a
1VD51
ES!iK

 y

LPe

D
V
/
aaSZ
1
y

K1
e
/DPii \PN e \S
PaP(^ (

D
'

ma\ a\1 eP' PeEPaP|^ (LPHb5aa

Ki5iSKPZPe/

wf

"

6 &
$  %  c% $? >>  '$ F > %
$  %   % qL
4


$ " & M % & l "
$ f:

c
f l  #
;'ee SSa\
KaSX(25mi! X P?PeV 5i!
o ,
h
#
P3/t NR
 $ a" Q   % &K' %  4 c 3" & 4 
5
 /   qw 
" >@$?& % 4   <3 %


{
z
{

{
z

 5KPQMe5?ME]K_]5BM5ee5?MI]KIsK_qI]K_
Pq5ME

-|DP(
+!

f{

Ka

(VDKN

W/'V^N/'=Vw6
-TP PD?i#KNZ!i KP/a

KaSX (KN

=W aX

iK( KNeNSKP

l z

aKN#X

y=PSPel h f



Pai6^ (LP?AmaKaa

fK
z /aKP; =

Pe5ii; Saa

e/

 o
 o

c a( f e/c SXX Sf EPKNl  iS#


KN Ka;Ce/
HKN SP 2
P
H ?Z2a(KNZ-

biCe/
 PKNa= PSP KNCb/SeP
XKN\e';PVPWPaKP'AVi
e

-PaP
e =51 #1PK6e/6 XXSWP=e/B=PSP


l
&G > " % &
e/DPaP5a(#ji/SmPPPw eP(

^Pai (PCa\em
XPP

 c
P
KNC'
5aeAXPS/



 

l


P
KNC'
AaK!iS=
@ l
h // 
@ l

Y

P
KNCiaPPNKAD XXS('e/DK;Zji/S

@ 
h // 
@ 

v
&NX\ea5jPNS6e/DP\i^ (LP
P


 l
h 
  h // 
@ l @ q

N\ae/
Piu
E1PWPaKm; EaKaaiSP
K
i@! c e a h ?//i m
A@(
c i +bP S KN VDP;KN Va
e\Na\N


j KPAP(KNDPiiW a (mPii=PSPw'




c
i1'
c f

LP a

baN

w

VPA( e/

W aX:P

b;PuAA\a/KP

  l q 
C q  f 
 qg q
U

f h /2


?$ >@$ 

e/5Xj e'(|LP

(P/Vi

iSPw

PaKP9D\A!ib5aK)e/

LP

LPm a


 l q 

#ZV NSPa

@ q  fh

=f 
 l 

a \ZP

5H K 5

P6P



e/

& 5e/5PNa5; 5e/Xj e'(1

@ q 

^\NS#KNi!#? e'/i!iKNP#1

KPP&eP
LP

b

Xj e'


HH'LPe/
 Vf HP eX)5
@ qa K e/f
 P
h W a
 i@ qPD
iiP

f 6
)2\() aiw
PaP(^ (LP
PKN

X1P?eX)



'  3 % & 

 












W
M
     c X3 $?&
%
f l q
$  % N %  c
F >
4


(
%
c
%
D

s



K
"





X
,
&
. &G2$>
$ . G & F

k

 f 
 l 

 %
 %
 3  &K' % &K.
$?&K'  W % .  &G 
s .  &G2$?> "K


  K 

N  5  %   Z"K &  


2/   o $?&K'

1


%4 f
 f
K NBa=PwPaPw P
i1 aK(

m

P
 53N % 
h
&N

'N~Vww|HNNVwwVNV
!
e/6~H
a
W aXP
~ (:A1

P5Vi

  K 

E5aa/1PN aXmKN6PSKP5aK

 

"

aS iXa

>  $  @> Fa$

(


i/ aK( Aaa

F >%

' *) &   

$  % N %  l . % G  & X F


%4
f '
 3N % 

$  % &%

G % $?n


%4 f  f
l q f W aX
()iiPi PBP(e/
 3N % 
h

A\a&1PKZKNZiii

 /   qw  $#  H  $?>>





%
f
h

D  % %

Ki



 f*) + ,

(51'KKN:Pai^w P

 f 
 l
^\NSm

10


f-) + k , ) +
f ) + , ) +


f\z

2u

o/ , 
J .  
,



AaK?!i

\NS

32

+
XKa/S

KN

W aX #PC a

6;'e#K( (KN#iiP

W/'V^N/'=Vw6
?PeP/e/D1Xa/b/SePa?aaK(

f4) 5 ) 5 z


"N2Pu iiW a P AZVPK


H
KNP? !ZX aa
PNa

z i  \&NCiiPiSP
 
f z
Ye/
 DPii=PSPw|VH'S Kf6
5 aKe/DPi
 8 a % % NKN\iwPaPWw P P
VHPS eXEAaKZKNiiP7 W
'
&
j/


J
J

C f ) + 9 ,  J // ) + 9 .  o/ , 
^\NS
KNX !P |!
 o / a, a X a+bPPN|Pii \ N
.


f
)
+
/

9
-

P
= (
15aa

W \iiPiSP


VHPS eX;5aK
KN!ae\(iiP( SA
\iP( mb
 f: 
A&P
Xa6X
C
ai 1 W aX$?E> ii iPS'wA1 #L' o;
% &K$ % & 1CA aKZ1P?
> % &  $  (X
aa/ VP
a eP(WK( =1 /Si&'NKND\
Via #


<


J
J

qC z C z dQf>2=u) + 9 d ,  ) + 9 .  d / , @? z

m

QC z z dQf B= A ) + 9 d ,  ) + 9 . 
e
f C z
j
2u
2u
2u




D
z

f
z

BA

BA 
BA
FE f h C z C D // C z

H6AD ZCe/DK;

z
j

i P

d /, ? z





V&KN
V\|iiP i PVHP eX#5aKAKNPii  \

Y v ;'ea mK( e/mL'DPKNiiP iSPwCP

a
1P/ a
(AP\aSa|!iei!i/SDe/b/SeP
A&NC? 6K( : a( Saa



KaSX&2DKNC
k

V( ?ia
c
 
l

 oG k
$ Qs % .  &G 
bP(VPi'PKN&i1XHP\NDe Na
 o/ ,  VCi1aa aN
.

f
)
+
/

9
&Ai! XV N
PKN
SK( W
/
'e/
iiiW aXDP


PKNib
Y v
%
YY

HJI _LK_PNMK M 5PONMRQPS QM5]5BE]KUTWVR5u]KUT5XV


Y?K_?5@Z\[K5EL]_[KP]MIe_^O_$]_

  
 
 c
8

"k

fR $?>M>  $ 
 
$&$ !X %  $  F
 %  % % % G  g h 
 %.  
 4 $?&
& G 
  % G  $ 4 !#"

"f

 $#

 % .  &G 
{
z
/

4  B $  % 


"f

$?&K'  % .  &G 

h
h 3e

e
S1h

4  B $  % 


S1X

: % 
 % % % G
4-i  $? G 
F >%

>@$ 4   

e
-e/:PSKP55aaXS: a?P N aa1 KP
S!iKDP\i(w (LP
a1

aK



jlknm

1PPCa

fa

ViXeP(?

KNPNP/ aa

PNK ~D( mXX


a(DKNXCa

P

Usut
m
CaViD1'!'(V-5VPKi6iw /
porq

\a| i6K( ~ew ?aKeaCKNPia(


DNPe

sH " %  <D $?& 4 3 $? & X3 B"  ' N % 


4 ,  $  44  '  G2$  F % &K.
 gh 

% & 4   % .  &G2$?> "K $?&K'

Q

"
&

1 $
$  % W~





'  3 % &K$?& 4 $ F > % $  %  ,
% G  $ 4 ! #" >@$ 4      $?>  $/' % " 4   $  %  % ,

3b

"f

B"   < % .  &G2$?> "K ?$ &K'


z
{

z {
B"   < % .  &G2$?> "K
h

d
d

8


wW`_aw#Nw=VwW

P\e/

SP/

iD-L KNP
aK

BaVi

aK

PXjiNKaS/a

P(1P?XHa Xi1P?XH

ViXHj-KN&1PNKi1K/ ; Pae/

XX

aNa

;Va/a ^XPNaNP KP


"=P#LV
<
w
-
D P\N(-
-&VP?aeKiP1 a\
KN
Pa/
x KNZ e
(PXiw /a
1i
P

f6X=X
AXi\
X
P
x
aKN
LP(aViCVP!P
i
VBiPNi ~!ibPPNSXj-/
y vzv
 # <
{
!
Ni/ai
S\iN
i1
Vaa Na=1P?XHPw eXC'
|
{  |
}~3


3#

a:5 S/aK:w KXP

b/5Ki!
'V^N/'=Vw6
eiVW/
/a\iPN eP(PKNZ PaKN
a5i1
L NX=PPPwPX=PP9LP

# PW e/

kaH':1Va~H

+
e/iaXHVKNi!# !

ePNSX-
P\e/

PZ /a

P\e/
&N

KaVie (Aaa&\;X abKaXCS

 mL'a

P\e/

Vi61P?XHP; Se \a

EAa\PNa)1'(Xie/m

{  |

KNP/a

P\e/

{  |

S'SX!P&1'!a a
H'

iw /a:aNP

i#1

()aNP

a/a

Z"K & % $?>  S& ' % &K.

KP6&N

a(

Xee/

PaNP

e NKNCN

&N




P/

P61P?XHPy SN\

PAVi

P\P

PaPw (L'

 wm\

e/9X Pe;Pai

XV KP
LPKN

Vi

PZ 'aKN

Y 

WPX

 v Y
\a
XXa(AKNA1PiS\iN

j NKa= KP
W a
(
# 
v
S'(Xa(KN!a
aNKiP
&NmeP
XHS e/
<
w
\V'KN?j NKa= KP1PP
Sai/ CPeP\NP Sa/

NKaV

LP

e/E!aKa(

1'i SaPNHWb?w ea ie/(a

KPX

=P

meePKNA

w AaaK

eP(

P

Vi X?

P(1'!De/

\Z i/LP( w \aia\Va(CKN

i/

)ja/a P;D=Pw
P\e/

a w \aia\V:Ki

{  |

Pa6KN 'aKN

gW KP Pa- (a?X KiaSa 6(' ?S


 i ?iNWe/5aa a() aNSmA !'Na);'3a(

AaK

w 1j5KiKNPaVe/
X w&XaB\NX
<



PZP?

P ?a

XaaiX X Pee/i

mi/ a eP9P(KN)KiaK
X

X:PKNVPi SaPNDaKN

A+b i/1XXa(&N|Ki
1P?XHP


'e/LP\PA\(#Ki
<

/iai

KP?a ;

1&/i!V/ w aaP& Pae/

\a

&N:!i eX9

a#P?

=H&a

PLXa?i(P #ES!iK

PBe/9 w 

^ (LP

X#kANP

5i6 \a?'

X XCe/DaSK!aN

iP

 " v

KP

X\NL'

1P!P 'aKN

{  |


^

K( |e/

{  |

KPTXeP(&D

-PKNi;'S&e/5 PaKN

m/

'aKNXi/a

'N#PB\NL'

iwe

>

aVPA

&N

Ce a

1'NKSP6KNT

KP

'aKN

VZP

Vi5 5e/iXi1'!aEa5aa

 ;; ZK(
&N

1P/ \(LP

5Xiaa\iPNK

aNKi!Ka(bX e!P|KNm PaKN

{  |

;PZ!ja! w \ai^1PKa

E1

iLPKi

&NBa?a

PX S

PWKN

P "

 Xwww'
P| w a\ia

1P?XHP 'aKN

P a

w aaP

+
e/

i(a(1 TiX

 S'D'N

/ZeP (&H

eW KP

b?KNCPSKPN/AEAaa(S

 ~

bCV: N

i1 a^e/DPai

 !

BP;

P6

P!DVPaPe

&
'KN

XSaKP



1 (P(

}\~r~"

K K?i3aP

aP

aaV e'(aVi  aA (

A \aWPNa

1P?XHP
iS

 P(e (V a/9iX BX PB KePNKP

Si/CX w

l

3 r

PaP

}\~

BA
2u

m
l N m Pf ;2 Paid =C Vm P i
\d ( aa
&N:X=PP?i
j
j
d
U(?QaP&Pai^PaP1 (PP

'e W K

EPKP

X/iPP(


=PSiXRPPA\1&N(2P $& %  aN& KaKi o
a(Pa(K( =a/Xa
l m
 % O/S a/6i1XHeNSKP5aK;(
e (aeP(P6X1P/e\NaKa\eP
P
XPK)b/SeP(W\
#aN X
(Z1XaNXHKNP
P!i~a
/WPV aaVZa S#k W NNX
PXA )aNKi3W a&

:( A:i1 (
Na)eP
PaNX
(?VX\N\NSe/5eNSKP2

PPNVPS
W a:iCe/
l m
i/ea!
1H

l m
H'KNS
\i
AKaEBi1 
/\
iaW\WP
a(meNSKPK( |

2S9
C (;W N PK
m
'6
a1a/eP3W j/b/SeP(( !1 aaX
f'P&/eP



l m
;2i\i
1P?|b P
  e />5
G  Se e/5eNSKPE !gW / PK
 a/eP3W bDiXXaBb/SKP
a

(VDZjPNSP
N $?G  > 
2

(yW aaPiKNi/ea!
'AeB
/A aA

P~KNV

ABKNa;
Pb/SeP?5aKN ;'Na aN m P'X2
|PW a
C
aiWVC;2i\i
P#
i! m WbNSXPN aaSKNAPaSK PP
;2i\iaS
i  SSw KD\5K( =e/D 2=P ai Pi
a

/E1Vi
2iaP !


 Y  iL'W!VP(N5Aa\XS
aaKKa Ki


Y
-6A); /?P1 (

a
Ki
P
4  $ $?a>K4 w" & e% & NSKPa
;2i\i
+a
mKNAPNEa
i! Ki S aiD !Ea?
X ePa)  !iN!

l m

Y
m
-KNb/SeP
(P

^(VN Si

a#a(iw NPe/6'ai|PaXNi1

1P

J P]__LK2K5`OP_ 55qXT_eIq_]_M^^WW^P^

!

W/'V^N/'=Vw6

y
A wavelet

A wave

mi/ a

P(

iaP

R  Y

;P

&BA:( \b/SeP((AaK

P(KNZ

; i\i

PaPZi\
i1 (P

&N

Pma N i

aP

KN

( P

DP X

e )e

i/eP(
?\NKiia;e/

VP

VD DK( E 

 2 #" > %  >JF % &K!B


A . ' P !m V P/e/PaKP
e &X#a5;2i\iB
KA bi1 '(^&?ae\a
?
  
C m

w5|i1 (Ba
Ki
P
iP\Kei!i/W aWP
C m

(&/ PSX!)PWS( ia(


KN1 \)PKN
L 11 \a
m 
 N`


m
4 +
z

^\NS
XPN\Z(P/Vi Zi
\
NaKD\Nm Ki3W aVP &

A( (Xab/SeP(/K(  (P/Vi Bi?S


iiw i
' % >J$ % &
 P W a m X &/CEZ aP e :&P : a VPi/
eP( =PaPBi\
P1 BKNPAaWP:i1 (Pab/S
eP(WK( ( PNVPS#PKNDA('a
L 1~&N#PaKP
m

<

a
2iaPeei1 (P(
e/mb/SKP

?a/


eXiw &X /Si= m6LP


aa/ VP
m a eP(P/KNXCb/S
eP(
V&NN(P?iA 2
a#2 z
\m (6 KNaXa
 %4

X j;2i\i
/ (ZVi
\KNi
~iiKNiL'


/XVXi&
:;'(XiA X(V
ii
\N
A a/P
d z mU
j
e/
A
(PX

2|L'
(
2iaPe~ (:A: !

z m< j
PLVP
a\(DKN6;2
iaP
/Z

\Nm
2=Xi&Nm\Kei!i/S


N $?G  ,
(e 5E2Xa!iS1P/e PP|(P
L e/
2EPKi&

A
SNPa( /SiPN\

P6X S


;2i\ia




) & %  & "(X_5

;
m

j
AXVKNE D'

&N(PP=e/XSPAK( WiPNi ^
P('b/SKP

P "

=PaiP P

Xwww'
i\a

!

" X @> F % K& ' 3 '


' 

c d d m
l m f
Y
A/i!
o
d


;
m

z
h
&NeNSKP
V=d V 
~P~e/|i1 (P (

m aaf K N j



;
m

1 aaXme/Cw

VH'S KZAaK

j
A\a
Xia

XXS
a(9PeX&5LP
1P?e\(ya
X $ % N $?G  > 
m a
m
b/SeP(
(
!
#A\a aa;; /VP(XaKP6a

5e/
$?> % &K. 4 " & % &
m
LP\PA\(
m e









m


m


a
(

PKNPA


z
f
f

Yc e/B ! 1 \ad D m d m m fi ' P?o e/j o jj eP


h

=PV i
Ba=PV e
&N!V PPe /B
. 1&KP$?(> % XF aKP
&K' % % K& ( Nv e/i 2
aV|a9\NSa\1P?e
KN)1PPq

ai/a
KN
Va5
2iaP
 #

i1 (P?a
j eP

N
A\a?ae\ae/mPNKaPaX
'
( (5\NKiw KNEa
'N5Pe/Ki
P&e/


X\ /
e/m'eXP aaKZ1P(XaKPfj KP

b (

Y
Amii!



=
m


z

j
Yc

l m d m m

C1P
f K b/SeP(ef z !m PNl aZ m P NVd P m Smm iNaK
Y -P Pc dB
d Hm Kmb e/ V\ PK(XP aaK1'(XaKPN
aNKi! 'e/
L 1 ( 

A1 'CXVPN
SmPKi Xia ZVPKa(DKNw
"
VHP eX#5aKAKND
2iaP
m
 

1 \a(b/SKPP6;2i\i= ee5KNC1P(XaKP


$?> % &K.
X
4 " & % -& ZPmk (KN)!i' '6 KN m =PE5Na T\2
P9(P/Vi bW aXHZP=
/aK?a/eP3W ?&NDDe/oH ?
a(PW1P\e'K( ;2iaP(KNi
m PH Kb1&N

1P\e'

a?a

A1'(ji/S'DKN

Va51PN iZ'Z

; i\iKLiaXH


 _MW[IM(]_ @OgK]5@[sV(]K]_
EK5J^W 5u]5K]KR] _PMq5_]_

EP]__Wq__B]g

-H K KN

V\

!

V 

' % >@$ % & Z" $ % &

f (P V:a z mgX a VE\#  w5 yw


m
;PK;K( KN
i N
KN
!KPAV P(XaKP
a?aae
PNa

NaK
N
iEPKN
1
m(
P /Vi X EA\eZKN) a KN
LP
iV A &P
E
N:
PSabr /
w i
P

S\|=P(A/aSAKN


C(P/Vi X




&N1P(XaKP
mXA 
PSNaX
i

<
) ' #-e/
NX '//iKNXP
P/;2i\iKLiaXHj-K(P=6aame




e/D
2=PaiKbP1 (P( 
PK(X'( W (

VZ} D 1 PK
;PK
K(  N)\ea\P|ZHP\e'TPj KP
=C 
V

H'aeP(

W/'V^N/'=Vw6

iaPSCPbPXHP\e'

a~a

XaeP

e/m1P/

m

m Af ; 1'(Xie/;1P(XaKP
b PD-

PaNP aP

j eP?
Vf'KNN\e Ei&PPNVPSW a'

a/eB
Xi
w

&

%
" 
 & 
1'aPePa
!
/i
XiKia/?a

m \
Y PeP\N

kf X  \D'
PKN
P
5Ni!


BBP5imP
b6'aaK aa
a&
XXi;1PKi
m
SA'aN 6e/
'Na
P/K( i1e=
X1P?
m
%
%


'F$/'
&
$
aPePa?XiKi?aNX

m&1'wPb P

"

P\NPIai
NL b P
m
Y"

m/;Pa/m1';?a(9ANP

iaPeP\N

amVXa

W aXH

 

iPNPw aa

&PN

4 " & % &   5


Xj =
 % ia PeKa( m
 H'5\ab/Se P?\EKN PZeNSKP ?j / L'
(
'e/i5X
6e/i

N


m


h m

h

*

So ' Sm Xf !5 1'd i i z m  ?a\a


-v"
(# K(:PK( e/|

+
j
d
e  K
X j eP; V 1PN ea V ia aZ1 aaibeNSKP
+j5ZXK
/DKNZVPS K ;2 Pa i

ZKNP
m f m

|
Y

m



m




m

v
o z mg

BiLP

aKiw K E PSXX

Aa\

P "

N)a~P)1PXaeP(BP9e/?VPi SaPN

k|

Xwww'

k

:-

- /   qw v  D   -' *) & % &K .  4 ) %  & 4 $ F  4 N -?$ G  >  N % M> >


X3 $ " Qil
% 4 F
' XbeL$i
&K ' % % & n
"  4 >M> N % &K . N

D  %
&K' % % & % B > %      . &K$> % F
K& ' % % & 4
4
i

%
%
B

N


"



Z
"
T



$?G >
&
& [
$ & [0 ^ & $/. +- ^3n
1

v 

d d f

% 4 fh

 3 N % 

"

h
d

6
f

D     . &K$?> % F  >J$ % & Q $&  $ % 4 $ 4 " & % & $?& 3X (!L
-
4  N w$?fG  >  tN` $&  $ % >@F $?> " >@$     4 )R L
  ' % & 3

1


%  i& lXb% e&LG i >G  ' t G % $ Z" $ % & [0 1A ^ &  $/.  +- i ,

t D  U3 % $ & "#X3
t $?>M>  '   '  . 3 4
4 m $?&K'   $ % $  ' N $?G  >  m t "   $
 & 

 d fdQ
4 
h  "
fh

$>>
j
d
1

SV

 $? >>JF 4  $ "$? > 4 "


} " & #-"  $ N $?G  >  $  5
.  & 5|
& % &   FU$ 


f

"
  %  '  . ! 4
 &  % w z ,
& ' % 44 5 & % $ X > E" &> 

D  %
&K' % % &=. S" V$  $?& !   $ k   4 " & % S&  $ k % & 5 " o
"

$?& X_! $?&K'  ' % & 3 4 N $?WG  >  ,`} 4 m % $ $?> % &K. 4 " & % &
 &  Z" $?>
% X >
N %  $('  . 3 4
3 $?&K'  
t % % 
4 " & % & t m t2/qt m o % & 3
4  %  > % O/


kk

c  m

X3 % 
" t   Fb[]$&K'   %  ?$ > % &K.
}_&  ' 5 4 EN $G  > 
. & % ) $?&
4 " & % & ^ #" X3 '  % G  ' 4 



Z
K
"

 & N % 
$
& 2  4  4 ) %
h
$E' K . 3 4
,
  & 

G X X
} 



"

AXmX

iS/a

S1

X1

i!TL ?aa

/a(CVPi SaPNke/

aKi eae/

maDP6e/); iaP# !
b P

P); iaP

=H KbZKNX61P\e'(\

VPy1 a\(?eNSKP:K( !a

Pb/SeP

Pe/i5

 m

?K]_?_T_P]_]RO

h m

W/'V^N/'=Vw6

y
1
W2 (x) = (2x) - (2x-1)
1

-1

iaP

W &NA\Kei!i/i\iPNP
 R 'v Vi
e/|ji/SP
2=Pai !PNa
XKai/
KNiP&1Pie
SaPNX a;KNZaKi ev"# # PSX!#L P61P?ea
| ()e/
1P!P\(;2i\iH

f
PK|e/6eNSKP/
w

DPN
P|KN5i(XP\NEPe/
m
aNKi! U
&N PSX!|L'1PKa
2iaPWf X aia(
e/
PCbN e'ZaN|j eP)
("
G2$?V & ~%  (BP Ka(|KN/5aK e/|!ae
iK1('=PA Se\1 /-N1P? KP aaPP(i ('Na
h 3

1P?eX  P1a
KPWDe/ZXa!
X\


Y
a

e/Xa KP/bj KP

PK( Ki\SKNi!mDZaaPLVe (

" PaKN

LP1P?

V KN(W a

P
 &aNKi Pa/KNi
P!i=b P
KNiwi eP
3 $
1P?ePwWe/;XVXa
P\Nm !AKN;'Na
P/e i1

Y
'F$/' %  % &
iP
W =Pa/PNKNCLP
m PSwD1P? KP'


\(DKNeW aX /Pa/PKNCLP


(
KNCLP?
!
z d o
m
d

d o

aaP KP( P
-|Z'bKi9X
\ q Pz e/ f Xa e'NbXj e 'T

z d
e5iPAKNyW aXPB1 aa:e
N S K P XKa/Sa/eXiw PaN
'aN
S|; ?VW#H Kbe /
SXXBe/yW a# KNX
Wa

Xa KPNej KP(

w
~


2f

n v 
m

D  % %   % B >   > !L


&


Q & 4  a: $ "X3  %  Z"K &  4 N $?G  >  , D  % 4 $ % >JF % ' *) &  ' X F  
e\(

; i\iC  a

k\(mj KP9

 ?K 5iP5_?PgKM_5P_]w]5K M=P55QMB]K
EP]__]Wqw5PMXO5 []MyL]5RP5(RORPMR
T_5]K
5MqM5

P "

"

R-  

f|

Xwww'

!

PSN\XiPi

1 \a(b/SKP

4$
 $
 5

}_& 
m 
$?>>  ' 

4   ' % >J$ % & LZ"" $ % & $  - f o f t $&K' $?>M>


   4 ) %  &

=
k

f h ,
"

"
% $  m f m t  `X  4 " & % &, D   3  &K' % &K. N $?G  >  t

$ X33 &#'   % X3 '=> &K. X3 4    '  G  > Q & 4 N $?G  >  % %
< $/$  4 " & - % &,u} % ' ! %  ' % & ) . " -, i 1,

n v Y
( NR g" D  S 1  4 )R L
m

&


w

%  & f f fi
f { { - D t $?&K '
{ D t o " f {
{ D t

w


 & V
p f w { D % &   ' % >@$ % 1& LPZ" $ % &, D  % :N $?G  >   $
Z" $?> + t $?&K' %
$?> % &K. 4 " & % & m % $?>M>  '& m , = $& Q" 

  $?> % &K. 4 " & % & t Vm $   'F$2' %  % & 1 X F  ;  " % G \  !L

 % O   G2$?> "K 4 $?&K' z $ !X % L


' " '   % X3 '=
$ X G  , = $&&

% &K' 3 &K'  & 4  $   5 % &  QZ" $ % & 4 


 $  % >JF X3 $ "    Fg$  &
m f m ,
D   F $ % 4 F  <Z" $ % &

{ {
w
D
{
{
f

D

z
z

W2

W/'V^N/'=Vw6

1.5

0.5

0
-1

-0.5

0.5

1.5

-0.5

-1

-1.5 A

R  c

D  % % $&  % .  &G2$?> "KW X > 




N  5 m %

"f

  G

D 
%&  %
#" "f> % 
D 
G




> 4
%
%

X > 
&>JF
  
3
 W % .  &G
$  %  [ ^I'

$?&K'   aX3 B3t 4 


% G  >@F , D   $?> % &K. 4 " &
 >  ' % & ) . " -, i -,

o > % O/

m f m

1ef

; Pai

 ' 4
$&K ' z
p p o p

p
p
!
p

"

k
1

 $ $
> " % & % 4 f %

G2$?> "K 4 $&K' z


% $  ' N %   W

 $
  $?G  $?&  % .  &G2$?> "K 4

o p

w
1e

t $?&K' %

Q

iS/aXi!iP

p
A

  $  % 

$G2$?> % '  % .  &G2$?> "K 4


$  . % G f  & X F 1 B $?>J$ 
% .  &G2$> "K i ,
%$  '  %.  & L
t $?&K' % $


X
Bt 
"  G2$?> "K 4 $?&K' z t   L


m
% & t-
t % $?>>  '  m % &  % $  ?$ &K' %

I _NMK MR 5PONMPPIM5]K ?_K]5E5uE_O_$]


J K5K55@<"T_K_

"

"

"

P "
Wb

9 %    4  $ $>&K$ " 4   4 " & % 


  % 3 . L
& ,K} % $ " $?>>JF (" 
% $  ' N ?$ G  >  % $ >>  '
" @> $   ?$ & % $  $  % &  % .  $   , D   $
$?&K'
% ' 3 %  ' % & ) . " -, i T ,

Xwww'
V

"

  
 

"

 

65aai Z PaKN
eP?

e/

i
PV
P

'N&PXE)XSPe



=PwP

m $
%  3"
N  % 
N
"K &

'F$/' %  % & t
&& % &K. L % B 4
m  $ X33 &
 %  - N`eO & N

4 

% 

Q" % &K.

D~aKP;

Pe/; i\iKw P

a/ aKQ
W aEP

LP1PKaBKN6; PaiKLi\a5Xj

AA\a^VPK

\/iNXH'?

KN

 
X H/  Xia#!i KZKNC
c d

i/ea!i\ZXiNKa1 ~Da
z

P5 !

B5aa=1 a=e/ iKi

Y

m $?&K'
X G ,  $
w3   &
 #Q 
 ' t 5 z  ,
 $  $?>>  >$?>J.
Wf

A
HP?


Pe/P1 (PN 

X H(P

v   %  $  .  $
Q" 

% &K.   " % G  $>@.  %  '   % X3 'B $


%  ;~  & " $> >@F NRyQ 1$ " 
 $?>@.  
Q"  ' X F B 6
$ " % &K.   ) &  &  4
 G2 $?> "K 4  % 4 " & % & % &  <N
v   $ %  `! " % & L % Q 4 $
m % &e.  &  $?> ~

e/E?NLaVXKNA Pae/

a /w

Pae/

('




K( &A:5aa

:B*) & 
XF

f z
z m; l m m
&NXEj NKaKa( !aP /
P1 6KNP) a'rN6VPK

PN

Ne/ D51 'ih Sa


P$?&KK' NC;2i\iKLi,aXH
-ii/iw aie/
!CPNVPS6LP =
~

N
PPW a

P

) & %  S 

 /   qw v v





w  q q v }3&   &


&>@F & &Kr  &   % &   2G $?>

$ % & 4 
1 , 1 t $ X G 3t K"    $ l m %
m
$?K& '  m % 
& >@F & &Kr  &  

W/'V^N/'=Vw6


 
     


 
 


 

 

>
t
% &   G2$?> hu m
f h " &> 
N  
, D   &
f qz - PSX$?P&K' LPB KN
f a/z eX
iw, 5PNVPS'a: \V
( 'Nf Vi

=RN % >> 4 P>M> e/N # & P & \G (
t $?&K'  !
& \%A& A/ a$ S  f 
NPSH
6aNKiwi V&N& e


v v
l m
z m;

   

-/AmV

z mg
ewNah
/j aaKSV5Zii!
m

De/

z m

z  m

&NmP1P(Za/j aaKZa\aKN!a

z m;

EXKN\(|('ee XKN:j NKaKa


LP aW aP
SK(

&N

XPePa/|KN


w  q q v c H  $?>>G2$?> "K 4 

 f z  o



Y


 fz  z  m; l m m

 z z  m 
fz



&

fz 
z  o m z2 


f
& z2 


z  o m;
fz


fz 
z o mg



eP;

&N:XaPS1P(jPNSPKN

V\)Xa KP

VNPVi

l m

l m

iKKa(

m
m

l m
l m

m
m

Xj

NaKP

&N

 P"!"$#&%&#

XaAKiP

')(W

a?aaK(
w'

 m

m

4
 
 
c d '  & 
w  q q v
 

4 ) % &
N $G  >  L 5 %  t $ ' *) &  ' % & Z" $ % & [0 A ^ &  $/.  +- i , D   &

o
o
% 4 h
z
c dQf

&NWXa!id S^1PXVPNSBPXj K% 4 P

f XP mVi

o
C2
DKN 
NaKP;PNKN
(
aDa5j eP;


v

c d


v


*+

.

+-




 dQf\z 

f\z

f\(
z P


l m z m j

l m 

l m 

 f z 

j
l m



o
d


f\z
f\z



o z z m j

o z

l m z



d z

om z

o mg
m

o mg
m

KN\e'(

&NXCXaPK W eKNCLP\PA\(#X

 /   qw v :B*) &    4 >> N % &K. N


$ %  n

Wf

f
M f

z , !


f

z ,
o

$?&K' !" & 4 

# 3" & 4 
Pa( NSP6\BA9 !;;P!a(AaK
e/;
PSN\
2iaPe
t % &   & $ % & 4 1, -,

/ 

0 
 

1 

+ 

m

f{

 

fh
f

1 

KNP

fz


{
f

'232

()547698:#<;>=@?A!B%!9% C;>= D8

'=

p
p!
d o p
d h
d
d
d h
d
d h
h

{
f

o p

h
p! p
o p
h
h
h

h
h

h
o p

h
o p

h
p! p
o p
h
h
p

h
p! p
o p
h

h
h

h
h

h
o p

3e
h ee
e
o p ee
e
p p

h
p! p
o p

{ f
h
h
p p o p
o p p! p
h
h
h
h
h
h

d
d
d
d

d
d

h
h
h
h
h
h

p p o p
h
o p p! p p p
o p
h
h
1P?eX a='Xe/
h
h
h

m 'aKN

"

h
h

h
h

p p o p
E
o p p! p

^i i

h
h

o p
p! p

c  d

W aXP

h
h

KN

3e
e
e
h
e
h e
e

p o p e

o d
h

`w    v  D  % $?>@.  % 
B"  $ N $G  >  L3 $& % & 4



m



%
%
%
z
l
N
B
L

r ,
HGHI &


D  RZ" $?& % %   o t N  5 !" & 4  J ;
FE
o





f
q

z

%
%
D








"


"

,

$
&
[ &
& $ % & 4


, - I NGH& I  L$/ .  +- A ^LK
1M

4


e
c
d 4 
t $&K' t 4  $  G2$?> "K
D

K
"


G2$?>
x
4 t 3" & 4  O
 j , D  5 $  j $   % $  >@F qz o

j
j

 "  " " ,



4 
'
' N &
 d o
8 jQP B" .
  d
/
8 B"  cad P 0 j  d o
P j
 &K' 4 

#3t   $ 3 $/F / $&K' 0 $  ' *) &  ' % &y1,@RB$ X G  , D   $ ! $/F  d  $  $?> 4
$
$?&KFS& &Kr 5  &  %  $  d o ,
7% &    & "#X3 4 & &Kr   &  %  % &  $   N 4   /  $&K' 0 
$ 3 $2F %
$?>> t N` .  &  $>>@F % & P  $   % & "(X3 % &   & $& 4
   % &K$?> % F % &  % $ % &K.  W! " % & L % Q 4   $?>@.  %  ,

% &K' t   Z"K & % $?> 3 " % & L % Q 4 $?& %  $ % & 4
%   % %&
d
z ,E} 4 N`  $?G  z o    $G2$ % >J$ X > 3t  B $  $?>M>  >
 % $?>@.  % 
%
3 " % & L % B [ &e$ 8 fe =L 7 L} S :
Q"  ^ %
& $?& ,

  4 " &
x

&

&

k

-

k1

f1

 P"!"$#&%&#

w'

'2

$?&K'  
%
D  6
 $?>  Z"K & % $?> 3 " % & L % B 4  % $?>J.  % 

%
%
8
7
%



3




"
L
Q
a
f
I

=

L
:
B

"


R

N
  L
?$ &> N$ $?>M> > !i/PV& Pwi[ e/&#
$
}
D1PPSai/'e/;2PaiKbP P(
+\ ,
 ^ %
&NP/ai \iPNP&e/ P\e/
K( ~6\aeKaePP !
e/Zj NKaKa
ced

LS

o z o E

m; j

f
z
l K Pm m P#Vi
f
o

bi
~ (

(
gf 
Y"


.
.
o


o
/
o

m f z o/
fz
=
z m m f
z

o
z m; l m m

H
K(
('e/ao ( f

6

P
W5ii/eX

z o m; m
e/5eNSKP

P
w

X aa
ia2
i i 5 aN`a /% . eP 3W ' $?G  $/. 
A/i!

l m
o
/Z a

KN)w (io PQW aZ=Pm5NaS

z m
H'N\ea/eP3W
LPWa( NSa

i  P
o m eP

h z 
Vi
f1KN&aNKi!
/?  Km ( 
Wb P
h
f h



m



f m

m=KN&PaN=AC
2
Ceh /Z
m
{ V?e'`
z . o/


.

z o/

LX

b&
!I
I 3 zb . o/
knm
m p m
z U . o /

U S 3
m K m
l m e 3I

i

2 2 m w NL

NmA
XiaKN
\(XSK
1P? KP
PKN
a

iK
.


o
/

z
l
m
m
e\(

X S
KNZiWPW a

AaK

P
a


ced
v   P

aKN
o f l ' z e / o 'aKN KN i PA 2il a P e e1z Pio  S\iN
&NT
h z o
% & "

NAaK

|
Pe#K(
SK aa
'Na
2
X P " 
" /ae iPbW a
e/
P) \a

a (
Xii&PKNeP

ced
2i aP  Xi|1'(Xiw K P-?KN1V
P&e/U;
V ;2PaiKj XL'a N
a
 
a

-
e/1V'6KNA
i NaX
;2Pai|KNZP|Z
d
aaKe\ SiPemX;;e/L SBK( BKNP
!
P!PNVPSTXK
/f a( h
h z
h
j
1PPq
f ai / z

awA('e6e

X
N
X
X
[
I
UTWV
UT T
GHG
\DX T
T X
I X T
T
T]V
T
"T"V_T T T T T>^

ZY
I LX
>T ^ T Y

'23'

()547698:#<;>=@?A!B%!9% C;>= D8
a

'=

cb ed$fhg[iTs]K

5 EW@O]WW_]_QLK2es5M O5]K ?_
]5E?_K_zT

Aj

sgut
d$fkglino prm gq q"v guq t
q sguw
E`LK M\K]bSR]__hx __U@ObM LOq_yx{z<"T__
EP]__?__;|zK U5gPO1PRK y]P E]ga_[x~}yL]| H [
[ BE _ H3 T
>9t
H3 o mp q  tq t
q >9w
@]5]_]KW5e]5x
B]KsP__uL[2]Ks55$OKs5?O5]KKz W
M5j
| L D| L N N
B
` D ` 9 <
W
` L

L
L
N

?KlT?5IE5MKP_2]eUM [_]K _LK2_M5cx ]e ?yx


_K?_K5u]K KFT_5K?M5x 5M
L5]5K{ {&Mu555 E?K$"O 3 _5jK\]KREP]__hx 5_]_M[u ) q<l} _PELK_

m 3 57 Q 55

3
5 5
)

m
5


M5 tb
t ) o
5
o

5) 
) Y
p ) H 5 55
p wy 5 5
w
)

) Y

a 5 E w] Ky j
L5{{&

m 5  q 

5  y
m 3 y

q
D

3
5
o 3

5 tt

y


o q 5

3 Y 5 y
p

5 q q
3   q 
p 3 5 y
3 gyy  q
w/ C q


3


 P"!"$#&%&#

w'

'2

L5{{&5
59
m 3  q q 5
  5
3  q q 5 m 3 q 5 

3  9
5

5 55
o
o 3 9 q 
55   q 5
 5 p 3 5 55
q ) q 5 q
p  5 3 H  
q q
 5
L5{{&5
5 5
m y )5  
q 5 m )5 5  q


)
o  5 o ) q 5
 5 ) 5 p )5 5
p  ) q
5 y
q
y 5
q MQEQ5a_MaMe5e]]5 5 MaR]__hx
L5_]5{{&_QK]5 j3M_IqM` Q]K
)
)

5 5 
 59
m )   5  m 3  5 5 
o ) q q
o )

p
p
)  )  )  ) 
E5LKaK ]K 5@]_O_K5u]KEP]__Mx __3?KW ]_aq<j
 5 5 fkgQisJ  5q q5 fhg" i

) )  fkgli
?KLK2q_5wKXO5MR]KUW rL &[ L ED 5__P_
5 5]]_EROKcd$fhg[i R"OPu MP 5eP]KK]K55E@O`5M
E]a]KWPMMx e5]K 5__P_ Q"OP_ u <]K Q`5QPO RPK ?E

'2

()547698:#<;>=@?A!B%!9% C;>= D8
'=

1.2

0.8

0.6

0.4

0.2

0
-0.2

0.2

0.4

0.6

-0.2

R 

0.8

1.2

 P"!"$#&%&#

'23(

w'

1.2

0.8

0.6

0.4

0.2

0
-0.2

0.2

0.4

0.6

-0.2

R 

0.8

1.2

'2W2

()547698:#<;>=@?A!B%!9% C;>= D8
'=

1.2

0.8

0.6

0.4

0.2

0
-0.2

0.2

0.4

0.6

0.8

1.2

-0.2

R  

) x

Nj

?]KW ]_eO_

fhg[i kf glis 5 5  fhg"i ) 5 Q fhg[i

)   fhg.5i
|d$fkgli"OP

`5]M_SPO]KB5^OKK]5
@]5]_??@OR]K< ]_e

K MRQK?KLK2M_

fhg[i fkg[iA 5  Q fgU=ie 55  fg[i


q
q

5 5 fg:ie 5 y> fg:i


q
q
OPNK M K55 ]K EP]__Mx __TLO]RqXK2eMd$fkg[i

 P"!"$#&%&#

'2Wb

w'

1.2

0.8

0.6

0.4

0.2

0
-0.2

0.2

0.4

0.6

0.8

1.2

-0.2

R  #

3 5K]T]<j
fhg[i fkg[iAJ  5   fkg"=ie  9 fh5g[i
q
q

  5l fkg:i
q

5 55Q fh5g i$ 55 5 5 >  fkg:5i

q
?K<

-/SXi/ a\SXKNi\b XXaL ePaiPaX1P

LP\PA\(#P(ZkAD5aaXP=S

 2 l m

&PP(NPS aa? e

v Y

 m

ai/? (K( e/
&NS'iNa

e/iw ('
( (
  X S/

l m

 m

=PSiXa

KNH

V

aNKi!Ka(mK( &KNi!A Pa/

=&N

W aXBX_P N`6
3 b&

$   $

l m A

 X SNX

WPZ a

5Ni!

  m
m

'KN S

 m

f  l m

'2W

STPaN

()547698:/ #<;>=@?A!B%!9% C;>= D8

V KPT

e/PPX'aN=Vi X

Na\ae e/Z' !P

'=
w 6
X&P^e/: aa1 KPW'X; i\i

 a\Sw

mPNf \Z XV\KNaa()Pp /1 P=PSiPNSv ZY X a5j KP; b


Aa\1'NSaX)KNZiSKPTA\e
?XSPy'6KN-

(
P PaKN

aC
Pae/
K( 1PK K 

v Y 6P
m;2i\iKLiaXiiKNVPi

SaPN
5EaK(PiKNPm

&G  
Kw i/eP
S P\e/
PB&PaKNK(

&a'aaAai

v 
ia(yW aXa/KNeNSKP
 
c d aia(BKNyW aX

aNBe/E
2=PaiKLiaXKNi!: ALVeP 'aKN
Pe/H&N
P\e/
=P5\a NKN PaKN
P1'Ka(e/
a
z m; j
e/a
/ S 6 2
6mP/e/D!iSwZX
NaKP PNKN 1 \a(
(m
2=PaiKbeNSKPWa5j eP;
NP5Vi
V

c d

Y



fW

@R
` 

 w  q q v $# }3&   & $ % & 4 1, 6f&  $2.  +- V ' * ) &    4 > L

> N % &K. N  &f4 $  %  n


$?&K' f !" & 4 
 f
, # 3" & 4 

M
* ,

$&K'
 f 1o , # 3" & 4 


,
-S 3"
& 4 
'  &    Q L ' % B & % &K$?> "X  $  4
6 > t >
 $?&&  '

XF
 ' % &K$    " .  ,


D   &

&


f
&

$?&K'



fUh

&N|L'aP
Xa!i ea;eS'
KN?PK(X'( aaK1P(XaKP


U
f
h mii

P\e'ANPAKN
PVi

/ 

 
0 

 
 

 

 
 

 

/  /  u
0  0  u

 

 

 

 

0  / 
/  0 



/ 

/ 

dQ f 

 Y

d z

d z
. /

k^PeKa

f z

#XV KP

PKNPA

f
f
j
h

v 

yx

?KWE_ V5EQK_K5a_K` 5___ u_ WTrT


K5a_KK

 P"!"$#&%&#

'2W

w'

0 

0 

dQf 

!
d

k^PeKa(

f z

k^PeKa(

d / z
.


d . d / z

d z

f z

Xj e';

PKNPA

f
j

f
h

HC

0 

^PeKa

v 

/ 

dQf u

f z

;P

&NCP

X S

eP

HDKNCP

a/a(DXPNKae#PaP

. d / z

v wlR =v u
Z" $ % & n

D   @> $
1, i C ^_,

5Z" $ % &e$  > % 

   $

/ 

/  / 
0  0 

0  0 

$?&K '

0  f
/  fyh
0  fyh
0  f
  

k:

eP

5aK

/  / 

/  /  / 
0  0  0 
0  0  / 
/  /  0 
/  /  0 

Ba\ ii/

D  S $ 

&Na?aa

. d/ z

. d/ z
o
o

d z

$ % 4F

 

 

[%&   &

$ % & 4

'b32

()547698:#<;>=@?A!B%!9% C;>= D8

&N

KiPNP



P)j KP(#LP\P

v 3#

K(

/  /  / 
0  /  / 

a?X Ki\

'=
w 6
i&NDV KiPN/LPaP;&b P

'/:

 (

/
f

P1 DKND

ViXP

?P

wf

e/Dw

 `w    v   % G  &  
 y3 %
$?&$>@.  %  4 y &


 $
Z"K & % $?> % Q3t $?&K'


Q" WN %
 
 ,

^

"

k

kf

QP HG I T 

P /

e/D a5P?VP( PaKN



 j

} 

_IU

L 2l

iS/a/
i

iaP

+ T C2t
% 
6

4 s
  $  2G $?> "K
 >@F qz f o

1

o
  &

 


$ % & 4


d

ced

SZ1PXjiN P

PVi

P (

c #

v 3#


NaVPiSaPN

&N;X

"
Um T T B
z

P

LPEZiPNi SP XZP

v 

LPKNA

k5f

D   $?>J.  %  $
" &
$\>  n
@


j
l
@

d o

j

&NN(6ew iNKLP

4 
t $?&K' t
, D  5  $ j $    % $
j

f
qz
o tN   3" & 4 
"  % & " [ % &

 " n D   G2$?> "K 4   cad


x }_& 
4 t 3" & 4  O 
j

"  % & " ,j


%
%
 
xJ " " n D `Z" $?&
, D   $  fqz o

1, - &  $/.  +- A ^3,

K\

" 
 " 4 ?$ >J.  % 
1, V &  $/. 
 $ $?>@. 
3" % &K.   % & "
 $  $?>>  > % QN %  $ 8 fa =L Uf

 

/ 

/ 

V&mDe/H

qz o


&NaXVDe/D!i1PK e'NL PaKN
LP(
2iaP

e '

/KNPNKa! S'\iP

/  /  0  0 
0 
qz
0    / 
q z  o



e/ZXiNKaK'KNma

e/

0  0 
0  0 

b P

KND SNK(

!EH'i5( XVPaP

(XaZKNP

'6\( /Si=e/

KN\(D1PPSai/&LPF

 P"!"$#&%&#

'b

w'

G
z
f

r

 B

{
h
z h
f

h
z h
f

z h
h

{
z h
h

iz C h P
Vh &P  P1a
-
V^5iXP( (E\P(

f


;
1P?ea1PiS\iN';2i\iKbi 1 '(
}~ j

bXK/5\

P?Vi f
m ;2Paip
z b P|
K Nz m;A l i Sm /a
\aX=1VZP/e/ia6 'aKN iX


v v

m

r
r



Kia

e/

z2 { {
l
fKN SS S
PKNDP5aN XVXDAaK9aNS!Va
e?&ND
z o

P! S w eAe
KNXKa
KA5Xa e/APN ?aAK( B 

.

 !a?Vi
XX

fPa( NSP/aW

a/e/# S'\

2 c 

<

KPTa

c"

PA~DL 6 i
&N

"/a

P \

ii/iw E1P/ea/P; iaPeee (LP

AaKA!i NZ; i\i

Vi i

l m

! $

b/SeP

m

P1 \;P

l m

m;

/;
l e  m

mW ama KN

b/SeP1P!PBKNDe
B
\(XaSXaKND;2iaPePaXK( 5

(2
iPTX Ha(#a;KNB
iS KPC&N

BXNaKP;V SP~X

!
A/i!

XiPKE1'aP1P

PaPejEP(iP i

KP(

SE\

ibXe((PK( 51

}

' b3'
()547698:#<;>=@?A!B%!9%<C;>=@&D8.
)cc[7L9N9Lc 9 N c c LL
 c  B:yc 
-,.$
!#"%$5
 
$
9  
 
& ' ')(+*
 
 



|9[3
 012 43#Mc 2 B65hBM798 {y< +
./ yc /  :5c ;
|
 9<<
8 =  L? >#@A >c9# BcB 4$y<L9C 83# [B >$ DEc FHG
I B ! J
4KcL9L
MAG N- O >PMAGRQ4S- ); @A? K[cL9[! @ TO >]c U ;[!
 O
4V K[QBJ W#W I 4KcBX
GZYL
 \ [_3# 8[2 @DBQ% =D  c
L]  O yc  O > 2 .<)? 8 <O >$O K3[<O L)Lc^
4KcB  )
_

8 [
 O ><)`
  K[By< U 4 >QO  Ba W#W I 4KcBX
G
b  
c BO    ):D #>X
=K[a 8 c? E KP ):! ; >{ [ cO 4G
Y C8 V
Ec3#d
K[c1 L
  c Lc c9 %>$][ <O 4U  {[2
 L9e 8<# BcC2 4T K BP fhg
ijk9l!mHnAlokqpAr#stfuG I B v <B2 7 X
4TO K
>$
wB{L<O c T# x
y

"ze  ( 9 ( !ze
I B:c9
87cA U ; [2 8)? > L:B[{: {>c| w 4 }e>$ wB{L<Q{
~H4#HG
 )cL b  
{[! N
 O ycL
1c L
=K[? O  
 )+
3=?> 8 c
LcO 5c H8 ? >$ cB
U= U  {[J |[3
T;  J3# # 3Bc

L
=K[; H8 c? EO K 
 cL
^ )
T; |
=
rqpAfHlogg
); 8)? cB2  LcO cX
=K[# BGAc1 ~u4[y< 8D
4c; 4 KcB y<X
=K[
 O
4c[O  "L
4T# .Dc:   c BGY
~=#h@O; ){# >$#  3# P
8c 4 >#
>_YC>$# K[ ce 8cyc K)U  c L
 cX
0 B
c 8[c {O K{L
=K[ Lc_
8)? Ec^
{>cB [}=G b  ; [2 [3
45D
?>|? >K[; %>$[[ L<|L
=K[? H
~
=HG
 \
[) <
9O >$; wB# >` [[X
c?   c L  e3[L
 {c\ 

 B B Kc[B[B3 %47 BG=Y|cc [9 =@>B# C  c D>$[9 4[


 {L

CU4[O  <O >$cO Dc T? >D  c<
AcU
8D=K[ S=AQP 3

c c6B L w? >G BP U ; [2 uc ; [[ >c9 4[c T 


c -2 43#
798 c9[B [ ~
AHG
s[
~Ac  9Lc)? KX48 8 9  cc U ; [2  qj
f l|k=ik9

B 9=@eL9) >$cLc  LcW<  4 K[ =4 )c7B 9c 


[
#G
v\\|
? G
MGGlfhg: nAlokqAl 9fhk-s k=nAr#fgZO94g
g
fms k4ghasBg
i#fjerj
iJ9=kqm
lfhAXARvk9iCn=q=g A==
MGMGanAlok94gf=gnAl|kqAl!99k94gO%Z0kqpA tAifVfkZi#4gOlok9r#ip=k|tm
g
llok9liPf=g0suk90nAr#f9f k9ij2Afq9iJi#fhk9stsuk9r#i#ff=gBk9k9iJf k#B9stfj]

@ 7

&

E0
=RV\:
\
 RD\
ER
R

A=

gk9i#Jsuk90nAr#fg:O94g
g
fj9fp==qpAsn=k9i#fhj

=gsukqghCstg
i#fhj<]E rj2gp.idkqj
fa=4g
g
fhmHg=n==ij
k9ij)i#4k=4gl!qm

fHk9i9i#r#Z%g]l j9ip`n=g
lo=qn=j#Bg]ll 9f k9i=i#r#g
l jeafPg4j
=m
p=gj
stl%g2pCnAlokqn=g
lf gj

qge

MGGaip=4g
g
fhmHjg]lgjBk=l f=g9;r#i#stfHk=i

9e

a`

k9f=g
l2ajg

MGc?G#rn=n=kqj2g0f=9f


9D




       

 ,

jO0n=9lf 9j
r# k|vZ=4g
g
fhmHjg]lgj2=qjaiA41k=in=q=g===k9fh=9f fAj
n=9lf 9]j
r# jg

r9fk


9

  



,s

jkfh=9fO94g
g
fm jg
lgjsuk9l2l|gj2n=k9ip`fkvjg
lgjk|Oj
su9i;r#i#sBf k9ij]

!#"%$'&)(+*%,.-/0*%,)*%12& 354635798:"%;04!&)1 "=<)4!1'"%>$?*%, @

 ACB"D354"%E FG&2#"%4@H&'354*%,I(+*@J"6YNB6ccacc>$DBv
% 2c[ L
 K[Byc q>48 8 = L<Wc8D
4c;9>c<8OK#GAcLK:Q=GRQ=GRQ
c) 8D=K[aM=NAUy<); L?>L [4 G
s 8 8 ?a|O P>$w99L?K[
4
NM

9

O
|9[3
9  :5c MN9Lc
X
 >  O > / $  ) 9<
3[] EGYUcLLc] 48 
8[
O  B[3: 9Z <
8 {q ? #>?Lyc 7983# BcycDL9O >$; wB
B# K[] 4

9

 O
>P|`  3 c) # > )? c B][/ {9 4 [V >BGVWDc] =y< 9 
c9 4c[9 4  L{O KBZ 48 8 ; 7L
  4 c a>; wB:B# K[] 4 3

@& .

QP

B\0=R:\A=

S
S T U VR W

X
W [Z]\DA

Uc2 OK[  048 8 ;7X L<>$;wB9L?K[


4

GSQ?G=^

< [ ]#794#>r4pAl 9fHr#logVBk9lZr#qj


G I BJ_8 # cHB#u3=#>
8 cL9U>$w9Lc cC B#K[
4 G`_<O>$[B>$=K[
 wDK[3
AG SAQ=G I B.B#
K[] 4$ >$ wB? > a 3:L9a { cc2 4 3#  <9B.)c2 
K[
 v c 8D @#=BBc  >$L 48 8 ?  9# IaAG5b 79 [9 448 8;7X4
Lc|<O 2D{]# =O KB 6 3# 6U
L 8D? C >$LQ
Ci#fhg

YB 7#= [uc_
8LuBJ  3#  cB DBc<)c  K[  C c 8DBxeL9
 )?
 <v :)c2  O KM B 8 ? >$<DB  >$L  O >L9 B[ K[B2 GYL9
c 8DC )
4 K[B# >5O  B 8 8c K[9c9[c#  L
c 8B[ 
c2 HB` K[] 48c9L9N9c zP 9 @=|P K[c9Byc =x
  $D,. hgji $v,.s f
5M=MAF

Ge

dc

|9[3 f  BB<3cc.3[2 OK[  c8DBG I B 


 q[c.L9
48 8
7s{L c93#=#D= flk m G
YX
K[[Bc
4c@ 3cL[:4K[_Bc8De5O ;8[9Lc:8 c9
B[] c HL9P K[
48 z` 9 G I B 3#  H|Byc =x
   hgji $v,Ls f g

5M=AF


f


nc

Ge

]=  K[[ )3[[ 48 8 ; 7L


 c
3#[D KK[$c cLwDK[)?
L  O 3 3[2 OK?L  { [9L3[-3;;B  z) 9  O> 3
948 8# >J|_  O K{# O cZ wDK[3 AG S=S=@#B[3  og $0,spi f G
I B  9
4c{# >BX
fHl qn=g2qk9p==qn=nAl|k4A=fHk=i_L9
>$wB{L9L?K[
4G
I O
 CB  3[LcUO  Bc K[O 4)c2  O K[  e 48 8; 7X
 Lc c 
D4c[-48 8D )cBV Bc) A? E8D v 3[! |[cB z` 9  O >
L9 8d3Dc > 2 [c B_
48 8 7s{L
 O K 3# =G b |c Dca K[   [
cB[ 8 $cc  8[c! [_Bc)? G I B K[$c cL{ wDK[3O  O e; T
b

E0
=RV\:
\
rqRD\
ERq
Rsq

A=?t

S T U VR W

x i x i+1

c>448 8 ;7X L<P>$;wB9L?K[


4
cTJ3[2 OK 948 8?
>JL OK{u94c?>_
48c >#@ O>L9
 )? c"
48;c>|?
a3= CvC >|V `>$# D 3x w   O >LwJyC
vV2w  g wJy
W uZ]\A

GS?SG I ]48 

BJ 3#McHL9M
48;c>Lc zg{i $, s f  |g i}g  $,s f
 @>L9D Ex

,
g  ~ 
~
* 

YO
 =>> 8L9
 )? = c 4cUcB
48;c> 46c8DU >$[:L9
$
K[

48|L<  @=| K[[


i $v,.s
  =g ig  $v,XA

, hg

*
f
f

nc Ge
i $v,Ls
  =g
g  hg iIg  $6,Ls
I

$v,L


* 

 
Ge


* 

=g

s g

$6,L

hg

ig

$v,L s
f


$v,L
i $D,.A


g
Dg
5MA=F

*
 f
 f
f
f


<L L  UB .y< e;T.[2[]d{cT|?>D c5M=MAFUc
8D=K[S4M=@$7;87cBM% HO
 DL9 4?  HBM[ >#8 <B2 0 )) >$c 
>$#>3#[ZSAG I 99#lD c 94c? > B l 4n=gqk9p=9 ar#gDy<D>c<
8O K
X

L9Z>;wB:B#K[]4GY B[ [# = [ 8 ? K[
 c
Y c_
8Lc G
|c).v_`A8?K[] L
x


$v,L

AIg

$v,.

B\0=R:\A=q?t

* This is a C* program for Trapezoidal Integration. We assume given


* a function f that computes the function to be integrated.
* The number n will be equal to 8192 here. *

&24!(J,)F!"
&24!(J,)F!" stdio.h
math.h
@HB*%" [8192]linear;
&24!1 N;
F!350!,'" :(J!$'$?"%4!1 f( F035!!, " :(J!$'$?"%4!1 ); * Header for a function to be integrated */
F!350!,'" :linear addval; * The values that are actually added to the integral. */
F!350!,'" :linear xval; * The values of the x-coordinate.
*/
F!350!,'" a,b,intval; * The end-points of the interval of integration
*/
/035& F main()

intval=0;
N=8192;
&)12B (linear)
,
xval=a+(b a)*(( F!35!!, " )!(+335$F (0)) (( F035!!, " )N);

&)12B (linear)
B"%$?" ((!(+335$?F (0)==0) ' (!(+335$?F (0)==N , 1))

intval+=f(xval);
intval =2.;

"%, @%"

intval+=f(xval)/(( F!35!0,'" )N);


* intval now contains the approximate value of the
* int(f(x),x=a..b). */

7+5c\NcBB64K{L9 u f G
I
Yd4>G5]_8Jcd%J
%4[NI @69 48 8%;7X )L
NLc 3[ K9)?K5
 u#>3#[.n=k9Aik==j
[+<8c9  "z  @
"z @= 
wO >  9 l >G#K5p5%8;c[] <  4DL  8D=B?
JJ @0
I

E0
=RV\:
\
rqRD\
ERq
Rsq

A=?t

LJ<DK[L#`8<B2EG_ocO>G5LC8;c[9c 4
 ) ,W,  ) ,W,W y ) , ,W  , ,W ~  ,W,W
9

y


~




I B D>?K5H%8;c[9
c  4V|I C8%;8 [QO  2 x


iN
 O
iN

Y H9cO
%4> 5O 
^z   9 g g.z 9
5M=F
9
|c O8D=E]
<D K[I 8<B2  "2z  @ JJ @1 "z G I B :)B9 l
c
wO >$O KdN L cO  0 w2 -_K[ [ c c >  4 8c9 ueT] ;
=v=K5] O
K5YBu 58 L c '   =G b = 
>G[ ;;8W9) ?K5
 c
4K{L9L
L  D %H3=#> 8cL M >?o<0 c 5[?> cI J< `q
J#B P8cB2 ` "
@ J% @0 ~  "  ~  3#[X8c[] c] 4c
,
>G#K5p5%
>I c|9) ?K5
 L{O K L9 8c[] c] 4?g=9stf
  O
Y
q>Gu' U<
8 {H [B Z> D Bc
c
;|O  ! @)c c0=Bl

L   C > $ ,  G I B )] O X
 L c Dlogqj2k9i9
gO39 D #x
$v,XA
$6,Ls 
NM
$D,.A  



9  , e  * =g ,

,

e
O

L

/
/
/
$D,.A
O


=g
|
5p  *
G
, 

5M=F
 


  !  e g g H ,   
e

|5p


9D ), 

), i ,
i i,


-, ig  ),
 ,  i , H , 

9 +c_8)L4#cCIBu #K5]4
 
 


cI% > 4cc@ O>QDMLB


M4#/ '"9)?K5
 cO
>$25p[994?< f G

,


L  7 

B\0=R:\A=q?t

B {Bu#K5
 u 2%c $ @=h= |u
 O L93%4TQ
L  [

$v,L
$v,Lspi
 M

9

hg

5M=NAF

*
,
f


G

e
O

c

|IB
4 ?/ cI L  -=a3['p#G I 9 T];=L
;|c)_`<) ?aYBu #K5] L < 4 K
B LXp=g2Al|gg2mHn=9l =g
fhg
l O>
p=9f4mHn=k9i#fj
YH 9) H?
K M9cuO !@J '<2_ocu#] K;
B JK[ [
4 cC 48 8J7s{L
 u #M 9 3#[X8c[]c]4c
,
>G#K5p5
>g=9stfHu9) ?K5
 ) ?6fh=gjg>{9' ;c;DO
  O
9

<)7
& @*`35,2435:&'*%,|357F!"%>$?""_ , ' "%1'354!E
351 "@o,2>035$'&)12B!&)12BlF!"%>$?""%E2*%$?*%#"%1'"%$(35:!01'"@
1)B"&)4!1 "%>$?*%,9357:
9 "%*%(J12,)
; P|c 0cO
>G5.L 9=JI HPD f > 2 4H8c9 @ | 5p
c 8 lce ,  G b 3>$ >GL x
 O K56 "$ 9' L 
f  <
,
K5?Ex0 "Cg $,s @H Cg $,A "%Cg  $ ,<s @ %J @
f  3
 O
hg Q ,  $D,.A "%$' x
 M
 O ~ M  O2
 M
9



 9 g g ~ 9
O
O
O  M  O2
/
/

b
9) ?K5
 c  | c\ 2_ocu #9) ?K5
 L c / |
>G#K5p5 8D%

c)  > f >  4 8c9 HEx

$D,.spi
{M
$v,.s

9

=g
5aAF


*
f
f


G

e
O
c

y 
$v,.spi
g 
* Dg f
 



g
$6,.Ai

g
* hg f
 ~  

 

b |c]+cqD>GL95c.3#[ >$ DEOK[5


4 9)?K5
 c
4K{L9L
DO  %Ha3=?> 8cB DK5[ 5
4 48 8J?% O G
Y \C
'
 ] OK5 PK5 2x

_` [

GcQVG =
g l qn=g2qk9p==ICr#gj-jn=g]sB9 suqjgk|Zg
afhk9im%k9fhgj
9=k=lfhAfh)  

Y O

. I :h+c!w [9 eO O>  'hc<8u#x


 
   )
, , 
 
e 
e y 9

 @= O

E0
=RV\:
\
rqRD\
ERq
Rsq

A=?t

 O>


y
9
e 


g


C D c l c5hM=NAF+c/ >G#O BL


c U

[
L994c#>s<8Dc]0^ #x
/
O # D

 O>
 ] %q> 'J
I ]48 >4^ ?G
Y O  6K5  U4K
H



e
e
y
e 
y
y
e







/

9


9 / 

9 

e
y
e
y

/
O> c4 KB ' I{Bu#K5
4Bx


,  
, 
,

/
9 ,  

 , 

,  /  
9


,

GSG#g
f

g;r#i#sBf k9ig
f $ gi#r#Z%g]l j#9ip
g
f f gO9ig
4g
iPi#fhg=g
l  =g]iJ#n=jk=i j.ar#gVtk9l\qn=nAlokqA9fhg
Jsuk90m
nAr#fHiJf=g:i#fgAl!9k|
k94g
lf=g0l =i=go #"%$' af f p=9fqm n=k9i#fhjAj

L Z]6A[

5AQ=F

NM

$6,.

sg $50g

/
Y #:  1K5 
]D 5 ^  #GH

<

[
U

I4KBn Ex

hg

spi f

$v,L

jg]4g
i
jk4p=p

c ]cI7{Bu#K5
 c<4K{L9<@94#>A_8 

 O>

 



y


Hp

B\0=R:\A=q?t

GG#g
f

g;r#i#sBf k9ig
f $ gi#r#Z%g]l j#9ip
g
f f g6r#f nAgDko =g
i#n=jk=i jC 5 m)ar#gVBk9lqn=nAl|k4A=fg
suk90m
nAr#fHiJf=g:i#fgAl!9k|
k94g
lf=g0l =i=go #"%'$ af f p=9fqm n=k9i#fhjAj

L Z]6A[

M


5=SAF

9
/

# $v,X

 sg $5


g 



spi f

=g

$6,.

i0r

k9f=g
l2ajg

H?=>G5h= w > L [j 5 2 I


%#|c ;c)_o)?
YIu#K5]%L <

K ~# G
I!

c
c
c
c
 $ [ <

_ c

[ c

$ c { [ c U
s
c $ [ c $
L c  c  
i $v,Ls
 M
=g
9 $v,. 

 &2>B"%$HE'FG&2#"%4@H&'354*%,
&)401'"%>$?*%, @% I0 ?>

8H D J
9 #= cc[ 3;7+) O>G#>'
 c%> l O4
Iu#5K ]4EG b  cc
 \c[
> DB6
<8 #
 

+7 u O

9=  5p 
<8 c[
Iu#K5]%) 5#%
+G4> O% u _
 > O4 5 V>GU 8 8? %
 L!

I;%> l O 4 )?5K


% = }

*
f
f
Ge 
O
c
/
,
#
i ,
{

]

g
ze z
*

 Ge o
c /
/
/

 5p f P <w 7+#> %qK59<35


M 2 IJ;@ LA{<8Dc]

^U  e 
y  @ y ~    @V 5p  f  GMc

B@
CI u#K5]% L< 4K <@=
K5 5 .
;;|{OK= :>$l[Oc 4e\

)?K5
%c 4K Lx

C $

L Z]6A[

GMG#g
f "2z g;r#i#sBf k9iek|afHOk49l9
gj9ipJg]fI

gJl|g]sBfh9iAr#=l:l|gAk9iaf

$ z
=g
if=gAtk9k9i
g

r9fHk9ieA4gj9ieqn=nAlokqA09fHk9ifhk1f=g:i#fgAl!9k| "2z k94g


l9e
/
5=AF
,
i $D,.
 ,
G
$D,.
 
z
Dg
" ]g
"z

*
f
f

 G e  Ge  o
c
/
/
/
/
H;@


 C%
 He=E

K %
 !
 h Ie> O4c Iu#5
K ]%
 O
% > )5p 
_
3 5
>%
 24H
8 I2@ f @A > G
H DE _8  _o\

8 %?5
K

]+ <8  O=
K Iu#5
K
4

{ [ BB


DG

&


c { [ c L
c{

` < {
z

g y gz y
/

L <

E0
=RV\:
\
rqRD\
ERq
Rsq

A=?t

  >L
5p:  HJ K)

A{<8Dc]6 2) #x
&24!(J,)F!"

&24!(J,)F!" stdio.h
math.h
&24!1 NX=63;
* This is equal to f in the formula 7?35$
,


* a two dimensional integral. *


7?35$
* This is equal to in the formula
,
* a two dimensional integral. *
@HB*%" [64][128]twodim;
@HB*%" [8192]linear;

&24!1 NY=126;

F!350!,'" :linear B,Bpr;

* B corresponds to the coefficients *


 *
* Bpr corresponds to the coefficients

F!350!,'" a,b,c,d;

* This function computes the function to be integrated. *

F!350!,'" :twodim funct( F!350!,'" :twodim x,


F!35!!, " :twodim y)

$?"%1)0$4 (1. sqrt(1.+x*x+y*y));

F!350!,'" :twodim coef,x,y;


F!350!,'" intval;
/035& F main()

a=1.;
b=2.;
c=3.;
d=4.;

&)12B (twodim) coef=0.;


* Compute the coefficients in the boundary cases.
This is necessary
because the formula 7?35$
,
Simpsons 5 Rule has special values for the
coefficients in the high and low end of the range *
[0]B=3.*(b a) (8.*( F!35!0,'" )(NX));
,

Hp

G b

B\0=R:\A=q?t

[0]Bpr=3.*(d
c), (8.*( F!35!!, " )(NY));
,
F!350!,'" )(NX));
(8.*(
[NX , 1]B=3.*(b a)
,
[NY 1]Bpr=3.*(d c) (8.*( F!35!!, " )(NY));
,

* Compute the coefficients in the remaining cases. *


&)12B (linear)
B"%$?" (!(+335$?F (0) 0)

B"%$" ((!(+335$F (0) % 3)==0)

(8.*( F035!!, " )(NX));


B=6.*(b a)
,
Bpr=6.*(d c) (8.*( F!35!0,'" )(NY));
,

"%,'@J"

F035!!, " )(NX));


(8.*(
B=9.*(b a)
,
Bpr=9.*(d c) (8.*( F!35!0,'" )(NY));
,

&)12B (twodim)
B"%$?" ((!(+335$?F (0) NX) ' (!(+335$?F (1) NY))

* Compute the x and y coordinates. *


,
x=(b , a)*(( F!35!!, " )0(335$?F (0)) (( F!350!,'" )NX);
y=(d c)*(( F!35!!, " )0(335$?F (1)) (( F!350!,'" )NY);

* Evaluate the integral. *


intval+=[!(+335$?F (0)]B*[!(+335$F (1)]Bpr*funct(x,y);

;
printf("The integral is %g",intval);

 8& @H(J@J@p& 354*%4F!$'12B"%$$"*F&)4!>0 I! 5pL%p.55]4 B?


 %
 9P=>G
> p#B?>G.Y { I;%> O 49=l 5p.%p:
=rjj
=i2 ![#
8 x Iu#5
K
%
 ' l = -
 h'

 T

B{

M


c $ c c
c  D
$v,X
 
9

f

Ge
c
/
 5p X )%pik=f.#D4cc[#8D%%#> I <3
BG I! ?4K X
%D 8%;85'![ %!@? cT D 
 \2_ou#:4K <@G |-%DB

4K
 8D%
 l5u56
+ _
8 )? )?K5
4+7\%J!c[1

 |


c 9

E0
=RV\:
\
rqRD\
ERq
Rsq

A=?t

Dv8;c[]< 40O>?K5H ,  G I! [ %h Cqp=pAfHk9i9;8%;8' [


%
I! -%DB4 K
| >G#K5p5 8D%
 ) :+c_
8u# "
)?K5
4D 9 | i#09 5'%!@; [ 9
 668;c[9
c 40>G#K5p5-  ,  G
I! H%H
4G% % c
I h-%DE )?K5
%L c4K LBx
Q=G}-%DE H6=K55H
 )?K5
% c
=BG I! ? c<
8u

I u#K5]4I h 
 

9
e
 O
>%p;8L
4  9 v8;[] c/ ] 4G
SAG}-%DE H5] )M
)?K5
%L c
'
 =EG I! [+c_
8)MI u#K5]4

} 
 

9
 
AG}-%DE 2_ ;3#[ 5 5-%DB)_ 3#[/ F
)?K5
% c
'l
=EG
I! #P%ph'

)?K5
4I h'
_ 3#[ 5
 
9
,W y
 
.~ Q
p X
%L c / c
#4K L
BG I!

30G;T43#?@~h@
=0 l
=9 C4cs ?  )?K5
%L c 4c

K X
s L
  [4?I P>G?K5HH8D%]
5u52G
b
MAG
%;5{I
u#K5
% c l
=BG9Y_
~A%#@ ;>G[ D > ?E[
K[ = 
= 48 8J;7X
%);c[x+c_
8L K {I u#K5
4c T
 
  
,s 9
  
 
 



J%.{
U%5.;798D O cO ]y 2/ J cO D 5MAG Mc
8D=K5:S==G;W00 % 3 #\%;5
8 # 
 9 1_

} c 04K K[ #Bx
 g
,

 
  ~ 


c
5 `%%J
%q[l  0'
 "I Jp#=#6=v Jp#=#BG
YJ
c %>$l
[ <O 4 )?K5
%L c  %#c [jcO >G5p#>
9=6 5p p#K[ c
e )?K5
% c p5J2 O K5 %2GYML
 \ [=9=#A
8?Bc3#o-f l 9ijhtk9l ]
c\ 2p5J2 O K5  %H?K[ c D )?K5
%L c  '|
HJ2 O
K5 %]9=e3#[_ 43#=  K5x}G4>{O %u#BGW0 2 I J;@
798H?E! =+Gq>$
%)? l u5L
O ] ]+G4>$O %uJ[u[

HQP

B\0=R:\A=q?t

o9 u
 'L"{Iu#K5
45 e IIu#K5]4h
 =x
 " %J "    JJ

 5p    / >G) /  I05 >GwI?>Q=GcU8D=K5/ Q4SAFs/ ]


X%)c7>GwI?>3#[

  
 
W0o7\ <8 ;@: I
)?K5
%u6_>$ T#@Z@]=> D
 JcIu5p#>L% :K[\@u
 O
'J8;%=+q>$ %)? 


P
z

#

%
"
$

v ! @
v
! @A
>
 )+**

v 
  ! , v -".$ /

  &''(  z
z
* #"%$ !
v0  !

 ,

 v

y
y
 O
>   O  v21 #"%$ !  g   / 4 3 v;G b K5

65  y87
 "ze z e e  uv  ! t " v -".$ ! v v

b 9 #=cc[
/ )?/ K5
%u  3#[I l
5 94
?>3/ 9/ %D
; p#K[ c
I
I u#K5
% c 0p5J2 O K5 %]x -vJ  @\)9J  G c

Y~== 20Q]Q+Gq>$ %) [)cL


] %0= _
3zD?>  #
[#8?o)] O
X
%L cO BGJ K >{
[ cO 4
5 94 )?K5
% c

 ]))cJ
3)u5v>!cI DO K;:Xk9i#fhg:9lk"l
5 ?> KQ=GRQ=GRQc` 8D=K5
M=NA e>G#Jc 8 c
c )=_Z%
?>EG


"

 JJ


"

 JJ

 

v\\|
? G
GcQ?GlfhgOZDnAlokqAl = f=9f nAg
g
i#fhj:#n=jk9i j 5 m2ar#g=< rj
i
g

r9fHk9i><@?=BAk9in=q=gODC=+A%FEZk9 09inAl|k=s g2jjk9l j:s =i-grjgpghBg


stf 4g
G
H jgfAjnAlokqAl 9fksuk90nAr#fg0fh=g:i#fgAl =




e


&


' ,

'

/
GSGJI0g
l4gfh=g?tk9lZr#Bk9lg
fk=im%k9fg2jLK=k9l2fA


i)fh=gesuqjgafh=9f

M2\q
R\\REB
=
sq
R6ONrq
Rst

GGr#g
lsu9Cg
49r9fg:f=g:i#fgAl!9



-"%$ y

9!gP#"%$ y ze
z

/ i#
=g]l|g;+j:f=gpAjk|al qpArjJsug
i#fg]l|gpC9ffh=g /k9lA
GMG

=g]tk9k9ii#fgAl =;jOsu9gpfh=gg
nAfHsi#fg2Al 9%k|6fh=g]al j
f]9ip




&

W y / 
,

y y

l2fgeDnAl|k4Al 9fk6g
49r9fgfAj6i#fgAl =!tk9l
j

RQ


S

JJ

]

UT!*%$'1)& *%,8&27p7?"%$?"%4!1)& *%,.-WVG*%12&'354@

 =gvs k=ll|g]sBf49rg

h+<IqD>G= s 48u5O 4K Xs C; K8D%L4>$ 


2HcI4# D
% c OBG b cc JD=c5+<O>? 4>G508D%'46>$[25p[\
L 4G#D
% c O

4Gp#=cOBx

Q=G
s `5 [3=e
?
8D%' 4D>$[2HcI4}?D%c %v%
)8 [9 v%p ` 5+c >? 4 >G5Y X
SAG I! #
? D
%L < OJ%H.
| w c I! c[#+c <8  7 %h  [cD
)
%u
L \[<8  }+c J 82 X
b a
ccGc O>G5] p5a
3J? =>9 %u# K # } # h? D
%L < OBx

cc8 #
D
% c EG

430; # D
%L c OBG
D%

? D
%L < OBG
)[#8 30;
% G #
9 %u# K # =J5'2  >$IJ 
8%; 85L ?  %9 
3D
#>P

9
I
 9 4c[9G
Y55 [9
=ea
|cH; 8 %J= e
8D%L 4>G
%L ? 7 J
>u)5 
[L 4# D
% c O#3#[Ci#fg\pA tg
log
i#sugjG]
8 8? s2
JL c L

4
% 43#?  " %J ") G5^59 4c P
>G w9L c    !x
" ")  "  " JJ " ^
g ]]"
" , "
"
%J
  JJ
 JJ

]
Z\[ e

I!
j
nAg2j
fwB); %>$[2Hc IJd
48 8J 7s{L% c j'
J8D%' 4C>G5
%
]
Is; ? 8q T KX4cB9c Jz 4  O>p 8  % OK4]0
8D%' 4Z>
% # # D
% c 3#[ wB)
>$[2Hc IJ? EG b 9 
b

Hp

B\0=R:\A=q?t

 wB);%>$[2HcIJ#D%cOxc^x+c<8u5 O> ;8 %


`'J.{p8 %{OK>$[25p[L 4#D%LcO3#[>u)5p[J#D%c
]'GP K5p# %2 G
b 
{B 4cc[_K5
y "
")
  Jy J


g ]]"
" !g "
"
 " JJ " g  ]]" J% " ,   " JJ " ^
%


] y
c
YK5[
I
4VC
cc? I'hD
h  l

y "
"
  Jy J
5=MAF


g ]
"
" ,   "
" g "
" ,_]]"
"
  " J% " P
JJ
J%
 Jy %
 J%
]
c
7:4 J 48 8J;
7X%)|'
  +c ># 8D%' 4 >G
4
y
y

"

"

L `[ %CO48 8%?% #   J%


k G b
 =

8H2
A 359 %D
 6[]5u 1
430 G

I

>$[)5p[ I 4+# D
% c :
|c\uD
>?[ %1
 ; 7 8p# Bc

I
`
ya
ya
ya
by a c
g
e

g
g
e


y
y
y
 d 
 d y
fd
gih f %> gij hlkmg hon+p nBk ?
G b r
q gipip ; 7 8p kk gkPgih ) jsk


h
g
g
h
k
p
i
g
h
w
u
> [25p J G  D
K#K K w htg u %> g [)5p h % ; 7 8p kkmg h
y u
y
"
" Bv
gk K g  k x
g%h


d  JJ ` d  d h
~ Z { z{z{z }| ~ yx Z  { z{z{z }| t~ ~{~{~ ~ yx { z{z{z }| ~ Z 3
w
~ y x { z{z{z }|
 Z  w y yx { z{z{z }|
a  1\w yx
y
w ] y
w
5=AF
I!

gk nBkn+hg%h u5p k gih

5A=F

n+h 3p#K n
a
,]]"

d 
d
Z
> g u)5p h
n+p  k a

h g Jh n
~ Z {z{z{z ~ Z {z{z{z ~t~{~{~ 3
a0!@/#  1 w yx ~ w yx } {|z{z{z }| w ~ yZ x ~  w  y x {z{z{z } }|
|  Z
 f
`
4>?> nBk 6=4g
l q=g]G ) h J g h 2 n+p  k a d  gJ]]" J% " d Bv @
a
y " %J " d v @ %J G_o hok ? h p [q@ y  f n+h 3xH ?K n q>G#> nBk
Ja3/q5 h 149rg a n n 8 gih n+h >o 094g
l q=g
n ig
=Ak9li8 gih k G
K

gih u58p5 n g h

 =-G,2,)&2!12&)(8&)7H7?"%$"%401)& *%,.-V*%1)& 354@J

M2\q
R\\REB
=
sq
R6ONrq
Rst
pipig 8 g

=GRQ=GRQ=G?qj
ssuk9i#sugnAfhj

# n g hlk  = j
ya

ya

n ' gn+p

g [2H h gn+p ? n g hlkn p


>

a
a

g
g

g  a 
5=F


 d y
  d 
  d
n
n+h
 n pD2 h J g hlk 
q 5p
d  @ JJ @ d
 @ J% @ @  @ JJ @ @ >
n+pip;kn gk
[
+ h  > g g hlk  J @ @s k j )8 kmg g + h 
k n+h k n+h >@ n+h >  +
GY !u hl k ! n !@fq h q n u) j 8!
h j 5 g n+pk p  g h k ? n g hok @ g ;q gipip 3 n >G n+h n K5 k
j 'C3 gih g k 2 n+pip #>jg
tmHqp+u k9i#f+ j G I0 PK5 h 5 n+p jg
BmH4p+ k9i#f
pip%g 8 g 8 n ' gn+p > g [2H h gn+p # n g hgmk

g g
 y

 d 

y g

a
a
g
g
g  a 



5=F

*
*
 f d
 d

 d
n n+pipWkn gk H[
n+h
n
h g hlk 
q 5p
@
@ @ >  pD2 J
d  @ JJ @ d
x+ h
>  g Jg %ho
k
.
k
j

k
g
g
l
h
k
+
n
h
@0
' J8 + U n+h >  G
I! h j g n+pj 5 ?> k 8p k h )?> 5p n pK5 n n+h )#> '` h 54K5

g l? n g hPgk>k p H n >p gih GNK=GRQ=G S h 8 n K5a= n>j p


>G5 n+gip #>> gk J kkg h } gmkgkk #G
H gkn+h pip%g 8 g `> g [25p h gmn+p # n g h n+pip #>  gmkk h n 
g h g gk n+g p [x [#` 8 g n+p k  ? n g hok x

 d 
f

ya

5=NAF

"


v 9

"

d  JJ d

"

"

d  JJ d

v

a
"
" v gk D h T h q h 2 h J g h q g q n H k p 
q 5 p

d  JJ d
" Bv gkk j K g h 2 h % g h G I! gmk
gih K ? n g h @ n+h > "
d  %J d
# n g hgmk p n p [ k p H n > gih 2G
b q gipip 'J k 8 h h ` pipig 8 g 8 n ' gn+p > g [2H h gn+p ? n g h n
JJ kgih 8 [ kmg k g gk=n+pk z Zj
nAg2j
f k  # n g h n gk 8 k 
kg 3 p #G I0 `' pip q gih KP8 n ' gn+p > g [25p h gmn+p # n g hgk n+pip ?> n 8 pn % k
# n g h 'K5 n g n g hln+p 8u h gmn+pfgih j 8![ k 8 n J y  x
`

ya

5H%aAF

"

"

d  JJ d

Bv


h mg k nBk a "2z\"b v g k K5 n g n g hln+p 8u h gn+p G I! g kWgkn n+h g [


d
n s n+h 3` k #>`+ j 8
)o O
Bk9lsug|K5 n g ! [_3#[ n T ig h K g kmk gih K p
Y

/8%#mOBmb.Fbb4.!m@@DB.b.Wm.@\bb4./tBbR

Hp
8

B\0=R:\A=q?t

n ' gn+p G
> 5 g n g k

5H=Q=F

W


,

5H4SAF

,

,

5H4AF

a
fa d
 a


q h k
gk
| n g n g hln+p
_o hlk n+h
y
5

j
k
+
n
h

g
k
s
j
B
n

k
k
S

>

QRQ  
K F
;3QJ3 gih K n %)?> 8 h 3#[ `K5 n g n g hln+p w p >5 gih K5 n+jsk FHG
 n ' gn+p > g [2H h gn+p # n g hlk n n+hgih w htg u h j 35 k p  g hok

q j k k p J nJk p  g h n gk H p 5 n+h sz 18J3 p jn n+h >


3#[ gij 8 kgih Kek9r#ip=9l Zsuk9ipAf k9ij
G b nBkk j  n }} h T h q h 2 h q
g h a kn gk w k C8 n ' gn+p > g [2H h gn+p # n g hgihk j >! jsn+gih @ n+h >
qCj2n=g
st B| D n+p  kg j k  n T hn } Jk9r#ip=9l ! n >! jn+gih G
h > n [+ h > g g hlkWjsn [ n T jsn+h [ jsk x
q 5p

J>! jsn+gih k p  g h ! 8J;3 p jgk w hg )-5'hv8


!
8 k k @} gkj n+hlkLg gk + h n+gih ?>q g gih^k j pn 4K5P3Ow hg u
J
3 9 n 8 8%;8 gn u> gij hlkmg h F@ 30 h > n [L+ h > g g hok
jg K k n u= n a R30 h > n [ v n T k hk 8 g w#> n+p  k G
SAGY .
>0 jsn+gihgkgih w hg u@Dq jg K 9p# g p` n a d "zA"b v k
y
g z y ^

g y k m G
nBk
d
H gkn+h 
7 n+j 8 p # x
Q=GY

VGcQ?GP#rn=n=kqjg`fh=9fOge=94gai Ci#fg
6gA
ge9ipg
qj
f s
lr#
g
l?j=gg
fj
f l|g
f su=gp0k94g
l#elog
stf9iAg6ifh=g m z nA9ig2#O=g
l|g6fh=glog
stf9iAg
d
jA4g
i
J
J




Kjkej
rn=n=k4jgf==fOgnArj2<fh=glr#
g
lj=gg]frn_fk=g
=AfAk|  r#i#fj:k=4g
l
f=g n=k=i#f  "  v 9ipnArjJf p=k9ai`er#i#fj k=4g
l f=gOn=k=i#fO S " v 9ffHr#l2ijOk9r#f
a
f=9fVf=g=g
=Af
k|fh=gvl2r#g
lVj2=gg
f;k94g]lV9i0n=k9i#f "z v j r#i#stf k9i
"z v
d
d
f=9fAj9fHjhDg2j#qnA9sug? jg]r=fHk=igAsugnAf9f f=g1k9r#ip==l `n=k9i#fhj
eg1s k=r#p
a
suk9nAr#fhg:fAj=g
=Afm r#i#stfHk9iPjk9=iBk=l

O=g
log

j29fHjhDgjf=gfHOkqmHpAg
ij
k9i9 Bk9lLk|C#qnA9sug? jg

r9f k9i

ya
 d

y g 


ya
z

M2\q
R\\REB
=
sq
R6ONrq
Rst

Hp

Bk9l

z


"z v   "  v
d
"z v  S " v
d

<\?k9r#ip=9l!suk9ipAfHk=ijYA%
a
a S
B=9ip
"  v  

I!

"

! " z v 
v  , 

 [j q
<
>! jsn+g%h
p ; @! gihlk n+h
p n 30
35

"

v


 "z

a


"

v


H gkn+h 7+u hlkmg


k p J8 n ' gn+p > g [2H h gn+p

n
g
l
h
k
h
nBk2n K5G j ) g n+pip [ kmgij 8 p
#
=i9Af su9q

k n 85 pig T nk n ph g p
J#F G I! gk 2[ kk h gn+pip [

n
k
h
+
n
j
n k ` >! jsn+g%hgk 52[ g 
3H T
>!q
' 7
8
k n pZ
i#rj0f 
kn= k=i#fj]
H?K5 pn g gkn2


y a gih gk qK552x

p
h
j
g
n
Y t
q 8 DK= 5 8 8J7 g%jsn g h
~
~
~ ~ ~
3
1 w  Z w q Z ~ w  Z ~ Z ~ w   Z Z

  w  
w ] y
w 
5H4MAF
n+h nBkmgip [pq g u= gkLnBk

b
5H4AF

a
"zA"b

gP]
"2z\"b v g a ,_]
"2z\"b v g a "z=g^]]"b v
d
d
g a "z,s]]"b v g a "z\"YgP] v g a
d

"zA"b,_]

Q
gk kk h gn+pip [ k n ) k n  D n+p  a n n+h [-8 g%h gk ? n+p
n 5 n K5| g k n+p  kn rJ5' n+gihh g K 30 gih K08 g%h k y 5 G I! gmkDgij 8 pig k
n n;k p  g h gk ? n g h n+hh n nojsn 7 gij j jgihgij j
gih H?K g h q H # n g h>gklkn gk w#>5q k n+pip [ nBkk j n
g j
i f kn gmk w?>6 h P30 h > n [6] p#K g h 3 gih K+ hokg >H?>?@C
n k j k p Ju#>)8 gih k s n sp#K g h FHGY hn+h [ nBk qq gipip k ` gmk
j  h j 5 g n+p ? n g h >G5 g n+hn+p K g j ' k p gih K g G
I! n+p K g jn+j h k '?x
Q=G}b`5 pn [ zH?K g hgih  k g h q g n p5J n+h K5 pmn K5 g >q k
gj2Zj
qg gk # n+p 'D h j 35 ] G I! gmk;n+pk Dp# g p k {=> g K g g =
gih K#}h Z30 h > n [ . g K gihln+p p#K g h ' n J+ jj ?> n u
a n
K5 g >G b q gip%p u[` j 8u n+p  k 2 h J g h
G
g
i
g
h
k
K5 >P8
G
I!

\\ moObfOB@B@FBm.RB#.R% .b/bB@bOB@

=BWBLb@b\b>O@BbB@bm

m b!b% bRBm/B=R8

Hp

B\0=R:\A=q?t

W [Z]\\

9 n+p  k n 8?>xp#K g h

g K g g  #> j

GS?G

'5% hn+p%p K5 g >L8 gih kg%h L


i#fhg
lk9l= H?K g h
gih  k g h @ n+h >'` nBkkmg K h ?>30 h > n  [L n+p  k h K5 g >
8 gih kLn  a
30 h > n [5 n+h >?@=8 kkg 3 p [ n k j gih u5 g O8 gih k FHG

SAG

CwDK5peAG S=AG
H {=>


g K g g ?>}P30 h > n [8 gih k n


3 hjn T#>

g
m
k
s
j
+
n
i
p
p
g
p
k
q
p G
AG} p h H k p gih KCw hg u> g [25p h J
h? n g hlk s n+p  k
a h
g
i
g
h
k
`K5 ># 8 G
I!

gk 
8 %J#>GpPOk9l qjO3 n k #x
I! w hg );%> g [2H h Jl# n g h_gkUh gih K_3 nk [ k u j
Zig29l
a

"
A
z
b
"

+
n
p
k
+
n
h
n
n
%
g
h
g

r9fHk9i]
j '

5 ]
 d @ @ > p u#K5 n+pfj p 
d
]
!
I

g 8 p k FHG gkk [ k u jrgk 52[ pmn qK5 g ! g K gihln+p K5 g >q nBk f  @


q h q n f ,$ # n g hlkWgih fI ,$ h T h q hlk @ q 5p $ gmk
h j 
3 5D0
3 h > n [
8 gih k 5 ;[ n H h 0 h T h q hok F GW0 g%hlk n+h J@
g > g K g g  #l
> p#K g hgk2n   p5J n+h K5 pn H?K g h @Wq g n ' n+p
h
n
3
> [-
8 gih k
@ q h j 
3  Q gih ) g 68 gih kgihn+hn 3 g u n [
 0
I gk p k p kgih k [ k u j
q n [q@ nBk G
> 8 g Ju#> gih wD5
K p-AG S=MAG !
pigih n
n
g
l
h
k
# x
5H==F
,


,


&'
'
'
'
'(

HD
7 n+j 8


,


]




) *

&' a


,


,
,

*
*

) *
a  **
y
*

* '' a *
' 
'( a ,
,
5
a


k n p z z +n p 
k h 130 h > n 2[!
p
B
n
0
k

n
k


j
+
n
i
p
p
h n H n+p 8%;3 p j
q
{%;[}8J3 p j G;Y

y gj 



&'
'  gN
'
'  gN 
'(
e
  gN }


|H?K g h G I! gmk
q j k jn T

) *
*
*
*
,

M2\q
R\\REB
=
sq
R6ONrq
Rst

W [Z]\\

Hp

c1

c2

c3

c4

c5

c14

c6

c13

c7

c12

c11

c10

c9

c8

GS?MG=>

g K g g  #>H?K g h q g ig h u 5 g O8 ig h kh j 
3 5p#>

] kmjsn+pip h DK n ] `w hg u> g [2H h J k2n H n H nBk hln 3 p n 8 8%;7 g 


jsn g h o g K gihln+p > g [2H h gn+p ? n g h G I! gkDjsn T k p k p gih K
pigih n 9? n g hok 5[ pn 4K5#GVW0 g%hlk n+h J gih ;7 n+j 8 p =GRQz h 8 n K5eS
n 30@ g q jsn T ]
gipipDn+pij k K55 !# n g hlktg%h 
 @Oqq


h
h
o
h
k

g
f
k
h
n
g
+
n
p
T q
GY
8 % ' k p k  # n g hlk 3#[D k n+ph 
j g n+pDj ?> k 5 pig Tz n kkmgn+h pig%jgihon g h @G' gihok n+h J?FHG b j k
K5 h 5 n+pip [` k fg]l 9fH4g6g
fh=kqp=j pig T k > gk J kk ?> gih KQ=G SAG 5) h 8 n K5
Q=FHG b 2q gipip + hokg >G
q k 5 8l n +;3 gDj ?> k p |
h j 5 g n+p j n 8 pn % k ? n g h G
r 8 8 k >
q n n w hg );%> g [2H h J j 6 n 8 pmn J k # n g h
a gmkh
>Gw h ?> hn K5 g >?@ nBk >G k J g 3?> n 30#G I! 2 h J g h
q n 4g
stfhk9l

+
n
%
p
p
g
i
g
h
k
i
g
l
h
k
+
n
h
%
g
h
+
n
j
p
5
 K5 ># 8
J
;7
8 =GRQ= h 8 n K5S
a
@

] 
nBk + j 8 h h k GV!5
q g Z
3= jn ) g 7 k 
 @

n

@y//# a n n
g
gih v
gk ? n+p
8 gih k G b q
8 pig g p [5# n
h #>=':T h q
n # n+p

K5 ># 8
a
n  n K5
C
n+p  k n 9 x  n > n J h K5 g >?
gipiph n `q g )>!q h q n s gmk DK5 n ' n [j79
g h 5H==F h 8 n K5
S=NaPK g  kg g%hnUkmgij 8 p nBk ?FHG b hp [
n  n % q @!\4 nBkon j k #M h h  5% h u g k @
` n pn J k ?

n g hkn [ k n

G 8
!\4 a , a 3 
ya

] y 1
c

@y//#

a
,

@y//#
,

a


B\0=R:\A=q?t

gk g > h g ![
j n ) g 7\F}
a


!\4

n 8 8 p [  n +3 g j ?>?@A> k % g 3#>

,
q 5p
G
qrq

gih KDQ=G SA
G h 8 n K5
`Q= G I0 n ' n [D> gn K hon+p p j h k @tU v  @ k
@y/\4 n+h
, U
U v   @
v 
 v  
> 2 n +
3
gfg ) n g h
k
j n+j h
k

a ~  
!@/# a
5@q

5p

b` h j g n+pn+p K g jgk @ 5p


5'p@
A[ ?GSG =g f mHpA0g
ij
k9i9r#4nA9sugg

r9f k9isu9igjk94gp
L Z]6

an=g
l Bk9lZiZf=gj
fhgn=j
IZAfH4gDf=g6l|g2Ak9i0k|jk9r#fHk=iqj6i\DAr#logW?A =k9i
n=q=gA<Hrj
i1=i f mHpAg
ij]k9i99f fHs g-A%

a_

9f9
Al2p=mHn=k=i#fj
O
<koCf=gpAAf qg2pPlogAk9iCkoDjk9r#fHk9iAH
gAsugnAf=9fk9r#ip==l n=k9i#fhj9Bk9lAsu
rj]ff4qg k9iek9fh=g
l49rgj
< tk9l ij
f9i#sug n=k=i#fj:4g1  "  v 9ip<
iCg2=9nAg:= 6k9ien=q=gD
CBC= A

a
"

a
7?35$ i
p=k4gj
i f\s ==i=g qn=nAlog
st9

 !4!12&2,
F!3h&24L*%$?*%,2,'"%,
&2
7 Alp=m n=k9i#f j94351\k9r#ip=9l n=k=i#f
a

a
v
=4g
l q=g koa49rgj k|
=f  f qp+ 9sug
i#f
Alp=mHn=k9i#fj

b`% g u5 g h n+p gih K g ) n g hgkWk j q n n K5?G b Lq gipip


a
+ j J
3 n 4 T gkpn u52G kk h gn+pip [q@q n+h Q k u k q 5 5 nBk
n+h K5# >: n K g hg u5 n g hsn+h > n+p 0 g ) n g h q h z' n+p
n+h K5 gih a gkJk !w g h p [ kjn+pip G I! 8%?K5 n+j h 8 n K5S=N=L n+pk
a gih n g
8: n 3 k p u` n+p . o n+h K5 gih
) n g h_n+h > n+p k
q h gk n+pfgk  G
Y gk 8 kkmg 3 p ' 8J n q h { g K gihon+p 8 n gn+p > g [25p h 
gmn+p # n g h q nBk jg
Bm qp+ k9i#f@. g 9  n+h g [ ] gmk j
r Cstg
i#f Pj
09@
gkg ) n g h  8JJ# >GpD+ h q K5 k y nUk p  g h \w hg u> g [25p h J
# n g hlk n+h > n+h qn=nAlokqA09fg k p  g h g K gihon+p 8 n gn+p > g 
2H h gn+p # n g h 5 n p nBk 
9f J
K5 g >?H8 gih k F G I! gmk0gk T h q hnBkn l|g2m
q==fHk=i-0g
f=kqpz' k p gih Kz k 5C
w hg u > g u)5p h J|# n g hlk G I!
\\ OBbm.R>mB 4b!b#;m4Bmmb JBO.

BL ;bB/L \@t4b!b#L lR.b/@.m b


 ;mb.%@bm \RRfB/. @%b!b@FbOB@JRBb t
#/@b\; !bmB!m.mBbt

M2\q
R\\REB
=
sq
R6ONrq
Rst
H
> g [25p h J)# n g hlk n n gk nBkn p k p | U8%J?>p n 30
) h C n  jsn u g % k n n H_
>! jg%hln u# ><3#[: g jn+gih > gmn K;
hln+p 5 nh 5J kkn [+ h > g g h '
n +; 3 gj ? >+ h q K5?FHG I!
g
n
k9g
str#gm j
fHl2r#sBf r#l|g>G
8 Ju# > 30u hok .
3`52 [ kmg K htg w n+h gih
w h > gih KD hlkmgk ) h !  4
>G5 gih K k j k k 85# > gih K=
8 2
n +; 3 gfg u5 
n g h u5 hg  k p gih KD k a

h
g
g
h
n
g
w u > [25p J=?  hok G
I! ) j
{%H pn 7 n g hj ?
>} n+j 2% jn 4qArg
kgijgipn O
8%; 3#
p j  j 8 gih K k n 8z nj j 3 n+h n+h K gih K2% jcg k 30 h >?
n  [ h > g k q h q g K 2 G I! k p  g h q nBk h >3#[w k nBkk jgih K
n
8q n q >'H%` n ; 8 8 k k K5 n g ! [ n+h > jsn T k j j 3 n+h 1
n 2 G
I! gk p k ' gih K HJ gk h {%H pn 7+#
>}4@0 h
K5 g ># 8 gih n n gij z h gip
j j 3 n+h n+h K k 2p5 p [9G
Y h>jsn+h [ nBk k + h 54
K5 h Jx gk 8J%# >GH gk n+g p [ kp q

g
h
k
h
>G 8 >
8 0
jn=g
stfHl = l!qpArjI jsn u g 7I k [ k u j @q h
g gk q g u) hgihn jpig Th?
n g h 5H==F9 k 5P
Q=G =M h 8 n K5
Q4 NAG
b

i
g
%
p
p
k
h
n
+
n
j
i
g
j
p
j
h
i
g
h
q
8p
_o
8%? K5

8
K p pn 7 n g h
n+p K g j gih L! q; > gij hlkmg hln+p nBk #
G I! Lp# K g h h >o hlkmg >?
,
g @, z g G b

n
g
h
o
h

k

g
k
k
+
n
h
p

5 +
HJ K

0
I

nBkkmg K h h a

k
k
n
g
i
g
h
m
k
8J% C K5 >? 8 2 G g I j k @ ] @q gipip
3 
 Q
gkgmk > g J n )?>3#[ h j 35z 8JJ kk k2n n+gipn 3 p

j
85''
l j 8 n g h G I0 kmjsn+p%p 5 ] gk j H n JJ n )
k p  g h G n 8J% kk nBk
n gmn p k
h n+gihg%h K
n+h
float2 n gn 3 p k x > y  n+h
i
g
l
h
n
k
g
k
g
i
g
h
+G4 >
u K5 >8 @ float) 3 psi@ oldpsi > diff + h 
a
n+g%hgih K@5p k 85J g p [4@ n+p ` g%h %'H h g u5 n g h @ n+p 
gih pnBk g u5 n g h @ n+h >
> g [2H h J
35! q5 h j G I! 5p gmkn+pk
n gn 3 p
n+h >
n 
>G5u5 jgih k q 5] g u5 n g hgk e
3
intj 2 h
isfixed
n
g
h
g
85''
>
#
K
K5 >? 8 gih 2 GY h K5 h 5 n+p @q
q gipip ik9f985'' j
n+p J pmn g hlk h :
30 h > n 2 [K5 g >? 8 gih k n  k :
8 gih k n+p 
a gknBkkmg h
+
n
h

K #
>
>OD=g2p\G
b h )
8%? K5 n+jgmk H h @ g D
85'' jsk + j 8 n g h n H; 
a
a0!@/# n+h

p
n
k
j
8
J
3#[
>+
8) k
> g u)5p h J# G I! gk > g u)5p h J
gk ' n+p ?
> gih  X
5 mono F9 n gn 3 p totaldiff n+h > + j 8 n g hgmk

k ; 8 8?
h

g
>q k n+p > g [2H h J gkWp kk n+hk j e
8p >) jg%h # >
n+j h
5  gih gk nBk # F x
2& 4!(J,)F!"
stdio.h
@HB*%"
3*%1 [64][128]plane;
:plane x, y, psi, oldpsi, diff;
&24!1 :plane isfixed;
/035& F main()

HQP

B\0=R:\A=q?t

3*%1

totaldiff = 1.0;
iteration = 0;
i, j;
* Initialize coordinates and psi. *
&)12B (plane)
x = !(+335$?F (0); * Tell each processor its row
* number. *
y = !(+335$?F (1); * Tell each processor its
* column
number. *
,
x = x 16.0 2.0;, * Compute the
* x coordinate of a
* processor. *
,

y = y 16.0 4.0;, * Compute the


* y coordinate of a
* processor. * ,
* Initialize the psi function
psi = 0.0;
* at 0. *
diff = 0.0; * Initialize
the
,
* difference function at 0. *
isfixed = 0; * Set all of the isfixed flags
* to false. *
B"%$" (!(+335$?F (0) == 0 ' !(+335$?F (0) == 64)
* Initialize boundary conditions. *
psi = x + y;
* Mark these points as fixed. *
isfixed = 1;

&24!1
&24!1

B"%$" (!(+335$?F (1) == 0 ' !


(+335$?F (1) == 128)

* Mark these boundary points as fixed. *


isfixed = 1;

&)12B (plane) oldpsi = psi;

* Save the previous


* values
of the
,
* psi function. *
B!&), " (totaldiff 2.0)
iteration++;
&212B (plane)
B"%$?" (isfixed == 0) * Only update the
* values of psi at
* points that are not
* declared to be fixed

M2\q
R\\REB
=
sq
R6ONrq
Rst

* in value. *
oldpsi = psi; * Save
the values of
,
* the psi function
* prior to the update. *
psi =
([.+, 1][.] psi
+[. 1][.] psi
+[.][.+, 1] psi
+[.][., 1] psi) 4.0;
diff = psi oldpsi; * , Calculate how much
* the psi function has
* changed. *
* Set totaldiff to 0
totaldiff = 0.0;
* prior to adding in
* the squares of the
* values of diff. *
totaldiff += fabs(diff);
printf("Iteration %d, Difference = %g\n",
iteration, totaldiff);

7?35$ (i = 0; i 16; i++)


7?35$ (j = 0; j 10; j++)

printf("%g ",[i][j] psi);


printf("\n");

printf("%d Iterations were required\n", iteration);

b q gipip q n+h ' k 85#>` 8L gkg u5 n g h  k j #


G b n+h >! k C3#[


k
%
g
h
l
h
m
k

g
k
h
p
j
k

K` rb`^n+
u [# 4>G5p#>
5 ?> > k % g 3#> gih 0
K Q=G SAG
h 8 n K5Q4N=MAG5b` g ) n g h j pngkh qUx
a ~  
a gP
@!\4 a
,s v

q 5 p gmk;nk g n 3 p k94g
l ml|g
q=9f k9iJsukqghast
g
i#fHG b 2q g%pip > pn [ hlkmg >?
5 g%h K U k g h q n n+p >q k p > k D gij
3 gih K#G^ n+pip n 9 Prb`^ j ?>n=g
lj2g gkUnk ? h gn+pn+p K g j G
b j k A
w h > n + hokgmk u h 'q>G gih K k j gih 4>]'8 n n+pip pig  g G
`! n Alp=m n=k9i#f |/q:;%> gij hlkmg hon+p j 0# n g h 5H4AFH;
pn u k n K5 g ># 8 gih ;
q g g k  h g K 30 k G b 798H kk gk n %
3#[ kn [ gih K 0k9g]sBr#g
w htg ); %> g [2H h J# n g hokgk q n gmk
g
%
g
h
>G
8 Ju# >
wDK5pe
AG S=Ax

Hp

B\0=R:\A=q?t

W [Z]\\

GS? G p 5%
g h h %p pig 8 g > g [2H h

p
w k ! 4>G5 n
g n+p # n g hlk

I! g%h u 58p5 n g h + l
h kmgk ) h ! 4>G5 g%h

n
p
g
i
h
%
g
h
h
K5 8
)+
K
Q=G M=M{
8 n K5 Saa gk [
jsn+gih p k p g k x
K

8 8%;7

gijn


k j k>gih u 5 jk
kmg K 
h g w n+h H ?Gnb`

GG 4g
iDCi#fgm pA Bg
log
i#sugg

r9f k9ijl|gnAlogjg]i#fHiJg
m
?
nAfHspA tg
l|g]i#fH=9g

r9f k9ij2Offh=g1k9g
str#g6j=k9iiODAr#log;?A B?=f=g
log
gAj]fj1s k=ij
j
fhg
i#fm k9l p=g
l2i`fhek9i#Jf k:j2g
fj

r6
uVu
 

I!
Q G
=
SAG

k /q: k k )
 K5 g ># 8 gih


y  K5 g ># 8 ig h

h IC3
k 'lq g k j
k 'lq g k j

%g h
%g h
>

>

g J kgk
g J kgk

g
4g
iX
kqp=p\G

n+h
>

  G6 8 8 k n s:> g K g g ?>oH?K g h k p  g hgkn+h f 


>?@ nBk > gk % kk #> n 30;@ n+h >q n $ 30 h > n [8 gih k 5 n q g
n+p  k a n p9ik9iG I!  n J n 0k9g]sBr#g w htg );
> g [25p h J|# n g hlkogk q n gk >G8 g %)?> gih AG S= g%j 8 pig k n =k9g]4g
l
q jsn 8` e> g K g g ?>JK5 g > gih pig%h n # n g hlk @?/q:CipAsugj5 g G ?G @Jq k
 jn ) g 7I pigih n 0# n g hlk Fq gipip 3qj2jk9st9fhgp g%h k hlk `
k n u j h 6QvQ=G Ma h 8 n K5-Q4NA4@ g n+h > hp [ g s ;[ n H h g K 30 kogih
 g K g%hln+p K5 g >G b q n+h .'Pw h > n suk9ij]j
fhg
i#fk9l p=g
l2i_4g
stfk9l g%h
k hlk k n u j h L. n v>;w hg g h G0^5 n+p%p n k  n+h q>G gih K
5J; j k kn gmk [x
Q=Go9
,    g i n+h >  n p nBkk gn u#> n+h > i  X
SAGo9
,   ,  g i n+h >  n H nBkk gmn )?> n+h > i X
!50 kjsn 8 K5 g >?H8 g%h k 1> g K g g ?>Lp#K g hgih ' n n [ gih
h' pip q gih KUq n [9G

5K g

gih k q g 
8%;85'![` n k j
} +G4> gihln u kgk g
4g
i gih ' h p q +n p ]


i
g
j
l
h
m
k
g
o
h
k
n
n
>

 ' [=G
n

n+pip 5K g

># 8

M2\q
R\\REB
=
sq
R6ONrq
Rst
1

19

20

21

22

23

24

25

26

27

10

28

11

29

12

30

13

31

14

32

15

33

16

34

17

35

18

W [Z]\\

GS ?G j 3 gih D
K JK5 g
h
g
%
h
 4>G5 K=5J

>?H8

gih k ' x?>>?

n+pip K5 g ># 8 gih k q g 8%;85'![` n k j

! |
+G4> gihln u kogk k4p=p gih ' D | 8 85 +n p
!
> gij hlkmg hok  n ' n [=G
g K5p<
AG SA k q k gk2gih l Bn k
q 5p f   n+h >
n

I! h j 35 kgih g p p kn p Jq) h j 3I


gih jsn u g 7 n .p8p k h . > g [)5p h %# n g
'| g K gihln+p Alp9@fq k o n 0 n K5 g >8 g%h gk
k hok  k n u j h :Q:Q=G MaL h 8 n K5Q4NA=Fq g
I! gkogij 8 pig k n ! z pip q gih K gkn n+pig >+ hokgmk u h
O8J3 p j x




g  k j
g  k j

n
K5 g >?H8 gih
hlk GOY 
qK3 n qT

k=i#Pqjj2k9st9fhgp5 gih
g k tk9r#lig
=A%k=l jG
' qG> gih
K 5J

K5 g >?2+q> ig hon ) kgk


k gk

K5 g >?2+ q> ig hon ) 

g
4g
i
kqp=p

n+h h q n 8 8 p [ Q=G MAQ h 8 n K5 Q4N ' k p gknBkcn


+ hokgk u h p [#'q>GH?> k [ k u j pigih n # n g hlk G b kk h gn+pip [
85'' j

8D> n );2+ j 8 n g hlk h 8%J kk k q k
+G4> gihln u k n z Z8%;8' [L n 0 g k jgk g
4g
i5 k ou h 
'C3h = p j h k 
q g x4>G525J gk ? n+p '`Q=F n+h > h
5 gihnk ;
8 n n u
8 nBk ? FD h 8J% kk kk  n D k j |
i
g
l
h
n

k

g
+G4 >
u k k4p=p` k `p 8p k h s ` p j h k 9 n n [q g
n+h q >G5 gih K=5J y n gk ?
n+p '
SAG
I! H gkn+h 

l
h
m
k
g
7+u
 2 [ h q h
>G5u5 jgih k 3 k

n+p L x k # G I! b k )% q k T g )^ g I0 p j n+h > GH j


b

\\ybm@@bbW;BO .FbB.R; D.b/

Hp

B\0=R:\A=q?t

 n n+h^k n ) k n ] gk 5'p pn 7 n g h 8 n n+j ) j k kn gmk [:


gih ? n+pig ![  @ gih 4>] ] gmk rb`^D n+p K g j 'h h 54K5
k PQ=G =N h 8 n K5PQ4N=AG W0C e n 8 pn J n g h  n H?K g h q g
T gih >#30 h > n [o h > g g hok q n > gk J kk ?>)5 gih q g n+p 
a n H k 8 g w?> h 030 h > n [F@ n n 3?> gmn+h 5 k ~H=HF nBk K g 
n j pn n Agj
fH9fhgjs ;8 gijsn+p n+p ' k x
g  ] &  v

c 
v



g
k
n
n
g
q 5p

p p#K h
 G:_o j 8 n pL gk j pn
n
n

g
+
n
h
g
3#
>
q j pn2gih Q=G M=Sl h 8 n K5Q4N=NAG_o j 8 n p gk
# n g h 524NAF] h 8 n K5PAQ4SJ gih n k 5% g h q>G5 g  k gijn ) k
D n u!+ h qK5 h J 2
n +; 3 gDj 5 V>G I! k 5+ h > k n u j
Q=G M=S gij 8 pig k n k 8Ju n+p n > g k  5[2J g jsn u g 7D k #>
Crb`^ j ?> gk , 


I!
l 9fgk|asuk9i#4g]l|=g
i#sug
5H=F
,

&

&

gk

 

v-v


v g




&

2& 4!(J,)F!"
stdio.h
@HB*%"
3*%1 [64][128]plane;
lambda = 1.0;
3*%1
:plane x, y, psi, oldpsi, diff;
&24!1 :plane isfixed;
/035& F update()

]


psi =
lambda * , ([.+ 1][.] psi
+[. 1][.] psi
+[.][.+, 1] psi
+[.][.
1] psi) 4.0
,
+ (1.0 lambda) * oldpsi;

h
gih

g ) ] v

I! gkgij 8 p%g k n I =;7rJ g h gi


j x} +
n p K g j
n g 5 n K g  h >G#K5p5 n J% n q[F gk ] v G


Y h  nBk jD U8%;3 p j
 hlkmg >G5p#> ig h k+n j
n 30@B
q K5 _   Q  J%

/035& F main()

5H=F

gih q>G

p U8%?K5 n+j

M2\q
R\\REB
=
sq
R6ONrq
Rst
3*%1

Hp

totaldiff = 1.0;
iteration = 0;
i, j;
printf("Enter the over-relaxation coefficient:\n");
scanf("%g", &lambda);
* Initialize coordinates and psi. *
&)12B (plane)
x = !(+335$?F (0); * Tell each processor its row
* number. *
!

+
(

3
5
3
?
$
F
y=
(1); * Tell each processor its
* column
number. *
,

x = x 16.0 2.0;, * Compute the


* x coordinate of a
* processor. *
,
y = y 16.0 4.0;, * Compute the
* y coordinate of a
* processor. * ,

psi = 0.0;
* Initialize the psi function
* at 0. *
diff = 0.0; * Initialize
the
,
* difference function at 0. *
isfixed = 0; * Set all of the isfixed flags
* to false. *
B"%$" ((!(+335$F (0) == 0 ' !(+335$?F (0) == 63) '
'

(( !(+335$?F (1) == 0) (0(335$?F (1) == 127)))



* Initialize boundary conditions. *
psi
= x * y;


* Mark these points as fixed. *
isfixed = 1;

&24!1
&24!1

&)12B (plane) oldpsi = psi;

* Save the previous


* values of the 
* psi  function. *
B!&), " (totaldiff 0.1)
iteration++;
&212B (plane)
B"%$?" (isfixed == 0)  * Only update the
* values of psi at
* points that are not
* declared to be fixed

Hp

 !#""$&%'(*)+-,
 * in value. *

oldpsi = psi; * Save the values of


* the psi  function

*
prior to the update. *

*
* Perform the updates on all even
*  grid  points.
*
.0/2143*1
(((57698:8 3*; (0) + 57698:8 3<; (1)) % 2) == 0)
update();
14=?>@1


*
* Now perform the updates on odd
*  grid  points.
*
update();

diff = psi  oldpsi; * Calculate how much
* the psi  function
has

* changed.
*

totaldiff = 0.0;
* Set totaldiff to 0
* prior to adding in
* the squares of the
* values of diff. *
totaldiff += fabs(diff);
printf("Iteration %d, Difference = %g\n",
iteration, totaldiff);

A
B
8

(iB = 0; i C 16; i++) D


3
8 (j = 0; j C 10; j++)
printf("%g ",[i][j] psi);
printf("\n");

printf("%d Iterations were required\n", iteration);


(plane) D
diff = psi  x * y;
totaldiff = 0.0;
totaldiff += diff;
A

.FEHGI/

printf("Total error=%g\n", totaldiff);

JKLM(*"-NOO**(*#"2*P'#Q(*%',

RSUT

VW
XZY\[&]_^7`ba7cd`fe'ghjilkHmngMopgMq'r2s4tlhus4v4w:xzy'{2|}i\s4kHmngMo

~ #muytl4gd*s4
7
ynmjtlhj
tl?mjok?ygMilkygMw
gqk #w
+s4kLs4It\gmjo#kLy
tl@g:ilv4w::k #wtl4gd*s4`owv9s4oi\ynws4?mugMi\y*s4tlmjv9ynIt\s4v@+swdy
k?gwow*s4k w:wk kHwMdmuyutlhns4+y`V:muilUw^&` a&cyugMyk #wwdyuilhzkgMq-i\ynmjoZ
kLgtl4gddilv@wFsdmjwoZynmugMos4hZ*s4tlmjokHwvsyuwFwUw0sy
matlab
v9gMoyuk *s4mjow:gMok #w+gMilo7s4?kLgFs4oZyuwMklk?gs-t\gdynmjk mjw0s4oZow::s4k mjw
s4hjilws4kygwmzo#k w?mugZt\gMmjo#kLy`
~7#wq?gMhjhugM0mjoZ-@gMilk mjow-sy#i\yuwdkLgwMo#wM*s4kHwk #w7s4kLsmjosZqg?qgM
tl@gv@w:yyumzoZf:
matlab
IE =H;71
6
C stdio.h
14G143?EH7G
NROWS, NCOLS;
E;
graphout(FILE * outf, 28: G :6 73?3*147G data)
8

*
* Produces an output file in a format that is suitable for
* input to matlab. We assume global variables NROWS, NCOLS
* and the definition of a shape shape [NROWS][NCOLS]plane;
*
EI7G
EI7G
EI7G

i, j;

rows = NROWS 2;
cols = NCOLS 2;
fprintf(outf, "[");
B 3
8 (i = 0; i C rows; i++) D
B 3
8 (j = 0; j C cols  1; j++)
fprintf(outf, "%g ",[2 * i][2 * j] data);
fprintf(outf,
"%g",[2 * i][2 * (cols  1)] data);
EB
(i C rows  1)
fprintf(outf, ";\n");

RSU

 !#""$&%'(*)+-,
14=?>@1

fprintf(outf, "]");
A

A
wMwMk #wlhjw
F
i\ynk::wdwv@hns4wdmjok #w lhjwv9go#kLs4mjo#mjo-k #w s4mzo
outf
tl@g*s4k Zs4k#vs4hjhuy
`
graphout
~7#wgdyuk#wq
lv@mjwMo#klmjtlhjwwo#kLs4k mugMoZygMq7kHmuys4hu:gMLmjkHmjo#gMhjw0ygM
v9s4hjhjwd:zHb&?-<@`~+w:ynwk wv@o#mu|}ilwdy\w9tlhugmjkk #wq?s4v@kk Zs4kkHw
s4hu:gM?mzkH
v9go#w4w:y_|}ilmjv@:hjmjq kHww:yn#?yumzwmnyhus4@wM:ilk-mnygMUw
s4v@v@il*s4k wpmjokHwpynwoZynwpgMqmz&mzoZsygMhjilk mugMokLgkHwgM?mumzoZs4hdmjq
qIwUwo
kHmns4hZw:|}i\s4kHmngMoZmjqkHww:yn#?yumzwmuyyns4hzhu`FoilhjkHmn?muwk Zgd7ynkHw
yghjilkHmngMo#Htl@gMv4w:yymuy-:wdiloFmjk shus44ww:yn#ynmjwMs4oZk #wUw:ynilhjkmny
tlhji\:w:mjok?gn-sftl4gMv@w:dilUwFmjk syns4hjhjwMwdyuynmjw:`2V+g-mzoZynk?s4ov@w
Fwv9gMilhuZs4hjwkHwwdyuynmjwmzow:s4v@0tlZsynwgMqZsilhjk mu?mutl4gd*s4`
{2s4v@v4Zs4oZwgMqk #ww:yn#?yumzwFmzhjhwow*s4hzhjo#wMv@w:yyumzk?s4k wsUwv9gtlil
k?s4k mugMogMqZk #wgtlkHmjs4hg&wM?Uwhus4s4k mugMov9gMwq
lv@mzwo#kZ
ynwwwd|i\s4k mugMoHc
gMoFt\swa&`
ysyZ:wMwowMo#k mugMow:F:wq?gMUwwwos4o?9ygMhzilkHmugokLgkHwdmjqH
qIwMwMo#v@wwd|i\s4k mugMoyFmjhzhogMk-wow*s4hjhz:ws4opws4v@k-ygMhjilk mugMok?gk #w&
**:Hb9:w:|}i\s4k mugMoy`~'gwkygMw0mn:wdsFgMq2ZgMs4v@v@il<s4kHwgMils4tltl4gM9mj
s4k mugMo0muyu9k #wtlwM&mngMi\y+tl4gd*s4sy7+gMilo7s4?_v9gMoZdmjk mugMoyqgZF#mzv@
kHw0?l?9:I9muy-:ogMFo
f7?d0!`k #wM?9ygMhjilk mugMoy

gMqk #wr2s4tlhus4v@wwd|i\s4k mugMos4Uw

7?*
7?
-s4oZ


f7?}L
U
u
'0#wMw
s4o
s4Uws4?:mjk *s4?v9gMo



yukLs4o#kLy`o#wmjt\g?k?s4oks4k?gwMkygMhjilk mugMoy\kLgr2s4tlhus4v@w:xyw:|}i\s4k mugMomny


k?g i\yuw k #w-qs4v@kqI4gMk #w k #w:g?gMq&v9gMtlhzws4oZs4hz+yumuykHs4k&k #w?9Qs4oZ
kHwz @&z _t\s4?kLyfgMq s4os4os4hj:kHmzvv9gMtlhzw9Is4hjilwdqIilov@k mugMoys4kHmuynqI
kHwFk gdmjwoZynmugMos4hr2s4tlhus4v@ww:|}i\s4k mugMoZ`o gMk #wgM4+y-mjq mnys
v9gMtlhjwps4os4hj:k mjvqHilo#v@k mugMohjmj:w
g
#qgMmjoZynk?s4ov@w:s4oFw0?mjk w

I

7Ld

7LdZkHwo 
7?fs4oZ #7?2w:s4v@ys4kHmuynqI
r2s4tlhus4v@w:xy'w:|}i\s4kHmngMoZ`
qdk #ws4v4v@il*s4v@gMq:kHw:ynwyghjilkHmngMoZy#muy&oZgMk+ynilq
lv@mjwok:kHwUws4wyuwM&wM*s4h
t\gdyyumj:hzwynkHwMt\y+kLgk?s4:w

` ynwsyns4hzhjwwdyu ynmjwd`ok #wys4tlhzwtl@g*s4y_mjwo 0w


gMilhns4w0kLg0mjov@wdsyuw0kHw0oil:wM_gMq &9??L9H
kHw gMo
o#wMv@kHmngMo s4v4#mjowmnyZv4il?wMo#k hjhjmjmjk w:FkLg
tl4gMv@wdyygM*y`klmny
s4huygt\gdyynmj:hjwk?gi\ynw ?I9Qtl@gv@w:yyg*yu#mjo0#mjv@tl#+ynmjv9s4h'tl4gM
v@w:yygM*y+wds4v@wilhns4kHwyuwMw*s4h!tl@gMv4w:yygM<y`9~+muylhus4kHk wyuk wtpynhugMy
7gMFok #ww9wv4ilkHmugokHmzw:`



 
 









'&




!"$##%#

()*,+ -.+ /10$2,-43657298;:-=<?><@8A<?57BC57D$D$EFCGH<?IJ578A<@FC>K8AFL5M2,FCB?0$8;<?FC>9+

 



ONQPSRUTVNQW-NQTOO7XUP$X*YRUTVNZWX*P'ZN[RUTV\'Y]

JK


`V
 ` a&`J^* H@`_n9:CaIbUbKcgM

a&` ynw s:wMkHk wlomjk wdmjq


qHwUwo#v4ws4tltl@gQmzs4k mugMo
dw?mjs4k mjw:y`

RSUR
gMqkHw

t\s4?k mus4h

FwFmzhjhv9gMoyumn:wMgMkLgv9gMo
w?ks4o dmjq
qIwMwMo#kwhzhjmjtlk mjvdmjq
qHwUwo#k mus4hw:|}i\s4kHmngMoZymjok?gyuwMhjqI?s UgMmjok
w:|}i\s4k mugMoZy`&ilfygMhjilk mugMoIk wv@o#mu|}ilwdymjok #mnyv9syuw0mjhjh&:wmjogM\s4Lmus4
kHmngMoZy2gMoFk #wwk Zg+y2dw:ynv@?mj:wdmzo0k #wtlwM&mngMi\yynwv@k mugMo`
~7#4gMi\Zgilk+k #mnyyuwMv@k mugMo#!Fwf0mjhjhsyyuilw_mjwos4owMhjhjmjtlk mjv t\s4?k mus4h
dmjq
qIwUwokHmns4hdw:|}i\s4k mugMoZy

Sd

ge f.h f iCiCi@ ekjh ml f=h f iCiCi<ml jh j mno#


h
h h
h
FwUw egf qp p`pH e6j Zl f qp p p l j 's4on s4UwqIilov@k mugMoZygqlkHw f qp p pH j kHs4k
s4hjhys4k muynqIk #w v9goZdmjk mugMoZy ekrYs 9l rMst }qgygMw t\gdynmjk mjwvgMoZynk?s4ok
t s4oZunwvo# `QilmjokHwd*s4k mjoZqs4v@kLgMmuy2sqHilo#v@k mugMoyx f p p pL j
s4oZ
Fw-FmjhzhdF?mzkHw
f `p p p L j Zz
x f p p p L j {iC f p p`4p L j `
~7#muylw:|}i\s4k mugMo0muy7?< H@`n_ z:9mjq
h e6 r r |l r
qgMs4hjhM
 ~}} `p p 4p O' `dq'k #wdyuwv9goZh dmjk mugMoZys4Uw_97ys4kHmnyulwd:!Fwfvs4o?9-L
I-?#kH*s4oyuq?gM?k #wgMLmumjoZs4hwd|}i\s4kHmugomjo#kLgs yuwMhjqI?sud gMmjok7gMo#w2:ilhjk mj
tlhj:mjokHwfwokHmjUwwd|}i\s4kHmugo:sqIilov@kHmngMo
x
f p`p p  j
vs4hjhjw:s4oz:?
&H9Hz9`#{7hjhjmjtlk mjv:mzq qHwUwokHmus4h&w:|}i\s4k mugMoyZk Zs4klvs4o:wk *s4oZynqg?wd
mjo_kHmuy's4s4Uw-v9s4hjhjwd???<:Ibz ?* @`n_ 9:`qFw ilhjkHmztlhj^&c}:ux
I4&

Fwwk
Ic4&

ef x h f iCiCi* e6j x h  ml f x h f iCiCi*l j x h j mnxo#


h
h
h
h
s4oZ&bZwd|i\s4k mugMo0muy\yuwMhjqI?sdugMmjok#mjq
h x e6r r zxKl r
h  :kxdi\ynkZynwk
k&muy\yuk *s4mukHq?gM?s440kLg9k&

xh ekr |xKl r
r
h
h x r e6r mx h ek r r |xKl r
h
h
x
h r ekr |xl r  h ek rr
Ic$

h
h

X.P$TVNZWNQW.\P$TVRU+k]
s4oZkHwMt\gM<s4?mjhj4qgM4wkOk Zs4k'mjklmnys
 9?I9dmjq
qIwMwMo#k mus4hw:|}i\s4kHmngMoZ`9pw
wk
ekr
h
r
l
h x x h r  ekr h r
cgM mjo#k w:<s4kHwf+gkHyumudwdy7kLgwk
l r  h ek r r
}x |
e6r h r m0n
f p p p L r9f L rQf p p p L j
cgMk wk Zs4kgMil! s4?:mjk *s4?v9goZynk?s4ok_ i\ynk-:ws::Hb9gMq kHwgMkHw
s4?mus4:hjwdyu yumjov@wgMil gM?mnmjoZs4hwd|i\s4k mugMosy s
 9LIbdmjq
qIwMwMo#k mus4h
w:|}i\s4k mugMoZ`p
w wks4o w:|}i\s4k mugMoq?gMm
x kHs4kFsys4o :9 -  9L
nF p p`4p L j
s4oZ Fwtlhji\pkHmuymjo#kLgwd|}i\s4kHmugo Ic$ qgM  s4oZ
yghjwqgM0
n
p`p 4p L j `!p w0v9gMo#k mjoilwkHmuytl4gMv@w:dilUwilo#k mjhFws4w
9k&
 ** <* ?z?x `
qIilo#v4kHmugo#
x 0mjk  kHw:ynwtl4gMtlwM?kHmzw:ywM9muyukLy, mzqs4oZ go#hjmjqkHw
qgMhzhugMFmzoZfv9gMo:mzkHmugoZys4Uwys4k muyulwd

[
e
K
l

h r  h e h h [ l r  h ekekr r h r
Ic4a&
h
qgMs4hjht\s4mj<y2gMq&&b*Hz:9mjoZdmjv@wdyL ,
}}h p p`4p # `Iqk #muylv9gModmjkHmngMomuyys4kHmuyn
lw:d:k #wFgM?mumjos4hlt\s4?k mus4hZdmjq
qIwMwMo#k mus4h'wd|i\s4k mugMomuyv9s4hjhjwd0???<:Ibz
 ?*
@`n_ z:&s4ov9s4oF:wwMI0?mjk kHwMomjoFk #wyuwMhjqI?sSUd gMmjok#q?gM?
h f egf x h f iCiC<i h j ekj x h j nx |#
Ic4&
h
h
h
h
RS



ilwMkHgdqgygMhjmjoZkHmuyw:|}i\s4k mugMopmuyw:yynwo#k mus4hjhzkHwys4wsy

kHs4kZi\yuwdqgk #w_r2s4tlhus4v@ww:|}i\s4k mugMopw9v@wMtlkZkHs4kFwi\ynwk #ws4tltl4gM9mj


s4k mugMoy+mjo0w:|}i\s4kHmngMo^ &#gMot\swa&2qg\k #wt\s4?k mus4h7dw?mzs4k mjw:y`Q~7w
yuwMhjqI?s UgMmjokHow:yygMqkHwgMLmumjoZs4hZ:mzq qHwUwokHmus4hlwd|}i\s4kHmugoi\s4*s4okHwMw:ykHs4k
kHwoilwLmjv9s4h7s4tltl4gM9mjs4k mugMoy+v9s4o0:wygMhjw::_mjk w*s4k mjwfw:s4oZy`

Sd

Q
d`d
 `6:Q&
4&H9?9:9&zHb9f7?dZ  QQ9
*<?
9:H9*:I
Zb9?&z&b-@LUbYd &bQ::Hb9
b9?9QL9z:Hb9:
& b9U K=*a 9Hb9b
(:<?2[<?257B?2,FY5FC>3<?8;<?FC>FCE%FC0$E8A-4:>S<?U0$-QAFCE%FCI6D$0$8A<@>8;F=.-K-4B@B?3-4$>-43Q+
{ ]![ 7W *] 9`

You might also like