researcher.watson.ibm.com · 2015-10-31 · 5 @6 M>6 EW= EWB@V@EWB@jFE3' EWGHJIG 6g63636g636g636...

Post on 17-Mar-2020

6 views 0 download

Transcript of researcher.watson.ibm.com · 2015-10-31 · 5 @6 M>6 EW= EWB@V@EWB@jFE3' EWGHJIG 6g63636g636g636...

�������������� ����������������������� �����"! $#� %�&�(') +*,��!,') ��

-%.

/0 %1(���2��3�4���2!5��)�

-67 �698:�(;�<>=@?5A(��B@C9D�EFAHGIC9JLK�8NMPO>O>Q

')1( %!,��!

!,?@R@STC9JHJUEWV4C9BX=Y;�AHJICZ;�[]\^?@[9_@[`[`STEFBaJ�b�\�JIc@E AIEWde?5C`AIEWSfEWBaJUG\^b>A&JUc@E V@EW<>AIEWEgbh\i��;hGHJUEWA)b�\i!ejFC`EWB@jFE3C`B4��b�Sf=@?,JUEFA(!,jWC`EWB@jFE

C9BkJUc@Eg�AU;�V@?@;hJUE3��b>[9[`EW<>E�b�\�JUc@E�(B5C9D>EWAIGHC9JLKXb�\��L[`[9C`B@b>C9G�;lJ��AIRY;hBY;lm���c@;�Sf=@;�C`<>Bn8@o�p�p5M

��AIRY;�B@;58Y�L[`[9C`B@b>C9G

j� ��b>=aK,AHC`<>caJ�RaK4/nEFc5AU;T�(b>Sf;�B4!,?@AI;58]o�p>p,M

� � ���������

'�c@E�>;PDh;�=@AHb><>AU;hSfSTC`B@<([Z;�B5<>?Y;�<>E�EFB@jWb>?@AU;h<>EFG%?@GiJUb �)AIC JUE�=@AHb><>AI;�SfG�JUcY;hJ%;hAIE�GHJIAI?@j JU?@AHEFV;�B@V E ;�G�K�JIb ?@B@V@EWAIG�J ;�B@Vn6 *YE ;hJI?@AIEWG [`C���E4b>R��HEFj JHm b>AIC9EFBaJUEWV V@EFGHC`<>Bn8�V,K,B@;�SfC9j�jW[Z;�GHG [9ba;�V@C9B@<@8V5KeBY;�STC`j�STEWJIc@beV4C9BaD>bej ;hJIC`b>B08@;�?5JUb�S ;hJIC`j(GHJUb�AU;�<>E Sf;�BY;�<�EFSTEFBaJ 85JLKe=]EgGI;h\^EWJLK�8Y=@AIEWjFC9GIE3E��,jFEW=,mJUC9b>B cY;�B@V@[9C`B@<58&;�B@V GI?@=@=]b>A�J \^b>ATS ?@[ JUC9JIc@AIEF;�V@C9B@<@8�<>AU;h=@c@C`jWGF8);�B5V B@E J���b>A�� C`B@< Sf;��hE�C9JTJUc5E[Z;hB@<>?Y;�<�E b�\ j c@b>C`jWE \^b>A�Sfb�GHJ =@AHb><>AU;hSfSTC`B@< =@?@AI=]b>GHEFGF6 '�c@ET[Z;hB@<>?Y;�<�E GI=]EFjWC9_YjF;hJUC9b>B V@EW_YB5EFG

JUc5EfGHEFSf;�BaJUC`jWG3\^b�A��Yb>;hJUC9B@<X= b>C9BaJ ;hAIC9JIc@STEWJUC9j�6f'�c@C`G3EFB@GH?@AIEWGgJIcY;hJ3JUc@ETAIEWGI?@[ JUG b�R5J ;�C9B@EFV ;�AHE=@AHEFV@C9jWJ ;hR@[`Ek;hB@V JUc@EXjFbeV@EkC9G = b>A�J ;�R5[`Ek;�jWAIb>GHG ;�[`[ =@[Z;lJI\^b>AHSfGW6 1�b�� EWD�EFAW8�;"GHJIAU;�C9<>caJI\^b>A��&;�AHVC`ST=@[9EFSTEFBaJ ;hJIC`b>B bh\nJUc5EFGIE([Z;�B5<>?Y;�<>E�\^EF;hJU?@AHEFG%j ;�Bfj ;�?5GIE��>; Dh;3JIbgR]E�GIC`<�B@C9_YjF;�BaJU[ K [`EWGIG%E��TjFC9EFBaJJUc@;�B * ��� ')�)���+b>A�BY;hJIC9D>E(���>��� � C9Sf=@[9EFSTEFBaJ ;lJUC`b�B@GF6�!,C9B@jFE�= EWAH\^b>AHS ;hB@jFE)C`G�jWAIC9JIC`jF;�[@C`B JUc5EV@b>Sf;�C9Bkb�\ B ?@STEFAHC`jF;�[0jFb�Sf=@?,JUC`B5<@8,JIc@E ?@GIE3b�\$�>;PDh; \^b>A�B ?@STEFAIC9j ;�[n=@AIb><�AU;�STG&j ;hB�R]E [`C`STC9JIEFV06

�LB JIc@C`G�JUc5EFGIC9GF8!��ET=@AHEFGIEWBaJ ;kJUEFj c5B@C`d ?@E JUb4S ;"��E B ?@SfEWAIC9j ;�[%�>; Dh;4=5AIb><>AI;�STG�AI?@B \ ;�GHJIEFAF6# Ekj ;�=@C J ;�[9C%$WE b>B JUc5E4b�R@GIEWAHDh;hJUC9b>B JUc@;hJ Sfb�GHJ =@AHb><>AI;�SfG GI=]EFB@V�Q>p'& b>A Sfb�AIE b�\(V5KeBY;�STC`j

E��,EWjF?5JIC`b>B JUC`STE b>B o�p'& b>A [`EWGIG3b�\�JIc@ETGHJ ;lJUC`j jWb,V@Eh6 �LB B ?@STEFAHC`jF;�[�=@AIb><�AU;�STGF8�STb>GHJ3b�\ JUc@C9G

GHJU;hJUC9j�jFbeV@E�jWb>Sf=5AIC`GHEFG b�\Y;�GIE J b�\@RY;�GIC9j jWb>ST=@?5J ;lJUC`b�BY;�[>b>=]EFAI;hJUC9b>B@GNJUc@;hJ bejFjW?@A�\^AIEFd ?@EWBaJU[9K�6(# E;�BY;h[9KeGIE =@AHb><>AU;hSfG�JUbTV@E JUEFj J(JIc@EFGHEgR@;�GIC9j3b�= EWAU;hJIC`b>B@GW8:;�B@V4C`BaD>b���E B@;hJUC D>E jFbeV@E \^b>A�E��,EFjW?5JUC9B@<JUc5EFS46 �(GHC`B@< JUc@C9GfJUEWj c@B@C9de?5E�8�b>?@A =]EFA�\^b>AISf;�B@jWE�bPD�EFAIc5E ;�V@G4;�AHE�jWb>Sf=@;�AU;�R5[`EXJUb JIcY;hJ bh\ ;

�H?@G�JHmLC9B,m JIC`STEjWb>Sf=5C`[`EWAF6

C9C`C

� ���� ��� ��� � � ��� � �

� ��b�?@[`V [`C%�hE JUb�JIcY;�B � S K ;hV5DeC`GIb�AF8$�iAHb�\^EFGHGIb>A���;PDeC9V � ;hV@?Y;58 \^b>Agc5C`G3<>?@C`V@;�B@jFEf;�B@V C`B,mGIC9<>caJI\^?@[njFb>STSfEWBaJUGF6i� ��b�?@[`V4;�[9GIb [`C���E�JIb JUcY;�B � SfEWS R]EFAIG�bh\�JIc@E3��b>[`;�AIC9G&AIEWGIE ;hAIj c4<>AIb>?5=X\^b�AJUc5EFC`A�c5EF[`= ;�B5V =@;hJUC9EFB@jWE�6 !,=]EFjWCZ;�[�JUcY;�B �eG�JIb�� EFB@< # ?�6W6F6IC J �&;hGg;k=@[9E ;�GH?@AIE JIb ��b>A�� �)C9JIcc@EWAF6

C9D

� � � �� ��� � � � � ��� � �

������� ���

� ��� � ��������������� ��� �!� � �!�"� �!� �!� � �!� �!� �"�!� � �!� �!� � �!� �"�!� �!� � �!� � M

M>6 M �iAIb>R@[9EFS !eJ ;hJIEFSTEFBaJ+636g636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 M

M>6 o '%Ke=@C9j ;�[ �>; Dh;T��b>ST=@C`[`;hJUC9b>Bk;�B@V4 (�,EFjW?5JUC9b>B 63636g636g63636g636 6g636g63636g636 #

$ % ���'&(���)��*,+-�)��. � � �!�"� �!� �!� � �!� �!� �"�!� � �!� �!� � �!� �"�!� �!� � �!� � Q

o,6 M �LSf=5AIbPD>EWV�- K JIEFjFbeV@E3�LBaJUEFAH=@AIE J ;hJIC`b>B 6g636 6g63636g636g63636g636 6g636g63636g636 Q

o,6 o ��?@GHJ�mL�LB,m '�C`STE0/ ���L'21)��b>ST=@C`[`;hJUC9b>B 636g636 6g63636g636g63636g636 6g636g63636g636 O

o,643 - K JUEWjFbeV@E�JUbf- K JUEFjWb,V5E ��=5JIC`STC%$F;hJUC9b>B�636 6g63636g636g63636g636 6g636g63636g636 MPp

o,665 !eJ ;lJUC`j3��b�Sf=@C9[Z;hJIC`b>BTJUbT�;lJUC9D�Eg��b,V@E 636 6g63636g636g63636g636 6g636g63636g636 MPp

o,67# �(GHE3bh\$�NC`R5AU;�AHC`EFG 6g6 636g636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 M>M

o,648 $D>b>[ D,C9B@< JUc@E3��;�B@<�?Y;�<>E3!,=]EFjWC9_YjF;hJUC9b>B 6 6g63636g636g63636g636 6g636g63636g636 M o

9 : &)����&��;�'< � �!� �!� � �!�"� �!� �!� � �!� �!� �"�!� � �!� �!� � �!� �"�!� �!� � �!� � M=5

> % ���@?@���BA C � �BDFE(*=�;* �!�"� �!� �!� � �!� �!� �"�!� � �!� �!� � �!� �"�!� �!� � �!� � MPQ

5@6 M ��;hJ ; ��EW= EWB@V@EWB@jFE3�BY;h[9KeGIC9G 63636g636g636 6g63636g636g63636g636 6g636g63636g636 MPQ

5@6 M>69M �iAHb><>AU;hS �Nb,b�=@G 636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 MPO

5@6 M>6 o ! J ;hJIEFSTEFBaJ��LB@GHJU;�B@jFEWG 636g636g636 6g63636g636g63636g636 6g636g63636g636 o�p

5@6 M>673 (�,EFjW?5JUC9b>B���AHV@EFA 6g63636g636g636 6g63636g636g63636g636 6g636g63636g636 o�p

5@6 M>645 #+c@;hJ)C`G�; ��EF=]EFB@V5EFB@jWE 6g636g636 6g63636g636g63636g636 6g636g63636g636 o,M

5@6 M>6G# ��C9AIEWjWJUC9b>B ��EFj JUb>AHG 6g63636g636g636 6g63636g636g63636g636 6g636g63636g636 o>o

5@6 M>678 �(AIAI;PK �jFjWEFGHGIEFG 636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 oH5

D

5@6 M>6�� ��EW= EWB@V@EWB@jFE3'�EWGHJIG 6g63636g636g636 6g63636g636g63636g636 6g636g63636g636 oH55@6 o ��E \^EFAHEFB@jWEg�(BY;�[9KeGHC`G 636g636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 o��

5@6 o,69M -�;�GIC9j3��b>B@jFEW=5JUG 636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 o��

5@6 o,6 o '�c5E3�([`<>b�AIC9JIc@S 636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 o�Q

5@6 o,673 ' AU;hB@GH\^EWA(*Y?@B5jWJUC9b>B@G 63636g636g636 6g63636g636g63636g636 6g636g63636g636 o�O

5@643 (�5jWEF=5JIC`b>B���c@EWj �eC9B@< 636g636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 3ao5@643569M �>; Dh; (�5jWEF=5JIC`b>B"!,EFSf;�BaJUC9jFG 6g636 6g63636g636g63636g636 6g636g63636g636 3ao5@64356 o ��c5EFj � C`B@< *Yb>A�������� ����������������������������! 6g636g63636g636 6g636g63636g636 3 35@6435673 ��c5EFj � C`B@< *Yb>A "��#�%$'&)(#��*+�%��,-���%,/.102���+��*� ��3��������������� 636 6g636g63636g636 3�5

5@665 �Nb,b>= ��C9GHJUAHC`R@?,JUC`b�B�6 636g636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 3'#5@665@69M ��b�B@jFEW=5J 6g6 636g636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 3 85@665@6 o ��C9GHJIAIC`R5?5JUC9b>Bk�(GHC`B@< ��EW= EWB@V@EFB5jFE AI;�=@c@G 636g63636g636 6g636g63636g636 34�5@665@673 ��C9GHJIAIC`R5?5JUC9B@< �Nb,b�=@G #+C9JIc���b�B@V@C9JIC`b>B@;�[N!eJU;hJUEWSfEWBaJUG 6 6g636g63636g636 3>Q

5@67# �LSf=5[`EFSTEFBaJU;hJUC9b>B 6g6 636g636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 5@M5@67#,69M �)EW\^EWAIEWB@jFE3�BY;h[9KeGIC9G 63636g636g636 6g63636g636g63636g636 6g636g63636g636 5 o5@67#,6 o ��EW= EWB@V@EWB@jFE3�BY;h[9KeGIC9G 636g636g636 6g63636g636g63636g636 6g636g63636g636 5 o5@67#,673 �Nbeb>= ��C`G�JUAIC9R@?5JIC`b>B 6g63636g636g636 6g63636g636g63636g636 6g636g63636g636 5 5

5@648 ��EWjFb><�B@C%$WC`B@<T��=]EFAU;lJUC`b�B@G);�B@VX�LB@GHEFAHJIC`B@< !,=]EFjWCZ;�[��&;h[`[`G 636g636 6g636g63636g636 5�#

5 6 �87�� ���E �:9 ���)A A � �<; �B*=�;� : � ���� �;� � * �"�!� � �!� �!� � �!� �"�!� �!� � �!� � 5=�#,6 M ��b>STSfb>B4��=]EFAI;hJUC9b>B@G)�)EFjFb�<>B@C%$WEFVk636g636 6g63636g636g63636g636 6g636g63636g636 5aQ#,6 o ��= EWAU;hJIC`b>B@G)��b�J��)EFjFb�<>B@C%$WEFV 636g636g636 6g63636g636g63636g636 6g636g63636g636 #�3

> ? �'&(�;*�� � ��� � ��� ����'� ������ � �!� �!� � �!� �!� �"�!� � �!� �!� � �!� �"�!� �!� � �!� � #H5856 M ��beV@C9_YjF;hJUC9b>B@G�JIb JUc@E �LBaJUEWAI=@AHEWJUEWA 636g636 6g63636g636g63636g636 6g636g63636g636 #H5856 o �%;�[`C9V@C9JLKTb�\ JUc5E3' AU;hB@GH\^b>AHS ;lJUC`b�B 6g636g636 6g63636g636g63636g636 6g636g63636g636 # #

@ A�B ��� � A � � � �BD A & �BD;��� ���;� � � �!� � �!� �!� �"�!� � �!� �!� � �!� �"�!� �!� � �!� � #�Q�,6 M '�c@E3-�EFB5j c@S ;hA �X�iAIb><�AU;�STG 63636g636g636 6g63636g636g63636g636 6g636g63636g636 #�Q�,6 o ��EWGI?@[ JUGg6g636g63636g6 636g636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 #�O

DeC

�,6 o,69M �)EFV5?@B@VY;�BaJ( (�,jFEF=,JUC`b�B ��c@EWj �eC9B@< 6g63636g636g63636g636 6g636g63636g636 #�O�,6 o,6 o �Nbeb>= ��C`G�JUAIC9R@?5JIC`b>B 6g63636g636g636 6g63636g636g63636g636 6g636g63636g636 8>p�,6 o,673 � EFA�\^b>AISf;�B@jWE�636g636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 85M

� �!� � �'D;��*=��� � * � �!� � �!�"� �!� �!� � �!� �!� �"�!� � �!� �!� � �!� �"�!� �!� � �!� � 8'#

� � �(���(��� +-�)��. �!� � �!�"� �!� �!� � �!� �!� �"�!� � �!� �!� � �!� �"�!� �!� � �!� � 84�

C � � � ��� B���� ���� � � * C D;?@�@� ������A � � �!� �!� �"�!� � �!� �!� � �!� �"�!� �!� � �!� � 8>O

; �87 D;�;�@?@��� �� E �!� �!� � �!�"� �!� �!� � �!� �!� �"�!� � �!� �!� � �!� �"�!� �!� � �!� � �,M

D,C9C

� � ��� � � � � � �� �

#,6 M �(?@S R EWA�b�\i��jWjF?@AHAIEFB5jFEFG(b�\ -&;�GIC9jg��=]EFAI;hJUC9b>B@G 6g636g63636g636 6g636g63636g636 #>o

�,6 M -�EFB5j c@S ;hA �k�iAIb�<>AU;�STG)�(GHEFV"63636g636g636 6g63636g636g63636g636 6g636g63636g636 #�O�,6 o ��EWV@?@B@V@;�BaJ (�,jFEW=5JUC9b>B@G(;�B@V� (�5jWEF=5JIC`b>Bem \^AIEWE3��beb>=@G 6g63636g636 6g636g63636g636 8>p�,643 ��nEWjWJ�b�\ ��beb>= ��C`G�JUAHC`R@?5JIC`b>B 63636g636g636 6g63636g636g63636g636 6g636g63636g636 85M�,665 ��b>ST=Y;�AIC9GIb>B �)C JUc��>�(����EWAH\^b>AHS ;�B5jFE 636 6g63636g636g63636g636 6g636g63636g636 8�5

DeC`C9C

� � ��� � � � � ��� � � �

M>6 M ��?@[ JUC`V5C`STEFB@GHC`b>BY;h[]�(AIAI;PKeG 6g63636g636g636 6g63636g636g63636g636 6g636g63636g636 5M>6 o (�,JIAU;T�Nba;�V@G)��EFEFV5EFV ��?5E JIb �[`C`;�GIC9B@< 6 6g63636g636g63636g636 6g636g63636g636 5M>643 ��= EWAU;hJIC`b>B@G�b�B�! J ;�j � 6g636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 8M>665 - K JUEWjFbeV@E3 �5;�ST=@[9E 636g636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 �

356 M ��beV@C9_YEWV���b>Sf=5C`[`EWA 636g636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 M�#356 o ��beV@C9_YEWV4- K JUEFjWb,V5E !,EWd ?@EFB@jWE 636g636g636 6g63636g636g63636g636 6g636g63636g636 M 835643 ��beV@C9_YEWVX�LB JIEFAH=@AIE JUEFA 6g636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 M �

5@6 M �B� (�@;hSf=@[9E �Nb,b>=4��EFGHJ3636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 o�p

5@6 o ��C`G�JUC`B5jWJ)�Nbej ;hJIC`b>B@G�b�\i�>; Dh;XMWm � �AHAU; KX i[`EWSfEWBaJUG�636g63636g636 6g636g63636g636 oH55@643 ��;�=@=5C`B@<T�iAIb><�AU;�S �jFjWEFGHGIEFG(JUbT1(EF;�=��(;�STEFG 6g636g63636g636 6g636g63636g636 o�Q

5@665 ��nEWjWJ�b�\ ���$���� b>B"�4EFSTb>AHKX�Nbej ;hJIC`b>B5G"6g63636g636g63636g636 6g636g63636g636 3>p5@67# ��nEWjWJ�b�\ � ��� ��� b>B"�4EFSTb>AHK ��bej ;lJUC`b�B@G 63636g636g63636g636 6g636g63636g636 35M5@648 �Nb,b>= ��C9GHJUAHC`R@?,JUC`b�B�6 636g636g63636g636g636 6g63636g636g63636g636 6g636g63636g636 3 85@6�� ��C`G�JUAIC9R@?5JIC`b>B bh\$; �Nb,b�= #+C JUc���b>B@V5C9JUC9b>BY;�[0!eJ ;lJUEFSTEFBaJIG 6g636 6g636g63636g636 5ap5@67Q '�c@E3��EWjFb><�B@C9JIC`b>BX iB@<>C9B@E 6g63636g636g636 6g63636g636g63636g636 6g636g63636g636 5@M5@67O �LB@GIEWAHJIC`b>BXb�\$!,=]EFjFC`;�[ ��E JUc@beV"�&;h[`[`G 6g636 6g63636g636g63636g636 6g636g63636g636 5�#

�,6 M (�5EWjF?5JIC`b>B4'�C`STEFG&\^b�A&JUc@E3-�EWB@j c@Sf;�A � G 6 6g63636g636g63636g636 6g636g63636g636 8 3

C �

� � ��� � � � �

� � ��� � � � � � �

'�c@C9G � b>A �T;�C9SfGiJUbgC`ST=@AIbPD�E�JIc@E=]EFA�\^b>AISf;�B@jWE(b�\nJUc@E��>;PDh;������ ��=@AIb�<>AU;�STSTC`B@< [Z;hB@<>?Y;�<�E(;hB@VSf;���E C9J�\^E ;�GHC`R@[9E�\^b>A�B ?@SfEWAIC9j ;�[0jWb,V5EFG�JUbTR E �)AHC9JHJUEFB4C`BXC J 6�LBTJIc@C`G j cY;�=5JIEFAF8 � E�V5EFGIjWAIC9R E&JIc@E)=@AIb>R5[`EFS�;�B@V E��,=@[`;�C`B c5b�� �>; D�;�=@AHb><>AI;�SfG$;�AIE�E �5EWjF?5JIEFV

?@GHC`B@< JUc@E4RY;�GHC`j4SfbeV@EW[�GI=]EFjFC _YEFV C`B JUc@E"�>; D�; ��C9AHJI?Y;�[���;�j c5C`B@E�!,=]EFjFC _Yj ;lJUC`b�B�� � .�O4��� 6 �LB��cY;�=,JUEFA(o,8 � E V@EFGHjFAHC`R]E3=5AIEWDeC9b>?@G���b�A � JUc@;hJ)cY;�G)R]EFEFB4V@b>B5E JIbfC9Sf=5AIbPD>E3�>; Dh; = EWAH\^b>AHS ;�B5jFE�6�LB ��cY;�=,JUEFA 358 � E <>C9D�E ;�B�b D�EFA�D,C9E���b�\iJUc5E ;�=@=@AHba;�j c"JU;���EWB RaK�?@GF63��c@;�=5JUEWA 5 JU;�[%� G�;hR b>?,Jb>?@A�=@AHb><>AI;�S ;�BY;h[9KeGIEWG�;�B5VTJIAU;�B@G�\^b>AISf;hJIC`b>B@G�;hB@VTJIc@EFC9A�C`ST=@[`EWSfEWB JU;hJUC9b>B06���cY;�=,JUEFA #�[`C`G�JUGiJUc5EjFb�SfSTb>B b>=]EFAI;hJUC9b>B@G&C9Bk=@AIb�<>AU;�STG�JIcY;hJ);�AHE�jFbPD>EWAIEWV�RaKkb>?5A�JUEWj c@B@C`d ?@Eh6&��c@;�=5JUEWA 8 V@EFGHjFAIC9R EWGJUc5E STb,V@C _Yj ;lJUC`b�B@G&JUb JUc@EgAI?@Bem JUC9SfE�C9BaJUEFAH=@AIE J ;hJIC`b>Bn6��LB ��cY;�=,JUEFA2� � E =@AHEFGHEFBaJ�E��,=]EFAHC`STEFBaJ ;�[AIEWGI?@[ JUGW6(# E�=@AHEFGIEWBaJ&b>?@A�jWb>B@jF[9?@GIC9b>B@G�C`Bf��cY;h=5JUEWA�Q56 �LBk��cY;�=,JUEFA O58 � EV@EWGIjWAIC`R]E�\^?5JU?5AIE ��b>A��:6

����� ��������� �"! #%$'&($'�"! �")%$

�>; Dh;TcY;hG�S ;�BaKkj c@;�AU;�j JUEWAIC`G�JUC9jFG�JUcY;lJ)S ;��hE C9J)V@EWGIC`AI;�R@[9E�JUb ?@GIE+*

, ; jF[9E ;�BXb>R �HEFjWJ�mLb>AHC`EWB JIEFV4V@EFGHC`<>Bn6-/.103240658790;: < 01=�>@?A0B<DCAEBFHGJI�KMLN5PO@<DE 7RQ�7R:D>@?A7TSJUVK�OXW

M

, V5KeBY;hSfC9j�jF[Z;hGIG�[`b>;�V@C`B5< ;�B@V4SfE JUc@beVXC`BaD>bej ;hJIC`b>Bn6

, ;�?,JUb>Sf;hJUC9j�GHJIb>AU;h<>E�S ;hBY;�<>EWSfEWB JF6

, JLKe=]E3GI;h\^EWJLK�6

, =@AHEFjWC`GIE E �5jWEF=5JIC`b>B4cY;�B5V@[`C9B@<@6

, R@?5C`[9J&C`BXGI?@=5= b>A�J)\^b>A�S ?@[ JUC9JIc@AIEF;�V@C9B@<@6

, GH?@=@=]b>AHJ)\^b>A�<>AI;�=@c@C9jFGW6

, =]b>AHJU;�R@C9[`C9JLK�8:GIEFjW?@AIC JLK>8�;�B5V B@EWJ�� b>A � C9B@<XGI?@=@=]b>A�J�JUcY;hJ�S ;��hEFG�C J�EF;�GHK�JUbkGIc@;�AIE ;�=5=@[`C9j ;lmJIC`b>B@G�bPD�EFA)JUc@E �LBaJUEWAIB@E J,/�� �#�� ��� ���/���

��#�+��� ���'���#&�������1�3STb,V@EW[F1 6

'�c@EWGIE c@EW[`=4JUb Sf;��hE =@AHb><>AU;hSfG)GIC9Sf=5[`E3;�B@V"EF;�GHKXJIb ?@B@V5EFAIG�J ;�B5V ;�B@V�V5EFR@?@<56('�c@Eg[Z;�B5<>?Y;�<>EGI=]EFjWC9_YjF;hJUC9b>B ;�[9GIbXV@EW_@B@EFG�JUc5ETGHEFSf;�BaJUC9jFG�\^b>A �@ba;hJUC9B@<k=]b>C`BaJ ;�AHC9JIc@SfE JUC9j�63'�c@C`G�EWB@GI?@AHEFG JUcY;lJJUc5E�AIEWGI?@[ JUG�b>R5JU;�C`B5EFVk;�AHE�=@AHEFV@C9jWJ ;hR@[`E�;hB@V JUc@E�jWb,V5E�C`G = b>A�J ;�R5[`E�;hjFAIb�GIG);�[9[ =@[`;hJI\^b�AISTGF6i�>; Dh;� G

GHJIAIb>B5< JLKe=@C9B@< ;�B@V <>bebeV = b>C9BaJUEFA R EWcY; D,C9b>A$c@EW[`= Sf;���E&JIc@E);�BY;�[ KeGIC`G$;�B@V b>=5JIC`STC%$ ;lJUC`b�Bgb�\n�>; Dh;GIb�?@AIjWEg=@AHb><>AI;�SfG�GIC`ST=@[9E�;�B@V4Sfb�AIE�=@AHEFjFC9GIE�JUc@;�B�[`;�B@<>?@;�<>EFG �)C JUc@b�?5J)GHJIAIb>B@< JLKe=@C9B@<@61(b � EWD>EWAF8]C`Bk<>EWB@EFAI;�[ 8@�>; D�; =@AHb><>AI;�SfG�E��,EFjW?5JUE3GI[9b�� EFA�JIcY;�BkJUc@E�jWb>AIAHEFGH= b>B5V@C`B@< =@AHb><>AI;�SfG

C`B b�JIc@EFA3c@C`<�c [9EWD>EW[ [`;�B@<>?@;�<>EFG [9C%��Ef��b�A * ��� ')�)���g6�!,b�SfE AIEF;�GIb�B@Gg\^b>A JUc5C`G V@C � EFAHEFB@jWE C9B=]EFAH\^b�AISf;�B@jFE ;hAIE *

, �>; Dh;(JLKe= E�GU;h\^E JLK AHEFd ?@C`AHEFGi;hAIAU; K3R]b>?@B@V@G j c@EFj � C`B5<@6i'�b=@AIbPDeC`V@E GIEWjF?@AHC9JLK ;�B@V AIEW[`C`;�R@C`[9C9JLK�8E D>EFA�K";hAIAU; K4GI?5R@GIjWAIC`=,J�E��,=@AHEFGIGHC`b>B�C`Gj c5EFj ��EWV JUb GHEFE C \iC9J�C9G �)C JUc@C9B�JUc5E R]b>?@B@V@G(b�\iJUc5E;�AHAU; K>6%!eC`B@jWE JIc@C`G�C9G�V@b>B@E V5KeBY;hSfC9j ;�[9[9K>8,C9J�C9B@jF?5AIG)AI?@Bem JUC9SfEb D�EFAHc@E ;�Vn6

, ��?@AHC`B@<)E �5EWjF?5JIC`b>Bn8�E ;hj c AIE \^EFAIEWB@jFE%Dh;�[`?@E%S ?@G�J R E%j c@EFj �hEFV JUb�GIEWE�C \@C9J�C9G Dh;�[9C`V / B5b>B,mLB ?@[9[F1R]EW\^b>AHE C9J�jF;�B�R]E V@EFAHEW\^EWAIEFB5jFEFVn6

, �iAIEWjFC9GIE E��,jFEW=5JUC9b>B cY;�B@V@[9C`B@< =@AIE D>EFBaJIG jFbeV@E STb�JUC9b>B ;�jWAIb>GHG3G�J ;hJIEFSTEFBaJUG�JIcY;hJ j ;hB =]b>G�mGHC`R@[ K JUc5AIb � ;�B E��,jFEW=5JUC9b>B06 ' � b G�J ;hJIEFSTEFBaJUGTj ;hB�R]E�GI;h\^EF[ K AIEWb>AIV5EFAIEWV b>B5[9K C \(JIc@EWK�8;�B5V ;�[9[@JUc@E�C`BaJIEFAHD�EFB@C9B@<3GHJ ;lJUEFSTEFBaJIG�R]EWJ�� EFEFBfJUc@EWS�8e;�AHE(E �5jWEF=5JIC`b>BT\^AIEWE�6i'�c@C9G%V5b,EWG B@bhJ

o

;�[9[`b � ?@G�JIb ;�=5=@[9Kkb�=5JUC9SfC�$ ;hJIC`b>B@G JUcY;hJ�B@EWEFV"AHEFb>AHV@EFAHC`B@<Tb�\iG�J ;hJIEFSTEFBaJUG(;hJ;�[`[n=@AIb><�AU;�S=]b>C`BaJIG / E�6 <@6YjWb>SfSTb>BkGH?@R,mLE �,=@AIEWGIGIC9b>B�EW[`C9SfC9BY;hJUC9b>B@1 6

, ��R��HEWjWJUG�b�\e?@GHEFA�mLV@E _YB@EFV3JLKe= Eh8hEh67<@6FjFb>ST=@[`E ��B ?@S R EWAIGF8lj ;hB@B@b�J�R]EiC`B@[9C`B@EWV�C`B3�>; Dh;N� *:b�AUO>Q � 6�LB@[9C`B@C9B@< C`G�B5EFEFV5EFV�\^b�A�E��TjFC`EWBaJ(E �,EFjF?,JUC`b�B";�G)C9J)jF;�B�;PD�b>C`VXJUc5E3bPD�EFAIc5E ;�V�V@?@E JUbTSfEWS mb>A�Kf;�[`[9b,jF;hJUC9b>B08>V@EWAIE \^EFAIEWB@jFC9B@<@8Y;hB@V jFb�= KeC9B@< b�\Nb�R��HEFj JUGF6 !,?5j ckC`B@[9C`B@C9B@< C`G�=5AIEWD�EFBaJUEWVXR K[`;�B@<>?Y;h<>E \^E ;lJU?@AHEFG JUcY;hJ b�= EWAU;hJIE b>B JIc@E AIE \^EFAIEWB@jFE Dh;�[`?5E C9JUGHEF[ \�8N;�B@V B@b�J�JIc@E jFb>BaJUEWBaJUG

b�\ JUc5E3AHEW\^EWAIEFB5jFE�6%'�c@EWGIE3C`B@jW[`?@V@E�JIc@E�����b>=]EFAU;lJUb>AW8Y;�B@V ���+�� j c@EWj �eG�\^b>A�AIE \^EFAHEFB@jWEFGF6

, '�c@E [`;�B@<>?Y;h<>EC9G&V@EW_@B@EFV�GI?@j cXJUcY;lJ&JUc@E�AHEFGH?@[9JIG�bh\ ;h[`[]b>= EWAU;hJIC`b>B5G�;�AIE�=5AIEFV5C`jWJU;�R@[9E�C`AHAIE mGH= EWjWJUC D>E3b�\ JIc@E =@[Z;lJI\^b>AHS ; =@AIb><�AU;�S C`G)AI?@B5B@C`B@< b>Bn6 '�c@C9G)=@AIE D>EFBaJIGJUc@E ?@GHEgbh\$GI=]EFjWCZ;�[

�Yb>;hJUC9B@<hmL=]b>C9B J(\^E ;hJI?@AIEWGgb�B GHb>STEf;hAIj c@C JUEFj JU?@AHEFGW8�Eh67<@60JIc@E \^?@GIEWV,mLS ?5[9JUC9=@[9KamL;�V@V"C9B@GHJIAI?@j mJIC`b>B�b�\�JUc@E"��b ��EWAU�%�6&'�c@C9Gk;�[9GIb =5AIEWD�EFBaJUGkJIc@E"?@GHE"b�\ Sf;hJUc�C`V@EWB JIC9JIC`EFGTC`B jFb>ST=@C`[9EFAb>=,JUC`STC%$F;hJUC9b>B@GW6&*Yb>A)E��5;�ST=@[`Eh8]JIc@E E �,=@AIEWGIGIC9b>B p����kj ;hB@B@b�JR E3AIEW=@[Z;�jWEFV"RaK�p56)'�c@C9G(C9GR]EFjF;�?@GIE C \���cY;�G�JIc@E GI=]EFjWCZ;�[�D�;h[`?@E (#�). AHEFGH?@[9JIC`B@< \^AHb>S ;hB b D�EFA��Yb � b>A�?@B5V@EFA��Yb � 8 b�A� $�� / ?5GIEFVkJIb V@EFB@bhJUEJIc@E�AIEWGI?@[ J�b�\ ;�Bk?@B5V@EW_YB5EFV4b>= EWAU;hJIC`b>BfGI?@j c�;�G&V5C9DeC`V@C9B@< $WEFAHb R K$WEFAIb'1 8,JIc@EFB JIc@EAHEFGH?@[9J�bh\0JUc@EE��,=@AIEWGIGHC`b>B �)C`[9[YR E � $�� ;�B@VkB@b�J&p56i�NC%�hE��)C9GIE�8 5�����$p � #jF;�B@B@b�J�R]E�AIEW=@[Z;�jWEFV4RaK�o��� R]EFjF;�?@GHEgC \ 5��� bPD>EWA��Yb �)GF8:JUc5E3AHEFGH?@[9J �)C`[9[nR]E (��). 6

, �>; Dh;TGH?@=@=]b>AHJIGb>B5[9Kkb>B5E mLV5C`STEFB@GHC`b>BY;h[0;�AHAU; KeGF6)��?5[9JUC9V@C`STEFB5GIC`b�BY;�[0;hAIAU; KeG�C`B��>; D�;TS ?@G�JR]E jFb>B@G�JUAH?@jWJIEFV ;�G(;�AHAU; KeG(b�\$;�AIAI; K,GW6�'�c@E3GIc@;�= E3b�\$;�B�;hAIAU; KXC9G�V5EW_YB@EWV�RaKXJUc@E [9EFB@<�JIc

b�\�E ;hj c�b�\ C JUG�V@C9SfEWB@GIC9b>B@GF6 '�c@EgGHcY;�=]E�b�\ ;f�>; Dh; ;�AIAI; K j ;hB�j cY;hB@<>E V5KeBY;�STC`jF;�[`[ K>6$*�C`<hm

?@AHE M>6 M3GIc@b �)GJIc@E V@C �nEWAIEWB@jFEgR E J���EWEFB"JUc5E STb>AIE3jFb>STSTb>B�AHEFj J ;�B@<�?@[Z;�A(o m V@C`STEFB5GIC`b�BY;�[;�AHAU; KX;�B5VXJIc@E jFb>AHAIEWGI=]b>B@V@C9B@< �>; Dh; ;�AIAI; K>6

'�c@b�?@<>c �>; Dh; ;�AIAI; K,G(=@AIbPDeC`V5E <>AIEF;hJUEWA �YE �,C`R@C9[`C9JLK�8YJUc@E K";�[9GIbfAIEFGH?@[9JC`B�; [`b>GHGb�\�=]EFA�\^b>A�mSf;�B@jWE�6&'�c@E3=]b�JUEWB JICZ;�[�;h[`CZ;hGIC`B5< R E J���EWEFB AIb �)G(b�\i;�B�;�AIAI; Kkb�\�;�AHAU; KeG�\^b�AIjFEWG(jWb>ST=@C`[9EFAIGJIb <>EFB@EWAU;hJIE4;�V@V@C JUC`b�BY;�[%[`ba;�V5G ;�B@V GHJIb>AIEWG ;�G V@C9GIjF?5GIGIEWV C9B � *Yb>AIO>Q�� 6 *Yb>A E �5;�Sf=5[`E�8�C9B* C9<>?@AHE M>6 o,8N;�B E �,JIAU;k[`b>;�V"b�\�$ �� �TC`G�AHEFd ?@C9AIEFV R]EW\^b>AHE GHJU;hJUEWSfEWB Jg� C9G�E��,EFjW?5JUEWV06 '�c@C9GC9G�R EWj ;�?@GHE�8]C`BXj ;hGIE $ �� � ;�B@V $ �� �� � ;hAIE3;�[`C`;�GIEWV085JIc@E�D�;h[`?@E b�\ $ �� � �)C`[9[0;�[9GIb j cY;�B5<>E ;lJG�J ;hJIEFSTEFBaJ�-6]'�c@E =]b>GHGIC`R5C`[`C JLK JIcY;hJJIc@E GHcY;�=]E b�\iJIc@E ;hAIAU; K4Sf;PKXj c@;�B@<>E C9Sf=5[`C`EWG&JUcY;lJ

JIc@E�;hBY;�[9KeGHC`GNJUb�V@EWJIEFj J AHEFV@?@B5VY;�BaJi;�AHAU; K�R]b>?@B@V5G�j c@EWj � GiC`G�Sfb�AIEijFb�Sf=@[9C`jF;hJUEWV � �"�"!,O>Q � 6

3

x

x[8][2]

Normal rectangular arrayx

x[2]

x[1]

x[3]

x[4]

x[5]

x[6]

x[8]

x[9]

x[0]

x[7]

x[8][2]

Java 2−dimensional array

� �;?)�(� � ��� � * ��?@[ JUC9V@C`STEFB@GHC`b>B@;�[ �(AIAI;PKeG

B: a[i+1] = new Object()

A: .......... = a[i];

C: .......... = a[i];

extra load of a[i] required here

aArray with aliased rows

� ��? �(��� ��� $ *� (�eJUAI;f�Nba;hV@G��(EFEWV@EFV ��?@E�JUb �[9CZ;�GHC`B@<

5

'�c@E [Z;�B@<�?Y;�<>E3V@beEFG�B@bhJ�V@EW_@B@E JUc5E SfEWSfb�AHKX[Z; K�b>?5J�\^b>A(;�AHAU; K�b�R��HEFj JUGF63!eb ��E jF;�B@B@bhJ<>?@;�AU;�BaJIEFE�JIcY;hJ�;�V��I;�jFEWB Ji;�AIAI;PKgEF[9EFSTEFBaJUG$;�AIE jFb>BaJUC9<>?@b>?5G JUb�EF;�j c b�JUc5EFA$C9B ;�jWJI?Y;�[,SfEWS mb>A�K>6�'�c@C`G�=@AIE D>EFBaJIG%V5EWD>EW[`b>=]EFAHG \^AIb�S �)AHC9JIC`B@<(;�[`<�b>AIC JUc@STGNJU?@B@EWV \^b>A�R E JIJUEWA =]EFA�\^b>AISf;�B@jWERY;hGIEFV4b>BXJUc@E b>AHV@EFA)C9B �)c@C`j c�;�AIAI; KkEF[9EFSTEFBaJUG�;�AHE3=5AIbejFEFGHGIEWV06

�(?@STEFAHC`jF;�[�=@AIb><�AU;�STG ;hAIE ?5GI?Y;�[9[9K jWb>Sf=5?5J ;hJIC`b>B@;�[`[ K"C`BaJIEFB@GHC9D>E ;�B@V JU;���E ;�[`b�B@<�JIC`STE JIbAI?5B06 1�EFB@jWE�8NJUc@EWC`A�=]EFA�\^b>AISf;�B@jWE C`G�jWAIC JUC`jF;�[ 63�)?@B,m JUC`STE C9BaJUEFAH=@AIE J ;hJIC`b>B";�B@V JUc@E bPD�EFAIc5E ;�V b�\

V5KeBY;�STC`j�j c5EFj � G�AHEFd ?@C`AHEFV \^b>A$JLKe=]E�GI;h\^EWJLKT;hB@V GIEFjW?@AIC JLK Sf;���E(�>; Dh; =5AIb><>AI;�STG$E��,EFjW?5JUE�GI[9b �)[9K>6# E ��;�BaJ�JUbf?@GIE �>; Dh;� G<>bebeV�=@AHb><>AU;hSfSTC`B@< \^EF;hJU?@AHEFG �)c@EFB �)AHC9JUC9B@< B ?@STEFAHC`jF;�[�jFbeV@EFGW6'�c@C9G�)C`[9[nR]E�\^E ;�GHC`R@[9E�C9\ �>; D�; j ;hB�R]E�S ;hV@E�JUbTE��,EFjW?5JUE \ ;�G�JUEFAW6

����� ������� & ��� &� (& � � ! ��� � & $�� ��) & )�� ��� ���� $��1� )

'�K,=5C`j ;h[`[9K�8@�>; Dh; GHb>?@AIjWEjWb,V@EC`G%jFb>ST=@C`[9EFVTC`BaJUb ;gGIEWd ?@EFB@jWE b�\NC`B5GHJUAH?@jWJIC`b>B5G �)c@C9j ck;�AIE �)AIC JIJUEWBb>?5J�JUb ; ��� $� � _Y[`E(jFb>AHAIEFGH= b�B@V@C`B5< JUb JIc@E�GIb>?5AIjFE�=5AIb><>AI;�S _Y[`Eh6i'�c@EFGHE�C`B@G�JUAH?@jWJIC`b>B@G&;�B@V JIc@EFC9A

GIEWS ;hB JIC`jWG ;�AIE V5EW_YB@EWV ;hG�=Y;�AHJ bh\%JIc@ET�>; Dh; ��C`A�JU?Y;h[i��;�j c5C`B@E / �h� � 1�!,=]EFjWC9_YjF;hJUC9b>B � � . O���� 6 �;�j c b�\iJIc@EFGHE C`B@G�JUAI?5jWJUC9b>B@G(C`Gb�B@E RaK JUE [9b>B@< ;hB@V"C`G(j ;�[9[`EWV"; RaK JUEWjFbeV@E�6 '�c@EWAIE ;�AHE ;�=@=5AIb � mC`Sf;hJIEF[9KXo�p>p RaK JUEWjFbeV@E C`B@G�JUAH?@jWJIC`b>B@GW8nEF;�j c b�\ �)c@C9j c = EWAH\^b>AHSfG;�B"b>=]EFAI;hJUC9b>B�GH?@j c ;�G�; [9ba;�V08;�G�JUb>AHE�8�;�B ;�AHAU; K ;�jFjWEFGHGF8 ;�_YEF[9V ;�jWjFEFGHGF8 ;�B ;�AHC9JIc@SfE JUC9jfb>=]EFAI;hJUC9b>B08 ;�[`b><�C`j ;h[%b�= EWAU;hJIC`b>B08 ;

STEWJUc5b,V C9B D�b,jF;hJUC9b>B080E JUjh6 *Yb>A�GHb>SfE b�\�JUc@EWGIE b>=]EFAU;lJUC`b�B@GJUc5EFAIE C9G�; V@C �nEWAIEFBaJ RaK JUEWjFbeV@E jFb>A�mAIEWGI=]b>B@V@C9B@< JUbTb>= EWAU;�B5V@G(bh\$V@C �nEWAIEFBaJ)JLKe= EWGF6�*Yb>A�E �5;�Sf=5[`E�8@JIc@E3R K JIEFjFbeV@E3JUbT[`ba;�V4;�B4C`BaJIEF<>EWADh;�[`?5E�b>BXGHJ ;hj � m �� � $4*�8@C`G�V@C �nEWAIEWB J)\^AHb>S JIc@E R K JIEFjFbeV@E JUb [`b>;�V4; V5b>?@R@[9E�D�;h[`?@E�b>BXJUc5E3G�J ;�j �m�*!� � $4*�6

- K JUEWjFbeV@E&C`B5GHJUAH?@jWJIC`b>B5G Sf;PK b�=5JUC9b>BY;�[9[9K�AHEFd ?@C9AIE�GHb>STE&;�AH<>?@STEFBaJUGW6 '�c@EWGIE);�AHE C9B JIEFAHGI=]EFAIGHEFV

C`B JIc@E�C`B@G�JUAH?@jWJIC`b>B GHJIAIEF;�S�6$ �,EWjF?5JIC`b>BTb�\]JUc@E�=@AHb><>AI;�S�=@AHb,jWEFEWV@G RaK C9B JIEFAH=@AIE JUC`B5<�JUc@C9GiGHJUAHE ;�Sb�\:RaK JUEWjFbeV@E&C`B5GHJUAH?@jWJIC`b>B5GF6i!eC`B@jWE�EWD�EFA�K C`B5GHJUAH?@jWJIC`b>BgS ?@G�J$R]E�C`BaJIEFAI=5AIEWJIEFV ;hJ AI?@Bem JUC9SfEh8hC J�JU;���EWG[`b�B@<>EFA&JIb E��,EFjW?5JUE JUc@E =@AHb><>AI;�S�6

#

b

a

b

c

load b

a

b

cc

b

load c

b+c

a

b

c

add

b+c

a

b

c

store a

Execution of a=b+c

� �;?)�(��� ��� 9 * ��=]EFAU;lJUC`b�B@G�b>B�!eJ ;hj �

'�c@Ek�h��� \^b>[9[`b �)G3;4G�J ;�j �>m E��,EFjW?5JUC9b>B SfbeV@EW[ 6 ��=]EFAI;�B@V@GgAIEWde?5C`AIEWV RaK ;�B b>= EWAU;hJIC`b>B ;�AHE=@?@GHc@EFV b>BaJUb�;4G�J ;�j �:6T'�c@ETb>= EWAU;hJIC`b>B C9G�= EWAH\^b>AHSfEWV ;hB@V b�= EWAU;�B@V Dh;�[`?5EFG B@EFEWV@EFV RaK C9J3;�AHE=]b>=@=]EFV \^AIb>S JUc@E GHJU;�j �:6 '�c@EfAHEFGH?@[9J b�\%JUc5ETb�= EWAU;hJIC`b>B08nC9\�;�BaK>8�C`G�G�JUb>AHEFV b>B JUc@E JUb�= b�\%JUc5EGHJU;�j �:6�*�C`<>?@AHE M>643 GIc@b �)Gc5b�� JUc@E G�J ;�j �kC9G�?@GIEWV�\^b>A&JIc@E E��,EFjW?5JUC9b>B�bh\�� ��� ��� 6* C`<�?@AIEgM>645 GHc@b �)G�;�BkE��5;�ST=@[`E��>; D�; [9b,b�=k;�B@V JIc@E�jFb>AHAIEWGI=]b>B@V@C9B@< RaKeJIEFjWb,V@E�C9B@GHJIAI?@j JUC9b>B@GF6

�(E �eJ�JIbfEF;�j c4R K JIEFjFbeV@E3C`B@G�JUAH?@jWJIC`b>BXC`G); V@EWGIjWAIC`=,JUC`b�B�b�\�C9JIG�=@?@AH= b>GHE�6'�c@E"RaK JUEWjFbeV@E"C`B5GHJUAH?@jWJIC`b>Bn8 $4$'� � $4*�8�;hJ = b>GHC9JIC`b>B M 3 C9GfAHEFGH= b>B5GIC`R5[`E�\^b�Af=]EFA�\^b>AISTC`B@< JUc5E

;�AHAU; Kk;�jWjFEWGIG)C`B JIc@E�R beV5Kfb�\�JUc@E�[9b,b�=06$'�c@E AIE \^EFAHEFB@jWE JIb JUc@E ;hAIAU; KfJUb R]E ;�jFjWEFGIGHEFV�C`G&[9ba;�V@EWV

\^AIb�S Dh;�AIC`;�R@[`EkM�8 ;�B5V JIc@EfC9B@V@E � b�\�JIc@EfEW[`EWSfEWB J JIb�R]E ;hjFjFEWGIGHEFV C`G [9ba;�V@EWV \^AHb>S Dh;�AIC`;�R@[9E o

/^JIc@C`GiC9G�V@b>B@E)RaK JUc5E�=5AIEFjWEFV@C9B@<gJ�� b3C`B@G�JUAI?5jWJUC9b>B@G 1 6 '�c5E $4$'� � $4* C`B@G�JUAH?@jWJIC`b>B C`ST=@[9C`jFC JU[ K�j c@EFj � GJUbXEWB@GI?@AHEfJIcY;hJ�JUc5E ;�AHAU; K AHEW\^EFAHEFB@jWETDh;�[9?@E C`G B@bhJ ������ 8 ;�B@V JUc@;hJ JUc@E C`B5V@E�� Dh;�[9?@E C`G �)C JUc@C9BJUc5E3R]b>?@B5V@G)b�\�JIc@E3;�AIAI; K>6

�[9[>JUc@E%RaKeJIEFjWb,V@E C`B@G�JUAH?@jWJIC`b>B@G�V@EF;�[`C9B@<��)C9JIcg[9ba;�V@G ;�B@V3GHJIb>AIEWG b�\@;�AIAI; K�EF[9EFSTEFBaJUG C`ST=@[`C9jFC JU[9K=]EFAH\^b�AIS JUc@C9G ���+���AHEW\^EWAIEFB5jFEkj c@EWj � ;�B@V ;�AHAU; K R b�?@B@V@G j c@EWj �:6 �LB ;�V5V@C9JIC`b>B08 �������AHEW\^EWAIEFB5jFEj c@EWj �eGg;�AHE = EWAH\^b>AHSfEWV"RaK ;�[9[�C9B@GHJIAI?@j JUC9b>B@GJIcY;hJ�B5EFEFV JIbX;�jFjWEFGIG�JIc@E b>R��HEWjWJ =]b>C`BaJIEFV"JUb R K";AIE \^EFAHEFB@jWE�6%'�c@EFGHEgj c@EWj � G�;�V@VkJUb JUc5E3E �,EFjF?,JUC`b�B�bPD>EWAIc@EF;�V06

8

Object y;public static void example_method() {

} y = a[i]; for (int i=0; i<10; i++) Object[] a = new Object[10];

variable 0 = yvariable 1 = avariable 2 = i

position descriptionbytecode

loop increment

loopinitialization

loopcondition

arraycreation

loop body

025678

111213141518192124

bipush 10anewarray class #1astore_1iconst_0istore_2goto 18aload_1iload_2aaloadastore_0iinc 2 1iload_2bipush 10if_icmplt 11return

store topmost stack value (of ref type) in variable 1push the value 0 on the stack (lower bound of loop)store topmost stack value in variable 2

push ref value from variable 1 on stackpush integer value from variable 2 on stackaccess the array to get a ref value; put this on stackstore topmost stack value (of ref type) in variable 0increment the value in variable 2 by 1push value of variable 2 on stackpush the value 10 on stack (upper bound of loop)if (var2 < 10) goto 11

create new array of specified type; resulting ref value is pushed on stackpush the value 10 on stack (array length)

� �;?)�(��� ��� > *�- K JIEFjFbeV@Eg (�@;hSf=@[9E

� � ��� � � � �

� � ��� � ��� � � � �

�>; Dh; =5AIb><>AI;�STG&AI?@BXGH[`b ��EWA�JUcY;�BkJIc@E jFb>AHAIEFGH= b�B@V@C`B5<T=5AIb><>AI;�STG&C`Bkb�JIc@EFA�[`;�B@<>?@;�<>EFG�[9C%�hE �+b�A* ��� ')����g6�1�b�� EWD�EFAW8 C9J C9G�= b�GIGIC9R@[`E JIb�Sf;��hE JIc@EFS E��,EFjW?5JUET\ ;�GHJIEFA ?@GIC9B@<XC`ST=@[`EWSfEWBaJ ;hJIC`b>BJUEWj c@B@C9de?5EFGiJUcY;lJ%;�VY;�=5J JUb�JUc5E�B@EFEWV@G�b�\:JUc@E�[`;�B@<>?Y;h<>E�6 ��;�BaK V@C �nEWAIEWB J%;h=@=@AIb>;�j c@EFGic@;PD�E)R EWEFBE��,=@[9b>AIEWV JUb(C`ST=@AIbPD�E JUc5E�=]EFAH\^b�AISf;�B@jFE%b�\]�>; Dh;=@AHb><>AI;�SfGW6�'�c5EFGIE�C9B@jF[9?@V@E%C`ST=@AIbPD�EFV RaK JUEWjFbeV@EC`BaJIEFAI=5AIEWJU;hJUC9b>B08 �H?@G�JHmLC9B,m JIC`STE jFb>ST=@C9[Z;hJIC`b>B08 RaKeJIEFjWb,V@E b>=5JUC9SfC�$ ;hJIC`b>Bn80GHJU;hJUC9jTjWb>ST=@C`[`;hJUC9b>B080?@GHEb�\�[`C`R5AU;�AHC`EFGW8�;�B@V j cY;�B@<>C9B@<XJUc@ET[Z;�B5<>?Y;�<>E GH= EWjFC _Yj ;hJIC`b>Bn6 # EfAHEWDeC`E�� JUc@EWGIEfC`B JUc@E \^b>[`[9b �)C`B@<GIEWjWJIC`b>B@GW6

� ��� � ! ����� ���� � � $'�� � � � � ) $ �"� ����� $'&($�� ��)

'�c@E(�h� � C9Sf=@[9EFSTEFBaJ ;lJUC`b�B j ;hBT?5GIE)S ;hj c@C`B@E�GI=]EFjFC _Yj�b>=5JIC`STC%$F;hJUC9b>B@G�;�B@V JUEWj c@B@C`d ?@EWG [9C%�hE�DeC`A�mJU?@;�[@C`B5[`C`B5C`B@<�b�\]SfE JUc@beV j ;h[`[`G�JUb�C`ST=@AHb D�E�= EWAH\^b>AHS ;hB@jFEh6 �V5V@C9JIC`b>BY;h[`[9K�8hC \:S ?@[ JUC`=5[`E�=5AIbejFEFGHGIb>AHG

;�AHE�; Dh;�C`[`;�R@[`Eh8a=Y;�AI;�[`[9EF[YE��,EWjF?5JIC`b>BkjF;�B R]E?@GHEFV06%*Yb>A%E��5;�ST=@[`Eh8 � .3��1(O>Q � V@C`GHjF?@GHGIEFG�c5b��+RaK JUE mjFbeV@EWG�j ;�B�R EgAIEFG�JUAH?@jWJI?@AIEWV ;hJ�AH?@B,m JIC`STE�\^b>A(GH= EWjF?@[`;hJUC D>Eg=Y;�AU;h[`[`EW[NE��,EFjW?5JUC9b>B06(�LB � -%�(3O4� � 8 ;GIb�?@AIjWE(JUbgGIb>?5AIjFEjFb>ST=@C`[9EFAiC9G ?@GHEFV JIb Sf;���E(=Y;�AI;�[`[9EF[`C9GIS2C`BTJUc@E(jFbeV@E(E �,=@[`C9jFC9J%RaKT?@GIC9B@< �>; Dh;� GS ?@[ JUC JUc@AHE ;�V@C9B@< \^EF;hJU?@AHEFGW6

Q

� ��� � ��� $�� � )�� � � ! � � � � ��� � ��! ���J� &($�� ��)

�LB�JIc@C`G(;�=@=@AHba;�j c08 RaKeJIEFjWb,V@EWG�;�AHE B@b�J(C`BaJIEFAI=5AIEWJIEFV V@?5AIC`B5< E��,EWjF?5JIC`b>B06(��;hJUc@EWAF8]E ;�j c STEWJIc@beVC`GijWb>ST=@C`[9EFV C`BaJIb�BY;hJUC D>E)jFbeV@E)b>B,m JUc@E m �@K�6 �LB@E �,= EWB@GIC D>Eb�=5JUC9SfC�$ ;hJIC`b>B@G�;�AHE�=]EFA�\^b>AISTEFV JIb3Sf;��hEJUc5EkjFbeV@E AI?5B�;hG \ ;�GHJT;hG = b�GIGIC9R@[`Eh6 '�c@EFGHE4b�=5JUC9SfC�$ ;hJIC`b>B@G3C`B5jF[`?5V@E jWb>SfSTb>B GH?@R,m E��,=@AIEWGIGHC`b>BEF[9C`STC`BY;lJUC`b�B08,E �,jFEF=,JUC`b�B"j c@EFj � C9B@< EF[9C`STC`BY;lJUC`b�B08,AHEF<>C9GHJIEFA�;�[`[9b,jF;hJUC9b>B08,jF[Z;hGIG�c@C`EWAU;�AHj c K�;�B@;�[9KeGIC9GF8;�B@V3C`B5[`C`B5C`B@<@6N!,EWD�EFAU;h[@���L' jWb>ST=@C`[9EFAIGncY; D>E�R]EFEWB G�JU?@V@C9EFVg;�B@VgC`ST=@[`EWSfEWB JIEFV�� �&*i��NO4��� � �� O4���� �i'��&��NO�Q+� 6'�c@ET;�STb>?@BaJ�b�\%JUC9SfEgGI=]EFBaJ3b>B jFb>ST=@C`[9EFA(b>=5JUC9SfC�$ ;hJIC`b>B5G(S ?5GHJ R]E [`b � ;hG�C9J�;hV@V@G�JUbkJUc5E

E��,EWjF?5JIC`b>B JUC9SfE%\^b>A�JIc@E�=@AHb><>AU;hS � ���.��0O>O�� � �&��O4�hR � 6$�LBaJUEWA�mL=5AIbejFEFV5?@AU;�[5b>=5JUC9SfC�$ ;hJIC`b>B5G�;hAIE&B@bhJ=]b>GIGHC`R@[9E C`B ���L'2jFb�Sf=@C9[Z;hJIC`b>Bn6'�c@E b>=,JUC`STC%$F;hJUC9b>B4b�\ ; SfE JUc@beV"j ;hB R]E V@b�B@E EFC JUc@EWA�;hJ�jW[Z;�GHG[`b>;�V JIC`STE b>A ;lJ STEWJIc@b,V C`BaD>bej ;lJUC`b�B JIC`STE�6 �LB JIc@E \^b>AISTEFA3j ;�GHE�8$GHb>STEfSTEWJIc@b,V5G��)c@C9j c ;�AHEB@E D>EFA�j ;h[`[`EWV4;�AIE�jWb>Sf=5C`[`EWVX;�G���EW[`[ 8@GIb C9J)C9G�B@b�J)=@AHEW\^EWAIAIEWV06���L' jFb�Sf=@C9[Z;hJIC`b>BfcY;�G)R]EFEFB4EFB5cY;�B@jWEFV�?5GIC`B5< JIc@E�\^b>[`[9b �)C`B@< STEWJIc@beV@G *

, 1�b�JUGH= b�J iB@<>C9B@E � �LB5j O>O �D* '�c@C9G C9G�C`ST=@[`EWSfEWB JIEFV RaKf!,?@B ��C`jWAIb>G�K,G�JUEWSfGW8,�LB@jh6i�LB@GHJIE ;�Vfb�\jWb>Sf=5C`[`C9B@<�;�[9[@jFbeV@E�;hJ%AI?5B,m JIC`STE�8�JIc@E)AI?@B,m JUC9SfE�b>=,JUC`STC%$WEFA(� b>A��eG%b>B@[ K b>B JUc@b�GIE)=Y;�A�JUG�b�\JIc@E jFbeV@E JIcY;hJ ;hAIE E �5EWjF?5JIEFV Sfb�GHJ�bh\ JUEFBn6�'�ce?5GF8�Sfb�AIEgJIC`STEgjF;�B R]E GI=]EFBaJ b>=5JIC`STC%$WC`B@<; GISf;�[9[`EFA =@C`EWjFEXb�\(jFbeV@E�8�;�B@V <>AIEF;hJUEWA R EWB@EW_@JIGfjF;�B R E4;�j c@C9EWD�EFV06 *:EWEFV@R@;�j � \^AIb>S ;

AH?@B,m JIC`STE�=@AHb�_Y[`EWA�C`G)?@GHEFV�JIb V@EFjWC`V@E �)cY;hJ)JIc@E ����� ������ g;�AIEh8YC 6 E�6@JUc5E3=@;�AHJIG�bh\�JIc@EgjWb,V5E

JIcY;hJ%AI?@BfSfb�GHJ b�\ JUEWB V5KeBY;�STC`jF;�[`[ K>8a;hB@VfJIc@EFAHEW\^b>AHE;�AHE�JIc@E�Sfb>G�J%R EWB@EW_YjWCZ;�[YJIb b>=5JIC`STC%$WE�6

, �LB@GHEFA�JUC`B5< ;�B@B@bhJ ;hJIC`b>B@G1* #+c@EWBkjFb>ST=@C9[`C`B5<�JUc@E �>; Dh;gGHb>?@AHjFE�=@AHb><>AI;�S JUb ;gjF[Z;hGIG�_Y[`Eh8@;�B,mB@bhJ ;hJIC`b>B@G j ;hB R E C`B@GHEFAHJIEFV � 1(��3�(O4��� � ��1(O>O+� 6 '�c@EWGIE);�B@B5b�J ;hJIC`b>B5G�jF;�AIA�K C9B5\^b>AISf;hJIC`b>BJIcY;hJ�j ;hB R]E�?5GIEFVfRaK JUc@E�AI?5B,m JIC`STE)���L' jWb>Sf=5C`[`EWA JUb3Sf;���E)b>=5JIC`STC%$F;hJUC9b>B V@EWjFC9GIC`b�B@GF6i*Yb>AE �@;hSf=@[9E�8YG�J ;hJIC`j3;�BY;�[ KeGIC`G)jF;�B�V@E JUEWAISTC`B@E �)c@C9j c�=@AHb><>AU;hS Dh;�AIC`;�R@[`EWG);�AIE3STb>GHJ�[`C���EW[9K JIbR]E�=@[`;�jFEWVkC`B AHEF<>C9GHJUEWAIGW8@;�B@VkEWB@jFbeV@E�JIc@C`G C`B5\^b>AHS ;lJUC`b�BfC9B JUc@E�;�B@B@b�JU;hJUC9b>B@GW6$'�c@C`G&;�[`[9b��)GSTb>AIEg;�BY;h[9KeGIC9G�JIb R EgV@b>B@Egb �TC`B@E3JUbfC`ST=@AIbPD>E3JUc@Egb>=5JIC`STC%$ ;lJUC`b�B@GF6�� J�;�[`GHb AIEWV@?@jWEFG�JUc5EbPD>EWAIc@EF;�V�bh\i���L' jFb>ST=@C`[`;hJUC9b>Bk;hJ)AH?@B,m JUC`STE�6

O

� ��� � � $ �� � � � $ � � � $'� � � � � � $��J! ��� & $�� ��)

�LB JIc@C`G ;�=@=@AHba;�j c08�JIc@E&RaK JUEWjFbeV@E&C`B5GHJUAH?@jWJIC`b>B5G$;�AHE&;�BY;h[9KeGIEWV ;�B@V b�=5JUC9SfC�$ ;hJIC`b>B@GN[9C%�hE�V@EF;�V,mLjWb,V5EEF[9C`STC`BY;lJUC`b�B080GHJIAIEWB@<�JUc AIEFV5?@jWJIC`b>B08�;�B@V [`beb>= C`BaDh;�AIC`;�BaJgV5EWJUEWjWJIC`b>B ;�AIEf;�=@=@[9C`EWV06 '�c@C9GgjF;�B R]E

V@b>B5EiC`B ;�B C`BaJIEFA�m =@AIbejFEWV@?@AI;�["��; K>6 '�c5E%?5GIE�b�\eGIC9V@E m E � EFjWJ ;hBY;�[9KeGHC`GnJIb�V5AIC9D�EiGI?@j c3b>=5JIC`STC%$F;hJUC9b>B@GC`G�V5EFGIjWAIC9R EWV�C9B � ��[Z;�O4� � 6%- K JUEFjWb,V5Egb>=,JUC`STC%$F;hJUC9b>B C9G);�[`GHb C`[9[`?@G�JUAU;lJUEFVkC9B �7�&��O4��;�� 6�(GHC`B@<�JUc5C`GiSTEWJUc5b,V08aRaK JUEWjFbeV@E�= b>A�J ;�R5C`[`C JLK3C`GiSf;�C`BaJ ;hC`B@EWV06 1�b ��E D>EFAW8,JIc@EFAHE�C9GiB@b AI?@Bem JUC9SfE

jFb�B JIE��eJ(C`B5\^b>AHS ;lJUC`b�B ; Dh;�C`[`;�R@[`E;�G�\^b>A����L' jWb>ST=@C`[`;hJUC9b>B06

� ��� #%$ & $�� � ��! ���J� &($�� ��) $ � � & $�� �� � � � �

#+c@EWB"�>; Dh;TC9G&?@GHEFV�C9B4; c5C`<>ck=]EFA�\^b>AISf;�B@jWE�E��,EFjW?5JUC9b>B�EWBaD,C9AIb>B5SfEWB JF8YC9J�C9G�R E JIJIEFA�JUb jFb�Sf=@C9[`EJUc5E��)c@b�[`E3=@AIb><�AU;�S C9BaJUbTBY;hJUC D>E3jFbeV@E�6�'�c@C`G�C`G)R]EFj ;h?@GIEgBY;hJUC D>E3jFbeV@E3C`G�\ ;�GHJIEFAW6�*Yb>A)jFb>ST=@?5JIE

C`BaJIEFB@GHC9D>Eb>A�c@C9<>c =]EFA�\^b>AISf;�B@jWEGIEWAHD�EFA�;�=@=@[9C`jF;hJUC9b>B@GF8a\ ;�G�J&E �5EWjF?5JIC`b>BkC9G�STb>AIE(C`ST= b�AHJ ;hB J%JUc@;�BV5KeBY;�STC`j4jF[`;�GIGf[`ba;hV@C`B@< b>Af= b�AHJ ;hR@C`[9C9JLK \^EF;hJU?5AIEFGW6 �h��� C`BaJIEFAI=5AIEWJU;hJUC9b>B C9GfB5b�J ?@GHEFV+;hJ ;�[9[ 8

;�B@VfJUc@E�GHEFjW?@AIC JLK ;�B5V = b�AHJ ;hR@C`[9C9JLK jWb>B@GHJIAU;�C9BaJUG�C9Sf=]b>GHEFV RaKfC9J V@b B@bhJ&C`BaJIEFAH\^EWAIE �)C JUcf=@AIb><�AU;�Sb>=5JIC`STC%$F;hJUC9b>B06!eJ ;lJUC`j jWb>Sf=5C`[Z;lJUC`b�B V@beEFG JUC9SfE mLjWb>B@GI?5SfC9B@<+;�BY;�[ KeGIEFG b �TC9B@E ;�B@V2jFAIEF;hJUEWG R5C`BY;�A�K _Y[9EFGF6

'�c@EWGIE ;�AHE = EWAIGHC`GHJIEFBaJ�jWb,V@E C`Sf;�<>EFG)JUc@;hJ�;�AHE ?@GHEFV"\^b>A(AI?@B,m JUC9SfE3E��,EFjW?5JUC9b>B06�'�c@E �)c@b>[`E =@AIbhm<>AI;�S GHb>?@AIjWEXC`G Sf;�V@Ek; Dh;�C`[`;�R@[9EfJUb"JIc@EXjFb>ST=@C9[`EFAW8�;�B@V C9J j ;�B =]EFAH\^b�AIS =5AIbejFEFV5?@AIEXC`B5[`C`B5C`B@<

;�B@V b�JUc@EWA C9B JIEFA�mL=@AHb,jWEFV@?@AI;�[�b>=5JUC9SfC�$ ;hJIC`b>B5GF6 1�b�� EWD�EFAW8�JIc@E"jFb�Sf=@C9[`EWA S ?@GHJ ;�V@c@EWAIE�JIb JUc5E�>; Dh;4[`;�B@<>?Y;h<>E GIEWS ;�BaJIC`jFGW8 ;hB@V ;h[`[`b �2\^b>A ;�?5JIb>Sf;hJUC9j SfEWSfb>A�K"Sf;�BY;�<�EFSTEFBaJ3;�B@V E��,jFEW=5JUC9b>BcY;�B5V@[`C9B@<@6

(�@;hSf=@[9EFG b�\NGHJU;hJUC9j(jWb>ST=@C`[`;hJUC9b>B GHKeGHJIEFSTG�;�AIE�&; � EFC9B@E � 1� 1O 8�� 85�>;�[Z;h= EWB@b � �EF;>p>p�� 8@;hB@V� ?@C`j � GHC`[9D�EFA(� !5-��" p>p+� 6i�LBXJUc@E � ?@C`j � GHC`[9D�EFA�G�K,G�JUEWS�8Y[9C`<>caJ�� EFC`<�c J� �� ���� �+�� C`G�V@b>B5E�JUbT;�VY;�=,JJUc5E(=@AHE m jFb>ST=@C`[9EFV R@C9BY;�AHC`EFGiJIb3JIc@E)V5KeBY;�STC`j)jFb>BaJIE��eJ&V@?5AIC`B5<3E �,EFjF?,JUC`b�B06i'�c@C`G�=@AHb,jWEFGHG�EFB5GI?@AHEFG

MPp

JUc@;hJ�JUc@E [`;�B@<>?@;�<>E GHEFSf;�BaJUC`jWG �)C9JUc AHEFGH= EWjWJ3JUbkV5KeBY;�STC`j jW[Z;�GHG�[`ba;hV@C`B@< ;�B@V DeC`AHJI?Y;�[$STEWJIc@beVj ;h[`[`G&;�AIE B@b�J�DeC9b>[Z;hJIEFV06

'�c@E �>;PDh;4GIb>?@AHjFET=@AIb�<>AU;�S b>A�JUc@E RaK JUEFjWb,V5EFG jF;�B R]E ?@GIEWV ;�G�JUc5EfGHb>?@AIjWET\^b�A JIc@E GHJU;hJUC9j

jFb�Sf=@C9[`EWAF6 '�c5E \^b�AISTEFA�AHEFd ?@C`AHEFG3;�jWjFEFGHG3JIbkJUc@Ef�>; Dh;XGHb>?@AHjFE jFbeV@ET;�B@V GU;hjFAIC _YjFEWG = b>A�J ;�R5C`[`C JLK

jFb�Sf=@[9EWJIEF[9K�6��LB JUc@E4[Z;lJIJUEWA ;�=@=@AHba;�j c08&;�BY;�[ K,GHC`B@< [9b��&m [`E D>EF[�RaK JUEWjFbeV@E�C9G V@C��TjF?5[9J 6 �(GH?Y;�[`[ K>8; c5C`<>c@EWAf[9EWD�EF[�AIEF=5AIEFGHEFBaJ ;lJUC`b�B cY;�GTJUb R]E4E��eJUAI;�jWJIEFV \^AIb�S JUc@E�R K JIEFjFbeV@Eh8(;hB@V�JIc@C`GTGHJIEF= C9G

E��,=]EFB@GHC9D�E�6�B ;�[9JIEFAIB@;hJUC D>E�STEWJUc5b,VTC`G$JIbgjWb>BaD>EFA�J�JIc@E(�>;PDh; GIb>?5AIjFE(jFbeV@E�JUb � =@AHb><>AI;�S jFbeV@Eh85;�B5Vf?@GHE

E��,C9GHJUC9B@<� jFb>ST=@C9[`EFAHGNJUb�b>R5J ;hC`B3BY;hJUC D>E%jFbeV@E�6�'�c@C`G cY;�G R]EFEFB C`ST=@[`EWSfEWB JIEFV C`B3' b>RY; � �i')- �NO4���/^\^AHb>S JIc@E3�(B@C D>EWAIGIC JLKXb�\��AIC�$Fb>B@;'1�;�B@V�1;hAIC`GHGU; � �"��-��&O4�+� 6

� ��� � � � ����� �J����& � �1� �

'�c@E��>; D�; [Z;�B5<>?Y;�<>EkGH= EWjFC _Yj ;hJIC`b>B C`B5jF[`?5V@EFGf; GHEWJfb�\�G�J ;�B5VY;�AIV�[`C9R@AU;�AHC`EWG JUcY;hJT=@AHbPD,C9V@E4jFb>AHE

\^?@B@j JUC9b>BY;�[9C9JLK>6 '�c@E C`ST=@[9EFSTEFBaJ ;hJIC`b>B b�\ JIc@EFGHE [`C9R@AU;hAIC`EWG j ;hB R]E JI?@B@EWV JUb =@AHb DeC9V@E R]EWJHJUEWA

=]EFAH\^b�AISf;�B@jFE ;hG�V5C`GIjW?@GIGHEFV�C`B � 1(�p>p�� 6�(E�� [`C9R@AU;hAIC`EWGncY; D�E R]EFEWB3V5EFGIC9<>B@EWV3JIcY;hJ�C`ST=@[9EFSTEFBaJn\^EF;hJU?@AHEFG�B@EWEFV@EWVg\^b>A0c5C`<>c�=]EFA�\^b>AISf;�B@jWE

JUc@;hJ�;�AHE�[Z;�j � C`B5<�C`B JUc5E��>;PDh;�[`;�B@<>?Y;h<>E�6�'�c@E���-�� ;�AIAI; K [`C9R@AU;hAHK �7���"3O�Q>;+�YC9Gi;�B E��5;�ST=@[9E&b�\JUc5C`GF6 � J�C`ST=@[`EWSfEWBaJUG%S ?@[9JIC`V@C9SfEWB@GIC9b>BY;�[@;�AIAI;PKeG�;hB@VkjFb>STSTb>B b>=]EFAI;hJUC9b>B@G%JUcY;hJ&;�AIE(= EWAH\^b>AHSfEWV

b>B JUc5EFS46 �(?@STEFAHC`j ;h[$jFbeV@EFG �)AHC9JIJIEFB ?@GHC`B@<kJUc5C`G�[`C9R@AU;hAHK�;�j c@C`E D>ETE��,EFjW?5JUC9b>B GI=]EFEFV5G3JIcY;hJ3;�AHE�)C9JIc@C`B M p'& b�\ *Yb>AHJIAU;�BX=]EFAH\^b�AISf;�B@jFEh6�=@=5[`C`jF;hJUC9b>B"[9C`R@AI;�AIC9EFG(JIcY;hJ3;�V5V@AIEWGIG�JUc@E B@EWEFV@G b�\ B ?@STEFAIC9j ;�[�jFb>ST=@?5JIC`B@<kc@;PD�ET;�[`GHbkR EWEFB

�)AIC JIJIEFB C9B �>; Dh; � -� O4��� � -��&O�Q+� 6X'�c@EWGIEX;�AHEfGHC`STC`[`;�AJUb4JUc@E �N��� ���&� ;�B@V -&�N��! [9C`R@AI;�AIC9EFG

jFb�SfSTb>B@[ K ;PDh;�C9[Z;�R5[`E�8 JUc@b>?5<>c JUc5EWK c@;PD�E R EWEFB �)AIC JIJIEFB ?@GHC`B@< �>; Dh;� G b>R��HEWjWJ�mLb>AHC`EFBaJIEFV \^E ;lmJU?5AIEFG � - ��� �0O>Q�� 6 ��?5A�;h=@=@AIb>;�j c ?5GIEFG�;�B ;�=@=@[9C`j ;lJUC`b�B [`C9R@AU;�A�K�\^b�A4B ?@STEFAHC`jF;�[�jFb�Sf=@?,JUC`B5<jFb�S R@C`B5EFV �)C9JIc4GHEFSf;�BaJUC9j3C9B@[`C9B@C`B5<@6

M>M

!,EFSf;�BaJUC9j C`B@[9C`B@C9B@< � # �"�" O>Q ��Sf;���EWG)JIc@E3jFb>ST=@C`[9EFA�; ��;�AIE b�\$; \^E�� GH= EWjFCZ;h[NjF[Z;hGIGIEWG;hB@VSTEWJUc5b,V@G ;�B@V JUc5E GIEWS ;�BaJIC`jFG ;�GIGHb,jWCZ;hJIEFV �)C9JIc JUc5EFS46 � J C`G ;�=@=@[9C`EFV ;hJ JUc5E RaKeJIEFjWb,V@Ek[9EWD�EF[ 6'�c@E jW[Z;�GHGIEFG�;�B@V STEWJUc5b,V@G(j c@b>GHEFB \^b>AGHEFSf;�BaJUC9j C`B@[9C`B@C9B@<T;�AIEgJUc@b>GHE JUc@;hJ�;�AHE jFAH?@jFC`;�[�JUb =]EFA�m

\^b>AHS ;�B5jFE�6i'�c5EFGIE ;�AIE�JIAIEF;hJUEWV";�G�[`;�B@<>?Y;h<>E�=@AIC9SfC JUC D>EFGW6i*Yb>A�E��5;�ST=@[9E�8@jWb>Sf=5[`E�� B ?@S R]EFAIG(;�AHE?@GHEFVfD�EFA�Kfbh\ JUEFBTC`B B ?@STEFAHC`j ;h[YjFb>ST=@?5JU;hJUC9b>B@G�;�B@VTGIb JUc5E(jWb>AIAHEFGI=]b>B@V5C`B@<3jF[`;�GIG�Sf;PK R E)j c@b>GHEFB

\^b>A GHEFSf;�BaJUC9jkC`B@[9C`B@C9B@<@6 ��E J ;�C9[`G bh\(JIc@C`G jF;�B R E \^b�?@B@V C`B � # �"�" O>O+� 6 '�c@EXjWb>Sf=5C`[`EWA jF;�BJ ;"��ETGI=]EFjFC`;�[%;�jWJIC`b>B �)c@EWB C9J3EWB@jFb>?5B JIEFAHG ;�B C`B@[9C`B@EWV jF[Z;hGIG3b>A SfE JUc@beV06 � J3jF;�B ;�V5V ;�B@B5b�J ;lmJUC9b>B@GW8><>EFB5EFAU;lJUE)GI=]EFjWCZ;�[9C%$FEWV jFbeV@Eh8eb�A$C`B@GHEFA�Jij ;�[9[`G JIb�GI=]EFjWCZ;�[@AHb>?5JIC`B@EWG JUcY;lJ �)C`[`[eAIEWGI?@[ J�C`B \ ;�G�JUEWAE��,EWjF?5JIC`b>B06� AIEW= b�GIC9JIb>AHK�b�\%;�=5=@[`C9j ;hJIC`b>B4[`C9R@AU;�AHC`EWG(C9G�; D�;hC`[Z;hR@[`E b>B"JIc@E �LBaJUEWAIB@E J 63'�c@EFGHE [`C`R5AU;�AHC`EFG(;�AHE

JU?5B@EFV \^b>A$<�b,beV =]EFAH\^b�AISf;�B@jFEh6$1�b�� EWD�EFAW8eJIc@EWK ;hAIE �)AHC9JIJIEFB C9B b�JUc@EWA$=@AHb><>AU;hSfSTC`B@<�[Z;hB@<>?Y;�<�EFGF6# b>A �"c@;�GgR]EFEWB V5b>B@E JUbX=@AIbPDeC`V5Ef;hB C9B JIEFA�\ ;�jFET;�B@V E ;hGHK ;�jWjFEFGHGgJIb�GH?@j c [9C`R@AI;�AIC9EFG\^AHb>S JUc5E

�>; Dh;T[`;�B@<>?Y;h<>E�� � � ��O4� � �7 1���O>Q+� 6

� ��� � ���� ��J)�� $�� � � & )�� � &���� # � ������ & $��1� )

'�c@E �>; D�;X[Z;hB@<>?Y;�<�E GI=]EFjFC _Yj ;lJUC`b�B ��;�G3jFAIC JUC9j ;�[9[9K4AIE D,C9E�� EFV C`B � *Yb>AIO>Q��i\^b>A ;h=@=@[`C9j ;hJIC`b>B5GJUcY;lJB@EWEFV ; [9b�Jbh\�jFb>ST=@?5JIC`B@<fAIEFGHb>?@AHjFEFGW6�� J�C`V5EFBaJUC _YEFG�JUc@b>GHE ;�GH= EWjWJUGb�\iJUc@E [Z;�B@<�?Y;�<>E JUcY;lJ�B@EWEFV

JUb R E�j c@;�B@<>EWV JUb =@AHb DeC9V@E�; R]EWJHJUEFA�=@AIb><�AU;�STSfC9B@< EFBaDeC`AHb>B@STEFBaJ);�B@VX;hj c@C`E D>E�<>AHE ;hJIEFA&=]EFA�\^b>A�m

Sf;�B@jFEh6

'�c@EXGI=]EFjWC9_YjF;hJUC9b>B \^b>A JIc@E4�>; Dh;"[Z;�B@<�?Y;�<>EfV@EW_YB5EFG GHJIAIC`j J �Yba;lJUC`B5<"= b�C`BaJ GIEWS ;hB JIC`jWG JUcY;lJ=@AHEWD>EWBaJgJIc@E ?@GIE b�\ GI=]EFjWCZ;�[ cY;�AIV �&;�AHE b>B GIb>STE S ;hj c@C`B@EWG�� � ��O>Q � 6 *:b�A�E��5;�ST=@[`Eh8NC9J�jF;�B@B@bhJJ ;"��E ;hV5Dh;�BaJ ;�<>ETb�\&JIc@E \^?@GIEWV,mLS ?5[9JUC9=@[9KamL;�V@V / *i�4� 1�C`B@G�JUAI?5jWJUC9b>B b�\&JUc5E ��b � EFAI� � ;�AHj c@C9JIEFj mJU?5AIE�6)� J;�[`[9b �)G�b�B@[9K4;TGI?@R@GHEWJ�bh\$JUc@E \^?@B@j JUC9b>BY;�[9C9JLKkV@E _YB@EWV"C`B4JUc@Eg�� % � � #H5 �Yba;hJIC`B@<lmL=]b>C`BaJGI=]EFjWC9_YjF;hJUC9b>B06�*Yb>A�E �@;hSf=@[9E�8@b�B@[9K b>B@E SfbeV@E�b�\�AIb�?@B@V@C9B@< / �1������* ����� ���/� $'�1�� �� 1�C`G�C`B5jF[`?5V@EFV06'�c@E)[Z;�B5<>?Y;�<>E �&;�G�AHEWDeC`GHEFV � �LB@j1�:;�B@V JUc5E�V@EW_YB5C9JUC9b>B@G$bh\ �Yb>;hJUC9B@<hmL=]b>C9B J�b>=]EFAI;hJUb>AHGij cY;�B@<�EFV

GI?5j c4JIcY;hJ 85C`B@G�JUE ;hV4bh\ E �@;hjWJU[ K b>B5E�jFb>AHAIEFj J�AIEFGH?@[9JF8Y; GIE J)b�\ jWb>AIAHEFj J(AHEFGH?@[9JIG�S ; K R]E�AIE JU?@AHB@EFVn6

M o

'�c@C9G ;�[`[9b��)G�\^b�AJUc@E ?@GHE b�\�E �eJUEFB5V@EFV =@AIEWjFC`GHC`b>B C9B C9BaJUEFAHSfEWV@CZ;lJUE E �5=5AIEFGHGIC9b>B@Gg;�B@V JUc@E STb>AIEE��TjWC`EFBaJ3E��eJIEFB@V@EWV �Yb>;hJUC9B@<X= b>C9BaJ�AIEW<>C`G�JUEFAHG C`B"JUc5E �5Q 8X;�AHj c@C9JIEFj JU?@AHE�6 � J C`G ;�AH<>?@EWV JIcY;hJ JUc5EB@b>BemLV@E JUEFAHSfC9B@C`G�JUC9j%AHEFGH?@[9JIG$V@?@E�JIbJUc5C`G V5b,EWG B@b�J$; � EFjWJ$=@AU;�j JUC9j ;�[,;�=@=@[9C`jF;hJUC9b>B@GF6��LB jF;�GIEWG �)c@EFAHEC9J$C`GiC`ST=]EFAU;lJUC9D�E�JUc@;hJiJUc@E)AHEFGI?5[9J%R E�V5EWJUEWAISTC`B@C9GHJIC`j�8>; �hEWK � b>AIV ����#����� . �kj ;�B R]E�?5GIEFV JUb3GI=]EFjWC9\ K

JUc@;hJ)b>AIC9<>C`B@;�[N�>; Dh; �Yba;hJIC`B@< =]b>C`BaJ)GHEFSf;�BaJUC`jWG)GIc@b>?5[`VXR E�\^b>[9[`b � EFV06'�c@EFAHE cY; D>E R EWEFB =@AIb�= b>GI;�[`G / � B@b �)B ;hG3�>;PDh;4!,=]EFjWC9_YjF;hJUC9b>B ��EWd ?@EFG�JUG � 1�JIb�;hV@V GI?@=@=]b>A�J

\^b>A�S ?@[9JIC`V@C9SfEWB@GIC9b>BY;�[>;�AIAI;PKeGW6$'�c@EFGHE�;�AIE&jWb>STSfb>B5[9K ?@GHEFV C`B GIjFC9EFBaJUC _Yj);�=@=5[`C`jF;hJUC9b>B@GW6 �LB b�AIV@EWA

JUbT=@AHb,jWEFGIG(;�AHAU; KkEF[9EFSTEFBaJUG�C`BkJIc@EgSTb>G�J)E��TjFC9EFBaJ ��; K>8:JUc@E V@E D>EW[`b>=]EFA�S ?@G�J � B@b � JIc@E [Z; K>b>?,Jb�\�JUc5E ;�AIAI;PK�C`B STEFSTb>AHK�6 *Yb>AE��5;�ST=@[`Eh8�;�V �I;�jWEFBaJ EF[9EFSTEFBaJUG�b�\�JIc@E AIb ��bh\�;hB ;hAIAU; K�j ;�B R]EV@E _YB@EFVkJIb R E�C9B =@caKeGIC9j ;�[9[9KfjFb>BaJUC9<>?@b>?5G&SfEWSfb�AHKT[`bej ;hJIC`b>B5GF6 �LB JIc@C`G�j ;�GHE�8Y;�BX;h[`<>b>AHC9JIc@S JUcY;lJ

;�jWjFEFGHGIEWG�JIc@E�;�AHAU; K C9B AIb �&m S ;��Hb�A�b>AHV@EFA&C9G&STb>AIE(E��TjFC9EFBaJ�JUcY;hB JUc@E�jWb>AIAHEFGH= b>B5V@C`B@< ;h[`<>b>AHC9JIc@SJUc@;hJ ;hjFjFEWGIGHEFG JUc5E ;�AHAU; K C`B jFb>[9?@SfBemLSf;��Hb>A�b>AHV@EFAW6�1�b ��E D>EFAW8�?@B@V@EWAgJUc5E jF?5AIAIEWBaJ GIj c@EWSfEfb�\;�?5JIb>Sf;hJUC9j JUAI;�B@GI=@;�AIEWB JfSTEFSTb>AHK S ;�B@;�<>EFSTEFBaJF8�JIc@EXSfEWSfb�AHK [`; K>b>?5JTC9G B@b�J � B@b �)B�JUb JUc5E?@GHEFAF6

'�c@EFAHE C9G ;X=@AIb�= b>GI;�[iJUb�;�[`[9b ��jW[Z;�GHGIEFG3JUb4R ETV@EWjF[Z;hAIEFV ;�G3C`STS ?5J ;hR@[`Eh6 ��R��HEWjWJIG b�\&JIc@EFGHEjF[`;�GIGHEFG j ;hB R]E =Y;�GIGHEFV,m RaK m Dh;�[`?@Eh6 '�c@EWK jF;�B R E JIAIE ;lJUEFV ;�G [`C9<>caJ���EWC`<>caJ�b�R��HEFj JUGg;�B@V j ;�B R]EC`B5[`C`B5EFV \^b>A)R]EWJIJIEFA)=]EFAH\^b�AISf;�B@jFEh6 ��=]EFAI;hJUb�A�bPD�EFAI[9ba;�V@C9B@<T;�B@V4=Y;�AI;�SfE JUAHC`j�=]b>[9KeSTb>AI=5c@C`GHS ;�AHE

J�� b b�JIc@EFA(;�V@V@C JUC9b>B@G&JUc@;hJ(;�AIE =@AHb>= b�GIEFVn6&'�c@EFGHE V@bTB@b�J(V@C9AIEFj JU[ K C`ST=@AHb D�E = EWAH\^b>AHS ;�B5jFE�8:R@?,JSf;���EkJUc5E�C9B JIEFA�\ ;�jFEkJUb [`C9R@AU;hAIC`EWG GIC9Sf=5[`EFA ;�B@V Sfb>AHEXBY;hJU?5AU;�[ 6 '�c5C`G S ;"��EFG �>; Dh; =@AHb><>AI;�SfGE ;hGIC`EWA�JUb �)AIC JUE ;�B@V4Sf;�C`BaJ ;hC`B06�LBk;�V@V5C9JUC9b>B JUb3JUc@EWGIEJIEFj c@B@C9d ?@EFGW85JUc@EWAIE;�AIE�E��,=]EFAIC9SfEWBaJ ;�[:C`ST=@[9EFSTEFBaJ ;hJIC`b>B5Gib�\0Dh;�AIC`;hJUC9b>B@G

b�\�JIc@E��>;PDh; [Z;�B@<�?Y;�<>Eh6 *Yb>A E��5;�ST=@[`Eh8&'�C9JU;�B@C`?5S � . !5� �0O>Q+��?@GHEFG JIc@E��>;PDh; [Z;�B@<�?Y;�<>E4;�Gf;RY;�GHEk;�B@V ;�V@V@G3\^E ;hJI?@AIEWG B@EFEWV@EFV \^b�A c@C9<>c =]EFA�\^b>AISf;�B@jWE�8 GH?@j c ;�G S ?@[9JIC`V@C9SfEWB@GIC9b>BY;�[ ;�AIAI;PKeGW8

C`STS ?5JU;�R@[9EjF[`;�GIGHEFGW8]E �,=@[`C9jFC9J&=Y;�AU;h[`[`EW[`C9GIS �)C9JIc�; <>[9b>RY;�[n;�V@V@AHEFGHG(GH=Y;�jFEh8:EWJUjh6

-���� 587R: EXFH0 ��� :�� >�. 032406G�� >TO@5 O@04: 5�E1K��9>� I > 7 : 7�� .JG�� 7�� O@0XK�� >'F EBI K�= 5PK�� �R7D<��

M 3

� � ��� � � � �

� � � � � � � �

�LB JUc5C`G&j cY;h=5JUEWAF8 � E�V@EFGHjFAIC9R Eb>?@A�;�=5=@AIba;hj cXJIb C`ST=@AIbPD�E(JUc5E�= EWAH\^b>AHS ;�B5jFE�b�\��>; Dh; B ?@STEFAIC9j ;�[=@AHb><>AU;hSfGW6

# E b�R@GIEWAHD>E JIcY;hJkJUc5EFAIE C9Gk; GISf;�[9[(GHEWJXb�\3RY;�GHC`j b>=]EFAI;hJUC9b>B@GTJUcY;hJ \^AIEFd ?@EWBaJU[9K b,jWjF?@AkC9BB ?@STEFAIC9j ;�[�;�[9<>b>AIC JUc@STGF8YGH?@j c ;�GD�EFjWJIb>A�V@bhJHmL=5AIbeV@?@jWJF8nSf;hJUAHC �4AHb�� JIAU;�B5GH\^b>AHS ;hJIC`b>B5GF8 ;�B@V"C9B@C mJUC`;�[`C�$ ;hJIC`b>B�b�\�;�AHAU; K EF[9EFSTEFBaJUGW6 � jFb>[9[`EWjWJUC9b>B b�\&GH?@j c b>=]EFAI;hJUC9b>B@G j ;hB R]Ef=@AHE m jFb>ST=@C`[9EFV C`BaJIb; [`C9R@AU;�A�K bh\BY;lJUC9D�EXjFbeV@EkJUcY;hJ C9G C`BaJUEW<>AU;lJUEFV �)C9JIc JUc@EXC`BaJIEFAI=5AIEWJIEFAW6 '�c5EFGIE4b>=]EFAI;hJUC9b>B@G ;�AHESTb>GHJI[9K4[`beb>=@G)JUcY;lJ�Sf;�B@C`=5?@[Z;hJIE3D�EFj JUb>AHG�b>ASf;hJUAHC`jWEFGF8n;�B@V"C9B"Sf;�BaK�jF;�GIEWG�; GIC9<>B@C9_@j ;�BaJ\^AI;�j m

JUC9b>B b�\NJIc@E�jWb>Sf=5?5J ;hJIC`b>Bfb�\NJUc5E�=@AIb�<>AU;�S C9G�jFbPD�EFAIEWV�RaKTJUc@EWS�6%�4b>AIEWb D�EFAW85JUc@EjFbeV@EFG�?@GH?Y;�[9[9K

V@b B5b�J�c@;PD�E�C`BaDh;�[9C`VTAIEW\^EWAIEWB@jFE�;hjFjFEWGIGHEFG�b>A b>?5JHm b�\ZmLR]b>?@B5V@G�;hAIAU; Kf;�jWjFEFGHGIEWGF6%'�c@C`G C`G%C`ST= b>A�J ;�BaJ

R]EFj ;h?@GIE�C9[`[`EW<a;�[Y=@AHb><>AI;�S ;�jFjWEFGIGHEFG)j ;hBkAU;�C9GIEE �,jFEF=,JUC`b�B@GF6�'�c@EWGIE�E��,jWEF=5JIC`b>B@G �)C9[`[:C`B5c@C`R@C J�jWb,V5EJUAI;�B@G�\^b>AISf;hJUC9b>BTV@?@EJIb JUc@E(GHJIAIC`j J&E �5jWEF=5JIC`b>BkGHEFSf;�BaJUC9jFG�bh\��>;PDh; /^V@EFGHjFAHC`R]EFVkC`BfGIEWjWJUC9b>B 5@64356 M�1 6'�c@E%RY;�GIC9j�b>= EWAU;hJIC`b>B5G0j ;�B3R]E%G�J ;hJIC`jF;�[`[ KAHEFjFb�<>B@C%$WEFV3RaK�JUc@E�jFb�Sf=@C9[`EWAF6N' b(V@b�JIc@C`G�jFb�AIAIEWjWJI[9K>8

JUc5E�jFb>ST=@C`[9EFA%S ?@G�J�EFB@GH?@AIE�JIcY;hJ&JIc@EFAHE ;�AIEB@b GIC9V@E m E � EFjWJIG�V@?@E�JIb ;�[`C`;�GIC9B@<gR]EWJ�� EFEWB�AHEW\^EWAIEFB5jFEDh;�[`?5EFGF6)�Nbeb>=�V5C`GHJIAIC9R@?5JUC9b>BXS ?@G�J�;�[9GIbTR Eg= EWAH\^b>AHSfEWV�JIbf?@B5jFbPD>EWA�;�GSf;�BaKXC`B5GHJ ;hB@jFEWGb�\ GI?@j c

b>=]EFAI;hJUC9b>B@G ;�G =]b>GIGHC`R@[9E�8%;�B@V EWB@GI?@AHE4JIcY;hJT; <>AHE ;hJIEFA jFbPD�EFAU;h<>E�C9G ;�j c@C9EWD>EWV06�#+c@EFB jFbeV@EkC9GAIEWb>AIV5EFAIEWV \^b>A [9b,b�= V@C9GHJUAHC`R@?,JUC`b�B08&C9JfC`GfC`ST= b�AHJ ;hB J JIb EFB@GH?@AIE"JIcY;hJ =@AIEWjFC`GHE �>; Dh; E��,jFEW=5JUC9b>B

M=5

abstractsyntax tree

Javasource compiler back−end

(code generation)

compiler front−end(parsing and

semantic checking)

bytecode

Original Version

compiler

front−end back−endcompiler

recognition enginefor the common

operations

library of commonoperations

sourceJava syntax

tree

abstract

modifiedabstractsyntax

tree bytecode

Modified Version

� ��?)����� 9 �;� * ��beV@C9_YEWV���b>Sf=5C`[`EWA

GIEWS ;hB JIC`jWG�;hAIE B@b�JXDeC`b�[Z;hJIEFV06�*:b�A JUc@C9GF8(JIc@E jFbeV@E cY;�GkJUb R]E ;�BY;�[ KeGIEFV+JUb V@E JUEWAISTC`B@E JUc5E

E��,jWEF=5JIC`b>B@G)JUc@;hJ)j ;�B4R]E JIc@AIb �)B06* C`<�?@AIE 356 MfGHc@b �)G JUc@EfSfbeV@C _Yj ;hJIC`b>B5G�AIEFd ?@C9AIEWV C`B JUc@EfjFb>ST=@C9[`EFAW6 ��\ JUEFAg=Y;�AHGIC`B5<�;�B5V GIE m

Sf;�BaJUC`jXj c@EWj � C`B@<@8 JUc@E�;�BY;�[ K,GHEFGTAIEWde?5C`AIEWV�JIb AHEFjFb�<>B@C%$WE4JIc@E4jFb>STSfb�B�RY;hGIC`jXb>=]EFAI;hJUC9b>B@GT;�AHE=]EFAH\^b�AISTEFV06 '�c@EWGIE�;�AIEXjW[`?@R@R]EFV JUb�<>EWJIc@EFA C`B JIc@E4R b � [`;�R EW[`EWV�� �1����� '���������� ���'��/�2.)��� � ���

������� ��� ������� $'�������! 6i* C9BY;�[9[9K>8 jWb,V@E<>EFB@EWAU;hJIC`b>B C`G&V@b�B@E�8Y;hB@V JUc@ER K JIEFjFbeV@E�C9B@GHJIAI?@j JUC`b�B@G�;�AHE

�)AIC JIJIEFBkJUb JUc@E b>?,JU=@?5J ��� $� � _@[`E�6'�c@E%jFb>ST=@C`[9EFA j ;�B C`B5GIEFA�J GI=]EFjFC`;�[>STEWJIc@b,V5G0\^b>A0JUc@E�jWb>SfSTb>B�RY;hGIC`jib�= EWAU;hJIC`b>B@GnGIb)JUcY;hJ�[`;hJUEWAF8

;hJ�AI?5B,m JIC`STE�85JIc@E C`BaJUEWAI=@AHEWJUEWA(jF;�B4C`V@EWB JIC9\ KfJUc@EWS ;�G(GH= EWjFC`;�[Nj ;�GHEFGW6�'�c@E3C`BaJUEWAI=@AHEWJIEFA�j ;�[9[`G&JUc5E

jFb�AIAIEWGI=]b>B@V@C9B@< BY;lJUC9D�E jFbeV@E \^AHb>S JUc@Eg[`C9R@AU;�A�K �)C9JIc ;�=@=@AHb>=@AHCZ;hJIE =Y;�AI;�STEWJUEWAIGW6�'�c@E STb,V5C9_YEWVRaK JUEFjWb,V5E�GHEFd ?@EWB@jFEh85GIc5b��)BTC`B *�C`<>?@AHE 356 o,8>cY;hGiGI=]EFjFC`;�[@jF;�[`[9G$C`B@GHEFA�JUEFV \^b>A�JUc@E�RY;hGIC`j�b�= EWAU;hJIC`b>B@GAIEWjFb><�B@C%$WEFV06$'�c5E�R K JIEFjFbeV@E�GHEFd ?@EFB5jFE)JUcY;hJ$C`G \^?@B5jWJUC9b>BY;�[9[9K EWde?5C9Dh;�[`EWBaJ$JUbJIc@E�C`B5GIEFA�JUEWVTSTEWJIc@beVj ;h[`[ C`G�AIEWJU;�C`B5EFV ;�G=Y;�AHJb�\�;�B E �,jFEF=,JUC`b�B cY;�B@V@[9EFAW6'�c@C9GC`G(B@EFEWV@EFV \^b>A�jFb�Sf=Y;lJUC`R5C`[`C JLKk;�jWAIb>GHG;�[9[nC`BaJIEFAI=5AIEWJIEFAHG;�G)V@C9GIjW?@GIGHEFV�C9BXGIEFj JUC9b>B 8,6 o,6

M�#

12

78

3456

call to X

......

345678

12

bytecodes for basic operation X

part of exceptionhandler

Original Bytecode Modified Bytecode

� �;?)�(��� 9 � $ * ��beV@C _YEFV4- K JUEWjFbeV@E !,EFd ?@EWB@jFE

* C`<�?@AIE 35673 / ;'1 GHc@b �)G�JUc@E�B5b>AISf;�[]C`BaJUEWAI=@AHEWJ ;lJUC`b�Bkb�\ ; RaKeJIEFjWb,V@E GHEFd ?@EFB5jFE �)C9JUc5b>?5J);�BaKfb�\b>?@A STb,V5C9_YjF;hJUC9b>B@GF6T* C9<>?@AHE 35673 / R@1�GIc5b��)G3JUc@E j cY;hB@<>EFGgC`BaJUAHb,V5?@jFEWV �)c@EWB JUc5EfC9B JIEFAH=@AIE JUEFA C9GSTb,V@C _YEFVgJUb�C`B5jFb>AH= b>AI;hJUE�b>?@A$BY;lJUC9D�E�[`C9R@AU;�A�K3b�\]jFb>STSfb�B RY;�GHC`j&b>=]EFAI;hJUC9b>B@GW6 #+c@EWBf;�RaK JUEWjFbeV@EC`B5GHJUAH?@jWJIC`b>BfC`G%V@EFjWb,V5EFV JUbgR E;gGH= EWjFCZ;h[ b>B5E(JUc@;hJ�C9G C9B@GIEWAHJIEFV V@?5EJUb3JUc@E(SfbeV@C9_@j ;hJIC`b>B@G�C9BfJUc5E

jFb�Sf=@C9[`EWAF8>JUc5E(jWb>AIAHEFGI=]b>B@V5C`B@<gBY;hJUC D>E�SfE JUc@beVTC`G%j ;�[9[`EFV R]EW\^b>AHE�JIc@EB5E��eJ�RaK JUEWjFbeV@E�C9B@GHJIAI?@j JUC`b�BC`GfC`BaJUEWAI=@AHEWJIEFV06 *Yb>Afb�JUc@EWA RaK JUEFjWb,V5E C`B@G�JUAI?5jWJUC9b>B@GW8&JUc@E"C9BaJUEFAH=@AIE J ;hJIC`b>B C`G V5b>B@E"E �@;hjWJU[ K ;hGR]EW\^b>AHE�6�* C`<>?5AIE 35643B/ j=10GIc@b �)G c5b�� JUc@E�RaK JUEFjWb,V5E�GHJIAIEF;�S STb,V@C _YEFV RaK b>?@A�jWb>Sf=5C`[`EWA0C`G�E �5EWjF?5JIEFVRaK ;hB C`BaJUEWAI=@AHEWJIEFA JIcY;hJ$C9G B@bhJi; �&;hAIE�b�\@JIc@E&BY;lJUC9D�E&[`C9R@AU;hAHK>6 #+c@EWB JUc@C9G C9B JIEFAH=@AIE JUEFA EFB@jWb>?@BaJUEWAIG;GH= EWjFCZ;h[5j ;h[`[ JUb�;R@;�GIC9j&b>=]EFAU;lJUC`b�B08hC J(�)C9[`[ B@b�J AIEFjWb><>B@C�$FE&C Ji;�B5V ;�B E��,jWEF=5JIC`b>B �)C9[`[ R E JUc@AHb��)Bn6'�c@E�STb,V@C _YEFV�jWb,V5EiV@EW_YB5EFG�JUc@EiE �5jWEF=5JIC`b>B3cY;�B5V@[`EWA0JUcY;hJ �)C9[`[lj ;hJIj c3JIc@C`GNE �,jFEF=,JUC`b�B ;�B5V3E �,EFjF?,JUE;�RaK JUEWjFbeV@E GHEFd ?@EWB@jFE JIcY;hJgjFb>AHAIEWGI=]b>B@V@G3JUb�JIc@ETRY;�GIC9jfb�= EWAU;hJIC`b>B \^b>A �)c@C9j c JUc@ETGI=]EFjWCZ;�[�jF;�[`[��;�G C`B5GIEFA�JUEWV06"'�c@E E �,jFEF=,JUC`b�B cY;�B@V@[9EFA3C`GgV@EW_YB5EFV C`B JUc@E STbeV@C9_YEWV �>; Dh;"GIb�?@AIjWE jFbeV@E RaK ;j ;lJUj c G�J ;hJIEFSTEFBaJ 8 ;�B@V C JUG GIjWb>= EfC`G3AIEWGHJUAHC`j JUEFV JUb�E �,jFEF=,JUC`b�B@GgJIc@AIb �)B RaK GHJU;hJUEWSfEWB JIG C9B JUc5EjFb�AIAIEWGI=]b>B@V@C9B@< JUA�KamLR@[9b,j �:6i'�c@C9G&JUAHKam R@[`bej � �)C9[`[]jFb>BaJU;�C`B JIc@E�GI=]EFjWCZ;�[nBY;hJUC D>E�STEWJIc@beVkj ;�[9[ b>B5[9K>6'�c ?@GF8@Sf;�BaKT=Y;�A�JUG�bh\0JUc@E��>; D�;g=@AIb><�AU;�S jF;�B R]EE��,EWjF?5JIEFVk?@GHC`B@< B@;hJUC D>EjWb,V5E�8 �)c@C`[9E��>; Dh;

GIEWS ;hB JIC`jWG(;hAIE�GHJIC`[9[0;�V@c5EFAIEWV4JIb@6%!,C9B@jFE BY;hJIC9D�E�jFbeV@E C`G�JIc@E �&; KkJUbT;�j c5C`EWD�E�\ ;�GHJIEFGHJ�E �5EWjF?5JIC`b>Bn8JUc5C`G�C`ST=@AHb D�EFG)=]EFAH\^b�AISf;�B@jFE ;hG�V5EFGIC9AIEWV06

M 8

bytecodesdecode execute

next bytecode

stream of

(a) Original Interpreter With Unmodified Code

library ofcommonroutines

decodebytecodes

call to nativemethod

normalexecution

special callinserted

by compiler

normalbytecode

next bytecode

stream of

(b) Modified Interpreter With Modified Code

next bytecode

goto bytecode sequencecorresponding tothe method called

stream ofbytecodes

normalexecution

normalbytecode

special callinserted

by compiler

decode

method not foundthrow exception

next bytecode

exception handler invoked

next bytecode

(c) Original Interpreter With Modified Code

� ��?)����� 9 � 9 *%��beV@C9_@EFV4�LB JIEFAH=@AIE JUEFA

M �

� � ��� � � � �

� � � � ��� � � � � ��� � � �

��?@AgJIEFj c@B5C`d ?@E JIb�C`ST=@AHb D�Ef=]EFA�\^b>AISf;�B@jWE Sf;���EWG ?@GHE b�\�B@;hJUC D>E jWb,V5E AU;lJUc@EWA3JIcY;�B C9B JIEFAH=@AIE mJ ;lJUC`b�B \^b>A JUc5EkE��,EFjW?5JUC9b>B�bh\(jWb>STSfb>B5[9KamL?@GHEFV RY;hGIC`j b>= EWAU;hJIC`b>B5GF6 '�c5EX_@AIGHJ G�JUEW=�B@EWEFV@EWV JIb;�=@=5[9K"JIc@C`G�JUEWj c@B@C9de?5EfC9G JIb�AHEFjWb><>B@C�$FE JUc@ETSf; �,C`S ?@S B ?@S R]EFA b�\�JIc@EFGHEfR@;�GIC9jTb�= EWAU;hJIC`b>B@G C9B

JUc5E3GHb>?@AHjFE3=@AIb><�AU;�S46$'�c@C9G�C`G)V@b>B@E G�J ;hJIC`j ;h[`[9KTRaKkJUc5E3jWb>ST=@C`[9EFAF6

'�c@E�GHb>?@AIjWE�=@AHb><>AU;hS S ?@GHJ�R E;�BY;�[ K,GHEFVX;�B5V JUAI;�B@GH\^b�AISTEFV \^b>A%?@G�JIb R]E�;�R@[9E�JIb AIEWjFb><�B@C%$WE;�G�Sf;�BaK C`B@G�J ;�B5jFEFG%b�\]JUc@E)RY;hGIC`j)b>=]EFAI;hJUC9b>B@G�;�G�=]b>GIGHC`R@[9E�6�'�c@EFAHE�;�AHE&\^b>?@A�S ;hC`B GHJIEF=@G%C`BaD�b>[9D�EFV

C`B JIc@C`G�JUAI;�B@G�\^b>AISf;hJUC9b>B =@AHb,jWEFGIG1* VY;lJ ;kV@EF=]EFB5V@EFB@jWEk;�BY;h[9KeGIC9GF8�AIE \^EFAIEWB@jFEf;�BY;h[9KeGIC9GF8�E��,jFEW=5JUC9b>Bj c@EWj �eC9B@<@83;�B@V [`beb>=+V@C9GHJUAHC`R@?,JUC`b�B06 '�c@E \^b>[9[`b �)C`B5< GIEFj JUC9b>B@G4V@EFGHjFAIC9R E E ;hj c b�\gJUc@EWGIE G�JUEW=@G;�B@V JUc@EWC`A3C`ST=@[`EWSfEWBaJ ;hJIC`b>B06f'�c@E [`;�GHJ3GHEFjWJIC`b>B J ;�[��eGg;�R]b>?5J3AIEWjFb><�B@C%$WC`B@<4JUc@ETjFb>STSTb>B R@;�GIC9jb>=]EFAI;hJUC9b>B@GF85;�B@VkJUAI;�B@G�\^b>AISTC`B@< JIc@E�=@AHb><>AU;hS JUb C9B@GIEWAHJ)GH= EWjFCZ;h[0j ;�[9[`G�\^b�A�JUc@EWS�6i'�c5EFGIE3GI=]EFjWCZ;�[

j ;h[`[`G&;�AIE [Z;lJUEFA�?5GIEFV4RaKkJUc@E AH?@B,m JIC`STEDeC`A�JU?Y;�[nS ;�j c5C`B@E�JIbTEWBY;�R@[9E�\ ;�GHJIEFA�E��,EWjF?5JIC`b>B06

� ��� � & $'& � ��� �")�� �")� � � ) & � � ��� �

��EF=]EFB5V@EFB@jWE ;�BY;�[ KeGIC`G�C`G(B@EFEWV@EFV JIb V@EWJIEFAHSfC9B@EgC \$JUc5E b>AIV5EFAbh\�E��,EFjW?5JUC9b>B b�\�GHJU;hJUEWSfEWBaJUG�jF;�BR]E j cY;�B@<>EWV �)C9JUc5b>?5J j cY;�B5<>C`B@< JIc@E �Yb ��b�\�D�;h[`?@EWG�C`B"JUc5E =@AIb><�AU;�S46 � J C`G�?@GHEFV V@?@AHC`B@< [9b,b�=

MPQ

V@C9GHJUAHC`R@?,JUC`b�B06 !,C`B5jFE ��E4?@GIEXJUc5E4AHEFGH?@[9JIGfb�\(JUc@E4;�B@;�[9KeGIC9G \^b>A [`beb>= JUAI;�B@GH\^b�AISf;hJUC9b>B08 ��E�;�AHEjFb�B@jFEWAIB@EWV��)C9JIck_YB@V@C9B@<fV5EF=]EFB@V@EWB@jFEWG �)C JUc@C9B4[9b,b�=kB@EFG�JUG�b>B@[9K�6

��������� ��������� �������

*Yb>A&JUc5Eg;hBY;�[9KeGHC`GF8���E3jFb�B@GIC9V@EFA)b>B@[ K JIc@b>GIE =@AHb><>AI;�S [9b,b>=5G�JUcY;lJ;hAIE�C`BkJIc@E B@b>AISf;�[9C%$FEWV \^b>AHS�6�+B@b>AHS ;�[9C%$WEFV [`beb>=08a[9C%�hE);g* ��� ')�)��� V@bhm [`beb>=08>cY;hG ;hB ;�GHGIbejFC`;hJUEWV D�� �@ & ��H��� 7�D;� 8 ; D;� <,���7 �)� � � 8N; [`beb>=�C9BaD�;hAICZ;hB J �(� ��� 7 � � � � 8�;�B5V ;�B � � � ��� A � � � 6�'�c@E [`b � EFA(R b>?5B@V C`G�_ �,EFV/ c@;�G ; D�;h[`?@E bh\ $WEFAHb�1 8�;�B5V JIc@E C`B@jWAIEWSfEWB J�C`G ;�[ �&; KeG�?@B@C JLK>6 '�c5ETR]b>?@B5V@G�S ; K�R E GH= EWjFC9_@EFV;�G ;�R5GIb>[9?5JUE b�A�GHKeS R]b>[`C9jgDh;�[9?@EFGW63'�c5ET[9b,b�=�Dh;�AIC`;�R@[`E3GIEWAHD�EFGg;�G�; jFb�?@BaJUEFA�\^b>A(JUc@E C JUEWAU;hJIC`b>B@G

b�\ JUc@E [9b,b>=n6$'�c@E [`b � EFA)R b�?@B@VXC`G&JIc@E C`B@C JUCZ;h[]Dh;�[9?@E�\^b>A&JUc5C`G�jFb�?@BaJUEFAW8@JUc@E ?@=5= EWA�R]b>?@B5V�C9G&C9JIG_YBY;h[ Dh;�[`?@EgR E \^b>AIE JIc@E E��,EWjF?5JIC`b>B b�\�JUc5E [`beb>=�C9G�jFb>ST=@[9EWJUEh8N;�B@V JIc@E C`B5jFAIEWSfEWBaJ C`GJIc@E Dh;�[`?@EJUc@;hJ)C`G);�V5V@EFV4JUb JUc@E jWb>?@BaJUEWA(;lJ�JIc@E EFB@V4b�\�E ;�j c�C9JIEFAU;lJUC`b�B06

�[9[0=@AIb�<>AU;�S [`beb>=@G�JIcY;hJ�j ;�B5B@b�J�R E�jWb>BaD>EWAHJUEWV�JUb JUc5E3B5b>AISf;�[`C�$FEWV \^b>AIS S ?@GHJ�R]E�JUAIEF;hJUEWVjFb�B@GIEWAHDh;hJUC D>EW[9K>8�;�B@V [`beb>= V@C`G�JUAHC`R@?5JIC`b>B jF;�B@B@bhJfR]E4;�=@=@[9C`EWV JIb JIc@EFS46 '�c@C`GTC`G R]EFjF;�?@GHE�JUc5E

C`ST=@[9EFSTEFBaJ ;hJIC`b>B5Gb�\�;�[`C`;�G�;�B@;�[9KeGIC9G ;�B@V V@EW= EWB@V@EFB5jFE ;hBY;�[9KeGHC`G�cY;�B5V@[`E GI?5j c [`beb>=@G(D>EFA�K jFb>Bem

GIEWAHDh;hJIC9D>EW[9K�6

> �;� �;���;� 6 � �@�� � * ��*

� [`beb>= B5EFGHJTC9G ; GIEFd ?@EWB@jFE4b�\([`beb>=@GgjFb>BaJ ;hC`B@EWV �)C JUc@C9B E ;�j c b�JIc@EFAW6 '�c@E � � * ��� � ? �(���� �<>C D>EFG(JUc@EgBe?5S R EWA�b�\�[9b,b>=5G(C9B�JUc5E GIEWde?5EFB@jWE�6 '�c@E D�� �@ D��'&)� D <>C D>EWGJUc@Eg= b�GIC9JIC`b>B�b�\%;f[9b,b�=C`B ;X[`beb>= B@EFG�J 8!�)C9JIc JIc@Efb�?5JUEWAISTb>GHJ3[`beb>= ;hJ3[9EWD>EW[�b>B@E�6T'�c@ET[`beb>= C9JIEFAU;lJUC`b�B"D>EFj JUb>A3j ;hB R]E?@GHEFV�JIb ?@B@C`d ?@EW[9KkC9V@EFBaJIC9\ Kk;hB K C9JUEWAU;hJIC`b>B b�\i; [`beb>= �)C JUc@C9BX;T[9b,b>=kB5EFGHJF6

� ��� ������������ � � � � *(*:b�A; <>C D>EWB"C9JIEFAU;lJUC`b�B�b�\%; [9b,b>=�B@EFG�J �)C9JIc"B@EWGHJUC9B@<kV@EW=5JUc �Y8]JUc@E [9b,b�=

�F� ��� � ���;� � & � ��� �@� C`G�;hB �Ym JI?@=@[9E�8NGI?5j c JIcY;hJ�JUc5E � m JUc EW[`EFSTEFBaJ b�\�JIc@E JU?@=5[`E C`G�JIc@E Dh;�[`?5E b�\

JUc5E3[9b,b�= D�;hAICZ;hR@[`E\^b�A&JUc@E [`beb>=X;hJ)[9EWD�EF[ ��C9BkJUc@C9G�C9JUEWAU;hJIC`b>Bn6

* C`<�?@AIE 5@6 M GIc@b �)G(; [`beb>= B@EWGHJ �)C9JUc4; V@EW=5JUc4b�\ 358Y;�B@VkJIc@E�D�;h[`C`VkC JUEWAU;hJIC`b>B D�EFj JUb>AHG�\^b>A�C J 6

MPO

123

looplevel

for (int i=0; i<=1; i++) for (int j=0; j<=1; j++) for (int k=0; k<=1; k++) ......

loop nest

(0, 0, 0) (0, 0, 1) (0, 1, 0)

(1, 1, 0) (1, 1, 1)(0, 1, 1) (1, 0, 0) (1, 0, 1)

valid iteration vectors (i, j, k)

� ��?)����� > �;� *��B� (�@;hSf=@[9E �Nb,b>=4��EFGHJ

��������� ��� ����� ���� ������ ������ �

!eJU;hJUEWSfEWB JIG)jFb>BaJ ;hC`B@EWV�C9B�; [9b,b>=X;hAIE E��,EFjW?5JUEWV�b>B5jFE \^b>A�EWD�EFAHKXC JUEWAU;hJIC`b>Bkb�\ JUc5E3[9b,b�=06� ��� ������������ � � ��� *� C D>EWB ;)GHJU;hJUEWSfEWB J��kJIcY;hJ C`GNjWb>BaJ ;�C9B@EFV��)C9JUc5C`B ;)[`beb>=08l;�B@Vg;�B3C9JUEWAU;hJIC`b>B

D>EWjWJIb>A �>8�; * � �� � A � � � � � * �=� � � � �����TC`G�JIc@E E��,EFjW?5JUC9b>B b�\ JIc@E GHJU;hJUEWSfEWB J�� \^b>A�JUc@E [9b,b�=C9JIEFAI;hJUC9b>BkC`V@EWBaJUC9_@EFVXRaK �>6

��������� ����� � !��#" $&% �#'(� �

*Yb>A�G�J ;hJIEFSTEFBaJUG C`B ; =@AHb><>AI;�S JIcY;hJ3;�AHE B@b�J �)C9JIc@C`B"JIc@E GU;hSfE [9b,b>= B5EFGHJF8NJUc@E [`E �,C`jFb�<>AU;�=5c@C`jb>AHV@EFA(V@EW_YB5EFG�JUc5EFC`A(E��,EFjW?5JUC9b>B b>AHV@EFAW6�*Yb>A�GHJ ;lJUEFSTEFBaJ�C9B@GHJU;�B@jWEFG �)C JUc@C9B�JUc5E GU;hSfEg[`beb>=�B@EWGHJF8AIEW[Z;hJIC`b>B5G&R E J���EWEFB"[9b,b�=kC9JUEWAU;hJIC`b>BfD>EFj JUb>AHG�;�AHE ;�[`GHb ?@GIEWV�JUb V@E JUEWAISTC`B@E�JIc@E E��,EFjW?5JUC9b>B�b�AIV@EWAF6

� ��� ������������ � � �*) *$*Yb>AiJ�� bgC JUEWAU;hJIC`b>B D�EFjWJIb>AIGW8�/,+ � 8�+.- 8:6F6F6W8/+10 1�;hB@V /,2 � 8�2�- 8:6F6F6W8/230�1 8 /,+ � 8+.-P806F6W6F84+.0 165 /72 � 8#2�- 8N6F6W6F8#230 1�C �8+�9 �:2�9(\^b�A);�[`[<; GH?@j c�JIcY;hJ M>=�@?A= �CB�6

� ��� ������������ � � � � * *Yb>AgJ���b C9JIEFAI;hJUC9b>B D�EFjWJIb>AIGW8 /,+ � 8D+.-P8�6F6W6F8E+.0 1 ;�B5V /,2 � 8D2�-P8�6F6W6F8E23F 1�)c@EWAIEGBH=�JI 8 /7+ � 8K+.- 8�6F6W6F8K+.0 1L= /72 � 8K2�- 8�6W6F6F823F 1C � JIc@EFAHEfE �5C9GHJIG �(GI?@j c JUcY;lJfMM= �N = �CB ;�B@V�+.O=P23O 8:;�B@V�+�9 �C2�9(\^b�A);�[`[�;TGH?@j c�JIcY;hJ3MQ=�P?R= N 6

C D>EWB J���b�G�J ;hJIEFSTEFBaJ$C9B@GHJU;�B@jFEWG�� �S�����;�B5VA�4�4� &T� �)c@C`j c ;hAIE&C9BgJUc5E&GU;�STE�[9b,b�= B@EWGHJ 8 ;hB@V �;�B@V & jFb>AHAIEFGH= b�B@V JUbgJUc@E(C9JUEWAU;hJIC`b>B D�EFjWJIb>AIG \^b>A [9b,b�=@G%JIcY;hJ�;�AIE�jFb�SfSTb>BTR E J���EWEFBXGHJU;hJUEWSfEWB JIG� � ;�B@V8�4�a8U� �S����3=@AHEFjFEWV@EFG>�4�4� &T�gC9B JUc@E E��,EWjF?5JIC`b>B�b>AIV@EWA�C � *

o�p

�Q= &l8Yb>A

� � & ;�B@V8� �"jFb�SfEWG�R]EW\^b�AIE��4� C`BkJUc5E3[9E��,C`jWb><>AI;�=@c@C9j�b>AIV5EFAF6

������� � � ����� " � ��� � � ��'(�����

� �� � �(� � � ��� � � � * ;hAIE jF;�?@GHEFV RaK ;�jWjFEWGIGIEWG JUb�JIc@E GU;hSfEfSfEWSfb>A�K [`bej ;hJIC`b>B ;hJ V5C � EFAIEWBaJ=]b>C`BaJUG)C9B4JIc@E =@AIb><�AU;�S46 �(B";�jWjFEWGIG(JIb ; STEFSTb>AHK [`bej ;hJIC`b>BkSf; KXEFC9JIc@EFA)AHE ;�VXJUc@E3jFb�B JIEFBaJUG(b�\

JUc5E3STEFSTb>A�K [`bej ;lJUC`b�B b>A �)AIC JUE ; Dh;�[`?@E�JIb JUc@E STEFSTb>AHK [`bej ;hJIC`b>B �I6� ��� ������������ � � ��� *%*Yb>A); GHJ ;lJUEFSTEFBaJ>�:8�� A�� �� (C9G&JUc@E GIE Jbh\$;�[9[nSTEFSTb>AHK [`bej ;hJIC`b>B5G�JUcY;lJ

Sf;PK R E AHE ;�V4V@?@AHC`B@< JUc5E3E �,EFjF?,JUC`b�B�b�\ JUc@;hJ�GHJ ;lJUEFSTEFBaJF6� ��� ������������ � � ��� *�*Yb>A); GHJU;hJUEWSfEWB J(�:8�� A � � �� �C9G&JUc@E�GHEWJ�b�\ ;�[`[ SfEWSfb�AHKf[`bej ;hJIC`b>B@G%JUcY;lJ

Sf;PK R E �)AHC9JIJIEFBXJUb V@?@AHC`B@< JIc@E E��,EFjW?5JUC9b>B�bh\�JIcY;hJ)GHJU;hJUEWSfEWBaJ 6'�c@EFAHE ;hAIE�JUc@AHEFE � C`B@V5G�bh\ VY;lJ ; V@EF=]EFB5V@EFB@jWEFG1*

M>6 � D�� < �(�� � � �(� � � � *f��jWjF?@AHG \^AIb�S ; �)AIC JUEf;�jFjWEFGHG JUb�;�GI?5R@GIEWde?5EFBaJTAIE ;hV ;�jWjFEFGHGF6�� JC9B@V@C`jF;hJUEWG(JIcY;hJ�JIc@E Dh;�[`?5E AIEF;�V RaK�JUc5E GIEWjFb>B@V ;�jWjFEWGIG S ?@G�J�R EgJUc@E GI;�STE ;�GJIc@E Dh;�[`?@E

JIcY;hJ ��;�G �)AHC9JHJUEFB�R K4JUc5Eg_YAHGHJ ;�jWjFEWGIGF6� �Yb �2V@EF=]EFB5V@EFB@jWE �)C`[`[NE �,C`GHJ\^AIb>S G�J ;hJIEFSTEFBaJ

� ��JUbM�4� C \������ /�� �=1�������� /��4� 1���! 6

o,6 C � � �!�(�� � � �(� � � � *k��jFjW?@AIG \^AHb>S ;�AIEF;�V ;�jWjFEFGHG JUb ;�GI?@R@GHEFd ?@EWB J �)AIC JUE ;�jFjWEFGIGW6 � JC9B@V@C`jF;hJUEWG(JIcY;hJJIc@E GHEFjWb>B@V ;�jFjWEFGHG�S ?@GHJB@b�Jb D�EFA��)AIC9JIE JUc5E b>AIC9<>C`B@;�[0Dh;�[`?@E3?@BaJUC9[�C J�cY;hGR]EFEWB�AIEF;�V4R KXJIc@E�_YAIG�J�;�jWjFEWGIGF6��(B�;hB JIC�V@EF=]EFB@V5EFB@jWE �)C`[9[0E��,C9GHJ�\^AIb>S G�J ;hJIEFSTEFBaJ>� �"JIb�4� C9\������ /�� � 1�����"� / �4� 1���! 6

356 : ��� ��(�!�(�� � � �(� � � � *%��jFjF?5AIG�\^AIb>S�; �)AHC9JUE);hjFjFEWGIG%JUb3;3GH?@R@GHEFd ?@EFBaJ �)AHC9JIE);�jFjWEFGIGW6�� JC9B@V@C`jF;hJUEWGiJUcY;hJ%JUc5E�Dh;�[9?@E(jWb>BaJ ;�C9B@EFVfC`B JUc@E�STEFSTb>AHK [9b,jF;hJUC9b>BT;h\ JUEWA R]b�JIc ;�jWjFEWGIGIEWG�S ?@G�J

-$# � = 04: >"0BO@O@>T7 7R> 7�% ��5PO�� �+EB:�� <D> 0B=�0BK�=&%9< 5 : > 0 ? >@? EB< Q � E�OT04:D5PEBK ?;I�7R: �+>"O/E1I K :D> =�0B7 � EX:��%0 <D> 0B=0BOTO/> 7D7 0XK+= 0'%9< 5 : >�0BO@O@>T7 7@W

o,M

R]E�JIc@Eb�B@E(JIcY;hJ �&;�G �)AIC JIJUEWB RaK JUc@E(GIEWjFb>B@VX;hjFjFEWGIGW6%�(B b>?,JU=@?5J�V@EF=]EFB5V@EFB@jWE �)C`[9[YE��,C`G�J\^AHb>S G�J ;hJIEFSTEFBaJQ� �"JIbM�4� C \ ���"� / � �=1�� ���"� / �4��1 �� 6

� VY;hJU; V@EW= EWB@V@EFB5jFE E��,C`G�JUG&\^AHb>S GHJ ;lJUEFSTEFBaJ�C9B@GHJU;�B@jWE � �4JUb GHJ ;lJUEFSTEFBaJ�C9B@GHJU;�B@jWE �4�"C9\N;�[`[b�\ JUc@E�\^b>[9[`b �)C`B5< jFb>B5V@C9JIC`b>B@G�c5b>[`V *

M>6(� �"jFb�SfEWG�R E \^b>AIE��4� C`B JIc@E =@AIb><�AU;�S E �,EFjF?,JUC`b�B�b>AHV@EFAW6

o,6)'�c@EWAIE C9GgGHb>STEfjWb>SfSTb>B EF[9EFSTEFBaJ 8$GI; K �>8�R E J���EWEFB JUc5E GIE JUG �!5 2/ � � 1 ;�B@V �� �* / �4�(1/%$'��� � *+��������*+���/��� 1 8,b>A)R E J���EWEFB�JIc@E GIEWJIG �� �* /�� � 1�;�B5V��!5 2/ �4�(1 / � � � *+��������*+���/��� 1 8b>A�R]EWJ�� EFEWB�JUc5E3GHEWJIG �� �* /�� � 1�;�B@V �� �* /��4�(1 /����+� �����-*+��������*+���/����1 85C 6 E�6/ � ��� / � � 1�� � �"� / �4��1 1�� / ����� /�� �=1�� ����� /��4� 1 1�� /����"� / � ��1�����"� / �4� 1 1���! 6

356)'�c@EWAIEgC`G)B@b G�J ;hJIEFSTEFBaJ�C9B@GHJU;�B@jWEG� ) GI?@j c�JUcY;hJ>� ) jFb>STEFG�R E J���EWEFB � � ;�B@V �4� C9B�JUc5E=@AHb><>AI;�S E �5EWjF?5JIC`b>B4b>AHV@EFAW8:;�B@V �� %* / � )�1 ������� 6

�iAIb><>AI;�S jFb>BaJIAIb>[ �Yb � C9G ;h[`GIb�?@GIEWV JUb"V@E JUEWAISTC`B@EfC9\);�V5EF=]EFB@V@EWB@jFEkSf; K E��,C`G�J R E J���EWEFBJ�� bX;�jFjWEFGIGHEFGW63'�c5EFAIE C9GB@b V@EF=]EFB@V5EFB@jWETR]EWJ�� EFEWB ;�B ;�jWjFEFGHG C`B�JIc@E C \ZmLR@AI;�B@j c ;�B5V ;�B ;�jWjFEWGIGC`BkJIc@E EF[`GHE m R@AU;�B5j c�b�\ JUc5E3GI;�STE3jWb>B@V@C JUC9b>BY;�[ GHJ ;lJUEFSTEFBaJF6

��������� � " �#� � �#" � � � � ���

#+c@EWB JUc@E�V5EF=]EFB@V@EWB@jFE�C9G�R]EWJ�� EFEWB4G�J ;hJIEFSTEFBaJ�C9B@GHJU;�B@jFEWG&jFb�B JU;�C`B5EFV C9Bk; [`beb>=TB@EFG�J 8@C J�jF;�BkR]EAIEW=@AIEWGIEWB JIEFV ;hG(; V@C9AIEWjWJUC9b>BkD>EWjWJUb�AF6

� ��� ������������ � � ��� *� C D>EFB ; V5EF=]EFB@V@EWB@jFE�\^AIb>S G�J ;hJIEFSTEFBaJfC`B@G�J ;�B@jWE � �S����4JIb G�J ;hJIEFSTEFBaJC`B5GHJ ;hB@jFE(�4�4� & �l8 �)c@EFAHE�� � /� � 8� 4-P8Y6W6F6F8� #0'1$;�B@V & �0/ � � 8 � - 8:6F6W6F8 � F 1 8aJIc@E ������� �����;� � &)� ���=�)� 8�P8 \^b�A�JIc@C`G(V@EF=]EFB@V5EFB@jWETC9G; �]m JU?@=5[`E�8 �)c@EWAIE � C`G)JUc@E SfC9B@C`S ?5S b�\ � ;�B@V � 6 %;hj c EF[`EWSfEWBaJ

+1O 8@\^b>A�MQ= � N = ���N8YC9G�b>B@E b�\ JUc@E�\^b>[9[`b �)C`B@< *

o>o

, = 8@C \ #O= �.O 6

, � 8@C \ #O � �.O 6

, � 8@C \ #O � �.O 6

*Yb>A�E��5;�ST=@[`Eh8@jFb�B@GIC9V@EFA�JUc5E \^b�[`[`b �)C9B@< V@b>?5R@[9K B@EFG�JUEFV�[`beb>= *.)���G� ���� � ����� � = ��� � � ��� �

.)��� � ���� ; �����#;T= ���4; � ��� ����2$ �� � ; � � � � ���� $ �� � � � ; � ��� � ��

*Yb>A(JIc@E b>?5JI=@?5J�V5EF=]EFB@V@EWB@jFE \^AHb>S GHJ ;lJUEFSTEFBaJ M JIb GHJU;hJUEWSfEWBaJ3o,8 JIc@E V@C9AIEWjWJUC9b>B�D�EFjWJIb>A�C9G

/ = 8 � 1 6�'�c@C`G(JUEF[9[`G(?@G�R]EWJ�� EFEFB �)c@C9j c C9B@GHJU;�B@jWEFG�b�\�JIc@E J�� bkGHJ ;lJUEFSTEFBaJIG�JUc@E V5EF=]EFB@V@EWB@jFE C9GDh;�[`C9V06 '�c5E�V@EF=]EFB@V5EFB@jWE3E �,C`GHJIG�b>B@[ K �)c5EFBkJUc@E �$D�;h[`?@E�bh\NJUc@E�C9B@GHJU;�B@jWE�b�\ GHJU;hJUEWSfEWB J�M�C`G&[9EFGHGJUc@;�B JUc5E �iD�;h[`?@E�b�\NJUc5E�C`B@G�J ;�B5jFE�b�\�G�J ;hJIEFSTEFBaJ�o,85;�B@V JIc@E�; Dh;�[9?@EFG�b�\NJUc@E(J���b C9B@GHJU;�B@jFEWG�;�AHEEFd ?Y;h[ 6

� ��� ������������ � � ��� * � V5EF=]EFB@V@EWB@jFE�R E J���EWEFB J���b GHJU;hJUEWSfEWBaJ C`B@G�J ;�B@jWEFG �)c@C9j c ;�AIE �)C JUc@C9BJUc5E�GU;hSfE4[`beb>= B@EFG�J C9G D�� �@� � � ��� �;� � C \JUc5E�C9JIEFAI;hJUC9b>B D>EFj JUb>AHG jFb�AIAIEWGI=]b>B@V@C9B@< JIb JIc@E4J�� bGHJU;hJUEWSfEWBaJ&C`B5GHJ ;hB@jFEWG&;�AHE(B@bhJ�EWde?@;�[ 6$'�c5EV@EW= EWB@V@EFB5jFE�C`G%GU;hC`V JUb R]EjF;�AIAHC`EWV ;hJ [`E D>EW[ � 8 �)c@EFAHE�kC9G JUc@EX[`b � EFG�Jf[9b,b�= [`EWD�EF[�\^b>A �)c@C9j c JIc@EXjFb>AHAIEWGI=]b>B@V@C9B@< EW[`EWSfEWB JTb�\�JUc5E4V5C`AIEWjWJIC`b>B D>EWjWJIb>AJU?5=@[`E�C9G�B@b�J� 6

'�c ?@GF8Y;g[`beb>=,mLjF;�AIAHC`EWVTV5EF=]EFB@V@EWB@jFE�jF;�B E �5C9GHJ�b>B@[9K R]EWJ�� EFEWBXV@C � EFAHEFBaJ&C JUEFAI;hJUC9b>B@G�b�\�;3[`beb>=06� ��� ������������ � � ��� * � V5EF=]EFB@V@EWB@jFE4R]EWJ�� EFEFB J���b G�J ;hJIEFSTEFBaJ C`B@G�J ;�B5jFEFG � �S�����;hB@V �4�4� &T�l8

�)c@C9j c�;�AHE �)C9JUc5C`B JUc5E3GI;�STE3[9b,b�=kB@EFG�J 8YC`G D�� �@� � � �(�� � � �(� � � C \�� � &h6

o�3

i j

A

x

one dimensional Java array

A[i] and A[j] are aliased

� �;?)�(� � > � $ * ��C`G�JUC9B@jWJ)�Nbej ;hJIC`b>B5G�b�\i�>; Dh;kMWm � �AHAU; KX i[`EWSfEWBaJUG

��������� � ������� ����� � ��� �

# E3c@;PD�E V@C9GIjW?@GIGHEFV"VY;lJ ; V@EF=]EFB5V@EFB@jWEFG�C9BkJUEFAHSfG)b�\ SfEWSfb�AHK [9b,jF;hJUC9b>B@GW6i'�c@EFGHE [`bej ;lJUC`b�B@G�;�AHEGI=]EFjWC9_YEWV�C9B4; =5AIb><>AI;�S ?5GIC`B5< Dh;�AHCZ;�R5[`EB@;�SfEWGF8Yb>=,JUC`b�BY;�[`[ K jFb>S R@C`B@EWV �)C9JUcXGHb>SfE�_@EF[`V4;�jWjFEWGIGb>=]EFAI;hJUC9b>B@G);�B@V4;�AHAU; KkGH?@R@GIjWAIC9=5JE �,=@AIEWGIGIC9b>B@GW6�jWjFb>AHV@C`B@<3JUb �>; D�;3[Z;�B5<>?Y;�<>E�GHEFSf;�BaJUC9jFGF8eV@C �nEWAIEFBaJ EF[9EFSTEFBaJUG �)C9JIc@C`B JUc5E(GI;�SfE(;�AHAU; K S ?@G�J

R]E V@C9GHJUC9B@jWJgSTEFSTb>AHK [`bej ;lJUC`b�B@G �)c@EFB JIc@E ;�AHAU; K C`G3b>B@E m V@C`STEFB5GIC`b�BY;�[ 6k' � b ;�jWjFEFGHGIEWG JIb�JUc5EGU;hSfEg;�AIAI; K>8/" �� �T;�B5V " ; � 8 �)C9[`[�;�jWjFEFGHGV@C �nEWAIEWB J[`bej ;hJIC`b>B5G�C9\-�&;�B@VA; cY; D>E V@C �nEWAIEWB J�Dh;�[`?5EFGF6'�c@C9G C`GgC`[9[`?@G�JUAU;lJUEFV C`B * C`<>?5AIE05@6 o �)c@EFAHE " �� ��;�B5V " ; �4cY; D�E JUc@EfGU;�STEfDh;�[9?@EFGW8iR@?5J V5C � EFA�mEFBaJ [`bej ;hJIC`b>B@GW6 '�c ?@GF8�;hAIAU; K GH?@R@GIjWAIC9=5J E �5=5AIEFGHGIC9b>B@G jF;�B R]E ?@GHEFV JIb�V@C9GU;�S R5C`<>?Y;lJUE SfEWSfb�AHK[`bej ;lJUC`b�B@G&C`BXV@EW= EWB@V@EWB@jFEg;�BY;�[ KeGIC`GW6

��������� � � � ��'(������R� �<� �

� V5EF=]EFB@V@EWB@jFE�JIEFG�J&j c@EWj �eG�JIb GIEWE�C9\N; <>C9D�EFBf=Y;�C`A%b�\N=5AIb><>AI;�S ;�jFjWEFGHGIEFG�jF;�B AHEW\^EFA%JUb JIc@EGI;�STESTEFSTb>AHK [`bej ;hJIC`b>B06 '�c@EFAHE�;�AHEXGIEWD�EFAI;�[(V5C � EFAIEWBaJTJIEFG�JUG JUb V@b JUc@C9GF8%GI?@j c ;hG JIc@E�g� � JUEWGHJF8-&;�B5EFA �HEWE GfJIEFGHJF8);�B@V JUc@E���SfEW<a; JIEFG�J 6 # E�V@C9GIjW?@GIGfE ;�j c bh\JUc5EFGIE4JUEWGHJUGfC`B JUc@E4\^b>[`[9b �)C`B@<GIEWjWJIC`b>B@GW6��LB�b>?5A�C`ST=@[`EWSfEWB JU;hJUC9b>B08 ��E3?@GHE JIc@Eg��SfEW<a; JUEFG�J 6

oH5

> �;� � @ �;� � �(��� � � � � * �

��b>B@GHC`V@EWA�JUc@E�\^b>[9[`b �)C`B@< [`beb>= *.)���R� ���� � ����� � = ��� � � ��� �

� � � $ � � N �� �� � � � �� � � $ � � � N � ��� � � � �

'�c@E J�� b GI?@R5GIjFAHC`=5JIG �)C`[9[%c@;PD�E JUc@E GU;�STE Dh;�[`?5E �)c@EWB JIc@EFAHE C`G ;�B C`BaJIEF<>EWA GIb�[`?5JIC`b>B \^b>A JUc5EEFd ?Y;lJUC`b�B *

� � N ��� � � � N - � �� � ���

�LB JIc@E&;�R]bPD>E&EWd ?Y;hJUC9b>B08 N � AIEW=@AIEWGIEWB JIG$JUc@E%Dh;�[`?@E%b�\YJIc@E�[9b,b>= Dh;�AIC`;�R@[9E%C9BgJIc@E&C9JIEFAI;hJUC9b>B C`B �)c5C`j cJUc5Eg_YAHGHJ�;hjFjFEWGIG�C9G(Sf;�V@Eh8];�B@V N -�AIEW=@AIEWGIEFBaJIG�JUc@E Dh;�[`?@E3b�\$JIc@E [9b,b�=4Dh;�AHCZ;�R@[9E�C`B4JUc@EgC9JUEWAU;hJIC`b>BC`B �)c5C`j ckJUc@E�GHEFjWb>B@V�;�jFjWEFGIG)C9G�S ;�V5E�6$� \ JUc@EWAIE�C9G&B@b C`BaJUEW<>EFA�GIb>[9?5JUC9b>B \^b>A�JIc@E�EFd ?Y;hJIC`b>Bn8,JUc5EFBJUc5EFAIE �)C9[`[0R]E�B@bTV@EF=]EFB@V5EFB@jWE R]EWJ�� EFEFB4JUc@E�J�� b ;�jWjFEWGIGIEWGF6'�c@E g� � JUEFG�J j c5EFj � G \^b>A�JUc5ET=]b>GHGIC`R5C`[`C JLK�bh\�;XV@EF=]EFB@V5EFB@jWE ?@GIC9B@<XJUc@E =@AHb>= EWAHJLK JIcY;hJg;

GIb�[`?5JIC`b>B �)C`[`[�E �5C9GHJ�C \�;�B@V b�B@[9K4C9\ JUc@E <�AIE ;lJUEFG�J�jFb�SfSTb>B�V5EFB@b>STC`B@;hJUb>A�b�\ � ;�B5V � � V@C DeC`V@EWG/� �� � ��� 1 6

> �;� � @ � $ ; � � ����� � � * � � * �

'�c@Eg3� � JIEFG�J)V@b,EWG)B@b�J&JU;���E C`BaJIb ;�jFjWb>?@BaJ�JUc@E R]b>?@B@V5G�b>BkJUc@E�Dh;�[9?@EFG�b�\�JIc@E�[`beb>= Dh;�AIC`;�R@[9E�6-&;�B5EFA �HEWE G�JIEFG�J(V5b,EWG)JIc@C`GW6� J$_YB@V5G$JUc@E�?@=5= EWAiR b>?5B@V / � 1 ;�B@V JIc@E&[`b � EFAiR]b>?@B@V / ��1 \^b>A�JIc@E�E��,=@AHEFGHGIC`b�B � � N ��� � � � N -

?@B@V5EFA�JIc@E�jWb>B@G�JUAU;hC`BaJUG JUcY;hJ N � ;�B@V N -$GIc5b>?@[`VgR E%Dh;�[`?@EWG �)C JUc@C9B3JIc@E�R]b>?@B5V@G b�\5JUc@E%[`beb>=06 '�c@EFBn8C9\ � = /� �� � ��� 1b>A � /� �� � ��� 1 8nJIc@E J���bXGH?@R@GIjWAIC9=5J E��,=@AHEFGIGHC`b>B5GgjF;�B@B@b�J�cY; D>E JUc@E GI;�STEDh;�[`?5E�8Y;�B5V�B@b V@EW= EWB@V@EWB@jFEgE��,C`G�JUGF6

o #

-&;�B@EWA �HEWE G JUEFG�J <>C D>EWG ;�B C9B@E��5;�j J AHEFGI?5[9J 6�'�c@E AHEFGI?5[9J jF;�B jWb>B@GIEWAHDh;hJIC9D>EW[9K C`B5V@C`jF;hJUE JUcY;lJ;�V5EF=]EFB@V@EWB@jFE SfC9<>caJgE �,C`GHJ C`B GIb>STETj ;�GHEFG �)c@EWAIETJUc@EWAIE C9GgB5b�V@EW= EWB@V@EFB5jFE C9B \ ;�j J 6k'�c@C9GgC9GR]EFj ;h?@GIE+*

, '�c@E�JIEFGHJ(j c@EWj �eG�\^b>A�AIEF;�[NGIb�[`?5JIC`b>B@GW8 �)c@EWAIEF;�G([9b,b�= D�;hAICZ;hR@[`EWG&J ;��hE3C9BaJUEF<�EFA�Dh;�[`?@EWG�b>B@[ K>6

, #+c@EWBX;�B ;hjFjFEWGIG�cY;hG�S ?@[ JUC9=@[`E)GI?5R@GIjWAIC`=,JUGF8eJUc@E(JUEFG�J&j c@EWj � G)\^b�A�; GHb>[`?,JUC`b�BT\^b>A%E ;hj ck=Y;�C`Ab�\ GI?@R5GIjFAHC`=5JIGC9B@V@C9DeC9V@?Y;�[9[9K>6�1�b ��E D>EFAW8nJUc5EgC9B JIEFAHGIEFj JUC9b>B�bh\i;�[9[0JUc@E3C`B@V5C9DeC`V@?@;�[0GIb�[`?5JIC`b>B@GSTC`<>caJ�R]E EFST=5JLK>8 �)c5C`j c �)C`[`[ SfEF;�BkJUcY;lJ(B5bTV5EF=]EFB@V@EWB@jFEgE��,C`G�JUGW6

> �;� � @ � 9 : A ��?@� � � * �

�(B5[`C%�hE�JUc@E =@AHEWDeC`b�?@G�J���b JUEWGHJUGW8YJUc@Eg��SfEW<a; JUEWGHJ � �i?@<>O5M ��=@AHb DeC9V@EFG�;�BXE��5;�j JGHb>[`?,JUC`b�B06'�c@E�jFb>B@V5C9JUC9b>B@G$\^b>A%;�V@EW= EWB@V@EFB5jFEJIb3E �,C`GHJ%R]EWJ�� EFEWB J���bg=@AIb�<>AU;�S ;�jFjWEFGIGHEFG�;�AIE)E��,=@AHEFGHGIEFV

C`BfJUEFAHSfG b�\ jFb>B5GHJUAI;�C`BaJIG&bPD>EFA�C`BaJUEW<>EFA�JI?@=@[9EAIEW[Z;hJIC`b>B5G�;�B5VkGIEWJIGF6�'�c@C9G&C`B@jW[`?@V5EFG�GH= EWjFC \ K,C9B@< JUc5E

[`beb>=3D�;hAICZ;hR@[`EWG�\^b>A JUc@E&[9b,b�=@G EWB@jF[9b>GIC9B@<JUc5E);�jFjWEFGIGHEFGW8 JIc@E�R]b>?@B@V@G b�\YJUc@EWGIE)[`beb>=3D�;hAICZ;hR@[`EWGF8>;hB@V

JUc5E%jWb,E��TjFC`EWBaJUG b�\5JIc@EFGHE [9b,b>=�Dh;�AHCZ;�R5[`EFGNC9B GI?@R@GHjFAHC`=5J�E��,=@AHEFGIGHC`b>B5G /^C9\eJUc@E%;�jWjFEFGHGIEWGi;�AIE�EW[`EFSTEFBaJIGb�\ ;�B ;�AIAI;PK1 6$'�c@EFGHE�jFb>B5GHJUAI;�C`BaJIG&j ;�B R E(GI=]EFjFC _YEFVk?5GIC`B5< AIEW[Z;hJIC`b>BY;h[:;�B@V [9b><>C`j)b>=]EFAI;hJUb�AIGF8e\^AIEWE;�B@V�R b�?@B@V�Dh;�AHCZ;�R@[9EFGW8YBe?5S R EWAIGW80;�B@V�-�beb>[`EF;�B4Dh;�[9?@EFGW6�'�c@E G�KeGHJUEWS bh\ijFb>B5GHJUAI;�C`BaJIGC`G)GHb>[9D�EFV

JUb V@E JUEWAISTC`B@E�C \$; V@EW= EWB@V@EFB5jFE E �,C`GHJIGF6'�c@E3��SfEW<a;gJIEFGHJ&j ;�BkR]E�C`ST=@[9EFSTEFBaJUEWV ?@GHC`B@< JIc@E ��STEF<a; [9C`R@AI;�AHK � �3��� � O 8�� 6��(GHC`B@<gJUc@C9G

JUEWGHJF8,V@C9AIEWjWJUC9b>B D>EFj JUb>AHG�jF;�B R]E(b�R5J ;�C9B@EFV \^b>A%; V@EF=]EFB@V5EFB@jWEJUcY;lJ�E �5C9GHJIG R]EWJ�� EFEWB J���b ;�jFjWEFGIGHEFGC`B ;�[9b,b>= B@EFG�J 6i'�c@E�C9Sf=@[9EFSTEFBaJ ;lJUC`b�B j ;hBTc@;�B@V@[9E�b>B@[9K3JUc5b>GIE�;�AHAU; K GH?@R@GIjWAIC9=5JUGiJUc@;hJ%;�AIE&;"�TB@EE��,=@AHEFGHGIC`b�B@G�b�\ JUc@E�[`beb>= Dh;�AIC`;�R@[9EFGF8 C 67Eh6a[`C`B5E ;�AiE �5=5AIEFGHGIC9b>B@G�bh\nJUc5E�\^b>AHS � � � � � �� � � ��- �� 4- �� � � ��� 0�� #058 �)c@EWAIE � � � � � � 0k;�AIE jWb>B@GHJU;�BaJUGg;�B@V � � � � #0X;�AHE [`beb>="Dh;�AIC`;�R@[`EWGF6g� jFb>B@GHEFA�D�;lJUC9D�EAIEWGI?@[ J�C`G�AIE JU?@AHB@EFVX\^b>A�b�JIc@EFA)jF;�GIEWGF6

o�8

� ��� � � � �"���")� � � ) & � � ��� �

�)EW\^EFAHEFB@jWE�;�BY;�[ K,GHC`G$C9G$B@EWEFV@EWVTJIb�V@C`GI;�S R@C9<>?Y;hJIE%JIc@E�AIE \^EFAIEWB@jFE�;�jWjFEWGIGIEWG C9B ;�=@AIb�<>AU;�S46 �LB \ ;hjWJ 8

C9J%jF;�B R]E(AHEF<a;hAIV@EWV ;�G ; \^b�AIS b�\0V@EF=]EFB@V5EFB@jWE�;�BY;�[ KeGIC`GiJIcY;hJ%GI=]EFjWC9_YjF;�[`[ K ��b�A � G �)C JUcT=@AIb><�AU;�S;�jWjFEFGHGIEWG�JUcY;lJ c5b>[`VTAIE \^EFAIEWB@jFE)Dh;�[`?5EFGF6$��E \^EFAIEWB@jFE;�BY;�[ KeGIC`G%;�[9GIb c@EW[`=@G�JUb3V@EWJIEFj J�E �5jWEF=5JIC`b>Bem \^AIEWE[`beb>=@GW6

� ��� ������������ ��� � � *)� =@AHb><>AU;hS ���=9 ����� � � � �B�'� � *=* j ;hB R Egb�\iJUc@Eg\^b>AIS �]8�� � � � � /^C 6 E�6 ;�B;�AHAU; K ;�jWjFEWGIG 1 8�b>A������,/ C 67Eh60; _YEF[9V ;�jFjWEFGHG 1 8 �)c@EWAIE ��C`G�EWC9JUc5EFA�; G�J ;�j ��Dh;�AHCZ;�R5[`E jWb>BaJ ;�C9B@C`B5<k;AIE \^EFAHEFB@jWE3Dh;�[9?@E�b>A);�B@bhJUc@EWA�AHEW\^EWAIEFB5jFEg;�jFjWEFGIGW6

� ��� ������������ ��� ��� *�� ���+9 � ��� � � � �B*�*=�;? � A � � � * �=�� � A � � � C9G�;�B ;�GHGIC9<>B@STEFBaJ�G�J ;hJIEFSTEFBaJ�)c@b>GHEg[9EW\ J�c@;�B@V4GIC`V5E3C9G);�GIGHC`<>B5EFV�; AHEW\^EWAIEFB5jFE D�;h[`?@Eh6�LB JUc@C9G ;�B@;�[9KeGIC9GF8 ��EkSf;�= =5AIb><>AI;�S AIE \^EFAIEWB@jFEX;hjFjFEWGIGHEFG JUb�JIc@E c5E ;�= b>R �HEFjWJIG JUc5EWK AHEW\^EWA

JUb56 # E JUAI;�j �"JUc@EWGIETS ;h=@=@C`B5<>G�C`B ; �Yb � GIEWB@GIC JUC D>ETS ;�B5B@EFAW8 C 67Eh6 � E �hEFEF= ;XGHEF=Y;hAU;hJIEfGHEWJ3b�\Sf;�=@=@C9B@<>G(\^b�AE ;hj c AHEW\^EWAIEFB5jFET;�GIGHC`<>B5SfEWB J�GHJ ;lJUEFSTEFBaJ�C9B"JUc@E =@AIb><�AU;�S46�'�c ?@G ��E jF;�B V@EWJIEFA�mSTC`B@E �)c@EWB J�� b�=5AIb><>AI;�S ;hjFjFEWGIGHEFG AHEW\^EWA JIbkJUc@E GU;hSfE STEFSTb>AHK�[`bej ;hJIC`b>B08n;�B@V V@EF=]EFB5V@EFB@jWEFG

R]EWJ�� EFEFB�=@AIb><�AU;�S ;�jFjWEFGIGHEFG(j ;�B4R E�JIAU;�j �hEFV06

����� ��� � � �S" ��� $���� ��� �

�)EW\^EFAHEFB@jWEFGTC`B �>; Dh; j ;�B b>B@[ K V@EWB@b�JIEkb>R��HEFj JUGf;�[`[9b,jF;hJUEWV C`B JIc@Ekc@EF;�=�RaK C`B@G�J ;�B@jWEFG b�\ �/���GHJU;hJUEWSfEWBaJUG�C`B JIc@E�=@AHb><>AI;�S�6 �LB Dh;�[9C`V AHEW\^EWAIEFB5jFEFG)cY; D�E JIc@E�GH= EWjFCZ;h[ Dh;�[`?5E ������ 6i�(BX;�jFjWEFGHG �)C9[`[AIE \^EFA%JUb GHb>SfE�c@EF;�=kb>R��HEWjWJ 85;�B@V JIc@Eb�R��HEFj J&JUcY;lJ&C9J AIE \^EFAHG JUb j ;�B j c@;�B@<>E�V,K,B@;�SfC9j ;�[9[9K ;�G�JUc5E=@AHb><>AU;hS E��,EWjF?5JIEFGF6�LV@E ;h[`[9K�8(EF;�j c+=@AIb�<>AU;�S ;�jFjWEFGHG4GHc@b>?@[9V+S ;�= JIb ; GIC9B@<>[`E�c@E ;�=+b>R �HEFjWJF8R@?,JkJUc@C9GkC`G B@bhJ

=]b>GIGHC`R@[9E R]EFj ;h?@GIEXb�\)jWb>B@V@C JUC`b�BY;�[ ;�GIGHC`<>B@STEFBaJIG JUb"Dh;�AHCZ;�R@[9EFG3C`B JIc@E =@AHb><>AU;hS�6 �([`GIb58$V@EFEW=@[9K

B@EWGHJUEWV ;�<><>AHEF<a;hJIE VY;hJU;�GHJIAI?@j JU?@AHEFG C`B5jFAIEF;�GIEfJUc@EX;�STb>?@BaJ b�\)C`B5\^b�AISf;hJUC9b>B JIcY;hJ B5EFEFV5G JUb R]E

JUAI;�j ��EWV R]EWK>b�B@V��)cY;hJ3C9G \^EF;�GIC9R@[`E C9B =@AI;�jWJIC`jWE�6 '�c5EFAIE \^b>AIEh8 GHb>SfET;�=5=@AIb �,C`Sf;hJUC9b>B@G ;�AHEf?5GIEFVn8;�B@V4Sf;�=@=@C9B@<>G�;�AHE S ;�C9BaJ ;�C9B@EFV \^AHb>S =@AHb><>AI;�S ;�jWjFEWGIGIEWG(JIbf; GIE J�b�\ c5E ;�=4b>R��HEWjWJUGW6

o��

for (i=0; i<n; i++) {y: a[i] = new double[n];

}

x: a = new double[n][];

Accesses in Code

y[2]

y[1]

y[0]

y[3]

y[4]

y[5]

y[6]

y[7]

y[8]

y[9]

xa

Names in Heap

compact representation: (y[i]; 0 <= i < n)

� ��? �(��� > � 9 *���;�=@=@C9B@<T��AHb><>AI;�S �(jFjFEWGIGHEFGJIbf1�E ;�=��;hSfEWG

��E \^EFAHEFB@jWE ;�BY;h[9KeGIC9G�C9G)C`ST=@[`EWSfEWB JIEFVk?@GHC`B@< JUc5E ;�[9<>b>AHC9JUc5S V@EWGIjWAIC`R]EFV�C`B � # * � !,p>p+� 6�'�c@C9GJUEWj c@B@C9de?5E�?@B@C9de?5EF[9K C9V@EFBaJIC9_YEWG EF;�j c c@EF;�= b>R��HEWjWJ�R K JIc@E(C9B@GHJU;�B@jWEb�\0JIc@E �/��� GHJU;hJUEWSfEWB J JUcY;lJ;�[9[`bej ;hJIEFV C J 6 !eJ ;lJUEFSTEFBaJiC9B@GHJU;�B@jWEFG�;�AHE&BY;�STEFV ?5GIC`B5<�JUc@E&=]b>GHC9JUC9b>B ;lJ �)c@C`j c JIc@EWK b,jWjF?@A C`B JUc5E=@AHb><>AU;hS�GIb�?@AIjWE;�B5VTJIc@E)[`beb>= C9JUEWAU;hJIC`b>BgD>EFj JUb>A / C \ JIc@E)GHJU;hJUEWSfEWB J%C9G �)C JUc@C9B ;3[9b,b�= B@EFG�J 1 6�*Yb>AcY;�B5V@[`C9B@< �/��� G�J ;hJIEFSTEFBaJUG �)C9JIc@C`B �)c5C`[`E mL[9b,b>=5G&;�B@V4V@bhm �)c@C`[9E�[`beb>=@GW8@; V@?@STS K [9b,b�= D�;hAICZ;hR@[`EC`G�C9BaJUAIbeV@?@jWEFV06�'�c ?@GW8]E D>EWAHKXb>R��HEWjWJ(cY;�G�; ?@B@C9de?5E ��� $�� ��$ � � 6

'�c@E ;�[9<>b>AIC JUc@S V5b,EWGX;�B EF[9EFSTEFBaJHm �)C`GHE ;�BY;�[ KeGIC`GW8)C 6 E�6�EF;�j c+;�AHAU; K EW[`EFSTEFBaJ cY;�GkC9JIG b �)BSf;�=@=@C9B@<�JUb�;�GIE J b�\@c@E ;�=gb>R��HEWjWJUGW6$' bEFB@;�R@[`E ;)jFb>ST=Y;�j J AHEF=@AHEFGIEWBaJ ;hJIC`b>B08�S ;�=5=@C`B@<�G0\^b>A ;hAIAU; KEF[9EFSTEFBaJUG;�AIE3C`BXJUEWAISTGb�\ \^?@B@jWJIC`b>B5G(bPD>EWA(JIc@E ;�AHAU; KXC`B5V@E��,EFGW6*�C`<>?@AHE"5@673TGIc@b �)G�;hB�E��5;�ST=@[9E�)c@EWAIE G�J ;hJIEFSTEFBaJ C`B5GHJ ;hB@jFEWG ��;hB@V &�� � �k;�AIE ?@GIEWV JUb"BY;hSfETJUc@E c5E ;�= b�R��HEFj JUG ;�[9[`bej ;hJIEFV R KJUc5EFS46 �iAIEFjWC`GHE�C9B5\^b>AISf;hJIC`b>B \^b>AT;�AHAU; K EF[9EFSTEFBaJUGTC`G C9Sf=]b>AHJU;�BaJ C`B JUc@E4j ;hGIE�bh\ �>; Dh;56 '�c@C9G

C`G�R]EFj ;h?@GIE �>; Dh; S ?5[9JUC9V@C`STEFB5GIC`b�BY;�[0;hAIAU; KeG�;hAIE ;hAIAU; KeGbh\�;�AIAI; K,G;�B@V"b�B@E V@C9SfEWB@GIC9b>BY;�[�;hAIAU; K

b>R��HEWjWJIGk;�AIE�AIE \^EFAIEWB@jFE�D�;h[`?@EWGfJUc@;hJ jF;�B R]E�Sf;�B@C`=5?@[Z;hJIEFV �H?@G�Jk[`C���E4b�JUc@EWA AHEW\^EFAHEFB@jWE�Dh;�[`?5EFGF6'�c@C9G C9G%bh\0<>AHE ;hJIEFA%GIC`<�B@C9_YjF;�B@jWE�\^b>A�B ?@STEFAHC`j ;h[Y=@AIb><�AU;�STG �)c@C`j cTJLK,=5C`j ;h[`[9K C`BaD>b>[ D>E�S ;hB KT;hAIAU; Kb>=]EFAI;hJUC9b>B@GF6

����� ��� � ��� ��� �� �4"����

'�c@E%AIE \^EFAIEWB@jFE ;�BY;h[9KeGIC9GNC`GNV@b>B5E RaK ;�B3C9JIEFAI;hJUC D>E�;�[9<>b>AIC JUc@S+JUc@;hJNJUAI;PD�EFAHGIEFG JUc@E�=@AHb><>AI;�S jFb�B JIAIb>[

�Yb � <�AU;�=@cn6 � J%C`BaD>b���EFG%;�JUAI;�B@G�\^EFAi\^?@B@j JUC`b�B \^b�A$E ;�j cTAIE \^EFAHEFB@jWE;�GHGIC9<>B@STEFBaJ�GHJU;hJUEWSfEWB JF6$'�c@EWGIE

o�Q

JUAI;�B@G�\^EFAN\^?@B@j JUC`b�B@GN?@=]VY;hJUE$JIc@E�GIE J�bh\5Sf;�=@=@C9B@<>Gn\^AHb>S =5AIb><>AI;�S ;hjFjFEWGIGHEFG�JUb)c@E ;h=gb>R �HEFjWJ BY;hSfEWGRY;�GHEFV b�B JUc5E E � EFj J b�\�JUc@EfjFb>AHAIEFGH= b�B@V@C`B5<�GHJU;hJUEWSfEWBaJ 6X'�c@C`Gg?@=]VY;hJUEf; � EFj JUGgJIc@E Sf;�=@=5C`B@<>GGI=]EFjWC9_Yj JIb ;"=Y;�A�JUC9jF?@[`;�AgG�J ;hJIEFSTEFBaJ =]b>C`BaJ C9B JUc5Ek=@AIb><�AU;�S46 !eJ ;lJUEFSTEFBaJIG C`B [9b,b>=5G S ?@G�J R]E

C9JIEFAI;hJUEWV�bPD>EWAF80;hB@V�JUc5E GIE J�b�\$S ;�=5=@C`B@<�G(C9G(?@=]VY;hJIEFV"EF;�j c�JIC`STE3?5B JIC`[�;T_ �,EWV = b>C9BaJ(GHb>[`?,JUC`b�BC`G(AIEF;�j c@EFVn6��&J�E ;�j c =5AIb><>AI;�S = b�C`BaJ �)c@EWAIE J�� bkE��,EWjF?5JIC`b>B =Y;lJUc@G�STEFE J0/ EWB@V b�\�jWb>B@V@C JUC`b�BY;�[GHJU;hJUEWSfEWBaJUG%;�B@VT[`beb>= GHJU;hJUEWSfEWBaJUG 1 8aJUc@E)?@B@C9b>B b�\]JUc@E�AHEFGI?5[9JUG�b>R,J ;�C9B@EFV b>B E ;hj c =Y;hJIc C`G$J ;"��EFBn6

����� ��� � ������� � ���(!(�� �S" ���

'�c@E�;�[`<>b�AIC9JIc@S C9B�� # *$�%!5p>p+�(V@E _YB@EFG ; JUAI;�B@G�\^EFAf\^?5B@jWJIC`b>B \^b>AfEF;�j c AHEW\^EFAHEFB@jWE ;�GHGIC`<�B@SfEWBaJGHJU;hJUEWSfEWBaJ 6��([`[ AIEW\^EWAIEWB@jFE ;�GHGIC9<>B@STEFBaJ�G�J ;hJIEFSTEFBaJUG�jF;�B R]E E��,=@AHEFGHGIEFV C`B�JUEFAHSfG(b�\�GIE D>EWB =5AIC mSf;�AHK b>B@EWGF6 '�c@EkJUAI;�B@G�\^EFA \^?@B@j JUC`b�B@G \^b>A JIc@EFGHE4GHEWD�EFB G�J ;hJIEFSTEFBaJUGT;�AHEkV@EFGHjFAIC9R EWV R EW[`b � 6 �

;�B@V �T;hAIE3GHJ ;hj �XDh;�AHCZ;�R5[`EFG)b�\ AIE \^EFAIEWB@jFEgJLK,=]E�6 $ C9G; _YEF[9V�BY;hSfE \^b>A�JUc@E �>; Dh;fb>R��HEWjWJ(JUcY;hJ�C9GAIE \^EFAHEFB@jWEFV08];�B@V �3C`G&JIc@E3;�AIAI; KkGI?@R5GIjFAHC`=5J�E �5=5AIEFGHGIC9b>B06

M>6-� � ���+�� *'�c@E GHEWJ(b�\ c5E ;�=4b>R��HEWjWJUG)JUc@;hJ-� jF;�B�AHEW\^EWA)JIb C`G)GIE J�JIb R E�JUc5E ���+�� b�R��HEFj J(b�B@[9K�6

o,6-� � �/��� ; $ ��$ ,�� ;)����� � � *'�c@E3GIE J�b�\$c@EF;�=4b>R��HEFj JUG�JUcY;hJ-� j ;�B4AIE \^EFA)JUb C`G)?@=]VY;hJIEFVXJUbTR E�JUc5E3GHC`B@<�[`E�b>R��HEWjWJ�JUcY;lJC9G);�[`[9b,jF;hJUEWVkR K JUc@C9G�GHJ ;lJUEFSTEFBaJ�C`B5GHJ ;hB@jFEh6

356-� ����*'�c@E GHEWJ(b�\ c5E ;�=4b>R��HEWjWJUG)JUc@;hJ-� jF;�B�AHEW\^EWA)JIb C`G�JUc@E GI;�SfE�GHEWJ)JUc@;hJ � jF;�B4AIEW\^EWA&JUb@6

5@6-� ��� �$H*'�c@E%GIE J bh\@c@EF;�= b>R �HEFjWJIG�JIcY;hJ � j ;hBgAHEW\^EFA�JUb�C`GNJIc@E GI;�STE%GHEWJ JUcY;lJ � �$jF;�B AHEW\^EWA JIb@6$!eC`B@jWEJIc@E S ;�=5=@C`B@<�G�\^b>A � �$�;�AIET;�=5=@AIb �,C`Sf;hJUEWV RaK"JIc@ETS ;�=5=@C`B@<�G�\^b>A �F8NJUc@ETB@E���S ;h=@=@C`B5<\^b>A � C`G�JIc@E GU;�STE ;�G�JIcY;hJ�\^b>A �F6 ��GIC9B@< JUc@E JLKe=]ETC9B5\^b>AHS ;hJIC`b>B4\^b>A��]80JUc5C`G�GHEWJ3j ;�B R]E=@AH?@B@EWV4JIbfE �5jW[`?@V5Eg;h[`[nJIc@b>GIE c@EF;�=4b>R��HEFj JUG)JUcY;lJ�;�AIE B@b�J)bh\ jWb>Sf=@;hJUC9R@[`EJLKe=]E�6

o�O

q

p

stack

p.a = q

q

p

s

stack heap heap

s

r r

a a

� ��? �(��� > � > *� � EFj Jbh\ ���$ � � b>B���EWSfb>A�Kk�Nbej ;hJIC`b>B@G

#,6-� ��� ����*'�c@E GHEWJ b�\%c@EF;�= b>R��HEWjWJUG�JIcY;hJ�� j ;�B AHEW\^EFA(JUbkC`G(JUc@E GI;�SfE GIEWJ�JIcY;hJ � ���Tj ;hB AIEW\^EWA�JUb@6�([`GIb585C9\ ��C`G�b�\ ;�AIAI; K JLKe= Eh85JUc5EFB � � � �)C`[`[]Sf;�= JUb JIc@E�GU;hSfE�GHEWJ�;�G � ��� � � 8+� � � �& ���)C9[`[Sf;�=kJUb JUc5E3GI;�STE�GIEWJ;�G � ��� � � �& � 8Y;�B@V4GIbTb>B085?@=4JIb JUc@E [Z;hGHJ)V@C9SfEWB@GIC9b>Bkb�\ �]6

856-���$ � ��** C9<>?@AHE 5@6653GHc@b �)G c5b�� AIE \^EFAIEWB@jFEWG%JIb SfEWSfb>A�K [9b,jF;hJUC9b>B@G$;hAIE�STb,V@C _YEFV RaK JIc@E�E��,EFjW?5JUC9b>Bb�\ JUc5C`G�GHJU;hJUEWSfEWBaJ 6

'�c@E ;�jFjWEFGHG ���$ �)C`[9[NR E3S ;h=@= EWV�JIb ;TGIEWJb�\$c5E ;�=�b>R��HEFj JUGJIcY;hJ�j ;hB"R E3AIE \^EFAHAIEFV4JUbfR KC J 8�GU; K JUc@ETGIE J % bh\&c@EF;�= BY;�STEFGW6k!,C9SfC9[Z;�AH[9K�8 JUc5E ;�jWjFEFGHG � �)C`[9[$R ETSf;�=@=]EFV JIb�;XGIE Jb�\%c@EF;�= b>R��HEWjWJUGW8�GU; K��X6n'�c@E ;�GIGHC`<>B5SfEWB J jF;�?@GHEFG GIb>STE c@EF;�= b>R��HEWjWJ C`B % JUbkAHEW\^EFA�JIbGHb>SfE c@E ;�= b�R��HEFj J C`B��X6 '�bkR]E jFb>B5GIEFA�Dh;hJUC D>E�8 � E S ?@G�J ;�GHGI?@STE JUcY;lJ ;�BaK"STEFS R]EFA(b�\% jF;�B4B@b � AIE \^EFA�JUbT;�BaKkSTEFS R EWA�b�\��k6'�c@C9G3;�GIGHC`<>B@STEFBaJgj ;�B AIE��YEFj J b>B =@AHb><>AU;hS ;�jFjWEFGHGIEFG b�JUc@EWA3JIcY;�B ���$�6 '�c@C9GgC9G R EWj ;�?@GHEJIc@EFAHE�j ;�B4R E ;hB@b�JUc5EFA�=@AHb><>AU;hS ;�jWjFEWGIG �gJUc@;hJ)AIE \^EFAIG�JIb b>B@E�b�\ JUc@E�c5E ;�=Xb>R��HEWjWJIG�C9B % 6!,C9B@jFE�JIc@E�b>R��HEWjWJIG�AHEW\^EWAIAIEWV4JIb RaKkSfEWS R]EFAIG�b�\ % cY;�G�B@b � j cY;�B@<>EWV08@JUc5E�GIEWJ)bh\ b>R �HEFjWJIGAHEW\^EFAHAIEWV�JUbTRaK � GIc@b>?5[`V�;�[`GHbfj cY;hB@<>Eg;�jFjWb>AIV@C9B@<>[ K / C 67Eh6�� GHc@b>?@[9V�R]E ;hV@V@EFV4JUb JUc@E3GIE Jb�\�Sf;�=@=@C9B@<>G�\^b>A � 1 6

3>p

q

p

stack

p[e] = q

q

p

stack heap heap

r

r r

s se

� �;?)�(� � > � 5 *% ��nEWjWJ�b�\ � ��� ��� b>B���EFSTb>AHKk��bej ;lJUC`b�B@G

'�c ?@GW8:JIc@E�JUAI;�B@GH\^EWA�\^?@B@jWJIC`b>Bk\^b>A&JIc@E GHJU;hJUEWSfEWB J ���$����)V@beEFG�JUc@E�\^b>[9[`b �)C`B5< **Yb>A(E ;�j c =@AHb><>AU;hS ;hjFjFEWGIG ���)c@b>GHETSf;�=@=5C`B@<fC`B@jW[`?@V@EWG�GIb�SfEgGI?@R@GHEWJ3b�\ % 8 ?5= VY;lJUE JUc5ESf;�=@=@C9B@< b�\ ��JUb C9B@jF[9?@V@E�JUc5E3GHEWJ�b�\�c@E ;h=�b>R �HEFjWJIG(AHE ;�j c@;�R@[`E�\^AHb>S �X6

�,6-� ��� � ��** C9<>?@AHE 5@67#�GHc@b �)G c5b�� AIE \^EFAIEWB@jFEWG%JIb SfEWSfb>A�K [9b,jF;hJUC9b>B@G$;hAIE�STb,V@C _YEFV RaK JIc@E�E��,EFjW?5JUC9b>Bb�\ JUc5C`G�GHJU;hJUEWSfEWBaJ 6

�LB JIc@C`Ggj ;�GHE�83� C`G3b�\�;�AHAU; K JLK,=]E�8�;hB@V JUc5Ek;�jFjWEFGHG � ���XC`GgJIb ;�B ;hAIAU; K EF[9EFSTEFBaJ 6�'�c@EGHEWJ % b�\$c@EF;�=�b�R��HEFj JUG(JIcY;hJ �kjF;�B�AHEW\^EWA�JIbfS ?5GHJ;�[`GHbTR]E3b�\i;�AHAU; KkJLKe= Eh6&'�c@E3[`bej ;hJIC`b>B;�GHGIC9<>B@EFV JIbkR K�JUc@E G�J ;hJIEFSTEFBaJ C`G ;hJ�;�B b �nGHEWJ �(C`B5GIC`V5E GIb>STE c@EF;�= b>R��HEFj J C`B % 60'�c@C9G[9b,jF;hJUC9b>Bkj ;�B�R E3AIEF;�j c@EWV"RaK�;hB KXbhJUc@EWA;�jWjFEWGIG � 8:b>B@[ KkC9\�JUcY;lJ;hjFjFEWGIG�c@;�G(GHb>STE3GH?@R@GHEWJ

b�\ % C9B4C JUG�Sf;�=@=@C9B@< / C 67Eh6@C`BkJIc@E GIEWJ�b�\�c@EF;�=�b�R��HEFj JUG�C9J)j ;hB4AHEW\^EWA)JIb�1 6�!�B*�� � � '�c5Eg;hjFjFEWGIG �&C`G�bh\$;�AHAU; K JLKe=]E�6��= VY;lJUC`B5< JUc@E Sf;�=@=@C9B@< b�\g;�B ;�AHAU; K ;hjFjFEWGIG�; � EFjWJIG JUc@E Sf;�=@=5C`B@<>Gf\^b>A EF[9EFSTEFBaJUGX;lJV@EWEF=]EFA3[`E D>EF[9G b�\�JIc@ET;�AIAI;PK ;�G ��EW[`[ / C 67Eh698 �)cY;hJ � �� � ; � AHEW\^EWAIG JUbXV@EF=]EFB5V@G b>B �)cY;hJ � �� �AHEW\^EFAHGJUb'1 6'�c ?@GW8NC9\$JIc@E =@AHb><>AI;�S ;�jFjWEFGIG �)C9Gb�\%;�AHAU; KXJLKe= Eh83� ��� j ;�B AHEW\^EFA(JUb �)cY;lJ �AHEW\^EFAHG�JIb@8:;�B@V�C9JIG�S ;�=5=@C`B@< GHc@b>?@[9V�C9B@jF[9?@V@E � / JUc@E3Sf;�=@=@C9B@< \^b>A � 1 6 �[`GHb@8 � ��� � � jF;�BAHEW\^EFA�JIb �)c@;hJ � � � AHEW\^EFAHG�JIb@8 � ��� � � �& � jF;�B�AHEW\^EWA)JIb �)cY;hJ � � � �& � AIE \^EFAIG�JIb@8:;�B@VXGIbTb>B08?@=XJUb JUc5Egc@C9<>c@EWGHJ�V@C`STEFB5GIC`b�B06�'�c@EFAHEW\^b>AHE�8 ��E ;�V@VXJUc@E Sf;�=@=@C9B@<>G�\^b>A�EW[`EFSTEFBaJIG(b�\ �)JIb

35M

JIc@E(Sf;�=@=5C`B@<>Gi\^b>AiJIc@E(jWb>AIAHEFGH= b>B5V@C`B@<3EF[9EFSTEFBaJUG%b�\ � ��� - 6��>; Dh;�7G GHJIAIb>B@< JLKe=@C`B5< EFB5GI?@AHEFGJIcY;hJ�JUc5E3V5C`STEFB@GHC`b>Bkb�\ ��C9G�b>B@E Sfb�AIE�JUc@;�B �F6�!�B*�� $ � '�c5Eg;hjFjFEWGIG �&C`G�B5b�J�b�\$;hAIAU; KfJLK,=]E�6'�c@E S ;�=5=@C`B@<�GGIc5b>?@[`V�R E ?5= VY;lJUEFV ;hG�C`B�JIc@E jF;�GIE b�\3���$ � �F8nC 6 E�6 ��E ;�V@V"JUc5E GIE J�b�\c@EF;�=4b>R��HEFj JUG�AIEF;�j cY;�R@[9E�\^AIb>S � JIb JIc@E S ;h=@=@C`B5< \^b>A � 6

� ��� ��� ��� $�� ��) � � �� � � )��

��c@EWj �eC9B@< \^b>A E��,jFEW=5JUC9b>B@G C`G C9Sf=]b>A�J ;�BaJ �)c5EFB ��EXJUA�K JUb AHEFb>AHV@EFA G�J ;hJIEFSTEFBaJUG \^b>A [9b,b>= V5C`G�mJUAHC`R@?,JUC`b�B06�'�c@C9G�C`G(R EWj ;�?@GHE jFbeV@E STb�JUC9b>B�C9GAIEWGHJIAIC`j JUEWV ;�jFAHb>GIG�G�J ;hJIEFSTEFBaJUG �)c@C9j c j ;�B"JIc@AIb �E��,jWEF=5JIC`b>B@GW6

����� ��� � ��� � ������� ���#" $ �6� ����#" � �

�iAIEWjFC`GHE E �5jWEF=5JIC`b>B GIEFSf;�BaJUC9jFG3V@EW_@B@EFV \^b>A JUc5E �>; Dh;�[`;�B@<>?Y;h<>EfAHEFd ?@C9AIE JUcY;hJ3JUc5E ?@GHEFA�m DeC`GIC9R@[`EGHJU;hJUE bh\%; =@AIb><�AU;�S48nb>B"JIEFAHSfC9BY;hJUC9b>B4V@?@E JUbX;hB E��,jFEW=5JUC9b>B08NGIc5b>?@[`V�R E E �@;hjWJU[ K�JIc@E GU;hSfE ;hGC9\ ;�[9[ JUc5ETG�J ;hJIEFSTEFBaJUG R]EW\^b>AHE JUc@E E��,jWEF=5JIC`b>B = b�C`BaJ / ;�B5V b>B5[9K�JIc@b>GHETG�J ;hJIEFSTEFBaJUG 1�cY; D>ETR EWEFBE��,EWjF?5JIEFV06�'�c@C9G$C`ST=@[`C9EFG�JUcY;lJ�C9\YJUc5EFAIE�C9Gi;�=]b>GIGHC`R@C9[`C9JLK \^b>A$;�GHJ ;lJUEFSTEFBaJiJIb�JUc@AHb�� ;�B E �5jWEF=5JIC`b>Bn8JUc5EFAIE S ?5GHJ�R E B@b jWb,V@E STb�JUC9b>BX;�jWAIb>GHG)JIc@E R b�?@B@VY;�A�Kkb�\ JUcY;lJ(G�J ;hJIEFSTEFBaJ 6

��;�BaK jFb>STSTb>B b>=]EFAU;lJUC`b�B@G C`B B ?@SfEWAIC9j ;�[i=@AHb><>AI;�SfG�C9BaD>b>[ D>Ef;�AIAI;PK ;�jFjWEFGIGHEFGW6k'�c@EfRaK JUE m

jFbeV@EXC`B5GHJUAH?@jWJIC`b>B JIcY;hJ =]EFA�\^b>AISTG ;�B ;�AIAI; K ;�jWjFEFGHGfC9Sf=5[`C`jWC9JI[9K j c@EWj � Gf\^b>A JIc@Ek\^b>[`[9b��)C9B@<�J�� bE��,jWEF=5JIC`b>B@G1*

, ������� ����������1�3��������������� * '�c@C`GgC`G JUc@AHb �)B��)c@EFB JIc@E AHEW\^EWAIEFB5jFE Dh;�[9?@ET\^b�A3JIc@E ;�AHAU; K ;�j mjWEFGIGHEFV"C9G ������ 6

� GJ5PK�O/>'?A0 � ��5�K�� 7 : 0XC1> 7DI ��7 O/< 5 � : 7 0B7 ��0X< 0X? >@:D>@< 7TS O@EBK�7R:D< 0X5PK : 7 0X< > I�7D>T= :DE 7�� >TO@5 F QA: ��04: :���> ��>T0 � E ��� > O : 70B=�=�>T= 0X< >'230 � 58= EBK � Q % � >TK :�� > �< 7R:97DI ��7 O/< 5���:9EXF :�� >�01O@O/> 7D7 : E�� 587/W

3ao

, "��#�%$'&)(#��*+�%��,-���%,/.102���+��*� ������������ ����� *�'�c@C`G�C9G(JIc@AIb �)B �)c@EFB JIc@E GI?@R5GIjFAHC`=5J E �,=@AIEWGIGIC9b>B\^b>A�JIc@ET;�AIAI;PK EW[`EWSfEWB Jg;�jWjFEWGIGIEWV EWDh;�[9?Y;hJUEWG�JUb�;XDh;�[9?@E JUcY;hJ3C9G3R]EWK�b>B@V JIc@E R b�?@B@V@G3b�\

JIc@E3;�AIAI;PK�6

�V@V5C9JUC9b>BY;�[9[9K�8�JUc@EWAIE(;�AIE�b�JIc@EFA%AI?@Bem JUC9SfE�E �,jFEF=,JUC`b�B@G JIcY;hJ�;�AIE)C`ST=@[9C`jFC JU[ Kgj c5EFj ��EWVXR K RaK JUE mjFbeV@E C9B@GHJIAI?@j JUC`b�B@GF6� (�@;hSf=@[9EFG bh\3JIc@EFGHE ;�AIE "��#�� � � ��� ��������������������� /^JIc@AIb �)B08)\^b>A E �5;�Sf=5[`E�8�)c@EWB V@C9DeC9GIC`b�B RaK $FEWAIb C`Gf;hJIJIEFST=5JUEWV@1T;hB@V��3� $� � �� $� ������������� ����� / JUc@AHb �)B��)c@EFB�JUAHKeC9B@< JIbj ;hGHJ ; AHEW\^EFAHEFB@jWE JUbk;hB C`B@jWb>Sf=@;hJUC9R@[`E�JLKe= E=1��P6 -�EWGIC9V@E AI?5B,m JIC`STEgE �5jWEF=5JIC`b>B5GF80JUc5EFAIE ;�AIE bhJUc@EWA?@GHEFA�m V@EW_@B@EFV"E �,jFEF=,JUC`b�B@G �)c@C9j c";�AHE E��,=@[`C9jFC JU[9KfJUc@AHb �)B";�B@V�j c@EFj �hEFV C9B4JIc@E �>; Dh; GIb>?@AHjFEg=@AIbhm<>AI;�S�6

� \ ��E��&;�BaJfJUb j c@;�B@<>E�JIc@E�AHEF[`;hJUC D>E4b>AIV@EWAfbh\3;�BaK J�� b =@AHb><>AI;�S GHJU;hJUEWSfEWB JIGF8�� E"S ?@G�JEFB5GI?@AHEgJUc@;hJ(JIc@E3E��,EFjW?5JUC9b>B�b�\ JUc@EWGIEgJ�� b G�J ;hJIEFSTEFBaJUG;�B@V�;�[`[nJIc@E G�J ;hJIEFSTEFBaJUG�R]EWJ�� EFEFB"JIc@EFS�)C`[9[NB@EWD�EFAJIc@AIb �2;�B�E��,jFEW=5JUC9b>B06�'�ce?5GF8nG�J ;hJIC`jg;�BY;�[ KeGIC`G�C`G�V@b>B5EgJUbfV@EWJIEFj J�AIEWV@?@B@VY;hB J�E��,jFEW=,mJUC9b>B@G3;�B@V V@EWJIEFAHSfC9B@E �)c@C`j c GHJ ;lJUEFSTEFBaJIG ;�AHETE �,jFEF=,JUC`b�B \^AIEWE�6X!,C9B@jFE ������� ����������1�3���������������!

;�B@V "��#� $'& (���*+�%��,-�+�%,/.102������*� ������������������! 4;�AHE�STb>GHJTjWb>SfSTb>B C`B B ?@SfEWAIC9j ;�[�=@AHb><>AI;�SfGW8 � EjFb�B@jFEWB JIAU;hJIE b>B4JUc@EWS C9B�b�?@A;hBY;�[9KeGHC`GF6��(BaK�G�J ;hJIEFSTEFBaJ(JIcY;hJ(j ;�B�JUc@AHb��2;hB�E��,jWEF=5JIC`b>B"bhJUc@EWAJUc@;�B4JIc@EFGHE�J���bfE��,jFEW=5JUC9b>B@G��)C`[9[0B@b�J)R]E E��,jFEW=5JUC9b>B,m \^AHEFE RaKXV@EW\ ;h?@[9JF6

����� ��� � ��� ���6" �� �������� ������� ����������� ���"!#���$���&%

# E j ;hB"V@EWJIEFAHSfC9B@E C \i; AHEW\^EFAHEFB@jWE ;�jWjFEFGHG�S ; KXcY; D�E JUc@E ������@Dh;�[9?@E3b>AB@bhJ 6�'�c@C`G(C`G�V@b>B@EgR K

E��eJIEFB@V@C9B@< JUc@E AIE \^EFAHEFB@jWE ;�B@;�[9KeGIC9GF6'�c@E b>AHC`<>C9BY;�[�AIE \^EFAIEWB@jFET;�B@;�[9KeGIC9G?@GHEFG3; GIC9Sf=5[`C`G�JUC9jg;h=@=@AIb>;�j c ;�B@V E ;hj c Sf;�=@=5C`B@<T\^AIb>S ;

=@AHb><>AU;hS AIE \^EFAHEFB@jWE&;�jWjFEFGHG JIb;�GHEWJ�b�\5c5E ;�=gBY;�STEFGNC`B5jF[`?5V@EFG ���+��5RaK V@EW\ ;h?@[9JF6 �(B@b�JIc@EFA�;�BY;�[ KeGIC`G

=@cY;hGIE"C9G ;�V@V5EFV JUb AIEFSTbPD>E"AHEFV@?5B@VY;�BaJ ���+��� \^AIb>S JUc5EFGIE Sf;�=@=5C`B@<>GW6 � GIC`B5<>[`E�GIEFd ?@EWBaJUCZ;h[

GIjF;�B b�\$JIc@E =5AIb><>AI;�S C`G�V@b>B@Eh8 JIAU; D>EWAIGIC9B@<kC9J(GHJU;hJUEWSfEWBaJ�RaK�G�J ;hJIEFSTEFBaJ�C9B�[9E��,C`jF;�[�b>AIV@EWAF6('�c@EAIE \^EFAHEFB@jWE Sf;�=@=@C9B@<>G3;hJ3E ;�j c GHJ ;lJUEFSTEFBaJg= b�C`BaJ3C`B JUc@ET=@AIb�<>AU;�S ;�AIETSfbeV@C _YEFV RY;�GHEFV b�B JUc5E

' �9>/F >T<9:DE�� (*),+.- � F EB< 06O@EB? � � >/: > � 587 : EBF >�/�O@> ��: 5�E1K�7TW

3 3

E � EFj J b�\(JUc@E4GHJU;hJUEWSfEWBaJ ;�B5V�JUc5E4Dh;�[9?@EFGTb�\JIc@E4S ;�=5=@C`B@<�G ;hJfJIc@E4C`STSfEWV@CZ;hJIEF[ K =@AHEFjWEFV@C9B@<=]b>C`BaJ)C`BkJIc@E =@AIb><�AU;�S46i*Yb>A&EF;�j c�AHEW\^EFAHEFB@jWE ;hGIGIC9<>B@STEFBaJ)GHJU;hJUEWSfEWBaJJ*

, � \�JUc5E�[`E \ J&cY;�B5VkGIC`V5E�S ;h=@G�JUb ;gGIC`B5<>[`E(c@E ;�=Xb>R �HEFjWJF8Y;�B@V JIc@E�AHC`<>caJ&c@;�B@VkGIC9V@E�C`G�; �/���

G�J ;hJIEFSTEFBaJ 8ib>A3JUc@E S ;�=5=@C`B@<4\^b>AgJIc@E AHC`<>caJ cY;�B@V GHC`V@E ;hJ JIc@E C`STSTEFV@C`;hJUEW[9K =@AHEFjWEFV@C9B@<

=@AHb><>AI;�S�=]b>C`BaJiV5b,EWG%B5b�J�C`B@jW[`?@V5E ������lC`B C9JIGiGIE J bh\nc@EF;�=Tb>R��HEFj JUGW8 JIc@EFB JUc5E ���+�� Dh;�[9?@E&C9GAHEFSTb D�EFV4\^AIb>S JIc@E [`E \ J(c@;�B@V4GIC`V5E3c5E ;�=�b>R��HEFj J(\^b�A&JUc@C9G�=5AIb><>AI;�S =]b>C`BaJF6 *Yb>A�E �5;�Sf=5[`E�8jWb>B@GIC9V@EFA JIc@EX;�GHGIC`<�B@SfEWBaJ � � �P6 �NE J " R E JIc@EkGIE J b�\�c@E ;h= b�R��HEFj JUG jFb>AHAIEWGI=]b>B@V@C9B@<JIb $ ;�B@V<0 R]E JIc@EkGIE J b�\)c@E ;h= b�R��HEFj JUG jFb�AIAIEWGI=]b>B@V@C9B@<"JUb �X;hJ JIc@E =@AHb><>AI;�S =]b>C9B J

C9SfSTEFV@C`;hJUEW[9Kk=5AIEFjWEFV@C9B@< JUc5E ;�GIGHC`<>B5SfEWB J�GHJ ;lJUEFSTEFBaJF6�'�c@EFB080\^b�AJUc@C9GjF;�GIE JIbk;�=@=@[ K>8 "

S ?5GHJ)R]E ; GHC`B@<�[`EWJIb>B GHEWJ(;�B@V 02S ?@G�J)B@b�J)C9B@jF[9?@V@E ���+�� 6��G); AIEWGI?@[ J 8�" C9G&STb,V@C _YEFVkGHb

JIcY;hJ C9J%V@beEFG%B@b�J C`B@jW[`?@V@E ���+��n\^b>A�JUc@E�=@AHb><>AU;hS = b�C`BaJ&;l\ JUEFAiJIc@E�;�GHGIC9<>B@STEFBaJ%GHJ ;lJUEFSTEFBaJF6

, � \0JIc@E�S ;�=5=@C`B@< \^b>AiJUc5E(AHC`<>caJ cY;�B@VfGIC`V5E;hJ%JUc5E(C9SfSTEFV@C`;hJUEW[9Kg=@AIEWjFEWV@C`B@<g=@AIb�<>AU;�S =]b>C9B JC9B@jF[9?@V@EFG ���+��>C`BfC9JUG�GHEWJ&bh\Nc@E ;h= b>R��HEWjWJUGW8,JIc@EFB ���+��0C9G C9B@jF[9?@V@EFVfC`B JUc@E(S ;h=@=@C`B5<3\^b>A�JUc5E

[9EW\ J cY;�B5V GIC9V@E \^b>A�JUc@C9G =@AIb><�AU;�S = b>C9BaJ 6T�LB JUc5ET=5AIEWDeC9b>?@G3E��5;�ST=@[`Eh8 C \�GHEWJ 0 C9B@jF[9?@V@EWG

���+�� 8 JIc@EFB<������&C9G ;hV@V@EFV JUb4JUc@ETGIE J "�\^b>A JUc@ET=@AIb�<>AU;�S =]b>C9B Jg;h\ JIEFA JUc@Ef;�GHGIC`<�B@SfEWBaJ

G�J ;hJIEFSTEFBaJ 6

� \�E ;�j ckEW[`EWSfEWB J C`BTJUc@E(GIE J&b�\�Sf;�=@=]EFVfc@E ;�= b>R��HEFj J�BY;�STEFG�\^b>A ; <>C D>EFB =@AIb><�AU;�S ;�jWjFEWGIG&C9GSf;�A �hEFV4;�G&B@b�B,mLB ?@[9[ 8 JUc@EWB�; ���+��� ����������1����������� �����"jF;�B@B@bhJ�b,jWjF?@A �)c5EFB4;�jFjWEFGHGIC`B5<f; _@EF[`Vkb�AEF[9EFSTEFBaJ�b�\iJIcY;hJ ;hjFjFEWGIGW6 '�c@E E �5jWEF=5JIC`b>B C9GJUc5EFAIE \^b>AIE AIEFV5?@B@VY;�BaJF8�;hB@V B@EFEWV B@b�J�R]E j c@EWj ��EFVV@?@AHC`B@< =@AHb><>AI;�S E �5EWjF?5JIC`b>Bn6

����� ��� � ��� ���6" �� ������ � ������� ��� ��� ����� � �� ����%���� ���"!#���$���

�LB AIE \^EFAIEWB@jFE);hBY;�[9KeGHC`GF8�E ;�j c c@EF;�= b>R��HEFj J�C`G$<�C9D>EWB ;�BY;�STE �)c@EWBTC J$C9Gi;�[`[9b,jF;hJUEWV RaK ;hBTC9B@GHJU;�B@jWEb�\%; �/��� GHJ ;lJUEFSTEFBaJF6�*Yb>A(c5E ;�= b>R �HEFjWJIGJUc@;hJ�jWb>AIAHEFGI=]b>B@V"JIb ;�AHAU; KeGF8 � E G�JUb>AHEgJUc5E [`EWB@<�JUc�b�\JUc5Ef;hAIAU; K ;�G =Y;hAHJ3b�\%JUc@ETc@E ;h= BY;hSfE \^b>A�JUc@;hJ b>R��HEWjWJ 6f'�c@C`G [9EFB@<�JIc jF;�B R ETb>R5JU;�C`B@EWV \^AIb>SJUc5Eg;hAI<>?@STEFBaJIG)JIb JUc@E �/��� G�J ;hJIEFSTEFBaJ 6

3�5

'�c ?@GF8%\^b>A ;�B ;�AHAU; K ;�jWjFEWGIG C`B JIc@Ek=@AIb�<>AU;�S48 � E4jF;�B <>EWJ C9JUG [9EFB@<hJUc C`B,\^b>AISf;hJUC9b>B ?@GIC9B@<JUc5EkS ;�=5=@C`B@<4\^AIb>S =@AHb><>AU;hS ;�jWjFEWGIGIEWG JUb c@EF;�= b>R��HEFj J BY;�STEFGW6 '�c@E4;�AIAI;PK [`EWB@<�JIc ;�B@V JUc5EGI?5R@GIjWAIC`=,J�E��,=@AHEFGIGHC`b>B \^b�A JUc5E�;�jWjFEFGHG�j ;�B JIc@EFB R E�jWb>ST=Y;�AIEWV JUbgV@EWJIEFAHSfC9B@EC \�;�B "��#�%$'&)(#��*+�%� �

,-�+� ,/.102���+��*� ������������ ������j ;�B4R]E JIc@AIb �)B06'�c@E GH?@R@GIjWAIC9=5J�E��,=@AHEFGHGIC`b�B ;�B@V�JIc@E ;�AHAU; K4R b�?@B@V S ?@G�J�R]E EWC9JUc5EFA�jFb>B@G�J ;�BaJIG�b>A(G�KeS R b�[`C`j

Dh;�[`?5EFG JUcY;hJ ;�AHEfG�J ;hJIC`j ;h[`[9K�jFb>ST=Y;�AI;�R@[9E�6X�JUc5EFA��)C9GIEh8 JUc@EfE��,jFEW=5JUC9b>B �)C9[`[iB@bhJ R]E AHEFV@?@B5VY;�BaJ;�B@V4C9J&S ?@GHJ�R]E j c@EFj �hEFV"V@?5AIC`B5<TE �,EFjF?,JUC`b�B06��b>AHEV@E J ;�C9[`EFVf;�BY;h[9KeGIEWG%\^b>A%j c@EWj �eC9B@< AHEFV@?@B5VY;�BaJ "��#�%$'&)(#��*+�%��,-���%,/.102���+��*� ��3���������������! )C9G

=@AHEFGIEWBaJUEFV C9B � -�3!5p>p�� ;�B@V �7�"��!5O>Q � 6�'�c@EWGIE ;hAIE B@b�J(C`ST=@[`EWSfEWBaJUEFVXC9B4b�?@A)GHKeGHJIEFS48 R@?,JjF;�BR]E3C9B@jFb�AI=]b>AU;hJIEFVkJUb b>R,J ;�C9BkR E JIJUEWA)=@AIEWjFC`GHC`b>Bk\^b>A&JIc@E V@EWJIEFj JUC`b�B�b�\�AIEWV@?@B@V@;�BaJE �5jWEF=5JIC`b>B5GF6

� ��� � � � � � � � $�� �J��� $�� ��)

�Nb,b�=4V5C`GHJIAIC9R@?5JUC9b>B GH=@[`C JUG); [`beb>= �)C9JIcXS ;�BaK GHJ ;lJUEFSTEFBaJIG(C9B JIb J���bfb>A�STb>AIE�[9b,b�=@G �)C9JIcX\^E���EWAGHJU;hJUEWSfEWBaJUGEF;�j c06 # E ��;�BaJJUb ;�=@=@[ KkJUc@C9G�JIAU;�B5GH\^b>AHS ;hJIC`b>BXR]EFjF;�?@GIEgJUc@E3RY;�GHC`j3b>= EWAU;hJIC`b>B5G(C9Bb>?@A�=@AHE mLjWb>ST=@C`[9EFVX[`C9R@AU;�A�Kk;�AHE ;h[`[Nb�\�JUc@EgGIC`ST=@[9EFGHJ)=]b>GHGIC`R5[`E \^b>AIS46�!,Sf;�[9[`EFA�[`beb>=@G)<>C9D�Eg?5G(JUc5E

b>=@=]b>A�JU?@B@C JLK"JUb�AIEWjFb><>B5C%$FETSTb>AIE RY;�GHC`j b>=]EFAI;hJUC9b>B@G�JUcY;lJ STC`<>caJ R]EfEWS R]EFV@V@EWV C`B JUc5EfGHb>?@AIjWEjFbeV@Eh8@JUc ?@G�AIEFGH?@[9JIC`B@< C9BX<>AIEF;hJUEWA�jWbPD>EFAI;�<>E�\^b>A�JUc5E3b�=5JUC9SfC�$ ;hJIC`b>B06�[9GIb@8%[`beb>= V@C9GHJUAHC`R@?,JUC`b�B C`G JIc@EXS ;�C9B JUAI;�B@G�\^b>AISf;hJUC9b>B B@EWEFV@EWV�\^b>A D�EFj JUb>AHC%$ ;lJUC`b�B � /N�&O5M>8

��cY;�=,JUEFA 8�� 6 #+c@EWB AH?@B@B@C9B@< =@AHb><>AU;hSfGfb>B+; D>EWjWJUb�AkS ;�j c5C`B@Eh8(=]EFA�\^b>AISf;�B@jWE�C`G C`ST=@AIbPD>EWV?@GHC`B@< D>EWjWJIb>AIC�$ ;hJIC`b>B06�(\ JIEFA RY;hGIC`jfb>=]EFAU;lJUC`b�B@G ;hAIE AHEFjWb><>B@C�$FEFVn8�;�[`beb>= \^?@GIC9b>B JUAI;�B@G�\^b>AISf;hJUC9b>B j ;�B R]Ek;�V5V@EFV�� 6

�Nb,b�= \^?5GIC`b�B jWb>S R@C9B@EFG J�� b b�A Sfb>AHEk=@AIb�<>AU;�S [`beb>=@G C9B JIb ; GHC`B@<�[`Ekb>B@E �)c@EWAIE D>EFAf= b�GIGIC9R@[`E�)C9JIc@b>?5J)DeC`b�[Z;hJIC`B@< VY;lJ ; V@EF=]EFB@V5EFB@jWEFGF6�'�c@C9G�C9G)C`ST= b>A�J ;�BaJ)R]EFjF;�?@GIEgcY; DeC`B@<TSfb�AIE [`beb>=@G�JUc@;�BB@EWjFEFGHGU;�A�KXV@EF<�AU;�V@EWG)= EWAH\^b>AHS ;�B5jFE�V@?5E�JUb JUc@E�[9b,b�= bPD>EFAHc@E ;hV@G(bh\ JIEFG�JUC`B5< JUc@E�[9b,b>= jFb>B@V5C9JUC9b>B08

R@AI;�B@j c@C9B@<fR@;�j �:8:;�B@V4C`B@jWAIEFSTEFBaJIC`B@< JUc5E3[9b,b�= D�;hAICZ;hR@[`Eh6��� � 58795P7 K�EX: 5P? � � >T?6>TK :D>T= 5PKMEBI < 7DQ�7 : >@?MW

3'#

A

B

A

B

B

A

Dependence Graph

for (i=0; i<n; i++) {A: ............ }

for (i=0; i<n; i++) {B: ............ }

for (i=0; i<n; i++) {B: ............ }

for (i=0; i<n; i++) {A: ............ }

for (i=0; i<n; i++) {A: ............B: ............ }

Loop after Transformation

for (i=0; i<n; i++) {

A: ............

B: ............

}

Original Loop

(a) Forward Dependence

(b) Backward Dependence

(c) Cyclic Dependence

� �;?)�(� � > � > *��Nb,b�= ��C9GHJIAIC`R5?5JUC9b>B

��� ����� � $���� ���

!eJU;hJUEWSfEWB JIG C`B ;"[9b,b>= j ;�B R]EkGI=@[9C9J C9BaJUb"J�� b V5C � EFAIEWBaJ [`beb>= =Y;hAHJUC JUC9b>B@G C \�B@b V@EF=]EFB5V@EFB@jWEFG;�AHE DeC9b>[Z;hJIEFV4;�B@V4C9\�B@bTC`B@G�J ;�B5jFE b�\i; GHJU;hJUEWSfEWBaJ(C9B4JIc@E�_YAIG�J[9b,b�=4=@;�AHJIC9JUC9b>BkV@EW= EWB@V@G�b>B�;hB K

GHJU;hJUEWSfEWBaJ(C9BkJUc@E GIEWjFb>B5V�[`beb>=k=Y;hAHJUC JUC9b>B06

*Yb>A�E��5;�ST=@[`Eh8NjFb>B5GIC`V5EFA�JUc5ET[9b,b�="GIc@b �)B C`B * C9<>?@AIE�5@678,8 �)C9JUc J�� b�G�J ;hJIEFSTEFBaJUG � ;�B@V -8�)c@EWAIE)� [`E �,C`j ;h[`[9K =5AIEFjWEFV@EWG�-(6�� \:JUc@EWAIE)C`G ;�V@EF=]EFB5V@EFB@jWE�\^AHb>S2� JUb - /^\^b�A���;�AIV V@EW= EWB@V@EFB5jFE 1 8JUc5E�[9b,b>= j ;hB R]E�GH=@[`C JT;�GfGHc@b �)B C`B�* C`<�?@AIE 5@648B/ ; 1 6 � \JUc@EWAIE�C9GT; V@EW= EWB@V@EFB5jFE�\^AHb>S - JIb

� / RY;�j �'��;�AIV V5EF=]EFB@V@EWB@jFE=1 8$JIc@Ef[9b,b�= jF;�B G�JUC9[`[iR]EfGI;h\^EF[ K GI=@[9C9Jg;�G3GIc@b �)B C9B * C9<>?@AHE055678B/^R@1 61(b � EWD�EFAF8eC9\YJIc@EFAHE�C`Gi;�V5EF=]EFB@V@EWB@jFE)\^AIb�S�� JIb - ;�B@V \^AIb�S�- JIb�� 8>C 67Eh6hJUc5EFAIE�C9Gi;�V@EW= EWB@V@EFB5jFEjWKejW[`E3;�G)C`B4* C9<>?@AIE 5@678 / j 1 8@JUc@EWB4JIc@E [`beb>=kj ;hB@B@b�J�R]E3GH=@[`C J �)C9JIc@b>?5J�DeC9b>[Z;hJIC`B@< V@EF=]EFB@V5EFB@jWEFGF6

3 8

�LB <>EFB5EFAU;h[ 80;h[`[�GHJU;hJUEWSfEWB JIG�C`BaD>b�[9D>EWV C`B�; V@EF=]EFB5V@EFB@jWE jWKejF[9E S ?@G�J�R EgC`B�JIc@E GI;�SfEg[`beb>=08

;�B@V GHJU;hJUEWSfEWB JIG B@b�JgC`B ;�jWb>STSfb>B V@EW= EWB@V@EFB5jFE j K,jW[`E �)C9JUc b>B@E ;�B@b�JIc@EFA3j ;�B R EfGI=@[9C9J3C`BaJIbGIEW=Y;�AI;hJUE [`beb>=@GW6

��� ����� � " �<� �4"��(!��S" ��� ��" �� � � � ��'(������� ���� ���

�Nb,b�= V@C`G�JUAIC9R@?5JIC`b>B jF;�B R EkV5b>B@EkRaK R@?@C9[`V@C9B@<";"V5EF=]EFB@V@EWB@jFE�<>AU;h=@c \^b>A ;�[9[ JIc@EkGHJU;hJUEWSfEWB JIG

jFb�B JU;�C`B5EFV �)C9JUc5C`B JUc5E3[9b,b�=06� ��� ������������ � � � � *&� ���� � � �(� � � � ?@��� � C`G(;fV@C9AIEWjWJUEWV"<>AI;�=@c��)c5EFAIE E ;�j c"B5b,V@EgAIEW=@AIE m

GIEWBaJUG�; =@AIb�<>AU;�S G�J ;hJIEFSTEFBaJ 6�'�c5EFAIE C`G�;�B�EWV@<>E3\^AIb>S b>B5EgB@beV@E JUb ;�B@b�JIc@EFA�C9\$;fV@EW= EWB@V@EFB5jFE

E��,C9GHJUG�\^AIb�S�JUc5E(G�J ;hJIEFSTEFBaJ%jFb>AHAIEFGH= b�B@V@C`B5<3JIb3JIc@E�_YAIG�J B5b,V@E)JUb�JIc@E(G�J ;hJIEFSTEFBaJ%jFb>AHAIEWGI=]b>B@V@C9B@<JUb JIc@E GIEFjWb>B@V�B@b,V5E�6

*Yb>A [9b,b>= V@C9GHJUAHC`R@?,JUC`b�B08 � E"S ?@G�J _YB@V+;h[`[�JUc@E�GHJIAIb>B@<�[9K jFb>B5B@EFj JUEFV+jWb>Sf=]b>B@EWBaJUG C9B JUc5EV@EW= EWB@V@EFB5jFE <�AU;�=@cn6

� ��� ������������ � � ��� *i� * � ��� � ? DFE � � ��� � ��� � � � �)A � � � � � � � � �b�\�; <>AU;h=@ckC`G�; Sf; �,C mSf;�[0GI?5R@GIE Jb�\�JUc@E B@beV@EWG�C9B4JIc@E <>AU;h=@c�GH?@j c�JIcY;hJ�\^b>A�;�BaKk=@;�C`A�b�\�B@beV@EFG�" ;�B@V 0�\^AIb>S JUc@C9G

GI?5R@GIE J 8YJUc@EWAIE3C`G); =Y;hJIc4\^AHb>S " JIb 0 ;hB@V�; =Y;lJUcX\^AIb>S 0�JIb "�6

��B@jFE � EfcY; D�ETC9V@EFBaJIC9_YEWV JIc@E GHJIAIb>B@<�[9K"jWb>B@B@EWjWJIEFV jWb>ST= b>B5EFBaJUGW8!� ETj ;�B <>E J3JIc@E ;�j K,jW[`C9jjFb�B@V@EFB5GU;hJIC`b>B4b�\ JUc@E V@EW= EWB@V@EFB5jFE <�AU;�=@c � /N�&O5M>8Y=Y;h<>EFG23'#�3 m 3'# # � 6

� ��� ������������ � � �*) *$'�c@E �B��E(�'D;� �0� � � �(� � *�� ���;� � b�\�; <�AU;�=@cfC`G ;�Bk;�j KejF[`C9j(<�AU;�=@cfb>R5JU;�C`B@EWVRaK4AIEF=5[Z;�jWC`B@<TE ;�j c�GHJUAHb>B@<>[ KXjFb>B5B@EFj JUEFV jWb>ST= b>B5EFBaJbh\ JUc5E b>AHC`<>C9BY;�[0<>AI;�=@c�R K�;TGIC`B5<>[`E B@beV@E�6

'�c@EWAIE �)C`[9[ R]EX;�B EFV@<�E \^AIb>S B@beV@E " JUb B5b,V@E 0 C9B JUc@EXjWb>B@V@EWB@GIEWV�<>AI;�=@c C9\�JIc@Ekb>AHC`<>C9BY;�[

<>AI;�=@ckcY;�V4;�BkEWV@<>E�\^AHb>S ;�BaK b�\�JUc@E�B@beV@EWG�C`B JUc5E3!@���+jWb>AIAHEFGH= b>B5V@C`B@< JIb B@b,V5E " JUb ;hB K b�\

JUc5E3B5b,V@EWG)C`BkJUc@Eg!@��� jFb>AHAIEFGH= b�B@V@C`B5< JIb B@b,V5E 0�6

'�c@E [`beb>= jF;�B�R]E�GI=5[`C9J�C`BaJUb ;hG�S ;�BaK =Y;�AHJIG);�G&JUc5EFAIE3;�AHE�B@beV@EFG�C9B JUc@E3;�j K,jW[`C9j�jFb>B5V@EFB@GHEFV

<>AI;�=@c06� �;�j ckb�\NJIc@E�[9b,b>= =Y;�AHJIC9JIC`b>B@G%jFb�B JU;�C`B5G JUc5E�GHJU;hJUEWSfEWB JIG&JUcY;lJ&jFb�AIAIEWGI=]b>B@VkJUbgJUc@E�B5b,V@EWG

C`B ;�B+!@��� b�\�JIc@E"b>AHC`<>C9BY;�[&<�AU;�=@cn6 '�c@E"b�AIV@EWA C`B �)c@C`j c JIc@EFGHE =Y;�A�JUC9JIC`b>B5Gf;h=@= EF;�A C9B JUc5E

34�

=@AHb><>AU;hS�C`GiV5EWJUEWAISTC`B@EWV R K ;�JIb>=]b>[`b><�C`j ;h[eGHb>AHJ%b�\:JIc@E�;�jWKejF[9C`j�jWb>B@V@EWB@GIEWV <>AI;�=@c06$'�c5C`GiEFB5GI?@AHEFG

JUc@;hJ)B@bTV@EF=]EFB@V5EFB@jWEFG�;hAIE�DeC`b>[`;hJUEWV06

#+c@EFB3JUc@EWAIE%C`G ;)[`beb>=�B@EFG�J$;hB@V ;hBgC9B@B@EFA�[9b,b>= C9GNjFb>B@GHC`V@EWAIEWVg\^b>A�V@C9GHJUAHC`R@?,JUC`b�B08PV@EF=]EFB5V@EFB@jWEFGJUc@;hJ%;�AIE�[`beb>= j ;�AHAIC9EFV / ��E _YB@C JUC`b�B,5@6 M>6 Q 1�b>B JUc@E�b�?5JUEWAi[`beb>=@G$b>B5[9K / C 6 E�6�;�[`[eJUc@E�[9b,b�=@G$EFB5jF[`b�GIC`B5<JUc5E"b>B@E"JIcY;hJkC9GfJUb R]E"V@C9GHJIAIC`R5?5JUEWV@1 ;�AHE"B@b�J JIb R]E"J ;��hEFB+C`BaJUb ;�jFjWb>?@BaJ 62� [`beb>=�j ;�AHAIC`EWV

V@EW= EWB@V@EFB5jFE3E��,C`G�JUG)b>B@[ K R]EWJ�� EFEWB�V@C �nEWAIEFBaJ�C9JIEFAI;hJUC9b>B@G�bh\�JIc@E�[`beb>= C J�C`G�jF;�AIAHC`EFVkb�B06%!,=@[9C9JIJIC`B@<;�B"C9B@B@EWA�[`beb>=��)C9[`[�B@b�J�; � EFjWJJUc@E Sf;�B@B5EFA�b�\�E �,EFjF?,JUC`b�B b�\iJUc@E b>?5JUEWA�[`beb>=@GW8 GHbkC9J(C`G(GU;h\^E JIbC`<�B@b>AIE�V5EF=]EFB@V@EWB@jFEWGR]EWJ�� EFEWB"V@C � EFAHEFBaJ�C9JIEFAU;lJUC`b�B@G&b�\ JUc@E b>?,JUEFA�[9b,b�=@GF6

��� ����� � " �<� �4"��(!��S" �� ������� � "���� � ��'Q"��#" $�� � ��� ���S� �K�� �

��b>B@V5C9JUC9b>BY;�[NG�J ;hJIEFSTEFBaJUGcY; D>E ;�B";�GIGHb,jWCZ;hJIEFV"jWb>B@V@C JUC`b�BY;�[NE��,=@AHEFGHGIC`b�B �)c@C`j c V@E JUEWAISTC`B@EWG(JUc5E�Yb ��b�\%jFb>BaJUAHb>[ 8n;�B@V ; R]b,V5K�b�\%GHJU;hJUEWSfEWBaJUG �)c@b>GHE E��,EFjW?5JUC9b>B V@EF=]EFB@V5G3b�B"JUc@E Dh;�[9?@E b�\�JUc5EjFb�B@V@C9JIC`b>B@;�[nE �5=5AIEFGHGIC9b>B06�'�c5C`G)V@EF=]EFB5V@EFB@j K4C`G)j ;�[9[`EWVX; � � � � ���)D �(�� � � �(� � ��E 6&��b>B@V@C JUC9b>BY;�[GHJU;hJUEWSfEWBaJUG�C`B�;T[9b,b>=XjF;�B�;h[`GIb R]EgGH=@[`C J)R E J���EWEFB"V5C � EFAIEWBaJ[9b,b>=X=Y;hAHJUC JUC9b>B@G�JIbfb>R,J ;�C9B�; _YB@EWA<>AI;�B ?@[Z;�AHC9JLK4b�\%V@C9GHJUAHC`R@?,JUC`b�B06�'�c@E ;�[9<>b>AHC9JUc5S V@EFGHjFAIC9R EWV C`B � �g��O>p+�$jF;�B R]E ?@GIEWV JIbkV@b JUc5C`GF6� J AHEF=@[`;�jFEWG jWb>BaJUAIb�[ V@EW= EWB@V@EWB@jFEWG R E J���EWEFB =Y;�A�JUC9JIC`b>B5G3bh\);�V@C9GHJIAIC`R5?5JUEWV [`beb>= �)C9JIc VY;hJU;�V@E m=]EFB@V@EWB@jFEWGF6

'�c@E3SfE JUc@beV ��b>A�� G;�G�\^b>[9[`b �)G *

M>6)�LB@C JUC`;�[`[ K>8PJUc@E�[9b,b�= C`GiV@C9GHJIAIC`R5?5JUEWV V@C`GHAIEF<>;�AIV@C9B@<JIc@E�jFb>BaJIAIb>[@V5EF=]EFB@V@EWB@jFEWG%JIcY;hJiE �,C`GHJ�V5?@EJIbkjFb>B@V5C9JUC9b>BY;�[�C9\Zm JUc@EWB,mLEW[`GIE GHJ ;lJUEFSTEFBaJIGF6 �;�j c jFb>B5V@C9JIC`b>BY;h[ E��,=@AHEFGHGIC`b�B C9G�;�[`GHbkjFb>B5GIC`VemEWAIEFVXJUb R]E3;TG�J ;hJIEFSTEFBaJ�B@b,V5E�C`BkJUc@E V@EW= EWB@V@EWB@jFEg<>AU;�=5c�R@?5C`[9J�\^b>A�V@C`G�JUAHC`R@?5JIC`b>Bn6

o,6)��\ JUEFANJIc@E [9b,b�=�GHJ ;lJUEFSTEFBaJIG ;�AHE�=Y;�AHJIC9JIC`b>B@EWV08l;�[`[hJUc@E�jFb�B@V@C9JIC`b>B@;�[>GHJU;hJUEWSfEWBaJUG�;�AIE�j c@EWj ��EFVJIbfV@E JUEWAISTC`B@E �)c@C9j c�b>B5EFG�cY; D>E3R EWEFB�GH=@[`C J�?@=�R E J���EWEFB�J�� b b>A�STb>AHE3=@;�AHJIC9JUC9b>B@G&bh\ JUc5EV@C9GHJIAIC`R5?5JUEWV4[9b,b�=06

356�*Yb>AfE ;�j c+jFb�B@V@C9JIC`b>B@;�[)GHJ ;lJUEFSTEFBaJXC9V@EFBaJUC _YEFV C9B JUc5E"=@AIE DeC`b>?@GkG�JUEW=08; B5E�� �%���������������

��$'�#��$ � � �fC`G3C`BaJUAHb,V5?@jFEWV \^b>A3C9JUG3jFb�B@V@C9JIC`b>B@;�[iE��,=@AHEFGIGHC`b>Bn6��(B E��,EFjW?5JUC9b>B Dh;�AHCZ;�R@[9E C`Gg;�B

3>Q

;�AHAU; K Dh;�AIC`;�R@[9E �)C9JUc ;�G3S ;�BaK EW[`EFSTEFBaJIG ;�G JUc@EWAIE ;�AIET[`beb>= C9JUEWAU;hJIC`b>B5GF6 �;�j c EF[`EWSfEWBaJ�)C9[`[YAIEWjFb>AHV JUc@E�Dh;�[`?@E)JUc@;hJ�JIc@EjWb>B@V@C JUC`b�BY;�[:E��,=@AHEFGIGHC`b>BkE Dh;�[`?Y;lJUEFG%JUb / C 6 E�6 JUAH?@Eb�A \ ;�[9GIE 1C9BXJIc@E jFb>AHAIEWGI=]b>B@V@C9B@< C9JUEWAU;hJIC`b>Bn6

5@6)�([`[iE��,EWjF?5JIC`b>B D�;hAICZ;hR@[`EWGg;hAIE C`B@C JUC`;�[`C�$FEFV�JUb";XGI=]EFjWCZ;�[ �+��*+��� �/� * Dh;�[9?@ET;hJgJIc@ETGHJ ;hAHJ3b�\JIc@E"[`beb>= =@;�AHJIC9JUC9b>B�JIcY;hJkjWb>BaJ ;�C9B@G JIc@E jFb>AHAIEWGI=]b>B@V@C9B@< jFb>B5V@C9JIC`b>BY;h[�E �,=@AIEWGIGIC9b>B06�'�c@E�+��*+��� �/� *TDh;�[`?5EC`B5V@C`jF;hJUEWG JUc@;hJ�JIc@E�jFb�B@V@C9JIC`b>B@;�[YGHJU;hJUEWSfEWB J&cY;�G&B@bhJ&R]EFEFBkEWB@jFb�?@BaJUEFAHEFVb>BkJIc@E =@AIb><�AU;�S E �,EFjF?,JUC`b�B�=Y;lJUc06

#,6)'�c@EgE��,EFjW?5JUC9b>B�Dh;�AHCZ;�R5[`EFG);hAIEg;�GIGHC`<>B@EWV�Dh;�[9?@EFG(;hJ)JUc@b�GIE3= b>C9BaJUG �)c@EFAHE3JIc@E jWb>AIAHEFGI=]b>B@VemC9B@< jWb>B@V@C JUC`b�BY;�[�E��,=@AHEFGIGHC`b>B5G ;�AIEg=@[Z;�jWEFV /^B@b�JIEgJUc@;hJJIc@EFGHE ��EWAIE ;�[9GIb jWb>B@GHC`V@EWAIEFV"JIb R]EGHEF=Y;�AI;hJUEgGHJU;hJUEWSfEWB JIG �)c@EWB"=]EFAH\^b�AISTC`B@< [`beb>=XV@C9GHJUAHC`R@?,JUC`b�B@1 6 '�c@C`G�C`B@C JUC`;�[`C�$ ;hJIC`b>Bfb�\$JUc5EE �5EWjF?5JIC`b>B"Dh;�AHCZ;�R5[`E3AIEF=5[Z;�jWEFG�JUc5E jFb>B5V@C9JIC`b>BY;h[ E �,=@AIEWGIGIC9b>B C`B�JIc@E JIAU;�B@G�\^b>AISTEFV jWb,V5E�6�� \JIc@E ;hGIGIC9<>B@STEFBaJ(b�\$JUc5E �+��*+��� �/� *XDh;�[`?5E3JIcY;hJ �&;hG�V@b>B@E3E ;hAI[`C9EFA)C`STSTEFV@C`;hJUEW[9Kf=@AIEWjFEFV5EFGJIc@C`G�C9B@C9JICZ;�[9C%$ ;lJUC`b�B08�JUc5EFBXJUcY;hJ(;�GHGIC9<>B@STEFBaJ)C`G�AHEFV@?@B5VY;�BaJ�;hB@V�jF;�B4R E�b>STC9JHJUEWV06

856(�?Y;�AHV@G&;�AHE�C`BaJIAIbeV@?@jFEWV \^b>A JIc@E�E �5EWjF?5JIC`b>Bkbh\ ;�[`[]GHJU;hJUEWSfEWB JIG�JUc@;hJ � EFAHE�b>AIC9<>C`BY;h[`[9K jFb>BemJU;�C`B@EWV��)C9JUc5C`B b>B@EXb�\�JUc@EXjWb>B@V@C JUC`b�BY;�[�G�J ;hJIEFSTEFBaJUGTC`V5EFBaJUC _YEFV C`B G�JUEF= o,6 '�c@E4<>?Y;�AHVE �5=5AIEFGHGIC9b>B@Gf;�AIEkV@E _YB@EWV C`B JIEFAISTG b�\�JUc@EXE �5EWjF?5JIC`b>B Dh;�AIC`;�R@[9E jFb>AHAIEWGI=]b>B@V@C9B@< JUb JUcY;lJjWb>B@V@C JUC`b�BY;�[�GHJ ;lJUEFSTEFBaJF6 '�c@E GHJU;hJUEWSfEWBaJ�C9G E��,EWjF?5JIEFV b�B@[9K�C9\ JUc5E <>?Y;�AHV E �,=@AIEWGIGIC9b>BE D�;h[`?Y;hJIEFG&JIbTJIAI?@Eh6

�,6)'�c@E VY;lJ ;X;�B@V jFb�B JIAIb>[ �@b���V@EF=]EFB5V@EFB@jWEFG ;�AIE ?@=]VY;hJIEFV JUb4;�jWjFb>?@BaJ \^b>A�JIc@E E��,EFjW?5JUC9b>BDh;�AHCZ;�R@[9EFG�;hB@V�<�?Y;�AIVXE �5=5AIEFGHGIC9b>B@GC9B@GIEWAHJIEFV06

'�c@E STEWJIc@beV�b>?,JU[`C9B@EFV�;�R]bPD>E3j ;�B�R E3<>EFB5EFAU;h[`C%$WEFVXJUbTjFb>B5V@C9JIC`b>BY;h[0GHJU;hJUEWSfEWB JIGb�JIc@EFA)JUc@;�BC9\Zm JUc@EWB,mLEW[`GHEiGHJ ;lJUEFSTEFBaJIG / \^b>A�E��5;�ST=@[`E�G��)C JUj cgGHJ ;lJUEFSTEFBaJIG 1NR K3;h[`[`b �)C9B@<&JUc@E%E��,EWjF?5JIC`b>B3D�;hAICZ;hR@[`EJUbT;�GHGI?@STE3;�B�;�AIR@C JUAI;�AHKfB ?@S R]EFA)b�\ D�;h[`?@EWGF6

* C`<�?@AIE 5@6�� GIc@b �)GXJUc@E V@C9GHJIAIC`R5?5JUC9b>B \^b>AX;�B+E �@;hSf=@[9E [`beb>= J ;"��EFB \^AIb>S � �3��O�p+� 6 ' � bE��,EWjF?5JIC`b>B Dh;�AHCZ;�R@[9EFGW8 ��� � ;hB@V<��� ��8�;�AHE C`BaJIAIbeV@?@jFEWV JUcY;lJ jFb�AIAIEWGI=]b>B@V JUb�JUc@EkjWb>B@V@C JUC`b�BY;�[

E��,=@AHEFGHGIC`b�B@G;lJ([9C`B@EWG�Mg;�B@V #,6�'�c@E [`beb>=kC`G�V5C`GHJIAIC9R@?5JUEWVXC`BaJUb \^b>?@A�=@;�AHJIG(;hG�GHc@b �)B06

3>O

Partition 1 = Statements (1, 2, 3)

Partition 2 = Statements (4, 5)

Partition 3 = Statements (6, 7)

Partition 4 = Statements (8, 9)

Distribution

for (int i=0; i<n; i++) { if (a[i] > t) a[i] = i; else { t = t + 1; f[i] = a[i]; if (b[i] != 0) u = a[i] / b[i]; else { u = a[i] − u; c[i] = b[i] + c[i]; } } d[i] = d[i] + c[i];}

12

3456

78

9

Original Loop

for (int i=0; i<n; i++) { EV1[i] = a[i] > t; if (EV1[i] == true) a[i] = i; else t = t + 1;}

for (int i=0; i<n; i++) { EV5[i] = undefined; if (EV1[i] == false) { f[i] = a[i]; EV5[i] = b[i] != 0; }}

for (int i=0; i<n; i++) { if (EV5[i] == true) u = a[i] / b[i]; else if (EV5[i] == false) u = a[i] − u;}

for (int i=0; i<n; i++) { if (EV5[i] == false) c[i] = b[i] + c[i]; d[i] = d[i] + c[i];}

1

2

3

45

6

7

89

Loop after Transformation

� �;?)�(��� > � @ * ��C9GHJUAHC`R@?,JUC`b�B b�\ ;T�Nbeb>= #+C9JIc���b�B@V@C9JIC`b>B@;�[N!eJU;hJUEWSfEWBaJUG

5ap

Constant Propagation

Loop Invariant Detection

Normalization of Loops

Reference Analysis

Exception Checking

Dependence Analysis

Loop Distribution

Inserting Special Calls forRecognized Operations

Sun’s javac

Code Generation

Com

pile

r ph

ases

in th

e re

cogn

itio

n of

com

mon

ope

rati

ons

� ��? �(��� > � � *%'�c5Eg�)EFjWb><>B@C JUC9b>BX iB@<>C`B5E� ��� � ! ���1�"! �")%$'&($�� ��)

�B E �,C`GHJIC`B@< �>;PDh;"=Y;hAIGIEWA / !,?5B 7G�; $ ��$+� \^AHb>S � ��� M�6 o,6 o 1gC9G ?@GHEFV ;�G ;"G�J ;�A�JUC9B@<"=]b>C`BaJ ;hB@VSTb,V@C _YEFV JUb C9B@jFb>AH= b�AU;hJIETJIc@Ek;�BY;h[9KeGIEWG ;�B@V JIAU;�B@G�\^b>AISf;hJIC`b>B@G3V@C9GIjF?5GIGIEWV06 * C`<>?5AIE05@6 Q�GIc@b �)GJUc5E3V5C � EFAIEWBaJ(=5cY;�GIEWG;hV@V@EFV4C`BkJIc@E jFb>ST=@C`[9EFAW6

!,?@B G�; $ ��$+��=Y;hAIGIEWA�V@beEFG GIb>STER@;�GIC9jb>=5JIC`STC%$F;hJUC9b>B@G$[9C%��E�jFb�B@GHJU;�BaJ&\^b>[`V5C`B@<g;�B@VfV@E ;�VkjWb,V5EEF[9C`STC`BY;lJUC`b�B06 # E ;�V@V jWb>B@G�J ;�BaJ3=@AIb�=Y;�<a;hJIC`b>B�;�B@V [`beb>=�C`BaDh;�AIC`;�BaJ�V@E JUEFj JUC9b>B JUbkC`ST=@AHb D�E JUc5E;�jWjF?@AI;�jWKXb�\ JUc5E3V5EF=]EFB@V@EWB@jFE3JUEWGHJUGW6

!,C`B5jFE b>B@[ K [`beb>=@G�JIcY;hJ3;�AHETC9B JIc@E B@b>AHS ;�[9C%$WEFV"\^b>AHS / ;�G V@C9GIjW?@GIGHEFV C9B GHEFj JUC`b�B 5@6 M>6 M�1�;�AHE;�BY;h[9KeGIEWV"\^b>A�V@EW= EWB@V@EFB5jFEFG3;�B5V [`beb>="V@C9GHJUAHC`R@?,JUC`b�B08n;f[`beb>="B@b>AHS ;h[`C%$F;hJUC9b>BX=@cY;�GHE C`G(C`B@jW[`?@V@EWVJUc@;hJ�B@b>AISf;�[9C%$FEWG&[`beb>=@G�B5b�J�C`BXJUc@E GHJU;�B@VY;hAIV�\^b�AIS46%� J�C9G�B5b�J�= b>GHGIC9R@[`E�JIbfB@b�AISf;�[`C�$FE�;�[9[0[`beb>=@G;�G�\^b>A�GHb>SfE�bh\�JIc@EFS48@JUc@E ?@=5= EWA�R]b>?@B5V�jF;�B@B@b�J)R]E C`B5\^EWAIAHEFVX\^AIb>S JUc@E jFbeV@Eh6

5@M

�(E �,JF8YAIE \^EFAIEWB@jFEg;�BY;h[9KeGIC9GF85E �,jFEF=,JUC`b�B�j c@EWj � C`B@<@8YV5EF=]EFB@V@EWB@jFE ;�BY;�[ KeGIC`GW8@;�B5V4[9b,b�= V@C`G�JUAHC`R@?,mJUC9b>B4;�AIE�V5b>B@E C`BkJUc@;hJ)b>AIV5EFAF6

* C`B@;�[`[ K>8 JUc@E�RY;hGIC`j�b�= EWAU;hJIC`b>B@G�j ;�BXR]E�AIEFjWb><>B@C�$FEWV08:;�B@VkJUc5E�jFb>AHAIEFGH= b�B@V@C`B5<TjWb,V5E3C9G�JUAI;�B@G�m\^b>AHSfEWV06i'�c@C`G)C9G�V@C`GHjF?@GHGIEFV�C`BXGIEWjWJIC`b>B 5@64856'�c@E�\^b>[`[9b �)C`B@<gGIEFj JUC9b>B@G�V@EWGIjFAHC`R]E�JUc@E�AHEW\^EWAIEFB5jFE3;�BY;�[ KeGIC`GW8@V@EW= EWB@V@EFB5jFEg;�BY;�[ K,GHC`GW8@;�B@Vk[9b,b�=

V@C9GHJUAHC`R@?,JUC`b�BkC`ST=@[`EWSfEWB JU;hJUC9b>B@G C`Bk<>AHE ;hJIEFA)V@EWJU;�C`[ 6

����� ��� �H� � � �#����� �:�� ��� �S" �

'�c@E(AIEW\^EWAIEWB@jFE;�BY;�[ K,GHC`G�?@GHEFG JIc@E�C9JUEWAU;hJIC9D�E(;h[`<>b>AHC9JIc@S�V5EFGIjWAIC9R EWV C`B GIEWjWJIC`b>B 5@6 oe6$'�c@E�;hR@GHJIAU;�j JGHKeBaJ ;�� JUAHEFE�=@AHEWDeC`b�?@GI[ KfjWAIEF;hJUEWV4RaKfJUc@E�=@;�AIGHEFA&C9G&?@GIEWVkJUb JIAU; D>EWAIGIE�JIc@E�=@AHb><>AU;hS jWb>BaJUAHb>[ �Yb �\^b>A EF;�j c C9JUEWAU;hJIC`b>Bn6 '�c5E JUAU;hB@GH\^EWA \^?5B@jWJIC`b>B@G ?@GIEWV�RaK JIc@C`G ;h[`<>b>AHC9JIc@S ;�AIE �)AHC9JHJUEFB C9B �>;PDh;56'�c@E C`ST=@[9EFSTEFBaJ ;hJIC`b>Bf\^b>A&JUc@E�JIAU;�B@G�\^EFA�\^?@B@j JUC9b>B@G ��;�G(V5b>B@E RaKX��EWB@< # ?06i�&J)JUc@E EWB@V�bh\ JUc5E;�BY;h[9KeGIC9GF8nE D>EWAHK AHEW\^EFAHEFB@jWE ;�jFjWEFGHG ;hJ�E ;hj c GHJ ;lJUEFSTEFBaJ =]b>C`BaJC`B�JIc@E =@AHb><>AU;hS C9GSf;�=@=]EFV"JIbk;

GIE J�b�\ c5E ;�=4[`bej ;hJIC`b>B5G�JUcY;lJ)S ; KkR]E AIEW\^EWAIEWB@jFEWV�RaKkC9JF6

�(\ JIEFA�JUc@E�C JUEWAU;hJIC9D>E�;�[`<>b�AIC9JIc@S cY;�G)AIEF;�j c@EWV�C JUG&_ �,EFV4=]b>C`BaJ 85; GIC`B5<>[`E�GHEFd ?@EWB JICZ;�[NJIAU; D>EWAIGU;h[b�\YJIc@E&=@AHb><>AU;hS�AHEFSTb D�EFGiAHEFV@?@B5VY;�BaJ ������� �\^AIb>S JUc5E&AIE \^EFAIEWB@jFE)Sf;�=@=@C9B@<>GW6��LB5\^b�AISf;hJUC9b>B ;hR b>?,J

JUc5E R b�?@B@V@G�b�\%;hAIAU; K�AIE \^EFAIEWB@jFEWG C`G�;�[9GIb G�JUb>AHEFV ;�[9b>B@< �)C JUc�JIc@EFC9A�AIE \^EFAHEFB@jWE S ;�=5=@C`B@<�GF6�'�c@C9Gc@EW[`=@G)C`BXE �5jWEF=5JIC`b>B4j c@EWj �eC9B@< ;hG�V5EFGIjWAIC9R EWV�C9B4GHEFj JUC`b�B 5567356

����� ��� � � � ��'(������:�� ��� �S" �

* C9AIGHJF8 � E jFb>[9[`EFj J�; AHE ;�V,m GIE J3;�B@V ; �)AIC JUE mLGIE J b�\%;�[9[$;�jWjFEFGHGIEWG JIbkSfEWSfb�AHK�[`bej ;hJIC`b>B@G)\^b>A�EF;�j c[`beb>=XB@EWGHJ(C`BXJUc@E3=@AIb�<>AU;�S46�'�c@E AHE ;�VemLGIE JC9G�JUc@E ?@B@C9b>B4b�\ JIc@EgGHEWJIG���!, /�� 1 8 �)c@EFAHER� C9G(;hB KGHJU;hJUEWSfEWBaJ C9B JIc@E4[`beb>= B@EFG�J 6+!eC`STC`[Z;hAI[9K�8�JIc@E �)AHC9JIE mLGHEWJTC`G JIc@EX?@B@C`b�B�b�\(JUc@EXGHEWJUG �� �* / � 1 8�)c@EWAIE � C`G);�BaKXG�J ;hJIEFSTEFBaJ�C`B JUc5E3[9b,b�=kB@EFG�J 6 ��!5 ;hB@V �� �* ;�AHE�V@EW_YB5EFV�C9BXGIEFj JUC9b>B 5569M>665@6'�c@E&AHEW\^EFAHEFB@jWE);�jFjWEFGHGIEFG �)C JUc@C9BgJIc@E�AHE ;�V,m GIE J�;�B@V JIc@E �)AHC9JIE mLGHEWJ$;�AIE%JUc@EWB JUAU;hB@GI[`;hJUEWVgJUbGIEWJIG

b�\�c@EF;�= b>R��HEWjWJIGF63'�c@C`G�C9GV@b�B@E ?@GHC`B@< JIc@E Sf;�=@=@C9B@<>G�b>R5J ;hC`B@EWV"\^AIb>S JUc5E AIE \^EFAIEWB@jFET;�B@;�[9KeGIC9GF6

5 o

1(EF;�= b>R��HEWjWJ BY;hSfEWGAIEWGI?@[ JUC9B@< \^AIb�S JIc@EFGHE S ;�=5=@C`B@<�G;�AHE C`V5EFBaJUC _YEFAHG �)c@C`j c jF;�B R]E \^b>[`[9b ��EWVRaK GIb>STETGI?@R@GHjFAHC`=5JgE��,=@AHEFGIGHC`b>B5GF6k'�c@EWGIE GH?@R@GIjWAIC9=5JUGgjFb>AHAIEFGH= b�B@V JIb4JIc@EfC JUEWAU;hJIC`b>B D>EWjWJIb>A3\^b�AJUc5E �/��� GHJU;hJUEWSfEWB J)JIcY;hJ�;�[9[`bej ;hJIEFG�JIc@E c@E ;�=4b>R��HEWjWJF6*Yb>A ;�B ;�AHAU; K ;�jWjFEWGIG $ �� � 8$JUc@EXc@EF;�= b>R��HEFj J �)C`[`[%R]E JUc@EkAHEW\^EFAHEFB@jWE�Sf;�=@=5C`B@<�\^b�A $ GI?@Rem

GIjWAIC9=5JUEWV RaK � 6g*Yb>A; _YEF[9V ;�jFjWEFGHG $ � � 8 JUc@E c5E ;�= b>R��HEWjWJ �)C9[`[�;�[`GHb R EgJUc@E AHEW\^EFAHEFB@jWE S ;h=@=@C`B5<\^b>A $ GI?@R5GIjFAHC`=5JIEFV RaK � 6 '�c@C9G GI?@R5GIjFAHC`=5JIC`B@< ;h=@=@[`C9EFGgb>B@[9K JUb�JUc@Ek[`;�GHJ V@C`STEFB@GHC`b>B b�\�;�B ;�j m

jFEWGIGW6 '�c ?@GF8 \^b�A ;�B ;�jWjFEWGIG $ �� � ; � 80JIc@ETc@E ;�= b>R��HEWjWJ��)C`[`[ R E JUc5EfAHEW\^EFAHEFB@jWE Sf;�=@=@C9B@<k\^b>A $ �� �GI?5R@GIjWAIC`=,JUEFV�RaKL; 6

* C`B@;�[`[ K>8iJUc@E4c@EF;�= b>R��HEWjWJfBY;�STEFG \^b>A E ;�j c =Y;�C`A b�\�;�jFjWEFGHGIEFGkbh\�jFb�Sf=Y;lJUC`R5[`E4�>; Dh; JLKe= EWG;�AHE JIEFG�JUEFV \^b>A V@EF=]EFB@V5EFB@jWE�6X�&J3[`E ;hGHJgb>B@ET;�jFjWEFGHG b�\�E ;�j c =@;�C`A�S ?5GHJgR Ef; �)AHC9JIEf;hjFjFEWGIGW6k�V@EW= EWB@V@EFB5jFE E �,C`GHJIG)C9\/*

, '�c@E BY;hSfEWG�bh\ R]b�JUckJIc@E3;�jFjWEFGIGHEFG�;hAIE�C`V5EFBaJUC9j ;�[ 8@;�B@V

, -�bhJUckJUc@E3;�jWjFEWGIGIEWG�;�AHE�\^b>[`[9b�� EFVXRaK JIc@E GU;�STE Be?5S R EWA)b�\ GH?@R@GHjFAIC9=5JUGW8];�B@V

, �;�j c4=Y;�C9A�b�\ jWb>AIAHEFGH= b>B5V@C`B@< GH?@R@GIjWAIC9=5JE �,=@AIEWGIGIC9b>B@G�cY;�G�JUc5E3GI;�STE Dh;�[9?@E�6

*Yb>A JUc5E�GI?@R@GHjFAHC`=5J�E �5=5AIEFGHGIC9b>B@GF8,;�jFb�B D�EFBaJUC9b>BY;�[5V@EF=]EFB@V5EFB@jWE�JIEFGHJ�jF;�B R E&;�=@=@[9C`EFV JIb�V@EWJIEFA�mSTC`B@E�C9\ JUc@E K Sf; K cY; D>E�JUc5EGU;hSfE)Dh;�[`?@Eh6$�LB JIc@E�C`ST=@[9EFSTEFBaJ ;hJIC`b>Bn8�JUc@E���SfEW<a;3JIEFGHJ�V@EFGHjFAHC`R]EFV

C`BXGHEFjWJIC`b>B 5@6 M>6��,673 C9G)?@GIEWV06'�c@E3C`BaJUEWAH\ ;�jWE�JUb JUc@Eg��SfEW<a; [`C9R@AU;hAHK � �3��� �NO 8 ��C`G�STb,V@C _YEFVkGHbTJIcY;hJ)C J�J ;��hEFG(;�G)=Y;�AU;hS m

EWJIEFAHG *

, � GIE J3b�\�Dh;�AHCZ;�R@[9EFGJIcY;hJ3jFb�AIAIEWGI=]b>B@V JUbXJUc@E [9b,b>="Dh;�AHCZ;�R5[`EFG�\^b�A�JUc@E [`beb>=@G�jWb>STSfb>B"JIbJIc@E�J���bf;�jFjWEFGHGIEFG(R EWC`B@< jWb>B@GIC9V@EFAHEFV06

, � GIE J�b�\ jWb>B@G�JUAU;hC`BaJUG)b>BkJUc5E3R]b>?@B5V@G(bh\�JIc@EFGHE3Dh;�AHCZ;�R@[9EFGW6

, '�c@E GH?@R@GIjWAIC9=5J3E��,=@AIEWGIGHC`b>B@G \^b>AJIc@E J���b4;�jWjFEWGIGIEWGgJIbXJIc@E GU;hSfE ;�AHAU; K>6 %;hj c GH?@R@GIjWAIC9=5JjF;�B�R]E ;�B�;"�TB@E E��,=@AHEFGIGHC`b>B�b�\ JUc@E [`beb>= Dh;�AHCZ;�R@[9EFG&b�A(; GH= EWjFCZ;h[ �������/� � � Dh;�[`?5E�6

5'3

'�c@E�AIE JU?@AHB@EFV Dh;�[`?5E$C`GN;�V@C9AIEWjWJUC9b>B�D>EWjWJIb>A0JUcY;lJ�<>C9D�EFG0JUc5E%V5EF=]EFB@V@EWB@jFE%AIEW[Z;hJIC`b>B(\^b>AnJUc5EijFb>STSfb�B

[`beb>=@G�EWB@jF[9b>GIC9B@< JUc5E J�� b ;hjFjFEWGIGHEFGF6'�c ?@GF8 � E b>R,J ;�C9B V@C9AIEWjWJUC9b>B D>EFj JUb>AHG \^b>A3;�[9[iVY;hJ ;4V@EF=]EFB5V@EFB@jWEFG R]EWJ�� EFEWB JUc@E ;�jFjWEFGIGHEFG C9B

[`beb>=kB@EWGHJIGF6

����� ��� �� � � " �<� �4" �(!��#" �

'�c@E(E��,jFEW=5JUC9b>B j c@EWj �eC9B@< ;�B5V V@EW= EWB@V@EFB5jFE�C9B5\^b>AISf;hJIC`b>B b>R,J ;�C9B@EFVT=@AIE DeC`b>?@GH[9K C9G ?@GHEFV \^b�A%[9b,b�=V@C9GHJUAHC`R@?,JUC`b�B06

* C`AHGHJF8JUc@E ;�jWjFEFGHG�m �)C`GIE V@EF=]EFB@V5EFB@jWEFG ;�AHE jWb>BaD>EWAHJUEWV JUb�; G�J ;hJIEFSTEFBaJHm �)C`GHE V@EW= EWB@V@EFB5jFE<>AI;�=@c06 %;hj c B@beV@ETC`B JUc@ET<>AU;h=@c jWb>AIAHEFGH= b>B5V@GgJIb�;XGHJU;hJUEWSfEWB JgjFb�B JU;�C`B5EFV C9B JUc@ET[`beb>= JUcY;lJ

C`G�JUbfR EgV@C`G�JUAIC9R@?5JIEFV06('�c@EFAHE C`G(;�B"EWV@<>E \^AHb>S B@b,V5E ��JIb B@beV@E - C`B�JIc@E <�AU;�=@c�C9\$JIc@EFAHE C`G(;

V@EW= EWB@V@EFB5jFEg\^AHb>S GHb>STEg;hjFjFEWGIG�C`BXGHJU;hJUEWSfEWBaJ(� JIbTGHb>STE ;�jFjWEFGIG(C`BkG�J ;hJIEFSTEFBaJ(-6

�(E �,JF8 � E _YB@V JUc@E G�JUAHb>B@<>[ K jFb�B@B@EFj JUEWV jWb>Sf=]b>B@EWBaJUGkC`B JIc@E V@EW= EWB@V@EFB5jFE <>AU;�=5c ?@GIC9B@<'�;�A �I;�B 7G�;�[9<>b>AIC JUc@S46 '�c@C`G�;�[9<>b>AIC JUc@S C9G�<>C9D�EFB4C`BkJUc@E �(=@= EWB@V@C �n6'�c@EFBn8!� E b>R5JU;�C`B�JUc@E ;�j KejF[`C9j jWb>B@V@EWB@GU;hJIC`b>B b�\�JIc@E <>AI;�=@c06 # E ;�[`GHb AIEWb>AIV@EWA�GHJU;hJUEWSfEWB JIG

GI?5j c JUcY;hJ ;�[`[�G�J ;hJIEFSTEFBaJUG R]EF[9b>B@<>C9B@<XJUb�JIc@E GI;�SfEfGHJIAIb>B@<�[9K jFb>B5B@EFj JUEFV jWb>ST= b>B5EFBaJ ;�AHE ;�V,m

�I;�jWEFBaJgJIb�b�B@ET;�B@b�JIc@EFA3C`B =@AHb><>AU;hS b>AIV5EFAF6 ��?@AIC9B@<kJUc@C9G AIEFb�AIV@EWAIC`B5<@8 ��ETcY; D>ETJUb4R E j ;hAIEW\^?5[B@b�JgJUb�SfbPD>EfjFbeV@E ;hjFAIb�GIG JIc@E R]b>?@B@V@;�AHK b�\�;�BaK GHJU;hJUEWSfEWBaJ JUc@;hJ jF;�B JUc5AIb � ;�B E �5jWEF=5JIC`b>Bn6� \ AIEFb�AIV@EWAIC`B5<4C9G�B@b�J =]b>GIGHC`R@[9E R EWj ;�?5GIETb�\�G�J ;hJIEFSTEFBaJUG�JIcY;hJ j ;hB JIc@AIb � E �,jFEF=,JUC`b�B@GF8�JUc@E [9b,b�=j ;hB@B@b�J�R]E3V5C`GHJIAIC9R@?5JUEWV06

* C`B@;�[`[ K>8 ;kJIb>=]b>[`b><�C`j ;h[�JIAU; D>EWAIGI;�[ib�\�JUc@E B@beV@EWG�C`B"JUc5E ;�jWKejF[9C`j jWb>B@V@EWB@GIEWV <>AI;�=@c C`GV@b>B@Eh8

;�B@V3JUc@E%GHJU;hJUEWSfEWBaJ�/ G 1 jWb>BaJ ;�C9B@EFVgC`B EF;�j c B5b,V@E�;�AIE%=@?5J�C`Bg;(GHEF=Y;hAU;hJIE [9b,b>=n6�'�c ?@GW8�JUc@E%b>AHC`<>C9BY;�[[`beb>=kC9G�V@C`G�JUAIC9R@?5JIEFVXC`BaJUbT;�G)Sf;�BaK [9b,b>=5G);�G�JUc@EWAIE3;�AIE G�JUAIb�B@<>[9K jFb>B5B@EFj JUEFV�jFb>ST=]b>B@EFBaJIGF6

�Nb,b>= V@C9GHJIAIC`R5?5JUC9b>B�C`G ;�=@=5[`C`EWV�JUb�E ;�j cg[`beb>=�C`B�JIc@E�[`beb>= B@EFG�J�R]EF<�C`B@B@C9B@<��)C9JIc JIc@E�b>?5JIEFAISTb>G�J[`beb>=06 �;�j c JUC9SfEh8aJUc@E(GIEWJ�b�\NV@EW= EWB@V@EWB@jFEWG�C`G%=@AI?@B5EFV JIb E��,jW[`?@V@E(JUc@b>GHEV@EW= EWB@V@EWB@jFEWG&JUcY;hJ�;�AHE[`beb>=,m j ;�AHAIC9EFV b>BXJUc5E3b�?5JUEWA�[`beb>=@G�b>B@[ K>6

5 5

1:

2:

3:

......try {

} catch(exceptions) { for (...) { ...... }}

special method call;

Transformed Code

1:2:3:

......for (...) { ...... }

Original Code

recognized operation ......

......

� �;?)�(� � > � � *i�LB@GHEFA�JUC`b�B�b�\$!,=]EFjWCZ;�[��4EWJUc5b,V"�&;�[`[9G� ��� � �� � ��)���� �J)�� � � �"��& $�� ��)�� & )�� � )�� �"�'$��J)�� # � �� �1& �

� & � � �

# E jFb�Sf=@C9[`E ;TVY;hJ ;hRY;�GIE3b�\iR@;�GIC9jgb>=]EFAI;hJUC9b>B@G)jFb�SfSTb>B@[ K \^b>?@B@V�C`B4JUc@E3jFb>ST=@?5JU;hJUC9b>B ��EFAHB@EF[9Gb�\�B ?@STEFAHC`jF;�[(=5AIb><>AI;�STGF6+'�c@EFGHE ;�AIEXJLKe=@C`jF;�[`[ K GIC9Sf=@[9EXb>= EWAU;hJIC`b>B5Gfb>B�D>EFj JUb>AHG b>AfS ;hJIAIC9jFEFG

V@b>B5E �)C9JIc@C`B�;fGHC`B@<>[9E b>AV@b�?@R@[`E mLB@EWGHJIEFV"[9b,b>=n6��(\ JUEWA[9b,b>=4V@C9GHJUAHC`R@?,JUC`b�B08 ��E j ;�B"C9V@EFBaJIC9\ KkJUc5ESf; �,C`S ?@S B ?@S R]EFA)b�\�C`B@G�J ;�B5jFEFG�b�\ JUc@EWGIE3RY;�GHC`j�b>=]EFAI;hJUC9b>B@G�C`BkJIc@E GIb>?@AHjFE jFbeV@Eh6'�c@E AHEFjFb�<>B@C9JIC`b>B�C`G�C`ST=@[`EWSfEWBaJUEFV�?@GIC9B@<fJIc@E =@AHb><>AI;�S ;�R@G�JUAU;hjWJ�G�K,BaJU; ��JIAIEWE�6� �;�j c R@;�GIC9j

AIb�?5JUC9B@E C9G(AHEF=@AHEFGIEWBaJUEFV C`B4JUc@Eg\^b>AIS b�\%;TJUAIEWE =Y;hJHJUEWAIB06��EWjFb><>B5C9JUC9b>B4b�\iJUc@EgAIb>?,JUC`B5EFGjF;�B R]E

V@b>B5ETRaK JIAIEFE =Y;lJIJUEWAIB Sf;hJUj c@C9B@<@6 � J C9G3=]b>GHGIC`R5[`E JIb�Sf;���E JIc@C`G =@AHb,jWEFGHG3GHC`ST=@[`E ;�B@V E��TjFC9EFBaJ?@GHC`B@<T; j ;�B@b�B@C`jF;�[0b>AHV@EFAHC`B@< b�\�JUc@E3;�R5GHJUAI;�jWJ)G�KeB JU; �4JUAHEFE �7� # p>p+� 6#+c@EFB ; Sf;hJUj c C9G�= EWAH\^b>AHSfEWV080C J�C`GC`ST= b>A�J ;�BaJ(JUbkEFB5GI?@AHE JIcY;hJ�JIc@E GHJU;hJUEWSfEWBaJUG�C`BaD�b>[9D�EFV

j ;hB@B@b�JfJUc@AHb�� ;hB K�E��,jWEF=5JIC`b>B@G b�JUc@EWAfJIcY;�B "��#�%$'&)(#��*+�%��,-���%,/.102���+��*� ������������ �����+;�B5V �2�+�� �

������ ���1�����������������Y6&'�c@EFGHE J�� b E��,jFEW=5JUC9b>B@G;�AIE3E��,=@[9C`jFC JU[ K j c@EWj ��EFV RaK4b>?@A)BY;hJIC9D>EgC`ST=@[`EWSfEWB,mJ ;lJUC`b�B GIC9B@jFE"JIc@EWK+;hAIE�JIc@E Sfb�GHJkjWb>SfSTb>B C9B B ?@SfEWAIC9j ;�[(jFbeV@EFGW6 � \3C9JkC9G = b�GIGIC9R@[`E4\^b>A JUc5E

GHJU;hJUEWSfEWBaJgJIbXJIc@AIb � ;hB K bhJUc@EWA3E �,jFEF=,JUC`b�B08 C J j ;�B@B5b�J3R ETAIEW=@[Z;�jWEFV RaK BY;hJUC D>E jFbeV@Eh6 �LB JUc@C9Gj ;hGIE�8NJIc@E BY;hJUC D>E C9Sf=@[9EFSTEFBaJ ;lJUC`b�B �)C9[`[ B5b�J R E ;hR@[`E JIbkcY;�B@V@[9E JUc@E E �5jWEF=5JIC`b>B ;�B5V JIc@EFAHEW\^b>AHE�)C`[9[nB@bhJ;hV@c@EFAHE�JUbf�>; D�; 7G)=@AHEFjFC9GIE3E��,jFEW=5JUC9b>B4GIEFSf;�BaJUC9jFG!/ V5EW_YB@EWV�C9BkGIEFj JUC9b>B 5567356 M�1 6#+c@EFB5EWD>EWA%;(Sf;hJUj c C9G \^b�?@B@V08�JIc@E�jWb>AIAHEFGH= b>B5V@C`B@<GIEFd ?@EWB@jFE)b�\@GHJ ;lJUEFSTEFBaJIG$C`G AIEW=@[Z;�jWEFV RaK ;

JUA�KamLj ;lJUj c3GHJ ;lJUEFSTEFBaJ ;�GNGHc@b �)BgC9B * C`<�?@AIE 556 O56�'�c@EiJIAHK�R5[`bej �jFb�B JU;�C`B5G�;&j ;�[9[�JUb);�GI=]EFjWCZ;�[hGHJU;hJUC9j

5�#

STEWJUc5b,V �)C9JIc JUc@E3;�=5=@AIb>=5AICZ;lJUE�=Y;hAU;�STEWJIEFAIGW6�'�c@E E��,jFEW=5JUC9b>B@G)j ;�?5<>caJ(RaK JIc@E�j ;lJUj c,m R@[`bej �k;�AHE� � �3� $� � � �8.�� ���+��*�� �#������� 8�������� ����������������������������Y85;hB@V "��#�%$'&)(#��*+�%��,-���%,/.102���+��*� ��3���������������Y6

'�c@E R]beV5K4b�\$JUc5E j ;lJUj c,m R@[`bej �XjFb>BaJ ;hC`B@G�JUc@E b�AIC`<�C`BY;�[nGIEFd ?@EWB@jFE b�\$GHJ ;lJUEFSTEFBaJIGJUcY;lJ�Sf;hJUj c@EWVJUc5E�RY;�GIC9j�b>=]EFAI;hJUC9b>B06$'�c@C9G�EFB@GH?@AIEWG�JUcY;hJ�JUc@E�RaK JUEWjFbeV@E C`B@G�JUAI?5jWJUC9b>B@G&<�EFB@EWAU;hJIEFV4;�AIE�=]b>A�J ;�R@[9E�8

;�G)V@C9GIjF?5GIGIEWV�C9B4GHEFj JUC`b�B 856 o,6��cY;�=5JIEFA08"J ;�[�� G C`B <>AIEF;hJUEWA V@EWJU;�C`[&;�R b�?5J AI?@Bem JUC9SfE C`BaJUEWAI=@AHEWJ ;lJUC`b�B ;�B@V��)cY;hJTcY;�=5= EWB@G

�)c@EWB�JUc5EFGIE3GI=]EFjWCZ;�[9[9KfC`B@GHEFA�JUEFVXJUA�KamLj ;lJUj c4GHJ ;lJUEFSTEFBaJIG;�AHE�EFB@jWb>?@BaJUEWAIEWV"V@?@AHC`B@< E��,EWjF?5JIC`b>B06

��� < <DE1< 7 0X< >;> / O@> ��: 5�E1K�7 : ��04:'I�7DI�0 ��� QMOT0XK K�EX: � >;< >TO@E42B>T<D> = F <DE1? S 0XK+=":���>@< >/F EB< >�: � >@QN0B<D> K EX:'O@0XI � � : 5PK�B>TK >@< 0 � W � � 5P7 5P79K�EX: :�� >�OT0B7D>'5�KMEBI�<95�? � � >@? >@K : 04:D5PEBK :���EBI�� � W

5'8

� � ��� � � � �

� � � ��� � � � � � � � � � � � �� �

� � � ��� � � � � �

# Ef[9C`GHJ JIc@E RY;hGIC`j b>=]EFAI;hJUC9b>B@G JUcY;lJ ;�AHET\^b�?@B@V jWb>STSfb>B5[9K"C9B JIc@E jWb>ST=@?5J ;lJUC`b�BY;�[ �hEFAIB5EF[`Ggb�\B ?@STEFAIC9j ;�[�jWb,V5EFGF6 '�c@EFGHE b>=]EFAI;hJUC9b>B@G4;�AIE b>=,JUC`STC%$WEFV+RaK b>?@AkJUEWj c@B@C`d ?@E ;�B@V AIEW=@[Z;�jWEFV R KBY;hJIC9D�E4STEWJIc@beV�jF;�[`[9GF6�!,C`B5jFEkJUc@EXGHEWJfb�\�GI;�Sf=5[`EkjFbeV@EWGfG�JU?@V@C9EFV�C`G [`C9SfC JUEWV08$JUc@C9G [`C`G�J C`G B@bhJ

jFb�Sf=@AHEFc@EWB@GIC D>Eh6 # E�;h[`GIbgC`V@EWBaJUC9\ K JIc@b>GHEb>=]EFAI;hJUC9b>B@G%= EWAH\^b>AHSfEWV jFb�SfSTb>B@[ K C`Bf[`beb>=@GiJUcY;lJ�;�AHEB@b�J)AHEFjWb><>B@C�$FEFV4RaKXb>?@A�C9Sf=@[9EFSTEFBaJ ;lJUC`b�B06 '�c@EWGIEg;�AIE B@bhJ)AIEF=5[Z;�jWEFV4R K BY;hJUC D>E STEWJUc5b,VXj ;h[`[`GW6�LB JUc5E(C9Sf=@[9EFSTEFBaJ ;lJUC`b�B08�� E �)AIC JUE�b>?@A%b �)B BY;hJIC9D>E�jFbeV@E�[`C9R@AU;�A�K \^b>AiJUc5ERY;�GHC`j�b>=]EFAU;lJUC`b�B@GF6

'�c@E B@;hJUC D>ETjFbeV@E S ?5GHJ JU;���E j ;�AHEfJUb�j c@EFj � \^b>A3E��,jFEW=5JUC9b>B@GF8�;hB@V ��EWEF= JIc@E GI;�SfETB ?@STEFAIC9j ;�[=@AHEFjFC9GIC9b>B V@EW_YB5EFV RaK �>; Dh;4GHEFSf;�BaJUC`jWGF6T� J3S ?@GHJ3R]E JUAU;hB@GU;�j JUC9b>BY;�[$C9B BY;hJU?5AIE�8 C 6 E�6NEWC9JIc@EFA�JUc5E

BY;hJIC9D�E�jF;�[`[&jWb>ST=@[`E JUEFGTGI?5jFjFEWGIG�\^?@[`[ K>8&b>A C JfV5b,EWGfB@bhJfSf;��hE�;�BaK STb,V5C9_YjF;hJUC9b>B@G JIb JUc5E�?@GHEFA�mDeC`GHC`R@[9ET=5AIb><>AI;�S GHJU;hJUEfC9\�;hB E��,jFEW=5JUC9b>B C9G3JIc@AIb �)B064� J C9Gg=]b>GIGHC`R@[9ETJIb�?@GHE AIEF;�V@C9[9K ; Dh;�C`[`;�R@[9E�8c@C9<>c@[9KXb�=5JUC9SfC�$FEFV4[`C9R@AU;hAHKkjF;�[`[9G � \^b�A�JIc@E ;�j JU?Y;�[ jFb�Sf=@?,J ;hJIC`b>B06�'�c5EFGIE jF;�[`[9G �)C9[`[NR]E �)AI;�=@=]EFV;�AHb>?@B@V RaK�jWb,V5E4JIcY;hJTS ;"��EFGTGI?5AIEXJUc@EWAIE�;�AIE4B@b E��,jFEW=5JUC9b>B@G ;hB@V JU;���EWG jF;�AIE4b�\�;hB K bhJUc@EWA\^?@B@j JUC9b>BY;�[9C9JLKfGI=]EFjFC _Yj�JUb JUc5E �>; Dh; C`BaJUEWAH\ ;�jWE�6

-�� E1<9> / 0X? � � >BS�: � >�� ( � G � 5 ��< 0B<DQ � . �1. ��OT0XK � >�I�7R> = W

5=�

� ��� � ��! ! ��) � � �M��&($�� ��)�� � �� � ��)���� ���

'�c@E(jFb>STSfb�B@[9K bejFjW?@AIAHC`B@<3RY;�GHC`j�b>=]EFAU;lJUC`b�B@G�;hAIE�EFB ?@STEFAU;lJUEFV R EW[`b � 6i�LBfJIc@E(\^b>[9[`b �)C`B5<3E �5;�S m=@[9EFGF8 $�;�B@V � AIEW=@AIEWGIEWB J3Sf;hJUAHC`jWEFGF8 � ;hB@V *"AIEF=5AIEFGHEFBaJ D>EWjWJUb�AIGF8 � 8 �Y8 �>83&l8N;�B@V �(AIEF=5AIEFGHEFBaJ

[`beb>=fC`BaDh;�AIC`;�BaJUGF8,;�B@V � ;hB@V ; AIEW=@AIEWGIEWB J)[9b,b�=fDh;�AIC`;�R@[9EFGF6 ..� �l8�.�� � �l8 S� �l85;�B5V �� � ��V@EWB@b�JUE�;"�TB@E\^?@B@j JUC9b>B@G)b�\�[`beb>= Dh;�AIC`;�R@[`EWGF6

M>6)�(GIGIC9<>B@C9B@< JUb JUc@E EW[`EFSTEFBaJIG�bh\$; Sf;hJUAHC � 6$'�c@E Dh;�[`?@EWG);�GIGHC`<>B5EFV4j ;�B4R E+*/ ; 1X; jFb�B@GHJU;�BaJJ*

for (j=0; j<n; j++) a[f(i,j)][f’(i,j)] = t;

for (i=0; i<m; i++)

/ RB1kEW[`EWSfEWB JIG)b�\$; Sf;hJUAHC � *

for (j=0; j<n; j++)for (i=0; i<m; i++)

a[f(i,j)][f’(i,j)] = b[g(i,j)][g’(i,j)];

/ j=14;hB�;"�TB@E E �5=5AIEFGHGIC9b>B�b�\ JUc5E3[9b,b�= D�;hAICZ;hR@[`EWG *

for (j=0; j<n; j++) a[f(i,j)][f’(i,j)] = g(i,j);

for (i=0; i<m; i++)

o,6)�(GIGIC9<>B@C9B@< JUb JUc@E EW[`EFSTEFBaJIG�b�\i; Sf;hJUAHC � AIb � b>A�jWb>[`?5SfB06 '�c@E3Dh;�[9?@EFG);hGIGIC9<>B@EWV�jF;�B�R]E */ ; 1X; jFb�B@GHJU;�BaJJ*

a[a1][a2] = t;for (i=0; i<m; i++)

where: a1=f(i) and a2=x OR a1=x and a2=f(i)

/ RB1kEW[`EWSfEWB JIG)b�\$; D>EWjWJIb>A *

a[a1][a2] = d[g(i)];for (i=0; i<m; i++)

where: a1=f(i) and a2=x OR a1=x and a2=f(i)

5aQ

/ j=1XEW[`EWSfEWB JIG)b�\$; Sf;hJUAHC � AIb � b>A�jWb>[`?5SfB *

a[a1][a2] = b[b1][b2];for (i=0; i<m; i++)

where: a1=f(i) and a2=x OR a1=x and a2=f(i)

b1=g(i) and b2=y OR b1=y and b2=g(i)

356)�(GIGIC9<>B@C9B@< JUb JUc@E EW[`EFSTEFBaJIG�bh\$; D>EWjWJIb>AF6%'�c@E�Dh;�[`?@EWG�;�GIGHC`<>B@EWV�jF;�BXR E+*/ ; 1X; jFb�B@GHJU;�BaJJ*

c[f(i)] = t;for (i=0; i<m; i++)

/ RB1kEW[`EWSfEWB JIG)b�\$; D>EWjWJIb>A *

c[f(i)] = d[g(i)];for (i=0; i<m; i++)

/ j=1XEW[`EWSfEWB JIG)b�\$; Sf;hJUAHC � AIb � b>A�jWb>[`?5SfB *

c[f(i)] = b[b1][b2];for (i=0; i<m; i++)

where: b1=g(i) and b2=y OR b1=y and b2=g(i)

5@6)�(GIGIC9<>B,m b>= E��,=@AHEFGIGHC`b>B �)C JUc"JUc5E [ m Dh;�[9?@EFG;�G�JUc5E EF[9EFSTEFBaJUG�b�\ ; Sf;hJUAHC � 6�'�c@E b>=]EFAI;hJUb>AjF;�B R E � 8&m 8�� b>A �e8)JIc@b>?@<�c � ;�B5V�� ;hAIE"STb>AIE�jFb>STSfb�B06 '�c@E AIC9<>caJ cY;hB@V+GIC`V5E

E �5=5AIEFGHGIC9b>B�jF;�B�R]E */ ; 1X; jFb�B@GHJU;�BaJJ*

for (j=0; j<n; j++) a[f(i,j)][f’(i,j)] op= t;

for (i=0; i<m; i++)

/ RB1X; Sf;hJUAHC � EF[`EWSfEWBaJJ*

b[g(i,j)][g’(i,j)];

for (j=0; j<n; j++)for (i=0; i<m; i++)

a[f(i,j)][f’(i,j)] op=

5aO

#,6)�(GIGIC9<>B,m b>=�E �,=@AIEWGIGIC9b>B��)C JUcXJUc@E3[ m Dh;�[`?@EWG);�G�JUc@E3EF[9EFSTEFBaJUG�b�\$;TSf;hJUAHC � AIb � b>A)jWb>[`?@STB06'�c@E AHC`<>caJ)cY;�B5V�GHC`V@E b�\ JUc@E E �5=5AIEFGHGIC9b>B�jF;�BXR E+*/ ; 1X; jFb�B@GHJU;�BaJJ*

a[a1][a2] op= t;for (i=0; i<m; i++)

where: a1=f(i) and a2=x OR a1=x and a2=f(i)

/ RB1X; D>EWjWJIb>A)EF[`EWSfEWBaJJ*

a[a1][a2] op= d[g(i)];for (i=0; i<m; i++)

where: a1=f(i) and a2=x OR a1=x and a2=f(i)

856)�(GIGIC9<>B,m b>=kE��,=@AHEFGIGHC`b>B �)C9JIckJUc@E�[ m Dh;�[`?5EFG&;hG&JUc@E EF[9EFSTEFBaJUG�bh\ ; D�EFjWJIb>AF6�'�c@E AHC`<>caJ�cY;hB@VGHC`V@E b�\ JUc@E E �5=5AIEFGHGIC9b>B�jF;�B4R E+*/ ; 1X; jFb�B@GHJU;�BaJJ*

c[f(i)] op= t;for (i=0; i<m; i++)

/ RB1X; D>EWjWJIb>A)EF[`EWSfEWBaJJ*

c[f(i)] op= d[g(i)];for (i=0; i<m; i++)

�,6)�(GIGIC9<>B,m b>=�E �,=@AIEWGIGIC9b>B��)C JUcXJUc@E3[ m Dh;�[`?@EWG);�G�JUc@E3EF[9EFSTEFBaJUG�b�\$;TSf;hJUAHC � AIb � b>A)jWb>[`?@STB06'�c@E�AHC`<>caJ�cY;�B@VXGIC9V@E�b�\�JIc@E�E��,=@AHEFGIGHC`b>BXC9G�; D>EWjWJUb�A�EF[`EWSfEWBaJ�S ?@[ JUC`=5[`C`EWVfRaK ; jFb>B@G�J ;�BaJ *

where: a1=f(i) and a2=x OR a1=x and a2=f(i)

a[a1][a2] op= t * d[g(i)];for (i=0; i<m; i++)

Q56)�(GIGIC9<>B,m b>=kE��,=@AHEFGIGHC`b>B �)C9JIckJUc@E�[ m Dh;�[`?5EFG&;hG&JUc@E EF[9EFSTEFBaJUG�bh\ ; D�EFjWJIb>AF6�'�c@E AHC`<>caJ�cY;hB@VGHC`V@E b�\ JUc@E E �5=5AIEFGHGIC9b>B�C9G�; D�EFj JUb>A�EF[9EFSTEFBaJ)S ?@[ JUC`=5[`C`EWV RaK4; jFb>B5GHJ ;hB J *

c[f(i)] op= t * d[g(i)];for (i=0; i<m; i++)

#�p

O56���EWjWJUb�A�V5b�J)=@AIbeV@?@j J 8 �)c@EWAIE JUc@E�J�� bTD�EFj JUb>AHG;�AHE S ;hJIAIC � AHb��)G)b>A)jWb>[`?@STB@G1*

......for (i=0; i<m; i++) {

dotprod = t; for (j=0; j<n; j++) dotprod += a[a1][a2] * b[b1][b2];}

where: a1=j and a2=x OR a1=x and a2=j

b1=j and b2=y OR b1=y and b2=j

MPp56���EWjWJUb�ANV@b�J�=@AHb,V@?5jWJ 8 �)c@EWAIE�JUc@E$J�� b)D>EFj JUb>AHG ;�AIEib>B5E%V5C`STEFB@GHC`b>BY;h[�;�AHAU; KeG�R KJUc@EWSfGHEF[9D�EFG1*

dotprod += c[i] * d[i];for (i=0; i<m; i++)

M>M>6)�(V@V@C`B5< ; S ?@[ JUC9=@[`E�b�\�b>B@EAIb � b>A�jWb>[`?@STB bh\ ;gS ;hJIAIC � JUb ;�B5b�JUc@EWA&AIb � b>A&jWb>[`?5SfBfb�\ ;Sf;hJUAHC � *

where: a1=f(i) and a2=x OR a1=x and a2=f(i)

b1=g(i) and b2=y OR b1=y and b2=g(i)

a[a1][a2] += t * b[b1][b2];for (i=0; i<m; i++)

M o,6(!���;�=@=5C`B@<TEF[9EFSTEFBaJUG�b�\$; D>EFj JUb>A1*

c[g(i)] = tmp;

for (i=0; i<m; i++) {

c[f(i)] = c[g(i)]; tmp = c[f(i)];

}

' ;hR@[`E2#,6 M)GI?@STSf;�AIC�$FEFG$JIc@E�B ?@S R]EFA�b�\ b,jWjF?@AHAIEWB@jFEWG b�\ E ;hj cfb�\]JUc5EFGIE�b>=]EFAI;hJUC9b>B@G$C9B JIc@E�GIE Jb�\,R EWB@j c@Sf;�A �=@AIb><�AU;�STG0?@GHEFV3R K�?@GF6�'�c@E�R EWB@j c@Sf;�A ��=5AIb><>AI;�STGN;�AIE�V@EWGIjWAIC`R]EFV3C`B�GHEFj JUC`b�B �e69M>6'�c@E _YAIG�JjWb>[`?5SfBXb�\�JUc@E J ;�R5[`E <>C9D�EFG)JUc@Eg;�R@GHb>[`?,JUE jFb>?5B J(b�\�JUc@E3B ?@S R]EFA)b�\$C9B@GHJU;�B@jWEFGbh\ JUc5E

b>=]EFAI;hJUC9b>BkAIEWjFb><>B5C%$FEWV4;�jFAHb>GIG);�[9[nR]EFB@j c5S ;�A�� GF8:;�B@VkJIc@E GIEFjWb>B@V4jFb>[9?@STBk<>C9D�EFG&JUc5E�Be?5S R EWA�b�\V@C9GHJUC9B@jWJ=@AIb�<>AU;�STG /^b>?5J�b�\%; JIb�J ;h[ b�\%EFC9<>caJ�R]EFB@j c5S ;�A���=@AHb><>AI;�SfG 1(C`B��)c@C`j c JUc5E b>=]EFAU;lJUC`b�BbejFjF?5AIAIEWV06

'�c@C`G(GIc@b �)G�JUcY;hJ�JUc5E V@C9GHJUAHC`R@?,JUC`b�B4bh\$JUc@Egb>=]EFAU;lJUC`b�B@G)C`BXJUc@Eg[`C`R5AU;�A�KkC`G)B@b�J(jFb�B@jFEWB JIAU;hJIEFVC`BXGHC`B@<>[9E�=@AHb><>AU;hSfGW8@R@?5J�C`G�GH=@AIEF;�V4b D�EFA)JUc@E R]EFB@j c5S ;�A�� GF6

#,M

�(b@6 ��b>?,JUC`B5E '�bhJ ;�[ ��jFjW?@AIAHEFB@jWEFG ��?@S R]EFA�b�\ R EWB@j c@Sf;�A � GMP; ��;lJUAIC �,�GIGHC`<>BY��b>B@GHJ 5 5M R ��;hJUAHC �,�GHGIC`<�B:��;hJIAIC � � 3M j ��;hJUAHC �,�GHGIC`<�B@� �TB@E � #o�; ��;hJIAIC �@�)b �)�GHGIC`<�B:��b>B@G�J O 3ohR ��;hJIAIC �@�)b �)�GHGIC`<�B5��EFj J � oohj ��;hJIAIC �@�)b �)�GHGIC`<�B:��;hJIAIC �5�)b � o o3>; ��EFj JU�GHGIC9<>B:��b>B@G�J 5 53�R ��EFj JU�GHGIC9<>B5��EFj J 5 o3�j ��EFj JU�(GIGIC9<>B:��;lJUAIC �5��b � # 35a; ��;hJIAIC �Y��=:��b�B@GHJ M M5>R ��;hJUAHC �@��=:��;hJIAIC � 5 M#�; ��;hJIAIC �@�)b �(��=:��b>B@G�J 8 o#hR ��;hJIAIC �@�)b �(��=5��EFj J o o8>; ��EFj J ��=:��b>B@G�J 8 o8�R ��EFj J ��=5��EFj J 3 o� ��;hJIAIC �@�)b �(��=:��?@[` �,=@A Q 5Q ��EFj J ��=:��?@[` (�5=5A M o 5O ��;hJUAHC �5�)b�� ��bhJ �iAIbeV@?@j J M o #MPp ��EWjWJ ��b�J �iAIbeV@?@j J # oM>M ��;hJIAIC �5�)b �)'�AI;�B@GH\^b�AIS o oM o !���;�=5��EWjWJU �[9EFSTEFBaJUG Q o

� � 7 D�� 5 �;� *%�(?@S R]EFA�bh\i��jFjW?@AIAHEFB@jWEFG(b�\$-�;�GIC9j ��=]EFAI;hJUC9b>B@G

#>o

� ��� � � �M��&($�� ��)�� � ��$ � �� � � )�� � ���

��?@A�C9Sf=5[`EFSTEFBaJU;hJUC9b>B V@beEFG�B5b�J&AHEFjFb�<>B@C%$WE�;�[9[Yb>=]EFAU;lJUC`b�B@G C9B [9b,b>=5G%JIcY;hJ j ;�B R]EAHEF=@[`;�jFEWV �)C9JIcBY;hJIC9D�E3jWb,V5E�6i�LB4=Y;�AHJIC`jW?@[Z;�AW8,JIc@E�\^b>[`[9b��)C9B@< b>=]EFAI;hJUC9b>B@G);�AHE B@b�J)GI?5=@= b�AHJUEWV4K�EWJ *

, ��=]EFAU;lJUC`b�B@G�C`BaD�b>[9DeC`B5< jFb>B5V@C9JIC`b>BY;h[�E �5=5AIEFGHGIC9b>B@GF6 �5;�ST=@[9EFG�b�\�JIc@EFGHEf;hAIE \^b>?5B@V C`B"JUc5E��*4$ � $)� ;�B5V * +�� �� AHb>?5JIC`B@EWG(b�\�JUc@EgGHJU;�B@VY;�AHV"-&�N��!4[`C9R@AU;hAHK � ��< �+� 6�'�c@Eg\^b>AHS b�\$JIc@EFGHE

b>=]EFAI;hJUC9b>B@G�C9G *

.)���G� ���� � ����� � = ��� � � ������ .G�%������*'�� ������$'� �%� ���1�� � ������ ���� � ��

, ��=]EFAU;lJUC`b�B@G0C`BaD�b>[9DeC`B5<�SfE JUc@beV�j ;�[9[`G0b�A�;�AIR@C JUAI;�AIC9[9K)jFb�Sf=@[9E���E��,=@AIEWGIGHC`b>B@GW6$'�c@EWGIE%C`B@jW[`?@V@EJIc@E ?@GHE b�\�S ;lJUc@EWS ;hJIC`jF;�[ \^?@B@j JUC9b>B@G [9C%�hE $ �� ;�B@V � �#� 8 ;�B@V _Y[9Efb�= EWAU;hJIC`b>B@G [9C%��E �1� $4*

;�B5V � �#���� 6 � D�EFAHK jFb>STSfb�B =Y;hJHJUEFAHB C`Gi;�[9b,b>= JIcY;hJiC9G$?@GHEFV JUb�C`B5C9JUC`;�[`C�$FE%;�AHAU; K EW[`EFSTEFBaJIG�)C JUckDh;�[`?@EWG)AIE ;hVX\^AHb>S ; VY;hJU; _Y[`Eh6

'�c@EFAHE ;�AHE ;f\^E�� [`beb>=@G)C`B4JUc@E3R]EFB@j c@Sf;�A���=@AHb><>AI;�SfG)G�JU?@V@C9EFV /^V@EFGHjFAHC`R]EFV"C9B�GIEWjWJIC`b>B �,69M 1JUc@;hJ�cY; D>E � �1� $ � b>A ������� �������G�J ;hJIEFSTEFBaJUGW6��[`GHb@85JIc@E�?@=@=]EFA�R]b>?@B@VXC9G&B@b�J � B@b �)B�;hJ�jFb�Sf=@C9[`EJUC9SfE�\^b>A�GIb�SfE�[9b,b>=5GF6$'�c@EWGIE [`beb>=@G�j ;�B@B5b�J)R E�B5b>AISf;�[`C�$FEWV08@;�B5Vkb>?@A�b>=5JIC`STC%$F;hJUC9b>BfJIEFj c@B@C9d ?@EC`G�B5b�J(;�=@=@[9C`EFV JIb JUc@EWS�6

#�3

� � ��� � � � �

� ��� � � � � � � � � � � � ��� � � � �

1(EWAIEh8 ��E�V@C9GIjW?@GIGiJUc5E&SfbeV@C _Yj ;hJIC`b>B5G � E�S ;"��E�C`BgJUc@E�AH?@B,m JIC`STE C9BaJUEFAH=@AIE JUEWA$JUb�AHE ;�[9C%$FE%JUc@E�R]EFBemEW_5JUG&b�\NJIc@EG�J ;hJIC`j;�BY;�[ K,GHC`GW6(# E;�[`GHb V@C9GIjW?@GIG �)caKfJUc@C9G �)C`[9[YB@b�J�C`BaJUEWAH\^EFAHE �)C9JIcfJIc@E�GIEWS ;hB JIC`jWGV@E _YB@EFV4\^b>A&JUc5E �>; Dh; [Z;�B@<�?Y;�<>E�� 3�a!5O 8+��;hB@V4JIc@Eg�>; D�; �C`AHJI?Y;�[���;�j c@C`B5E / �h� � 1N� � .�O4��� 6

� ��� � � ����� & $��1� )�� $'� $�� � � )%$ �"� ����� $'�"�

'�c@E"jWb>ST=@C`[9EFATC`B@GHEFAHJIG GH= EWjFCZ;h[STEWJUc5b,V�j ;�[9[`Gf\^b�ATJIc@E"RY;�GHC`j�b>= EWAU;hJIC`b>B5GfJUc@;hJ C J AHEFjFb�<>B@C%$WEFGW6'�c@EWGIE&;hAIE�j ;�[9[`G0JIb(G�J ;hJIC`jiSTEWJUc5b,V@G�b�\@;�GH= EWjFC`;�[e�>; D�;)jF[`;�GIGW8 �)c5C`j c � E%j ;�[9[�JUc@E 0�$� ���� , �����%$'�������! jF[`;�GIGW6 '�c5EgC9Sf=@[9EFSTEFBaJ ;lJUC`b�B R beV5Kkbh\ JUc5EFGIE3STEWJUc5b,V@G)C9G�EWSf=,JLK>6%'�c@EWK4b>B@[ K GHEFAHD�E ;�G�cY;�B5V@[`EWG

JUb C9V@EFBaJUC \ Kk; =Y;�A�JUC9jF?@[`;�A&b>=]EFAI;hJUC9b>B06

'�c@E3SfbeV@C9_@EFVkC`BaJIEFAI=5AIEWJIEFA)S ?@G�J�R E =@AHb DeC9V@EFV �)C9JIcXJ�� b JUc@C9B@<>G *

M>6�JIc@E�=@AIE mLjFb�Sf=@C9[`EWV�[`C`R5AU;�A�Kb�\,BY;hJIC9D�E%jWb,V5E�\^b�A0JUc@Ei\^AIEWd ?@EFBaJU[ K�bejFjF?5AIAIC9B@<)RY;�GHC`j�b>=]EFAU;lJUC`b�B@GF6

o,6�JIc@E 0�$� ���� , �����%$'�������! %jF[`;�GIGW6 '�c@E&GH= EWjFC`;�[ SfE JUc@beV@G C9B@GIEWAHJIEFV =5AIEWDeC9b>?@GI[ K3R K JIc@E�STb,V5C9_YEWV

jWb>Sf=5C`[`EWA�R]EF[9b>B@< JUb JUc5C`G)jF[`;�GIGW6

#H5

�&J(AI?@B,m JUC9SfEh8Yj ;�[9[`G�JUb JUc@EWGIE GH= EWjFC`;�[�SfE JUc@beV@G)AIEWGI?@[ JC9B�;�B�C`BaD>bej ;lJUC`b�B�b�\ JUc@E3jFb>AHAIEWGI=]b>B@V@C9B@<

AIb�?5JUC9B@E�C`BkJUc5E3B@;hJUC D>E�[`C9R@AU;hAHK>6

'�c@ETAI?@B,m JUC9SfE C9B JIEFAH=@AIE JUEFA /^JIc@Ef�>; D�;k��C9AHJI?Y;�[%��;�j c5C`B@E=1�C9G RY;�GIEWV b>B ;XGHJ ;hj � SfbeV@EF[ 6 �=@AHb><>AU;hS C`G�AH?@B4R KXV5EFjFbeV@C9B@<T;�B@V4E��,EFjW?5JUC9B@< ; G�JUAIEF;�S b�\�RaKeJIEFjWb,V@E3C`B5GHJUAH?@jWJIC`b>B5GF6 #+c@EWB�JUc5E_YAHGHJ j ;h[`[ JIb ;"SfE JUc@beV b�\)JUc5EkGI=]EFjFC`;�[ 0 $� ���� , ����� $'�������! kjW[Z;�GHG C`G EFB@jWb>?@BaJUEWAIEFVn8 JUc5EkjF[Z;hGIG C9G

[`b>;�V@EFV ;�B@V C9B@C9JICZ;�[9C%$FEWV06 �(G =Y;�A�J b�\�JIc@C`Gg=@AIbejFEWGIGW8�;�SfE JUc@beV JU;�R@[9E C`G3jFAHE ;hJIEFV06�'�c@C`GgS ;�=5GE ;hj c GHJU;hJUC9jfSTEWJIc@b,V b�\&JIc@EfjW[Z;�GHGgJIb";�B@;hJUC D>ETSfE JUc@beV C9B JIc@E =@AHE m jFb>ST=@C`[9EFV [`C9R@AU;hAHK>8 AU;lJUc@EWA

JUc@;�B ;X�>; D�;kSTEWJIc@b,Vn6�'�c@EFAHE ;h\ JIEFAF8�EF;�j c j ;�[9[�JUb ; SfE JUc@beV b�\�JUc@E 0 $� ���� , ����� $'�������! jF[Z;hGIG�C9G

E��TjWC`EFBaJI[9K JIAU;�B@GH[Z;hJIEFVkJUb JIc@E jFb>AHAIEFGH= b�B@V@C`B5<fBY;lJUC9D�E SfE JUc@beVXj ;�[9[n?@GHC`B@< JUc@C9G&J ;�R5[`E�6- K ?@GIC9B@< STEWJIc@beV�jF;�[`[9Gf;hGTJIc@E�STEFj cY;hB@C`GHS JUb [9EWJ JUc5E�C`BaJIEFAI=5AIEWJIEFA � B@b � JUcY;hJ ; R@;�GIC9j

b>=]EFAI;hJUC9b>B c@;�G R]EFEWB C`V@EWBaJUC9_@EFV08�C9J3R EWjFb>STEFG3E ;hGHK JUb�GH= EWjFC \ K JUc@Ef=Y;�AU;hSfE JUEFAHG3JIcY;hJgS ?@G�J R]E

=Y;�GHGIEWV4JIb JUc@E�jWb>AIAHEFGI=]b>B@V5C`B@< [9C`R@AI;�AHKTj ;h[`[ 6 '�c@C`G&C9G&V@b>B5E�D,C`; JUc@E�B5b>AISf;�[]SfE JUc@beVkC`BaD>bej ;lJUC`b�B

STEFj cY;�B5C`GIS46$'�c@E =Y;hAU;�STEWJIEFAIG \^b>A�; STEWJUc5b,VkjF;�[`[n;�AIE�;h?5JUb>Sf;hJIC`j ;h[`[9K =@?@GIc5EFV4b>BkGHJU;�j � R]EW\^b>AHEJUc5E3RaK JUEWjFbeV@E3C`B@G�JUAI?5jWJUC9b>Bk\^b>A�STEWJUc5b,VXC`BaD�b,jF;hJUC9b>BkC`G�E �5EWjF?5JIEFV06'�c@b>?@<�ckC9J�;h=@= EF;�AIG GIC9SfC9[Z;�AiJUbgJUc@E��>;PDh; �(;hJUC D>E�LBaJIEFAH\ ;hjFE0/ �>��� 1%STEWJIc@b,V C`BaD>bej ;hJIC`b>Bn8,b>?5A

JUEWj c@B@C9de?5E"C`GTGIC9<>B@C9_@j ;�BaJU[ K V@C � EFAHEFBaJ 6 # E�?@GHE"C`BaJUEWAIBY;h[ � B@b �)[9EFV@<>E�b�\�JUc5E �>; Dh; GHJU;�j � ;hB@VC`BaJIEFAI=5AIEWJIEFAgC`ST=@[`EWSfEWB JU;hJUC9b>B �)c@C9j c <>C D>EFGg?@G <�AIE ;lJUEFA3E��TjWC`EFB5jWK>64'�c@C9GgC9GgC9[`[`?5GHJUAI;hJUEWV R K JUc5EVY;hJU; =@AIEWGIEFBaJIEFV"C9B4GHEFj JUC`b�B �,6 o,64356 o,6

� ��� � & � ����1$ � ��� $�� � � ��& )�� � ����! & $�� ��)

��?@ATSfbeV@C9_@j ;hJIC`b>B JUb JUc@E�C`BaJUEWAI=@AHEWJIEFATC`ST=@[`EWSfEWB JU;hJUC9b>B V@beEFGTB@b�J DeC9b>[Z;hJIE JUc@E�V@EW_@B@C9JIC`b>B b�\

JUc5E �>; Dh;T�C`AHJI?Y;�[ ��;hj c@C`B@Eh6�'�c@E B@;hJUC D>E3SfE JUc@beV�C9Sf=5[`EFSTEFBaJIG&JUc@E3E��5;�j J�GU;hSfE \^?@B@j JUC`b�BY;�[`C JLKjFb�B JU;�C`B5EFV C`B"JIc@E b>AIC9<>C`BY;h[�GHb>?@AIjWE jFbeV@E�6 # E ;�[9GIbX;�jWjFb>?@BaJ \^b>A ;�[9[�JIc@E E��,jFEW=5JUC9b>B@G�JUc@;hJ S ; KR]E JIc@AIb �)B06�'�c@C9G)C`G�V@b>B5Eg;hG)\^b�[`[`b �)G1*� \�?@GHEFA�mLV@E _YB@EFV E��,jFEW=5JUC9b>B@GTE��,C`G�J 8�JUc@E4BY;hJIC9D>EkjWb,V5E�jF;�B@B@b�JTj c@EWj � JUb GIEWE �)c@E JUc@EWATJIc@EWK

Sf;PK4b>A(S ; K4B@b�J(R]E JUc@AHb �)B V@?@AIC9B@< E �,EFjF?,JUC`b�B06��LB�JIc@C`G(j ;�GHE�8nJIc@E jWb>Sf=5C`[`EWA)V@b,EWG�B@b�JC`B@GHEFA�J

# #

JUc5ETGH= EWjFC`;�[$STEWJUc5b,V j ;h[`[ 80;�B@V JUc@E b>AHC`<>C9BY;�[ jFbeV@E AIEWS ;hC`B@G�JIc@E GU;�STE�6 � \%JUc5EFAIET;�AHE AI?@Bem JUC9SfE

E��,jWEF=5JIC`b>B@G!/^[`C%�hE "��#�%$'&)(#��*+�%��,-���%,/.102���+��*� ��3����������������;�B@V �2�+��� ������ ���1����������������� 1 85JUc@E KX;�AHE;�[9[ij c@EFj �hEFV JUb�GIEFEfC9\ JUc@E K STC`<�c J R]E JUc@AHb��)B V@?@AIC9B@<4E��,EFjW?5JUC9b>B06X'�c@C`G3j c@EWj �eC9B@<"C9GgV@b�B@E ;lJJUc5E"R EW<>C`B5B@C`B@< b�\�JUc@E�BY;hJUC D>E"STEWJIc@beV R E \^b>AIE";�BaK =@AHb><>AU;hS G�J ;hJIE"C`G SfbeV@C9_@EFV06 '�c5C`G jF;�B

R]E V@b>B5E E��TjFC9EFBaJU[ K";hG(JUc5E BY;hJIC9D>E SfE JUc@beV@G�;hAIE C9BaJUEF<�AU;hJIEFV �)C JUc�JIc@E �>; Dh;f��C9AHJU?@;�[���;�j c@C9B@EC`ST=@[9EFSTEFBaJ ;hJIC`b>B ;�B@Vf;�AIE�; �&;hAIE�b�\nJIc@E)C`BaJUEWAIBY;�[YV@;hJ ; [Z; K>b�?5JUGW6$'�c@EWKTjF;�B ;hjFjFEWGIG C`B5\^b>AHS ;lJUC`b�B08GI?5j c ;�G [`EWB@<�JIc bh\&b>R��HEWjWJIG ;�[9[`bej ;hJIEFV"RaK JIc@E SfEWSfb>A�K"Sf;�BY;�<�EFAF8NC9B JUc@E GU;hSfE ��;PK JIcY;hJ JUc5EC`BaJIEFAI=5AIEWJIEFA V5b,EWGF6"� \�JIc@E STEWJUc5b,V V5EWJUEWAISTC`B@EWGgJIcY;hJ ;hB E��,jFEW=5JUC9b>B Sf;PK R]E JUc5AIb �)B08$JUc5EFB C9JV@beEFG B@b�J =]EFAH\^b�AIS ;�BaK jFb�Sf=@?,J ;hJIC`b>B08 R@?,J�V5C`AIEWjWJI[9K�JIc@AIb �)G�JIc@E�E��,jFEW=5JUC9b>B06$'�c5E BY;lJUC9D�E STEWJIc@beVJUEWAISTC`BY;lJUEFG�;�R@AH?@=5JU[ KT;�B@VkjWb>BaJUAIb�[ C9G JUAI;�B@G�\^EFAIAHEFV JIb JUc@Ej ;hJIj c,mLR@[9b,j � \^b>A%JUc@E(E��,jFEW=5JUC9b>B06�'�c@C9Gj ;lJUj c,m R@[`bej � C`G JUc@E"b�B@E�JIcY;hJfC`G C9BaJUAIbeV@?@jWEFV GH= EWjFC`;�[`[ K RaK b>?5A jFb�Sf=@C9[`EWAF6 '�c@E"jF;hJUj cemLR@[9b,j �jFb�B JU;�C`B5G%JIc@Eb>AHC`<>C9BY;�[,jFbeV@E(JIcY;hJ jFb>AHAIEFGH= b�B@V@G JIbgJIc@E(B@;hJUC D>E�SfE JUc@beV jF;�[`[ 6 '�c@C9G b>AHC`<>C9BY;�[@jWb,V5E

C`G�E �,EFjF?,JUEFVn8 ;hB@V4JIc@E E��,jFEW=5JUC9b>B4C`G�JIc@AIb �)B�;�<a;�C9BX;hJ�JUc@E =]b>C`BaJ�C9BkJUc@E jFb�Sf=@?,J ;hJIC`b>B �)c5EFAIE3C9JC`G);hjWJU?@;�[`[ K AI;�C`GHEFV06�'�c ?@GF8:=@AHEFjWC`GIE E �5jWEF=5JIC`b>B4GIEWS ;hB JIC`jWG(;hAIE S ;hC`BaJ ;�C9B@EFVn6'�c@E�RaK JUEWjFbeV@E�C`B5GHJUAH?@jWJIC`b>B5G <>EWB@EFAI;hJUEWVkRaKTJIc@E�jWb>Sf=5C`[`EWA�;�AIE(= b�AHJ ;hR@[`E�;�jWAIb>GHG�;�[`[YjWb>B5\^b>AHS m

C`B5<fDeC`A�JU?Y;�[ Sf;�j c@C`B5E C`ST=@[9EFSTEFBaJ ;hJIC`b>B5GF6)'�c@E jF;�[`[�JUb JIc@E GH= EWjFC`;�[ STEWJIc@b,V�C`G(C`B@GHEFAHJIEFV �)C JUc@C9B;kJUAHK"R@[`bej �:6T� \ b>?@A STb,V5C9_YEWV C9BaJUEFAH=@AIE JUEWA3C9G�B@b�J3?@GHEFV08�JUc@E 0�$� ���� , �����%$'�������! jF[`;�GIG �)C`[9[ B@bhJE��,C9GHJ 6X�LB JIc@C`G3j ;hGIE�8 ; � � �3� $� � � �8.�� ���+��*�� �#����� �)C`[9[iR ETJUc@AHb��)B R K JIc@E jW[Z;�GHGg[9ba;�V@EWAF6k'�c@C9G�)C`[9[NR Egj ;�?5<>caJ 8 ;�B@V �)C9[`[Nj ;h?@GIE3JUc@Egj ;hJIj c"R@[`bej � JUbfE��,EFjW?5JUEh6'�c@E j ;hJIj c"R@[`bej �kjFb�B JU;�C`B5G(JUc5EGIEWd ?@EFB@jWE b�\�jFbeV@EgJIcY;hJjFb>AHAIEFGH= b�B@V@G�JUbfJUc@E STEWJIc@beV�j ;h[`[ 8]GIb E��,EFjW?5JUC9b>B b�\iJUc5E =@AHb><>AU;hS �)C9[`[R]E�E �5;�jWJI[9K JUc5E(GI;�SfE�;�GiJIc@E(b�AIC`<�C`BY;�[@�>; D�; GIb�?@AIjWE(=@AHb><>AI;�S�6�'�c@E�E��,jFEW=5JUC9b>BfJIcY;hJ �&;hG%JIc@AIb �)BC`G�B5b�J�DeC`GIC9R@[`E�JIb JUc@E ?@GHEFAF6�'�c ?@GW8]JIc@E =@AIb><�AU;�S �)C`[`[ E��,EFjW?5JUEgjFb>AHAIEWjWJU[ K C9AIAIEWGI=]EFj JUC9D�E b�\ �)c5C`j cC`BaJIEFAI=5AIEWJIEFA)C`G�?5GIEFVn6

��?@A(C9Sf=5[`EFSTEFBaJU;hJUC9b>B �)C`[9[NB@b�J�j ;�?5GIE ;TBY;�STE jFb>B �@C`jWJ(C9\ ?@GIEWAIG;hJIJIEFST=5J)JUb V5EW_YB@E ;fjW[Z;�GHGb�\�JIc@EFC9A b �)B BY;�STEFV 0 $� ���� , ����� $'�������! 6�'�c5C`G C9G R]EFjF;�?@GIEX;�jF[Z;hGIG C9B �>; D�;�j ;�B R]E d ?Y;�[9C9_YEWV

RaK C9JIG3[9b,jF;hJUC9b>B C`B JUc5ETV5C`AIEWjWJIb>AHK G�JUAI?5jWJU?5AIETb�\�JIc@ET_@[`E GHKeGHJIEFS46 # ETSf;��hEfGH?@AIE JUc@ETjF[`;�GIG C9G=@[`;�jFEWV C`B ;"V@C9AIEWjWJUb�AHK GI=]EFjFC _Yj JUb �)c5EFAIE JIc@E DeC`A�JU?Y;h[�Sf;�j c@C`B5E C`GgC`B@G�J ;�[9[`EFV b>B JUc5EkGHKeGHJIEFS46#+c@EWB@EWD�EFAfJIc@E4jFb>ST=@C`[9EFA C9B@GIEWAHJIGf; GI=]EFjWCZ;�[�G�J ;hJIC`jkSTEWJIc@b,V jF;�[`[ 8%C J ?@GIEWGfJIc@Ek\^?@[`[ K d ?Y;�[9C9_YEWV

#�8

jF[`;�GIG BY;�STE�6 '�c@C9G EFB@GH?@AIEWG JUcY;hJ b>?@A B@E��)[9K C`BaJUAHb,V5?@jFEWV jF[Z;hGIG V@beEFG B5b�J C`BaJIEFAH\^EWAIE �)C JUc ;hB K?@GHEFA3jF[Z;hGIGIEWGF6f1(b � EWD>EWAF8 JIc@Ef�&�N��!@!5�]�i')1 Dh;�AHCZ;�R5[`E GHEWJgR K JIc@E ?@GIEWAgS ?@GHJ3B@b�J C9B@jF[9?@V@E JUc5EV@C9AIEFj JUb>A�K �)c@EFAHE b>?@A 0�$� ���� , �����%$'� �����! TjW[Z;�GHG C9Gg=@[`;�jFEWV06�!,C`B@jWETJIc@C`G3V@C9AIEFj JUb>A�K C`G3GI=]EFjFC _YjfJIbJUc5EfDeC`A�JU?Y;�[iSf;�j c@C9B@ETC`B@G�J ;�[9[Z;hJIC`b>B08n?@GIEWAIG GHc@b>?@[9V B@b�JgR]E ; ��;�AIEfb�\�C9JF8 ;hB@V C J GHc@b>?@[9V B@b�JgR]EC`B5jF[`?5V@EFVXC`BkJIc@Eg�&����!@!5�]�i')12GHEWJIJIC`B@<56

#��

� � ��� � � � �

� � � � � � � ��� ��� � � � � � � � � � � �

�LB JUc@C9G j c@;�=5JUEWAF8 ��E%V@EFGHjFAHC`R]E�JIc@E%R EWB@j c@Sf;�A ��=5AIb><>AI;�STGN?@GIEWVg\^b>ANJUEWGHJIC`B@<)b>?@A�C9Sf=@[9EFSTEFBaJ ;lJUC`b�B08;�B@VXJUc5E3=]EFA�\^b>AISf;�B@jWE�AIEWGI?@[ JUG)b>R5JU;�C`B@EWV06

� ��� � � � � �")� ��! & � � ����� ����& ! �

# E ?@GIEWV ;h[`[)JUc@E"_@D�E =@AIb�<>AU;�STG C9B JUc@E �>;�S ; R EWB@j c@Sf;�A ���7� �(� �D* ��c@b�[`EFG��aK V@EWjFb>ST= b�GIC mJUC9b>B085� � \ ;�j JUb>AHC%$F;hJUC9b>B08 � � V@EFjWb>Sf=]b>GHC9JUC9b>B08,GIC`B5<>?@[Z;hA�Dh;�[`?@EV@EFjWb>Sf=]b>GHC9JUC9b>B085;�B@VXEFC9<>EFBaDh;�[`?5EV@EWjFb>ST= b�GIC9JIC`b>Bn6 �LB ;�V5V@C9JIC`b>B08 ��EXcY; D>EkJIc@AIEWEkb�JUc@EWA R EWB@j c@Sf;�A � =@AIb><�AU;�STG *TS ;lJUAIC � S ?@[9JIC m=@[9C`j ;lJUC`b�B08Y; GH?@jFjWEFGIGHC9D�E b D�EFA�mLAIEW[Z; �5;hJIC`b>B4AIb�?5JUC9B@E � 8 ;�B@V�S ?@[9JIC`V@C9SfEWB@GIC9b>BY;�[ SfC9B@C`STC%$F;hJUC9b>B bh\�;\^?@B@j JUC9b>BX?@GIC9B@< JUc@E V@b �)B@c@C9[`[0GHC`ST=@[`E �kSTEWJIc@b,V / ;�SfbeEFR@;'1 - 6' ;hR@[`E �,6 M [`C`G�JUG�JIc@EFGHEg=5AIb><>AI;�STG);�B@VXJUc@E B ?@S R]EFA)b�\�[`C9B@EFG&bh\ GHb>?@AIjWEgjWb,V5E \^b�A�E ;�j c06

'�c@E"=@AHb><>AI;�SfG ;�AIE�SfbeV@C _YEFV JUb C9B@[`C9B@EXSfE JUc@beV jF;�[`[9GTJIcY;hJ Sf; K j cY;�B@<>E";�BaK�AHEW\^EWAIEFB5jFE

Dh;�[`?5EFG�AIEF;�j cY;�R5[`E�\^AIb�S JUc5E�=Y;�AU;hSfE JUEFAHG�=Y;�GHGIEFV4JUb JUc5E�SfE JUc@beV06i'�c@C9G�C`G�B@EWEFV@EWV�R]EFjF;�?@GIE JUc5E

AIE \^EFAHEFB@jWE ;�B@;�[9KeGIC9G);�[`<�b>AIC JUc@S V@beEFG)B@b�J�cY;hB@V@[`E�C9BaJUEFA�mL=@AHb,jWEFV@?5AU;�[�;�B@;�[9KeGIC9GF6

- F <DE1? : � >�.103240�� < 0BK�=�> � >@K�O���? 0B<DC 7DI 5�:D>1W�T0B= 0 ��:D> = F <DE1? :�� > ��� � � � �� 7DEBI < O/> 5PK � � ���� ���S � �17�� +������ +�� � W

#�Q

�iAIb><�AU;�S ��EFGHjFAIC9=5JUC9b>B �NC`B@EWG)b�\ jWb,V5ES ;lJUS ?@[ Sf;hJUAHC � S ?@[9JIC`=@[9C`jF;hJUC9b>B 8'#GIb>A GH?@jFjWEFGIGHC9D�E bPD>EFA�mLAHEF[Z;��@;lJUC`b�BkAIb>?5JIC`B@E 8ao

;�STb,EWRY; V@b �)B@c5C`[`[nGIC`ST=@[9E��kSTC`B5C`STC%$ ;lJUC`b�BTbh\i; \^?@B@j JUC`b�B oH5=�j c@b>[`EWG �aK j c@b>[9EFG �aKXV@EWjFb>ST=]b>GIC JUC`b�Bkb�\$; Sf;hJUAHC � #�Q[9?5\ ;�jWJ ��� \ ;�jWJIb>AIC�$ ;hJIC`b>B bh\$; Sf;hJUAHC � M ��Qd AHV � � V@EWjFb>ST= b�GIC9JIC`b>Bkbh\$; Sf;hJUAHC � o,MPQG�DeV GIC9B@<>?@[`;�A�Dh;�[9?@E�V@EFjWb>ST= b>GHC9JIC`b>B bh\$; S ;lJUAIC � #�35MEWDeV EFC`<�EFBaDh;�[`?@E�V5EFjFb�Sf=]b>GIC JUC9b>Bkb�\ ; Sf;hJIAIC � O�5aQ

� �!7 D�� @ �;� * - EFB@j c@Sf;�A��k�iAIb><>AI;�STG)�(GIEWV

��?@A�R]EFB@j c@Sf;�A���=@AHb><>AU;hSfG(;�AIE AIEF=5AIEFGHEFBaJ ;lJUC9D�E b�\%; GI?@R5GIEWJ bh\ B ?@STEFAHC`jF;�[�jWb>ST=@?5J ;lJUC`b�B@GF6 $D>EWB JIc@b>?@<�c ��Ek?@GHEk;�GHS ;�[9[ B ?@S R EWA b�\)jFbeV@EWGF8$JUc5E AIEWGI?@[ JUG ;�AHE Dh;�[`C9V \^b>A3JUc@E =@?@AI=]b>GHE b�\EWDh;�[9?Y;hJIC`B@< b�?@A�;�=@=5AIba;�j cn6%'�c5C`G&C9G�R EWj ;�?@GHE�b>?@A�[9C`R@AI;�AHKTb�\ jFb�SfSTb>B@[ Kf?5GIEFVXRY;hGIC`j�b�= EWAU;hJIC`b>B@G

C`G�GHS ;h[`[ JIb,b58Y;�B@V4j ;�B4R]E�E��,=Y;�B@V5EFV�\^b>A); �)C9V@EFA)AU;hB@<>E�b�\ ;�=@=@[9C`jF;hJUC9b>B@GF6

� ��� � � �����1$ �

# E�=@AIEWGIEWB J�JIc@E�E � EFj JUC D>EFB5EFGIG)b�\NJIc@E�E �5jWEF=5JIC`b>BXj c@EWj � C`B@<T;�BY;h[9KeGIC9G&;�B@V JIc@E�[9b,b>=fV@C`G�JUAHC`R@?5JIC`b>BJUAI;�B@G�\^b>AISf;hJUC9b>B06 # E);�[`GHb�jFb>ST=Y;�AHE�JUc@E�AH?@B,m JUC`STE�=]EFA�\^b>AISf;�B@jWE&b�\ b>?@A JIEFj c@B5C`d ?@E�D>EWAIGI?5G =@[`;�C`BC`BaJIEFAI=5AIEWJU;hJUC9b>B08 ���L' jWb>Sf=5C`[Z;lJUC`b�B08i;�B@V�;�B�;�=@=@AHba;�j c JUcY;lJf?5GIEFG JUc5E��>; Dh;�������� �������������������

/�� ��� 1��

� ��� ��� �H� 'Q!(�' ��3� ������� ���S" $ � ��� ���6" ��

���� "!#� �$�&%('��� ��)*��+"�,)-�.����#)-���#��)/�10 �����$�2��34����0 �5�.+"�2� �6�#�4'"�8790 �*�2���.+5 :���"�.+";<���=?>@�A�B)+"0DCE)B��+4�

�1����������0 �(0��@���F"G"�"F9���6�E�IH$�2�23$���#0��")JF"�����2������FK 6LM��+4�B�����G9��!N�6G";8 N�2�O0��P��2F4G"�"F9�����Q�IH$�2�23$���#0��")

�#�K�+"�R3"�0 '�����;S�T�U��F"0V�2)Q��+"��)J�10 �Q N0���+ "��#�%$'&)(#��*+�%��,-���%,/.102���+��*� ��3���������������W���"F ���+��� ������ �

���1����������� �����9�X�Q+"�,!Y��)��B��0 !#G";M�Z!#��)��)/��+4�,�VG4;8 :���B0��[!#0V0 3")��10�G"�"FZ��0K N�,��H$�2��34����0 �$\��1��2�]���"F

#�^

��+4� ������G9��! �6G"; :���/0��T��H$�2��34����0 �$\U�1���2�X!#0V0 3")E�#����+4� 3"��0 ' ���; � � �.� ���2;M�2���)�� ��� N� ���20 ��F"�2���2F

CE���+"�#�K�IH$�2�23$���#0��$\U�1���2�X!#0V0 3")2�

� �0 '�����; �/���� LV���"F"�IH��BG$�������O0 G"�4F") �/G"!�!� 0 �#������� H$�2��34����0 �$\��1��2�R!�0$0 34)���� 0��.��! !#0V0 3")

/����F"G"�"F"������� �0��.��! 1 /����2F"G"�4F9������� �0��.��!F1;(� ��;8G"! ����� �4�48 ^ #����

)0 � ����� �4�7#�^ #����

��;M0$�� 9� �4���'# �4����% 3�� % #�.+"0 !#��)=�L ����� �4�7#�3 5����

!�G4������� �4�65 5 �4�48�� 8��� �#� ��F �4����� �4����� 3�� %�

)-VF �4� % % �4���� ^��H5�#��VF �4� %�� �4�48 3 �������

� � 7�D;� @ � $ *��E�2F"G4�"F9������TH$���234��#0 �")/���"F� H$�2��34����0 �$\U�1���2���@0$0 34)

� 0 ;M�E��H$�2��34����0 �") ����E�"0��[F"������������FK��)[���F"G"�"F9���6�2� �Q+"�#) ��)[ N�2�2��G")��/)-L$; :0 !��#�Q�IH434��2)�)��0 �")

�����J�"0�� ��0 ;M39�����F,�10 �T������� L8 N0 G"�4F") �#�80��F"���T��0B=����23]��+"�Q��;<34!#�2;M�2����������0 � )��#;M3"!#������0DCO�� �2��>

��+4�#)*F"0V�2)B�40��X� �:�2������+"�]���"��!�LV)��)��10 �*0�G"�B :���"�.+";<���=6)�> N�2�2��G")��M�IH$�2�23$���#0��")BF"0��"0��B���"+"�� "����20VF"�R;M0�����0 �K����L6CE+"�2��� �����+"�R)���/0�� 3"��0 ' ���;<)QG4)�2F �

� ��� ��� �� � � " �<� �4" �(!��#" �

���� "!#� �$�43E)+"0DCE)��+"�[�VG4;8 :����0��"�"��C !#0V0 3")@��+"��������[�#������0$F4G"�2��F ���X�+"�[������4)��10 ��;<��F 3"��0 ' ���;<)

��� ��2�*!�0$0 3 F"�#)-����� "G4��#0 � �B�Q+4�,!Y��)-�*�20�!#G";M�Z)+"0DCE)R+"0DC ;(����L 0�� ��+"��)�,�"��C !�0$0 34)�����20 '��"� ���

9��)��#�Z0 3N�2�������0 �")��"! ��)��2�Z��+"���S���2��0 ))S��!�!/�+"�5 :���"�.+";<���=6)2>*� �0��.��!*0��!3 3 �0 G$���#�4�2)������

����20 '��"� ���2FZF"G"�8�0 ��+"��)/������")-�10 �;<����#0 � ���Q+VG4)2>@!#0V0 3WF4�#)����� "G4����0 � +"��)B� )��' �"�$#9� �������#;M39�����

0 �K��+4�X� � ������� ���"�2)�)*0���0 G"�J��2�.+"�"� � G"���

8��

� �0�' ����; ��G";8 N�2�Q0�� �"��C !#0V0 3") THV����]�0 G4��#�"��)Q����20 ' �4� �2��F

;<����;8G4! 3 %

)0 �

��;M0$�� 9� % �

�.+"0 !#��)=�L � �

!�G4�������

� ��F 3 3)�VF 3 3��VF 3 3

� � 7�D;� @ � 9 * �� ������0����@0$0 3��*��)������# "G$���#0��

� ��� ��� � � � � � ������

��!�!$;M� ��)G"���2;M�2����) C �2���EF"0 �"�J0��,� ��� � � !����� � 39����� #��G"�4�"�#�"'�G"�"F"��� � G"� � � #$���$���*� �:�2������)� �2��)RC �2���]G")��F ���W��+"�]��H$3N�2���#;M�2����)*�10 �*�+"�,F"��;<���")��0 �")*0��[��+4�,;(�������2�2)�0 �* ������0��)R�#�Z��+4�

3"��0 ' ����;<)���TH$���2G4��#0 ������;<��)JCO����R0 4�����#�"��FS�10��Q� ���.+S0�� ��+"��)�X3"�0 4!#�2; )� �2�2)��

@ � $ � 9 �;� �!�)A ���H�;*�� � < �F��� % D;� � ����� �=� ��������=������ � � � ��� � � ���)A ��;D;�� �;� �

! � ;<�2��)G4��(�+"�(�IH4���2G4��#0 � ��#;M�M�10�� � ���.+ 0��Q��+"�< :���"�.+";<���=�3"�0�' ����;M) �10�� ��+4�(�10 !#!�0DCE�#�"'

��+4��2�R)-L$)-����;<)1*

,�� 0 ;M3"��!#�#�4' CE���+ � G"� )�; $ ��$+��>"���"FSG")���"',��+"�R�"0 ��;(��! �G"�V\U����;<���#�������3"���������2�

,�� 0 ;M3"��!#�#�4' CE���+ � G"� )�; $ ��$+��>"���"FSG")���"',��+"� ����� ��0 ;M3"�#!��2�Q���E��G"�$\����#;M���

,�� 0 ;M3"��!#�#�4'8���"FS��H$���2G4��#�"']CE���+ 0 G4�Q;<0VF"� #"�2FK�20�;<3"��!#���Q���"FS�#�������3"������2�2�

8

�Q+"� ���2)G4!���) �����()+40 CE� �����+"�('�����3"+4) �#� 7 ��' G"�� �$�$ � ���.+ ' ���3"+ )�+"0DCE) ��+4�<F9� �.�S�10��

�<)��#�"'�!#�X :���"�.+";<���=?���Q+"�2���,����R��+4��2� �2G"�- �2)��#� �2���.+Z' ���3"+��N� ���.+ �2G"�- �,���3"���)���6�)B0 �"�X0��

��+4�R�+"����R)�LV)���2;M)�!��#)-���2FS�� N0D ���[�Q+4�X�IH$�2�2G$���#0��S��#;M�2)E�����B3"!#0�������F��10��JF"� �:�2���2����)� �2�2)E0�� ��+4�3"��0 "!#��; �

! � 0 ")��2����O��+"���P��+"� 3"!Y�����R�#�������3"��������F ���)��#0 �8�IH$�2�2G$���2) ;8G"�.+8)�!#0DCO��� �+9��� �+"�[0���+"��� ��C 0

)�LV)-���2;M)B�10 �B��!�! �2��)��)2�,790 ����C 0� :���"�.+";<���=6)�> �"��;<��!�L � $'� � �+� ���"F � ����� �� ��&�> 0 G"�*;M0$F4� #9��F

�#����2�34�����2F ��2��)�#0��Z3:�����10 ��;<)� :�����2�/�+9���S��+"�8����� ��2��)�#0�� ��790 ��0 �"� :���"�.+";<���=?> ����>N������)

;8G"�.+5)�!#0DCO������+"���W��+"�M����� ���)��#0 � �X790 ����!#!P��+"�,���2;<���#�4�#�"'< :���"�.+";<���=6)2> �+"�83N�2�-�10 �;<���"���

0���0 G"�J��2�)��#0 �S0��P��+4�X�������2��3"�����������)O ����L���!#0 )��*��0,��+"� ����� �2��)��0 � �[790 �O��+4�X34�0 "!��2; )� ���B0��

�����4>4��+4� ����� ���)��0 �S��H$�2��G4����F �$ �8���#;M�2) ����)���2�Q��+9��� 0 G4�J �2��)��0 � 0�� � ������'����

�*G"����2�.+"�4� � G"�8��)�!��#;M����2FK �L���;MF9��+"! ) �P� C )���"�2� ����F"0V�2)��"0�����3"3"!ALK��0]��+"� �2��������X3"�0�\

' ���; � �Q+"�J�2��)��) CE+"����Q0 G"��;<0VF"�$#9�2F �#�������3"��������� 3N�2�-�10 �;M)��+"�J N�2)�� 0��N��!�!6�+"�O�+"����O)�LV)-���2;M)

�����8��+"0 )��,CE+"�2���<��!#;M0 )��*�+"�,�2����#��,��0$F4�M��0 ;M3"���)�2)B0��O�K)�� � G"�2�4�2�(0��O 9��)�#�,��0 ;M3"G4�.� ���#0��9��!

0 3N�2�������0 �")2� �Q+"�2)�� �2��)��)<)�+"0DC ��+9� �]�� ��� CE+"��� G4)�#�4' ��� ���6��2��3"������2��>[�+"�2�����#),)��0 3N���10��

�#;M3"��0 ��2;M�2���E0D �����+"� ����� �20�;<3"��!#���2�

@ � $ � 9 � $ ���)A �� � �;*�� � < ����� � � �

�Q+"� � � ��M�/�����A �B����������������� / � �/� 1O��)E�];M�2�.+"���"�#)�; �+9���Q��+4� � � ��,!Y���4' G9��' ��F"� #9�4�2)E��0M��!#!�0DC

3"��0 ' ����;<;M�2��) ��0R�#����2������� CE���+M�"�����A �Q;M����+40$F")T�1��0 ; � � ��B�20VF"��� 790 �T�+"�/� �/� ��3"3"��0����.+ >���+4�

�9�������M;M���+"0VF��2��!#!�)*��+9� � 0�G"�R�20 ;M3"�#!��2�/�#�")��2���)X�10��*��+"�M 9��)��#�,0 3N�2�������0 �")B���R���2��0 ' �"� �2�2) �����

�#���0 =���F G")��#�"',��+4� � ���O;M�2�.+9���"�#)�; �

� �� "!#� �$�65Z)+40 CE)]��+4�K������#0W0�����+4�K��H$�2��G4����0 � ���#;M� G")��#�"'�� ���8���4F �+"�K��H$���2G4��#0 � ����;<�

G")��#�"'�0 G"�B;M0VF"� #9��FZ�#�������3"������2�2�,�Q+4�<!#��)��B��0 !#G4;<�Z' �A ��)R�+"�M� �2���' �]0��[��+"�]���2)G4!���)*�10��R��!#!

3"��0 "!#��; )�� �2��)2�

8�%

0

200

400

600

800

1000

1200

1400

200 300 400 500 600 700 800 900 1000

Tim

e in

ms

Size

Matrix Multiplication

JITinterpreter

modified interpreter

0

50

100

150

200

250

300

350

200 300 400 500 600 700 800 900 1000

Tim

e in

ms

Size

Successive Over Relaxation

JITinterpreter

modified interpreter

0

50

100

150

200

250

300

350

200 300 400 500 600 700 800 900 1000

Tim

e in

ms

Size

Amoeba

JITinterpreter

modified interpreter

0

20

40

60

80

100

120

140

160

180

200 300 400 500 600 700 800 900 1000

Tim

e in

ms

Size

Cholesky Decomposition

JITinterpreter

modified interpreter

0

100

200

300

400

500

600

200 300 400 500 600 700 800 900 1000

Tim

e in

ms

Size

LU Factorization

JITinterpreter

modified interpreter

0

500

1000

1500

2000

2500

3000

3500

200 300 400 500 600 700 800 900 1000

Tim

e in

ms

Size

QR Decomposition

JITinterpreter

modified interpreter

0

1000

2000

3000

4000

5000

6000

7000

200 300 400 500 600 700 800 900 1000

Tim

e in

ms

Size

Singular Value Decomposition

JITinterpreter

modified interpreter

0

500

1000

1500

2000

2500

3000

3500

4000

4500

200 300 400 500 600 700 800 900 1000

Tim

e in

ms

Size

Eigenvalue Decomposition

JITinterpreter

modified interpreter

� �;?)�(� � @ � � *� H$�2��G4����0 � �Q��;<��)J�10 �J��+"� �O���"�.+";<���=6)

8 3

� ��0 ' ����; � �0 4!#�2; � � ���

%���� 5���� 8���� ����� ����� � ������' �

;<����; G"! �5"� � =5"�$ %V� ^ ^4�48 �4��� %$�43)0 � 34� � %$��� %V��� %$��� %$�48 %$���

��;M0V�2 9� %$�&% %$�7# %V�78 %$�48 %$�48 %$�7#�.+"0 !��2)�=6L %$�G# %$��� %V� ^ 34�$ %$� ^ %$���

!�G4������� %$�73 %$�65 %V� � � ^ %$�48 %$�65� �F =34�73 34� ^ 3$�45 � �$ �4�48 %$�7#)�VF D%$�78 34��� %V�45 � ��� � �43 %$�65��$F �$� � �4�$ �V��� 84��� 84��� �$� %

� � 7�D;� @ � > * � 0 ;M39�����#)0���CE�A��+ � �/� �������10 ��;(���4�2�

! �Z)��2�Z��+"���K0 G"�()�LV)���2; ��!ACJ� LV)K3N�2���10��;M) :�����2�(�+9��� � �/�<���"F ��� ;(���6L � ��)��2)K��+4�

F"� � ����2�4�2�R�#)Q)��#' �"�$#9� ���6�!�L(!Y����' ���

8�5

� � ��� ����

� � � ����� ������� �

��� 0�G��QCO0���= C�� �"!#�%$��&�'!)(+*,�.-&/ #0- (+�1�32#45!#*�*�67/8-.!9�:/72���(2><;</ �#=0�+>�2�(+�?�:>�!9�'!#�+�?/8�@�:>A� F�2�;B!#/7�C2#4�6G";D�.�+/7-E!#6�-.2 ;D*"GA�+/8��$A= !F�G/�;H*��%2I;��J�+>��K�GA�$\L�+/#;D�J*,�.�%4M2#�;H!#��-.�J2#4�N�!I;9!O*��%2�$��+!�;H(�CP�+/Q�+�:�&�4M2��B�+>��.(%�R!#*�*�67/8-E!S�:/82#��(.=UTV>�/7(C/8( F�2#���XW6LY!#�0!#6AL �./8�A$Z�:>��[*��%2�$��+!#\H(H�:2 #0�"F]!#6763/7��(%�:!#��-.�&(2#4^!_*��%�2F��1�:�&�+\D/8����F`(+�&�K2#4P-.2�\D\D2���6�LX2<-.-�G��+�%/8��$aW0!#(+/7-O2�*,�.�+!9�:/72���(.=aTV>��.(%�C2�*b�&�:!9�+/82��A(K!#�%���Hc*��%�.(%(+�2F@/7�D�+>��^4M2#�+\d2#4e682<2�*�(f2��g*0!#�%�+(h294i! 672c2#*D�+>0!9�h!#�+�^(+�&*0!#�+!#W�68�9=�TV>��jN�!E;9!?/8�k�:�&�+*��%�&�:�&�/8(?\D2$FA/ #0��FX�+2@/8��-&2��+*,2��:!S�:�D!l67/8W��+!#��Lm2#4��0!9�:/Q;��)-.2VF��)4M2��n�:>A�.(+�H2�*,�.�:!S�:/82#��(.= !��H(%>�2DCo�:>0!S��:>A�,G�(+�G2#4f��!9�:/Q;��K-&2$F��K�+2O��Hc�&-2GA�+�D�+>��.(%�G2�*b�&�:!9�+/82��A(3/8\D*��%2p;#�.(n*,�.�q4M2��+\H!#��-&�KW�L[!B4r!#-1�:2��'2#4s =utK�:/8\D�.(V\H! Hc/8\ G�\�!9�"FmvG�+/8\D�.(V2��C�:>A�w!E;#�.�:!9$��#=

�nx��'�+�.-">���/ � x��G!#67682IyP(^�+/8\D�1zL-.2���(%x�\D/8��$D!#�0!967{<(+�&('�:2HWb�w|�2����w2#}~z�68/7���#=V�L�'2�*A�+/8\D/ �&�.(^*��+29z$��+!#\�682<2�* ���.(q�:(.=�TV>�/8(�\B!#�9�.(�/7���&}b�.-&�+/7;#��W,�.-E!9x�(+��672c2#*w���&(%�+(5x�(+x�!#686Q{?-.2��k�:�%/8W�xc�:��\D2��%�f�+23�:>A�|A{<�0!#\D/8- �1�c�&-.xA�+/82��a�+/8\D�j�:>0!#�m2#�:>A�.�3*�!#�%�+('2#4��:>��w*��+2�$#�:!#\l=VTV>��w�+�.-">��A/ � x��K���&�.|�(3(+x�*�*,2��q�4M�+2#\�W,2#�:>@�:>��?(q�"!9�+/8-j-.2#\H*�/768�&��!#��|@�:>A� �%x��cz��:/8\D�n/7���+�.�%*��+�1�:�.�&=� /8�A-.�J2#x��'�+�.-">���/ � x��K|�2<�.('��2#�n���c-.68xA|��J2#�+>��.�'\H�1�:>�2<|�(&�b/Q�3-.!#�_W,�J-.2#\KW�/8�A�.|myP/Q�:>_29�:>��&�

!#*�*A�+2k!#-">A�.(J�+2_!#-">�/7�&;#�BW,�&�+�+�.�w�+�.(%x�67�+(.=m�02��?�1�A!#\D*�68�9��/7� -.!#�ZW,�Bx�(%�.|Z/7�F-.2#�S�%x���-1�:/82#��yP/7�+>!l�%x�(q�%z�/7�czL�+/8\D����N#��T^�B-.2#\H*�/768�&�.= � �&-&�+/82�� s =��c=u�F(+>A2pyP(C�+>0!9�C2�xA�O(%{<(%�+�.\ 2#xA�:*,�.�q4M2��+\D(CN#��T-.2#\H*�/76�!9�+/82��j4M2���*��%2�$��:!9\H(�-.2�\D*��%/8(+/7��$3\D2�(q�:67{?294��:>���W0!#(+/7-�2�*,�.�+!9�:/72���(&= � (+��2#4~2#x����+�.-">���/7��x��

tk�

�:2#$��&�+>��.� yP/7�:>ZN#��Td-.2�\D*�/76�!9�+/82��[-.!#�Z$�/Q;��)�:>��ON#��Td-.2�\D*�/867�.�j\D2��+�)�:/7\H�G�+2a2�*A�+/8\D/��&�D29�:>��&�*0!#�q�:(P2#4��:>��?-&2c|��9�0(+/7��-.�?/7��yP/8686b�:>��&�mW,�jy�2��%��/8��$)2��m!G(+\H!#6867�.��(%x�W�(+�1�3294��+>��?*��+2�$#�:!#\l=TV>�x�(.�0�:>A�j\H�1�:>�2<|C*��+�&(+�&���+�.|l/8(V!G(%/8\D*�68�9�c�1}e�&-&�:/Q;��ny�!E{O�:2G�&��>0!#��-&�j�:>��j*,�.�q4M2��+\H!#��-&�n2#4

��x�\D�.�+/7-E!#6 N�!I;9!)*��+2#$��:!#\D(.=

t�t

� � ��� ���� �

� � �`� �Z� � ���

� yP/8|��l�:!#�A$��@2#4j��x�\D�.�+/7-E!#6V-&2c|A�.(B\Jx�(%�DW,�m(q�:x�|�/7�.| �+2F!9(+(+�&\KW�67�a!X6�!#�%$��.�)67/8W��+!#�%{F2#4jW0!Sz(+/7-C2�*,�.�:!S�:/82#��(w�+>0!9�)2<-.-.xA�G-.2�\D\H2#��67{#=��n*,�.�+!9�:/72���(J�+>0!9�)x�(%�C-.2���|A/7�:/72��0!#6g�1�c*��%�.(%(+/82#��(B!9��|\H!9�:>��&\B!S�:/8-.!#6~4Mx���-&�+/82��A(^67/8�9�����w!#��| �����������.�&|l�+2HW,�j>0!#��|A68�.|e=

�nx����:�.-">A��/8��x��P\Kx�(q�gWb�V/7���+�.$��+!9�:�&|DyP/Q�:>D! N#��T -&2�\H*A/868�&���+2 (%�.�^>�2IyY�1}e�&-&�:/Q;��V�:>A�^xA��/��0�&|!#*�*A�+2k!#-">l/8(&=

� x��+�%�.�k�:6Q{���yh�O>0!#��|A68�C!#�%W�/7�+�:!#�q{R!#�+/Q�:>�\D�&�+/8-D�1�c*��%�.(+(%/82��A(GW�{FW��+�.!#��/8��$m�:>��&\ |�2IyP� /8�k�+2!a(%�.��x��.�A-.�l2#4P(+/7\H*�67�.� �1�c*��%�.(+(%/82��A(.�fyP>�/8-"> !#�%�B�:>A�.�`�+�&-.2�$#��/��&�.| !#(KW�!#(+/7-O2�*,�.�:!S�:/82#��(.=[�02���1�A!#\D*�67�#��-&2���(+/7|��.�V�+>��?-.2<|��?(+�.$#\H�&���^(%>�2IyP�aW,�.682Iy��

��� �����������! #"%$&��'��($&�*)#),+.-/1032541687:9;/1032=<?>@4A<B/=03254 $C

�L�^/8(VW��%2��#�&�a|�2IyP�l/8�k�:2)(+�1;��&�:!#6i�1�c*��%�.(%(+/82#��(367/8�#�n�+>�/8(@�

��� �����������! #"%$&��'��($&�*)#),+.-DFEHG 0I2J4K6ML $DFEHG 0I2J4 )N 7O9P/=032K<8>�4 $DFEHG 0I2J4 )N /=03254 $/103254K6 DFEHG 0I2J4 $C

t s

TV>��O!9�+�:!E{������ /7(w!C�:�&\H*,2��+!#�%{X!9�+�:!E{_�+>0!9� /8(?/7���+�+2<|�x�-&�.|RW�{XxA(.=OTV>��D(+xAWcz����A*A�+�.(%(+/72���(-.2#�+�+�&(+*,2���| �:2XW0!#(%/8-C2�*,�.�+!9�:/72���(&�f!#��|`�:>��1{`-E!9� W,�C�&;9!#67x0!9�:�&| x�(+/7��$[�0!9�+/7;��@\D�&�+>�2c|`-.!#6867(.=TV>��?W,�.��-">�\H!#�%�O*��+2#$��:!#\ � � �K>0!#(P(%x�-">a���A*A�+�.(%(+/72���(^/8�@682<2�*C(%�:!9�:�&\H�&�k�:(.=fTV>��?*,�.�q4M2��+\H!#��-&�yh�j$��&�V/7�B�:>A/8(�-.!#(+�j/7(�\KxA-">lW,�&�%�:�&���:>0!9�O�:>��n*A6�!#/7�B/8�k�+�.�+*A�+�&�+�.|C;��&�+(%/82�� �AW�xA�V68!#$�(h4r!9��W,�.>�/7��|�:>A�?N#��T];#�.�%(+/82#� =����O�:>��3*��+�&(+�.�k�^(+-">A�.\D�#���.!#-">@/8�k�:�&�+\D�.|�/8!9�:�'�+�.(%x�67��-E!#xA(+�.(V�+>��n-.�%�E!9�+/82��B2#4�!���1y �:�&\H*,2��:!9�%{B!#�+�+!I{O2�W<�%�.-1�E=fTV>�/7(^�A�.�.|A(^�+2DW,�?2�*A�+/8\D/��.�&| =

� Wb�1�+�:�&�'/7\H*A68�.\D�.�k�:!9�:/72��Ox�(%/8��$D(%{<\KW,2�68/7-n\H!#��/8*Ax�6�!9�+/82��A(�/8(V���&�.|��&|a�:2D/8\D*��%2p;#�n�:>�� |���z�:�&-&�+/82��R2#4V�%�.|�x��A|0!#�k�K���A-&�.*A�+/82��A(.=CT��.-">���/7��x��.(K|A/8(+-&x�(+(%�.|`/7� 0���� � L L 4 -.!#�ZW,�Hx�(%�.|F�+2c2A=B�L4yh�H|��1�:�&-&�w\H2��%�G�+�&|�x���|0!9���w�1�c-&�.*A�+/82���(&��yh�H-.!#�R|��&�+�.�+\D/8�A�D\D2��%�G(%�"!S�:�.\D�.�k�+( �+2mW,�)�1�c-.�&*cz�:/72��F4M�%�.�#= � /7��-.�C(q�"!9�+�.\D�.�k�:(K�+>0!9�G-&2�x�68|`*,2�(%(+/8WA67{R�:>��%2py �1�c-&�.*A�+/82���(G/7��>�/7W�/7�w-.2<|��C\D2#�:/72�� �yh� yP/7686b�+>��.�l>0!E;�� $��%�E!9�+�.���0�1�c/7W�/867/7��{H/8�@�+�&2��+|��&�+/7��$)-.2<|��#=fTV>�/7(^-.!#�m!#68672py]\D2��+�j672c2#*�(��:2DW,�|�/7(%�:�%/8W�xc�:�.|D!#�A|D\H!#�9�V/7��*,2�(+(%/8W�67��4M2���!j$��%�E!9�+�.����x�\KW,�.�f2#4bW0!#(%/8-V2�*,�.�+!9�:/72���(��+2 W,�V/8|A�.�k�:/ �0�.| =

� x��+�%�.�k�:6Q{��3yh�X�+�&-.2�$��A/��.�[2#��67{ (+*,�.-./ �0-X(%{<�k�"!#-1�:/7-R*�!9�+�+�.�+�A(@!#(@W0!#(+/7-[2�*,�.�:!S�:/82#��(.= TV>���:�&-">���/7�<xA�K-E!#�aWb�w�1�<�:�&��|��.|[�+2O�+�&-.2�$��A/��.�J!#68$#2��+/Q�:>�\D(.=V�02��^�1�A!#\D*�67�#�,\B!9�+�+/ �l\Kx�67�+/8*�67/8-.!9�:/72��-E!9�OWb�3�+�.-&2�$���/ �.�&|C!#(�(%x�-"> ��/7�+�+�&(+*,�.-1�:/7;#�n2#4 yP>��1�:>��&��/7�h/8(h/8\D*�68�&\H�&�k�:�.|H/8�B!J(%�+�:!#/7$�>k�+4M2��qy�!#�%|\H!#�����&�.�A2#��x�(%/8��$GW�672c-"��/7��$��<2���672c2�*Bx����+2#6868/7��$�=�TV>�x�(��:2G(%2�\H�'�1�<�:�&�k�E���:>A�n2�*A�+/8\D/��E!S�:/82#�H-.!#�W,� \H!#|��j/7��|��&*b�&��|��.�k�'2#4��:>��?*0!#�q�:/7-.x�68!#��/8\D*�67�.\D�.�k�"!9�+/82��Hx�(+�&|aWk{O�+>��?*��+2�$#�:!#\D\H�&�.=

t

� � � � � � ��� � � �����[� � �~� � � � � � �`� �

�'�&�+�9�#y��h$�/7;#��T�!#�M�+!9�� u(�!#67$�2��+/Q�:>�\ 0 T�!#� s � 4 �:23|A�&�:�&�+\D/8���f�:>A�h(q�:�+2#��$�67{?-&2������&-&�+�.|G-.2#\H*,2����&���+(2#4,!n|�/7�+�&-&�:�&|G$��:!9*�> =��L��x�(+�&(f!3;9!#�+/8!#�k��2#4~|A�.*A�+>cz��0�%(%�f(%�E!#�%-">H!9��|G(+2�6Q;��&(��:>���*��+2�WA68�.\/8�J68/8�A�E!#��:/7\H�9=���������� � |�/8�%�.-1�:�.|F$��:!#*A> � 6 ��� ���g��=� /8(?�:>A�H(%�&�K294�$��+!#*�>F�A2c|��&(.��!#��|�� /7(?�+>��B(%�&�w2#4$��+!#*�>@�.|�$#�.(.=� �������� � � 67/8(q�V2#4��+>��?(%�+�+2���$#67{O-&2������&-&�+�.|a-&2�\D*b2��A�.�k�:(P2#4 � =!#" �%$�&�'(�)+* TV>A�G!#68$#2��+/Q�:>�\ x�(%�.(?!B*Ax�(+>czL|�2IyP�X(%�"!9-"�,=-, /Q�:>_�1;��&�%{[��2<|��:�/.�0R�e�:>��%�.�J;9!#�%/�!#WA68�.('!#�%�!#(%(+2<-./�!S�:�.|K�21%� �����4365 ��� +S�-5 � � ��� +S��!#��|87 ���:9 ��� +S= �0x��%�+>��.�%\H2��%�#�g�:>��m!#68$#2��+/Q�:>�\ x�(+�&(B-&2�x��k�:�&�+(5 �<;6= �?> ���V!#��| ��=TV>�� ��x�\KW,�.�@7 ���:9 ��� +w-.2�\D*�xA�+�.|@/8�@(%�E!#�%-">i� �e�P-.!#�lWb�?-">0!#�+!#-&�+�.�%/��.�&|a!9(P4M2#68682IyP(@�7 ���:9 ��� + 6 \D/8�i�*-A5 � � �CBK+ �DB �[2��V�:>A�.�+� /8(P!)|��&(+-.�&��|0!#�k�.�FE,294;�X!#��|m!#�l�.|�$#�O�F�FE �GB'�hyP/7�+>5 � � ���FE +IH 6 5 � � �CBK+3(+x�-">C�:>�!9���+>��3�%2c2#��2#4 �+>��n(%�+�+2��A$�67{D-.2#�����.-1�:�&|C-.2�\D*b2#���.�k��-&2��k�"!#/7��/8�A$JB/8(P!9�a!#�A-.�.(q�:2��P2#4 � C �� -&-.2��%|�/8�A$)�+2D�+>�/8(V|A�@�0��/Q�:/72�� �F7 ���:9 ��� +:' 6 5 � � ��� +-KMLN.O0R=� ��2<|��.�[/8(��+>��?�+2<2#�P2#4�!)(q�:�%2���$�6Q{O-.2#�����.-1�:�&|_-.2�\D*,2����.�k�P/Q}�7 ���:9 ��� + �0=9 )PAQSRATVU�W�XAQ:UZYVU+[�Q\T%](^4_M`�ab U�cedf_df_Md%g:h:Y%g:[ST%i(aj d YAd�g:U�Wk^l_M`nm4opgqQ�XSUra

t�s

W���_ ^4_M` m4o W��Ah:T R?X+_qg(a� df_Ai ^4_M` m4o W��Ah:T R?X+_qg(aW��AhST R%X+_qg8P � XeY���aP+XeY%](^4_M`�a�SR Q#U j U Q�� _�� df_ Y�XeTqT�^4_M` WSRd��p_ R?g ^ j d Yqd�g:U Wk^4_��<`q`g ]SU _ YVU+[�Q T�](^4_�� `�a � df_Ai ^4_M`nm4oFdf_(^ � df_qi ^l_M`�� � d�_qi ^4_�� `+`�aU � YVU �� j d Yqd%g:U�Wk^4_��<`��� d��8W���_ ^4_��<`��pW���_(^4_F` [V_AWZd�_Sh:Y%g:[ST%i ^4_�� `g ]SUV_ �� _�� d Y g ]SU YV[�\U Y%gAQSR%_Ac � �ZT+R%_+_SU:T?g:U�W T R�AP R%_SU _Ag [SY [ _[V_eTVU:Y%g R QZR�� _

�� � df_qi(^4_M` m4o�Fdf_(^ � df_qi ^4_F`��lW���_ ^4_��<`+`�a

� d� dU _AW��SR Q(a

d�� � df_qi(^4_M` o W�� _(^4_M`g ]SU _� �� _ d Y g ]SUpQSR+R gZR��8[ Y%gqQSR%_:c � � T R%_+_\U:T%g:U�W T+R�qP R%_\U _qg�� ] RAYVU _eR WAU:Y[�QAU g ]SU g\R%P�MRqY%g U � U� U _qg Y R��pg ]SU Y%g:[:T?i�� X+P8g R [ _:WZdf_MT � XAW d�_Ac8_ �! ]SU:Y�U8U � U�\U _Ag Yp[�QAU#R%Xqg P+XAg [V_AW PeR%P+PSU�WZR����pg ]\U#Y%gS[:T%i��

�� Q P � XMY���a �AQ d�g:U ^#"%$VgqQSR?_Ac � � T+R%_+_SU:T?g:U�W T R�qPeR%_SU _qg _qX� b U�QDm&��� Q `�aQAU PSU+[�g' m4opg\R%PShAR��Ah:Y%g:[ST%i(a PeR%P a �qQ d�gSU ^ ' `�aX+_qged � ' oV_

� dU _AWZYVU+[ Q\T�] ��)(#*,+�-/.�021�340�*4(5��

b U�cedf_W��AhST R%X+_qg m4o6��aQ m4o/7ra�SR Q#U j U Q�� _ R WAU _ d�_ g ]SUpc+QA[VP+] WSRj d Yqd%g:U�Wk^4_F`nm4o&�:[ � YVUU _AW��SR Q(a� ]Md � Upg ]SU�QAU8U ' d+Y%g Yp[ _eR WAU _ df_ g ]SUpc+QA[ Pq] Y%XeT�] g ]S[Vg8_ R?g(^ j d Yqd%g:U�Wk^4_F`+` WSRYVU+[�Q T�](^4_M`U _AW/� ]Md � UU _AW

s L

� ��� ����� �`��� ���

0 � �E! L L 4 � = � 68*,�.�+�R!#�A|R�1� !#6�= TV>��HN�!#68!#*b�&��2O;</8�q�:x0!#6�\B!9-">�/8���9=���\3 = �J�V7 � � � > 3 �F������� ���43 � ��� �?> ���=�V7 � ��� �V1 � �\3�� ��� � ��� � = 3����� ����+S�~� L L L =

0 � ����� s�s 4�� �&|��+2 � �%�:/7$k!#(&� � !#��/7(+> � x�*A�"!c� � !#\Kx��&6 � /7|���/7}��P!#��|]N#2�(��� � 2��%�./7�:!A=8�'/8$#>*b�&�%4M2��%\B!9��-.�G��x�\D�.�%/8-E!96�-.2#\H*�xc�:/8�A$O/8�RN�!E;9!(�! i!#��$#x0!#$��)!#�A|R-&2�\D*�/867�.�3/7(+(%x��.(&=���#" � ��$ > �%$q3 � � �e5'& � ���=� 7 3�� � ��� �)(;� � �V7 7 3 7�& � ��� > �J����$#��*0!9$��.( >+*=> s � > sVs�sA=

0 � � � s�s 4 � �0! � �&�&;#�.|�2�� � 68��� �'/7-.2�68!#x �i!#�A|ZN#2�(%�.*�>2�'x�\D\D�.6�=HN�!E;9!m!9����2#�:!9�:/72��cz !Ey�!#�+��%x�(%�qz�/7�czL�+/8\D�C� � N#��T^�?-&2�\D*�/868!9�:/72��a(q{c(q�:�&\m=D���,( � ��= 3 365 ����$ � �F� �.-\30/1& � �2�2�2��(�V1 ��3;� � �e5q34& � � � 3�� 3�� = 31� � !#�m�0�:!#��-&/8(%-.2��~N#xA��� > s�s�sA=

0 � �65 �t 4 � =87K= � >�2��:9 = � �&�+>�/��g!#��| NA=<;K= 5 6768\H!#� ==& � ���=� 7 3�� ��)( � ��� = � �e7 3 �?>r3 = -A���J� > 3 �� �e5@> �%� 7 �1= � |A|�/8(%2��czC,��.(%68�1{�� > s#tA=

0 � T � BA�s 4 � = � |�6QzLT�!9W0!9�"!9W0!#/�� � = � /7�.�+�A/�!#�~� � =C x��&> �27K= � !#�+/7�<>e��!#��|DNA= � �+/8-">��A2#�:> =,�5!9(%�E��&}b�.-1�:/7;#�J-&2c|�� $��&���.�+!9�:/72��m/7�l!j�%x�(q�%z�/7�czL�+/8\D�?N�!E;9!D-&2�\H*A/868�&�.=g���@( � ��= 3 365 ����$ � �F��.-\3)/1& � � � 3:(�"D/)E E �CF = � � � 3�� 3�� = 3 � �'( � � $ � � � �.����$4" � ��$ > �%$q3!G 3 ���H$ � � �e5� ���e7 3 �J3����!� �5� � �0�c*0!#$��&('� LI* � s L � � 2��k�:�+�.!#6�� � !#�0!#|0!c�,N#x���� > s�sA=

0�� � s 4 � �+/8!#� � 672�x��k�V!9��| � /8|A|�>0!#�q�:>0! � >�!9�+�+�.�M�%�&�#= � �C�&;9!#67x0!9�+/82��D2#4�N�!E;#! 4M2�����x�\D�.� z/8-.!#6 -.2#\H*�xc�:/8�A$�=5��� � �B&KJ:(�Lh��*0!#$��&(^�k� * vktc� > s�s A=

0�� ; � A�s 4 9^2#�0!#68|a��= � 2�/7(%;��&�%�.� N�!#-"�aNA=M;n2#��$k!#�%�:!A�N9P2�68|0!9� � 2 �.2��MO !9�+/8� � =P9P�.\D/8��$#�+2�� �!#��| � =e,U= � �:�1y�!9�%�E=Q;n�1;��.672�*�/7��$B��x�\D�.�%/8-E!96�67/8W��+!#�+/7�.(^/8�XN�!E;9!A=R& � � = > ��� 3�� = TS( � � = �J� = 3 � �e54L�U �\3�� � 3�� = 31� >%L � > >+*=> �k��� > > > s *=> > �Vsc� > s�sA=

s >

0���� s s 4 � !#�q� NA= � = � /8�_!9��|#;n�.���A/8( � = � !#�A��2�� = � ��2#�+�G2��X�0!9�:/Q;��K67�&;#�.6 > � � � /7�N�!E;#!c=�& � � = > � � 3�� = CS ( � � = �J� = 3 � �e5 L�U �\3���� 3�� = 31�:s0� > > ��� >%L s > *=>%L s�sc� > sVs s =

0���� � L L 4 9'!9(%�:/7(+68!I; � 2<|�/7�,�C9'!#$#/7; � x�*A�"!c�k!#��|173/7;��&� � !9�+�S!#�.= � � � ;H�V�f67/8\D/8�0!S�:/8�A$'!9�+�:!E{Wb2#x���|�(V-">��&-"��('2��B|��.\H!#��| =�����( � ��= 3 365 ����$ � �F� � -\3)� � 3:( "D/ E E3"" & � � � 3�� 3�� = 3� � ( � � $ � � � " � ��$ > �%$q3 G 3 ���H$ � � �e5 � ���e7 3 �J3����!� �5� � �0��7g!#��-&2�xA;#�.�.� � !9�0!#|0!A�N#x����w� L L L =

0�� O�s s 4 ��= � x�|�/7\H67/8-)!#��|?OG= Oj�&�����.|c{�= �j*c�:/8\D/��&/8��$lN�!E;9!(�KTV>A�.2��q{F!9��|F*��+!#-&�+/8-&�#=@���� �F� ��B�� � 3�� ( � � = �5� = 3 � �e54L�U �\3���� 3�� = 3Q� ���S�0*0!#$��&(Pv�v�� * v�t��A�0N#xA��� > s�s s =

0�� 7 � s s 4 � !#�q�wNA= � = � /8�~��N#x0!#� �V=D7n/7686�!9-./8(&� !#�A|?;n�&����/8( � = � !#�A��2�� =3�+!E;9!#��� � *��%2#�:29z��{<*b�ON�!I;9!a�%�.(q�:�+xA-&�:xA�+/8�A$a-.2#\H*�/768�&�.= & � � = > � � 3�� = TS ( � � = �J� = 3 � �e5 L U �\3�� � 3�� = 31�s0� > > ��� > > > *=> > s > � > sVs s =

0 � ;!;@s s 4 �'�&���+/ � !#(:!#�A2p;9!A� N�!#-"� ;n2���$k!#�%�:!A�b!#��|�;j!I;</7| � =M;n2c2�67/8� =^N�!E;9!O!#-&-.�&(+(n�:2B�<x<z\H�&�+/7-E!#6i68/7W��:!9�+/8�&(.=�& � � = > � � 3�� = TSQ( � � = �J� = 3O� �e5 L�U �\3�� � 3�� = 31��s0� > > ��� > � s s *=> �Vs > �> s�s s =

0 � � � A s s 4 TV/8\D2#�:>k{ � �+!#\D�.�.� 9P/8-">0!9�+| �~�%/8�&|�\B!9� �CT��&�+�%�.��-&� � /76868�&�.� ;j!E;</8| � �&>��.�%$��.�&�9^2#Wb�&�%� , /768(+2#� �5!#�A| � !#�+/72/,�2�68- �.�#2A= � 2�\H*A/868/7��$aN�!I;9!D�%x�(q�G/8���:/8\D� � 5 (+/7��$�+x��k�+/8\D�G-.2�\D*�/868!9�:/72��m�+2m/7\H*A�+2I;��DN�!E;9!l*A�+2�$��+!#\ *,�.�q4M2��+\H!#��-&�#= � L L�L � � = � � �> s �r�k���u��t * v��A� > sVs s =

0 � �s s ! 4 � /8-">�!#�.6 � /7�.�%��/�!#��!#��| ,��./� i/ = �j*c�:/8\D/��&/8��$aN�!E;9!XWk{��:�&-.2<|��.(&= & � � = > ��� 3�� = TS( � � = �J� = 3 � �e54L�U �\3�� � 3�� = 31�\s0�rtk��� v�� s * v�v�v��AN#x���� > s�s s =

0 � �s s W 4 � /8-">�!�� 6 � /8�.�%��/�!9� !#��| ,��./ /�= N#x�(%�qz�/8�<zL�:/7\H� 2#*A�:/7\H/ �E!9�+/82���(o4M2#� >A/8$�>cz*b�&�%4M2��%\B!9��-.�oN�!I;9! *��+2�$#�:!#\D(.= & � � = > ��� 3�� = TS ( � � = �5� = 3 � �e5 L U �\3�� � 3�� = 31�s0� > > ��� >%L t�� *=>%L s �c� > sVs s =

0 � 6�!�s s 4 i!#�+( 9?= � 6�!#xA(+�.�e= � N�!E;9! Wk{��:�&-.2<|��'2#*A�:/7\H/ �.�.��x�(+/7��$?(+/7|��1zL�&}b�.-&�h!#��!#67{<(+/7(.=:& � � ;= > � � 3�� = TS ( � � = �J� = 3 � �e54L�U �\3�� � 3�� = 31�Ss0� > > ��� >%L � >+*=>%L vk�c� > s�s s =

s �

0 � � L L 4 � /8-">�!#6 � /8�&�+��/8!#�~� � x��&/Qz��gx0!#� x��&> �n!#�A|�N�!9\H�&( � = � �+/8-">��A2#�:> = � �:!#-1�:/7-./8�A$N 5 ;��H�hN�!E;#!�x���|��&�B|A{<�0!#\D/8-l2�*A�+/8\D/��.!9�:/72���(.= ��� � � 3:( "D/ E & � � � 3�� 3�� = 3 � �( � � $ � � � �.����$4" � ��$ > �%$q3)G 3 ���H$ � � �e5 � ���e7 3 �J3����!� �5� � �0�c*0!#$��&( > � * �#tA��� L L L =

0 ��� � A�s�s 4 � = � >0!#\JWb�&�+(.�i�"= � �.-">k�:-">�!#��(+��/ � 7K= � !#�+�S!#�&� � = � �.�+�+!#��2���!#�A|N� = � �+/7��/7;9!#(+!#� =;n�.*,�.��|A�.��-&�G!#�0!#6Q{<(+/8(P4M2��3N�!E;#!c='��� � � ����.- � ���43�� �=� �5� � �=�V7�� � � 9%�- � � � ��" � � ;$ > �%$q3 � � �e5�& � ���=� 7 3�� � ��� �)( � � �V7 7 3 7�& � ��� > �J����$#� � x�$#x�(%� > s�sVsA=

0 �~2#� 4 N�!E;#! � �:!9��|�� �02��%x�\m= TV>A� N�!I;9! � �:!#�A|�� �02��+xA\ � �&��-">�\H!#�+� � x�/Q�:�#=>k�+�:*K� )�) yVyVy?= �+!E;9!#$��+!#��|��9=u2��%$ ) =

0 �~2#� s 4 N�!E;#! � �:!#��|A�H�02��%x�\l=BN�!E;9!@$��:!#�A|��G4M2��+x�\ *0!#���&6g�%�.*,2��%��� � !#��/8��$aN�!E;9!@yh2��+�4M2��V>�/7$�>cz��&��|@-.2�\D*�xA�+/8��$A=&�n�+6�!9��|�2��0��682��%/8|0!A�A�'2I;#�.\KW,�.� > s�sc=

0 � � � s 4 7n68!#|�/8\D/8� � �&�:2I;,� � xA(:!#� ��67{<��� �^x�\H\D�.6 � !#��| � !E;#! � /7�k�:-">��1;b= �^/8$�>cz*b�&�%4M2��%\B!9��-.��*�!#�:!#6768�&6<*A�+2�$��+!#\D\H/7��$P/8�DN�!E;9!(�����c*�682�/Q�:/7��$'��!9�:/Q;���67/8W��+!#�+/7�.(.=�& � � ;= > � � 3�� = TS ( � � = �J� = 3 � �e54L�U �\3�� � 3�� = 31� >%L � > >+*=> �k��� �t�� * s �c� > s�sc=

0 � N � s#t 4 N�!#\D�.( � 2�(+67/8��$A� � /8686bN#2I{���!#��| � xA{ � �:�.�&68�9=�>D-\3 � �V1 ����� �:" � ��$ > �%$q3 ��\3 = � � = � ;�5� � �0= � |�|�/7(+2��cz ,F�&(+67�&{�� > s�s�tA=

0 � � O�� s s 4 N#2�(+�&*�> �'xA\H\D�.6 � � �0! � �.�1;��&|�2�� ;j!E;</8| O?2#68(+2#� �<!#��| � 68�1�A!#�A|��+x �^/8-&2�6�!#xe= � �<z��2#�:!9�:/7��$^�+>��VN�!E;9!'Wk{��:�&-.2<|��.(�/8�J(%x�*�*,2��%��2#4�2#*A�:/7\H/ �E!9�+/82�� =D& � � = > � � 3�� = CS ( � � = ;�5� = 3 � �e5 L U �\3�� � 3�� = 31�\s�� > > � � >�L L � *=>�L(> tA� > s�s s =

0 � � � s�t 4 � >��.�A$9zl�^(+x��&> � =��^(+/7�.> ��N#2�>�� � = � {c6768�&��>0!�!#6 � !#��|N,��.�czL\H�&/ ,U=��^yPx =HN�!E;9!Wk{<�+�.-&2c|��H�:2_�0!S�:/7;#�B-&2c|��D�:�+!#��(+68!9�:/72�� �wTV>�� � !9}b�./7���B*A�+2#�+2#��{<*b�C!9��|F*��%�.67/8\D/Qz�0!#�q{j�+�&(+x�6Q�:(.=���� � ���43�� �=� �5� � �=�V7C�� ��� � ��� > � � � � � = � � � � = -A���43 = � > � 31�S*0!#$��&( s L%* s�sA�> s�s�tc=

0 � � L L 4 � 676�!#�/�'�&{<|�2#��!9��| � !#�%-I�3!I�%2��+�~= � �&�%4M2��%\B!9��-.�K67/8\D/7�:!9�:/72���(V2#4��+>��)N�!E;9!O-.2��%�68/7W��:!#�%/8�&(.=)& � � = > � � 3�� = ; ( � � = �J� = 3 � �e54L�U �\3���� 3�� = 31� > ��� t����u��t�� * � s �A�A� L L L =

s �

0 ��O � A s�s 4 OG= ��(+>�/ �E!#��/ � � = O !Ey�!#>�/Q�:2�� Tj= �h!#(%x��#� � = T�!#�9�.x�-">�/ ��Tj= �n$k!9(:!Ey�!9�:!A�iTj= � x�$Sz!#��x�\H!A�pTj= �n��2c|A�.�:!c� � =%Oj2�\H!9�:(%x �p!#��|?Tj=��'!#�S!9�"!#�A/�= ;n�.(+/7$�� �I/7\H*�67�.\D�.�k�"!S�:/82#� �!#��|O�1;9!#68x0!S�:/82#�D294 2�*A�+/8\D/��E!S�:/82#��(�/8�B!V�%x�(q�%z�/7�czL�+/8\D�V-.2�\D*�/768�.�&= /1& � �2�2�2�0�(�V1 �3;� � �e5q3�& � � � 3�� 3�� = 31�c*0!#$��&( > > s *=> � A�0N#xA��� > s�s�sA=

0 ����- 4 � x�� � /8-&�+2�(q{<(%�:�&\H( ����-9= 5 *,|0!9�+�.( �:2 �+>�� N�!E;#! ��� � 68!#��$�x0!9$�� (+*,�.-�z/��0-.!9�:/72�� 4M2�� NC;!O � �� � �%�.67�E!#(%� > =�� �02k!9�+/8��$ *,2�/8�k�.= � ;9!#/868!#W�68� !9���>k�+�:*K� )�) �+!I;9!A= (+xA� =u-&2�\ ) |�2<-.( ) Wb2<2���( ) �%67( ) (q�:�%/8-&�%4M*cz�-">�!#��$��&(.= *b|A4 =

0 ����-fs�s 4 � x�� � /7-.�+2#(%{<(%�+�.\D(V����-#=�TV>�� N�!E;#!I�^2#�:(%*b29� �� ��*b�&�%4M2��%\B!9��-.�'�.��$�/7���j!#�%-">�/7�+�.-�z�:x��%�#=f>k�+�+* � )V) �+!E;#!c=u(%x�� = -.2�\ ) *��%2c|�xA-&�:( ) >�2#�+(+*,2#� ) yP>�/7�+�.*0!#*,�.�&=u>k�+\H6 � � *��%/86 > s�s�sA=

0 N#$�N 4 � � � � � !9(+/8-� /7���E!#� � 68$��&W��:! � xAW�*��+2#$��:!#\D("��=�>k�+�:*K� )�) yVyVy?=u���1�:67/8W = 2��+$ ) W�6�!9( ) =0 �%(+� 4 N � 9P(��hN�!E;#! � *,�.-&/��0-.!9�:/72��R9^�&��x��.(q�:(.=h>k�+�:*K� )�) �%-.* = 2��+$ ) �%(+� ) (%�:!#$�� ) �%(+�.= �%(+*e=0 OQ;@s 4 ,U=NO !9>0!#�_!9��|[N#2�(%�.*�>�;K=P;j!9�+-&{#= �'2Iy N�!E;9!: ( �02�!9�:/7��$9z�*,2�/7���P>�x��q�:(^�&;#�.�%{#2����

�&;#�.�%{�yP>��&�+�9� > s�s A=0 O � s s 4 � =NOj�:!#676 !#�A|�9?= � �+! � = � !#-E!#2Gz�!Ht9v9z�W�/Q�^N�!E;9! 7 � �%x�(q�%z�/7�czL�+/8\D�n-.2#\H*�/768�&�.=f���

(�( � (�( E � � � � � 9%�- � � � � �(�V1 � ��� ��� = � 3�� = 3 � �e5'L ��$ ���F3 3�������$,& � ��� > � �5� � �0�> s�s s =

0 O � s L 4 OG=MOj�.�A���.|A{a!#��|�O)= � = � - Oj/7��68�1{�= 2c2#*a|�/7(%�:�%/8W�xc�:/82#�lyP/Q�:>_!9�+W�/Q�:�:!9�%{@-.2#���+�+2�6�02Iy?=f���#( � ��= 3 365 ����$ � �F� � > �\3�� = � ��� > �J����$ E �A"S�\�^�&y �g2��%�~� � �G� > s�s L =

0 O � � A�s#t 4 ,U= Oj�.6767{�� 7J= � !9(+682I;,� ,U= � x�$�> � �V= 9P2�(+(%�.�.� Tj= � >�*b�&/8(%\B!#�e� !9��|;K= ,�2�����!#-.2#�%�E= TV>�� �n\D�.$k! /8W��+!#�%{#�Q7f�&�+(+/72�� > = > = L ���k�:�.�q4r!#-.� � x�/7|��#=^x��+6>k�+�:*K� )�) yVyVy?=u-&(.= x�\H|e=u�&|�x ) *��%2S�%�.-1�:( ) 2�\D�.$k!A�F�'2I;��&\KW,�.� > s�s�tc=

0 ��s s 4 TV/8\ /8��|A>�2�68\ !9��|[�0�:!#�A� �g�&6867/8� = >D-\3��(�V1 � � �� ��� ��� � > �V7 � � = -A���F3Q��\3 = � � = � ;�5� � �0= � |�|�/7(+2��cz ,F�&(+67�&{�� > s�s s =

0 ��� � � s s 4 � = � xA6868�&�.� � = � 2�x��+!A����= � �&686�!9�+| ��!#��| � = � 2��A(+�.6 =/�'!#�+/7(+(+!(� � ���1�c/8W�67�B!9��|���D-./7�.�k�HN�!E;9!_�.�k;</8�+2#��\H�&�k�)\H/ �A/7��$aWk{��:�&-.2<|��l!#��| -.2#\H*�/768�&|F-.2<|��9=���� >D-A��� 5

s v

� ��3���� UR& � � � 3�� 3�� = 3 � �#J �f3 = � ; J;� � 3����l365 >e3 = -A� � 7 � $ � 3 � � �e5��� %���l3 � �1� � 2#�%�:68!#��| ��n�+�.$#2�� �,N#x���� > sVs s =

0 ��� � s�! 4 N#2�(��� � 2��+�&/8�:!c� � !#\KxA�.6 � /7|���/7}�� !#�A| � !#��/8(%> � xA*A�"!A= � (q�"!#��|�!#�+|�N�!E;9!l!9�+�:!E{*0!#-"�S!#$��w4M2��'�+�.-">���/7-E!#6�-.2#\H*�xc�:/8�A$�= � ���� 3 ��3 � � = - � 3 � � � � � & ���C� �T� ��� �����2�@+S�;n�.-&�.\KW,�.� > s�s A=

0 ��� � s#W 4 N#2�(��� � 2��+�&/8�:!c� � !#\Jx��.6 � /8|���/7}���!9��| � !#��/7(+> � x�*A�"!c=5���%2�\ ��2�*C�:2G\D�.$k! ��2�*�(��N�!E;#!�4M2�� �+�.-">��A/8-E!96k-.2�\D*�xA�+/8��$�=9���4( � ��= 3 365 ����$ � �F� � -\3 �2� �.- � ���43�� �=� �5� � �=�V7 � � � 9 ;�- � � � �#" � ��$ > �%$q3 �.� �e5 & � ���=� 7 3�� � ��� ��(;� � �V7 7 3 7 & � ��� > �J����$#� > s�sA=P� �K� 9^��z(+�.!#�+-">'9^�&*b2��q�'� > > t#tA=

0 ��� � �s 4 N#2�(��� � 2#�+�./7�:!A� � !#\Kx��&6 � /8|A�</Q}�� � !#��/8(%> � x�*A�:!A�i!#��|@9?= ;K=D �!EyP�%�.��-&�#= � !#�+!#6Qz68�&6h|0!S�"!_\D/8��/7��$m/7� N�!E;9!A=[T��&-">���/7-E!#6K9P�.*,2��q� 9 � � > ���#tA�5� �K� Tj=5NA=,F!9�:(%2��9^�&(+�.!#�+-"> � �.�k�:�&�.� > s�sc=

0 ��� � s 4 � !#\KxA�.6 � /7|���/7}���N#2#(��� � 2��%�./7�:!A�A!#��| � !#�%- � ��/8�&= �n*A�+/8\D/��&/8��$wWb2�xA��|�(V-">��&-"�</7��$/8�mN�!E;9!)*A�+2�$��+!#\D(.= � � �� %���43 � ��� �?> � �=�V7 �0� s �r�k��� v L s * v��#�A� � x�$#x�(%� > s�s A=

0 � x�-fs s 4 � �:�1;��&� � x�-">��A/8-"�~=B/ 5V1 � � = 365 & � ���=� 7 3�� G 3 ���H$ � � �e5 � ���e7 3 �J3������ �J� � �0= � 2��+$�!#�O?!#xA4M\H!#� � > sVs s =

0 � , L L 4 9^2#Wb�&�%� � �1� �.$#�.�P!#��| �e>0!92#4r!#��$ ,��.� = / > � � ��� �J� = /@7 $ � ����� - � � 3 = � $ �����J� � � � �e5� 3 �e7 � = 3 �J3���� S�/ E 3 B / � �=� � � = -�� � ( � � $ � � � J �=�J� �.���%� �5� � �0= � ��T � �%�.(%(.�0� L L L =

0 � y'N 4 N � � � � � N�!E;9! � !9�:�%/Q� � !#-"�S!#$��9= TV>�� � !9�:>:,�2��%�<( !#��| �'� � Tj=>k�+�:*K� )�) \B!9�+> = ��/8(q�E= $�2I; ) �+!I;9!#��x�\D�.�%/8-&( ) �+!#\H! ) =

0 � � L(>@4 �'/7|��.>�/7�#2 � !#(+x�>�!#�:!O!9��| � ��/7��2��+/ �g2���� �E!Ey�!A=)9Px��cz��:/8\D� W�{��+�.-.2<|��K(%*b�&-./8!#68/ �E!Sz�:/72�� � � *b2��q�"!#WA68�f!#*�*A�+2k!#-"> �:2^$��.�A�.�:!S�:/8�A$'2�*c�:/8\D/��&�.|?(+*,�.-&/�!#67/��&�.|?-.2<|��#= � !#�+>�x�(&�;n�.��\H!#�%�,�0� L L(> =

08� ��T�7 �t 4 ,U=��w= � �+�&(+(&� � = � =i��6�!#�A���.�q{�� � = � = T��.xA�#2�67(+�k{���!#��|O,U=iTj=D7f�&�+�+�.�%68/8�A$�=�E >A;�J3�� � = �V7 � 3 = � �\3 � S >D-\3 /N� � �F� � = � 3����J� � = & � ��� > �J����$#= � !#\KWA�+/8|A$�� 5 ��/7;#�.�%(+/7��{� �+�.(%(.� > s#tA=

s �

08� T � A s s 4 Tj= � �%2c�&W�(%�+/8��$A� � =�T�2IyP��(%�.��| � � = � �+/7|�$��.(&�VNA= �'!#�%�+\B!#�e�hTj=(�'�1yP(+>0!9\m�V!9��|� = ,Z!S�+�:�&�+(%2�� =iTV2�W0!(�5N�!E;#!?4M2�� � *�*�67/8-.!9�:/72���(�� � ,]!E{ � >��E!9|B2#4 TV/7\H�w� , � T^�� 2�\D*�/867�.�.=A���,>e3 = -A��� = �V7(� 3 � � � �.� G 3 �(� �����J3���� �F� & � ��� > �l3���� = � 3�� = 31� 5 ��/7;#�.�%(+/7��{2#4 � �+/ �.2���!A��T�x�-.(%2�� � > s�s s =

08� xA$ s >�4 , /86768/�!9\ � x�$�>e=^TV>A�J2�\D�.$k!G�:�&(%��� � 4r!#(q�n!9��|a*��+!#-&�+/8-.!#6i/8�k�:�&$��.�^*��+2#$��:!#\D\D/8��$!#68$#2��+/Q�:>�\d4M2��V|��&*b�&��|��&��-.�J!#�0!#6Q{c(%/8(&=����@� > �\3�� = � ��� > �J����$#� > s�s > =

0 � �K� ��L L 4 � !#x��%/8-&/82 � �.�%�:!#��2A� 9^!p�%�.(%> � 2��%|0!Ey��&�9!9�.� � !#\Kx��&6 � /7|���/7}��A!9��| � !#�A/8(+> � xA*A�"!A=� x�/8-"��(+/767;#�.���?!C��x0!#(%/QzL(%�"!S�:/8-G-&2�\D*�/867�.�'4M2#� N�!I;9!A=G��� ( � ��= 3 365 ����$ � �F� J!J:( � "D/?�*0!#$��&(^t�t * k�<� � /8�A���E!#*,2�67/8(.� � �w�=�n-1�:2�W,�.�^� L L L =

0 ��� s 4 � = � -">ky�!#WO!9��|ONA= � -">��+2<�.|A�.�.= � 67$��.WA�:!#/7-PN�!E;#!j-&6�!#(%(+�.(�4M2����<xA\H�&�+/8-.!#6�2�*c�:/8\D/��.!Sz�:/72�� =~��� /1& � � � 3:(�"D/)E � � � 9%�- � � � � �(�V1 � ��� ��� �H$ - ; ( 3�� ��� � ��� � = 3�E 3���B � � 9& � ��� > �J����$#� > sVsA= 5 9 �0>k�+�+* � )V) yVyVy?=u-&(.= x�-.(%W = �.|�x ) -&2��A4M�.�%�.��-&�.( ) �+!E;#!VsA=

0 T�!#� s � 4 9 =bT�!9�M�+!#� =Q;n�&*A�:>cz!�0�+(q�?(+�.!#�+-">�!#��|[67/8���.!#�3$��+!#*�>X!#67$�2��%/7�:>A\H(&=0� � / � � �?> � �=�V7� �,& � ��� > �J����$#� > ����� � > v�t *=> t L � > s s �c=

0 ,]� � � L L 4 � �&��$ ,�x � � !9x�6~�0�E!#xA�+�+/7�.�.�C;j!I;</7| � !#|�x0!c�c!9��| �e�.>��+! � x��:!A= � 2�/8�k�+(qzL�+2 � �0!967{<(+/7(4M2��^N�!E;9!)yP/Q�:> � *�*A68/8-.!9�:/72���(��+2 i2<2�* �n*A�:/7\H/ �E!9�+/82��A(.�A� L L L =

0 , ��� � s 4�� �&��$ ,�x � � !#\KxA�.6 � /7|���/7}��#N#2#(��� � 2��%�./8�+!A�S!#��| � !#�A/8(+> � x�*A�"!c=#��\D*��+2I;</8��$'N�!E;9!*b�&�%4M2��%\B!9��-.�D�:>��%2�x�$�>`(%�.\H!#�k�:/8-B/8��67/8��/7��$�=@� �K� T��.-">���/7-E!#6�9^�&*b2��q� 9 � � > � > �A�> s�sc=

0 , ��� � s�s 4�� �&��$ ,�x � � !9\Kx��.6 � /8|���/Q}���N#2�(��� � 2��%�./7�:!A�0!9��| � !#��/7(+> � xA*A�"!A= � �D-./7�.�k�^(+x�*<z*b2#�%��4M2���-.2�\D*�68���O��x�\JWb�&�+(P/8�lN�!E;9!A=5��� /1& � �2�2�2�4�(�V1 �'3;� � �e5q34& � � � 3�� 3�� = 31�� � � > sVs�sA=

0 � � � s 4 OG= �g2�(%>�/��&2c�9�'Tj= � !9�:(%x�\H29�:2��^!#��|=OG= �^/8�+!#��/�= � *,�.-&x�6�!9�+/7;#�_*0!#�+!#6867�.6^�1�c�.-&xcz�:/72��_2��RN 7 � =0L > � � (;� � � � � 9%�- � � � �@�(�V1 � ��� ���N�H$ -'( 3�� ��� � ��� � = 3QE 3���B � � 9& � ��� > �J����$#� � �&*A�:�&\KW,�.� > s�sc=

s t

0 � � � A s 4 OG= �g�.67/8-"�~�) �= � �&\H�&� �E!9�+2�� � = � /8�9�#� � = � /7{k!9\H2#�+2�� � = /8W�67/7�E� � = Oj�+/8(%>��0!Sz\Kx��q�:>k{�� � =��^/86�����$��.�&� � = � �:!#>0!9\m� ;K= � !E{�� � = � 2�67�.676�!A�e!#��| � = � /7�#�.�e=DTV/Q�"!Sz��/8xA\ � � >�/8$�><z�*,�.�%4M2#�+\H!#��-.�ON�!E;#![|�/8!#68�&-&�.=���� /1& � � � � 9%�- � � � � �(�V1 � ��� �� �H$ - ; ( 3�� ��� � ��� � = 3�E 3�� B � � 9 & � ��� > �J����$#���^�&y �g2��+�~��� � >%L L �#tA� 53� � � > s�sA=� �K� � �+�&(+(&=

0 � � s >�4 �3!#�A( �e/8\H!B!#��| � !9�+W0!#�+! � >0!#*�\H!#� =4� > �\3�� = � ���=� 7 3�� � ��� ���(� � �V7 7 3 7 � �e5 1V3 = � � �= � ��� > �43�� �1= � �K� � �+�&(+(&� > s�s > =

s�s