14

Tail call elimination on the Java Virtual Machine

Embed Size (px)

Citation preview

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

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

�������

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

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

��������

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

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

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

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

���������

� ����������

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

���������� ������� � ����� �� ��� ��� � ������ ������� ����������! ������������ �������� ��� �� ������ �� ��������� �� ������ ������ "����

���� �� �� �#�� ������� �� ����������! �������� $������ ��� �� �%�

���� ��� ����� �������������� ������ ���� ���� ����������! � �����������$���� �������� ��� ����� ����������� ����� ��������� � ����� �� �������

�����

&����������� ��� ��� ���������� �� ��� ��� �������� � ����� ��'�����

���� ������� ��� ��� ����� ������� (��������� ! ��� ��� ���� ���������� ���� �������! �� ������������ ������ ��� �� ����� ������ ������ ����������! �� ��� ������ ����%��

"� ��� ����������� ������ ��� ��� ���������� �� ��� ������ ���������)��� ���� � ����� ��� ������'�� $� ����! �� ���$� ��� ����� �� ���� ��*�

�� � ������� ���� �� ������ �������% �������� &� �� ���������� �� �������$��� $ + ,������ - � ����� $� ��� ��� ���������� �� ������! ����.

���� �� ��� ������� ������� � ������/ ,������ 0 �������� %��$� ������'��� ��

�������� ��� ����! ���� ��� ������'�� �� ���� � ��������� ������� ����

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

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

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

��/ ,������ 1 �������� ������ $��%/ 2��� ! ,������ 3 ��������� �� ��%� ����

����� $��%�

� � � �������

���� �������� ���������� �������! � $��� � ���� ��#���.�������� ��.

����� ��%� ,���)�%! �� ��� ������� ����� � �����.�� ���������� 4�����.

���� �� ����� ������� ��� ��������� �� ��������� �����! �� $���� ��� �$�

���������� ����� ���� �'������� �� ����! ��������� ����! ��%� � ����!

������� ���% ���� $���� ����� �� ����

�� ����������� $���� �� ������� ���� � ����� �������5 ��������.

������ �� ��� ��� ����������! $���� ������� ���� ��� ���� �� ��� ��������

$��� #����� &��������� ! ��� �� ��� �� �� �� ��� �������� � �� ����� � ���

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

� ��������� ��� ���! ��� �� ��� $���� ���� ��� ������� �� $���� �� �������!

�� ����� �� ��������� $������ � %��� � ������� ��� ��� ����� ������!

� ���� ����� ������� ������ #���� $����� ������� ��������� �� ������

��� ���� ���������� �������! ��� ��� ���� $���� �� ���� �� �������

����.������� ����� �� ���������� )�������! ���������� ��� ��������� ���

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

)�� �������� �� ��� ��6����� �� ��� �������� ����������� ������� �

������ $���� �������� �3� �� ���� �� ������� ������� �� � ��� �7�� )���

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

�������� ���% ����� ��� � ����! ���� �� ��$ ��� $���.%��$� ������� ����

�������! $���� �������� ��� 2��� ���� ������� ���� ��� ������! �� �� $������

�� ������+

��� ������� ������ �� + 8�����! � + 8������ + 8����� 9 ����� � ���� ��� 9 �

��� ���� ���! ��� 9 ������� ���� ���! ��++��

)�� ��� � ���� ������� �� �������� � ������ ��� �� ��� ��� � �������

� ��� 2��� ����! �� )��� ��� � ������� � ����� ���� ������� � �������� �

���� ������� �� ������ ��������� �$� ��������+ ��� 2��� ���! ���! �� ����� �

��� ���� �� ���� / ��� ������ ���! ����! �� ����� � ��� ���� �� ��� ���� ! $���

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

�� 2��� ����� �� ����� ���� ��� ��� ��� ��� �� ������� ���� �� ���������:

�� �� ������ $��� ������� �� � ��� ���� $���� �� ��� ���:��� ��

�� ��� ����� �� ����� �� ��� ��� � ��� �������5� ���� �������� &� �����!

��������! �� ������� � ������ ����� ;�$����! � � ������ ��� ��� �

�������! ��� ����� ��� ��� ��� ��������� ��������� � ������� ���� �� �� ��

������ � ������ � ��� ����! �$� � $���� ��� � ������ ����� ��������

;����! ������ ��� ��� ���������� ������ ��� �� ��� �������� ��� ���� ��

������� ��%��$� ������ �� ��'����� �� �%� ������� ������� ���� ������

-

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

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

� ���� &� ��� �������! ��� ������� ���� ������� ����� �� �������� ��

$ ��� ��� ��� ��� ��� ������� ���������! �� ����� �� �� ��������

������� � ;�$����! ����� �� ��� �� ����� � ����� ��� ������� ��� ����

�� ��%��$� ������� ��� �����! ������'��� ��%� ��� ���� ��������� ���� ��

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

&���� ! ��� ���� ���������� ������ �������� ��� ����� &� �-�! <�����!

=����� �� >������ � ���� $� ��� �� ���! �� ���� �� ��� ���� ��.

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

(��������� ! ����� ��� ����! ���� � ��� ���� $� �� $�� � ������

������ ��� ��� ����������! ������� ���� ���������5� �� &<�5� �� � �.

����� �������� ��������� ��� ����� )�� ����� ����� ����� �� ��� �������� �

���.���� �� �������� ���?���� $��� ��5� ���%.$�%��� ������� ���������

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

������ ������'��� ��� ���� �������� ���� ��� ��� �� �������� ������

��� ��� ��� ���������� ��� ����! ����� �� ��������� �������� @�

� 2��� ��� �� �� ��� ��� $���� ������ �� ��� ������� �� �� �������

������� ���� ����� ������ #���� �� �$���� ��������� ������ ���� ��������

)��� �� ���� ����'��� �� ���� �������! �� ������� ��� �������� ��

��� ��� $���� ���� ��� ���$ ������ ������ � ���� ��� A1 %���� ����

)��� ������'�� �� ��$���� �� ���� �� ������ ��� ���� ���� ���� ��� �

������ ��������� ��������! $���� ����� ��� ���� �� ������ ��6������ �

� ������ ������'�� �� �� ��� �������� �B�� � ��������� �� � �����

������� $���� �������� ���� � ����� �������� C�� ���� ��� ����� �������

$����� �� ��� ��� ������ �������! �� ���� ��� ��� �� ������� ��� �����

������� ��� ������� ����� � �������� �� ��� ���������! $���� ���� ���� ���

��� ������ (�������� ���% ���$�� �� ���� ������! ��� ���� ��������� ��

�������� ����! ����� ������ �� ��� ���� ��� � ��� ��������� �� ����

�� ������� ��%��$� ���������

������� $���.%��$� ������'�� �� ;��� <%��5� D@���� �� ��� ��)���E

�F�� "��� ��� ������'��! ��� ������ 2��� �� �� �� ��������� �� �����������.

������ �� �� �@4,�! �������� ������� �� ���� ���� ��� ����! �� �� ���� ��

�������� � ����� �� ���.����! $��� ��� ���% �� ���� �� ����?�$! ���

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

D$�����E � ��� ������ � ��� ��� ���%� �� ����������� ������� � <%��5�

������'�� �� ��� ��� ���% �� �� ���� � � �������� ������ �� ��� �������

��������� � ���������� ����� ���������:��������! � ������! ���

����� ����� ���������� �� ��������� #��� ����� ��� ���% �� �����%! �� �����

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

0

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

�������� ���� � ��� ������'��� ��������� ���� $��� �������� ����������� @ � ����� ������! ��� ����� �� ����� $������ ��� ���� ������� ��

��� ���� ��� � ����! ������� ��� ��� ���� ��� ��� ������ �'���������� @5� ������G������� ��������! ��� ����� ����� ��� ���� � ������� ��

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

(���� ��� ���% � ��� ���� ��������� � ���������� ����� ���������!� $��� <%��5� ������'��! �� ��� ������ $��� ��� ���! ��$����! ������ ��

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

<%��5� ������'�� �� ������������ ���� �����������! ������ �� ��������

��� ��� ������ $��� �$ � � ����� �� ������� ���% ����� )� ��� ��� ����� ��� � ��$ ���� ���$��$� @4, ���������� $���� ���� �� ��� ���!

$� $���� �������� ������� ���� �� ������ �� @4, �� ��! �� ������!

�� ������� ��� � ������� ���� � ���� ��������� )�� @4, ������� $����� ����� -3 ����� ���$�� ��� ��� ������ �������� �

,���� ��� ������� ������ �������� ���� ��� ������ ��� � ������������!$� ��$���� ��� �������% ������� �� �� �� ���.��������� �� ����� ��

��� ������'��� $� ���� �� ��� �� ��� �������� �� ��� ������ (��������� !��� ������� $��� ��� ���� ������+ ��� @4, ������� $� ����� -H ����� ���$��

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

&� ������ �� ����� ��� ��� �������� ������� ��6��� ��� ��� @4,

�����������! � �� ������� �$� ���.��� ���� $���� ���� ��� ������� �

������������! �� ������ ����� I�����������! ����� ������� ��� ��� ���������� �� ��� <%��5� ������'�� �� ��� ������ �������� �� ������ ��� ����� "�

�������� ������� ������ ������'��! ��������� �� ��� �� � ��������

"� ��� ��� ������ ��� ���� � ��� ��������� ������'�� �� ��� ���! ���<%�� ������� ���$��$� � -J0 �� ��������� ���� �� @� @���������� ���

$��� ��� ��������! ���� �� ��%��$� �������� �� ������� ������� ��������

�� $��� �� ���� �� ,������ 0�0�! $� �� ���#������ ��� �� �� ��� ���$��$�$���� �� ���� $�����

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

8��5� �%� ������ ���% � ��� ���% ���� ������ � ��� ��6����� ��� ���

������������� �� ������� $� �%� ��� ���% ���� ������ � � ���������

������������� �� ������ ������ $��� ��� ��� ������������ <��� ������������ ������'�� �� ��� ������'�� � ��������� �� �������� ���� ���

$��% $��� ��� ������� ���% ���� ���� � �� ������� ����� � �����<%��5� ������'�� ����� ��� ������� ����� � ���% ���� ��� ��'�����

������������� ���� �� ��� ��� �� ������� ������������! �� ��� ��� ������

���% �� ��� ���� �������� ��� ���������� �� ��� ������� ���� ��������

� ��� ���� � ��� ����� ����� ������� ����� �� �� ���� ��� � !�� �� "

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

1

4�������� �� ��� ��� ����������� � ��! �� ��� ����� ���! ��'����� ���%

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

)�� ���������� ������ ��� ��� ������'�� �� ��� $� �� ���� ����� ��

���� � �������� $����.��� ���% ���� $���� ����������� �� ��� ���.

���� ���������� � ������������� ����� � ���� � F ����������� �� ���

��������� ������'��� ;����� ����� ���� ������ ��������� ��� ��'����

�������������� ����� ���% ��*�� "��� ���� � ��2��� ! ��� ������ ���

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

K�� ������'�� ��� ��$ ������� ������� �� �� ��������� )��� ����.

���! ����� ��� ���� ���� ����� �)@@�! %���� ���% � ��� ������ � ����������

��� ���� �������� �� ��� � ��� ��� ���%� )�� ��! ��� ���� ��� ��� ��

���! ��� ������� )@@ ���� ��� �� ����� �� ��� �����! $����� �� ���.���

����! H �� ������

)�� )@@ �� ���� �� ������ $��� ��� ���% ������ �� �����%+ � ��� ��.

������� � ���� �������! ���� �� �������� �� ����% ��� ���� ��! � �� �� ����

���� �����2��� ���� ���� ����� �)@8�! ��� ������� ����������� �� ����� ��

�������� �� ��������� D$�����E � ��� ������ � ��� ��� ��� �����

��� ���� �� $��%! ���� ��������� ���� ��� �� �� �� �������� � �� ���

��� ������ )��� ���� ����%� $������ ��� ����� �������� ����������� ��� ���

)@@ �� �'�� �� *���:������ ��� ���� ��� ��� �� ��� 2��� �� ��� ����:��

$���� ��� ��� ����������� �� ����%���

)�������! � � ��� ����� ������ � �������! $� ����� ��� �� �� )@8 ���

����� ��������� ���� �� ��� ���%! ����$�� � � ���� ��� ���.��� �����

��������� ���� �������� ��� �� ���� ��� ��� ��� ��*�! $� ����� �

� ������� � ��� $���� ��� ���% ��*� � ���� � )@8 $��� ������� �� �

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

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

$���� �� ��� ������ � ��� ��� �� ��� ���� �� ����% ��� )@@ �� ���� �

&� ��� ���! ��� � ���� ������ � ���������� ��� ���� $��� ��������� ��

)@8 L F �� ��� #��� )@8 � �����! ��� ���� �� ��� ���������

)��� ����% ����� ���� �� ������ ������! �� � ���� �� �������� $����

��� ��� �������� $���� �� ��� ������ ��� ����! �� �� ��� "�� $� ��

���� ���������� ��! ��� ��! �� ��������� ��������� ����� � ��� �����

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

)�� ������ �������� �FF� �$ � ������� ������� ��������� ��� ���� � ������

���� ������������� )� ����� ��� �������� ��� ����! �� ���� ��� ������'��

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

&����������� ���� ������'�� �� ��� ��� �� �������� ���������$��! ���

��� '������� � ��$ �� �����% ��� ���% ������+ � � ������ �� ������� 0�F!

��� ���% �� �� �����% ������ ����� ���� � ������ ������������ �� �����

� ���������

,����%��� ��� ���% ����� ���� � ������ ������������ ���� ��� ���

3

������� ������� �� ��� ��� ���% ������ ��� ������� ����������� �� �������

�� �� ��� ������ )�� ����� $��� ����� ������ �� �� ��� �����! �� �� ��! ����� ��

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

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

,����%��� ��� ���% ����� � �������� ���� ��� ��� ������� ������� ��

��� ��� ���% ������ ��� ������� ����������� �� ����$� �� � � � ��������

)��� � ������� �� ��������� ����� � ��� ���������! �������� ��� ��

�������� � � ������� ������ ������� � )�� ��������� ���� ���� ��� ���.

���������

"� $��� ��$ ���$ ��$ ����� �$� ������ � ��� ������'�� ������� ����

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

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

�������� �� ��� ����� &� ������� ��� ���.��� ��� �� � �� ��� ��� ��� �� ��

��� �������!�!�� �� + ���! � + ��! � + � + � 9 � �� ����

"��� ��� ���% �� �����% ����� ���� � ������ ������������! ��� ����

�������� � ��� ������ �������� �� ���� ������� �� �'������� �� ��� ��

���� ����$:$��� ���� ����� ��6��������

K�#��� ������ ���� � ! K�#��� �! K�#��� �! K�#��� �� �

�� �� M )@8� �

K�#��� ��� 9 ������ � �� L F! �! ������ � �H! �! ���/

�� �� 99 H NN ��� �������� �������������

������ ��������������� �����/

� ��

������ ���/

� � ��

������ ��� ������������ ���� �!� �"�!���! �! �! ��/

"��� ��� ���% �� �����% ����� � ��������! ��� ���� ���%� ��%� ����+

K�#��� ������ ���� � ! K�#��� �! K�#��� �! K�#��� �� �

�� �� M )@8� �

K�#��� ��� � 9 ������ � �H! �! ��/

�� �� 99 H� �

��� � ������ ������� �� L F! �! ��� ��/ �

��� �@���������� � � ������ ��������������� � �/ �

� � ��

������ ������� �� L F! �! ��� ��/

� � ��

���� ��� ������������ ���� �!� �"�!���! �! �! ��/

)��� ���� �%�� ��� � ��� ������������ ����! �� ���� ��� ������ � ��

��������������� �����2��� ��������� � ����� ����������� � ����� ���� �

��� ������ ���.���� ����$�! ��� ���� �������� ����������� ��������� ����

A

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

@����������� �� ����������� � �������� � ��� �����2��� ������������

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

�����2��� ������ � ������� ������ ������� �� ���� ��������� )�� ���.

��2��� ��������������� ������� ���� ��� ����������� �� ��������! �� �

���� ����������� ������� ��� ����$�� ������ �����������! �� �� ��� ����%��!

�� �� �� ����� ��������� ���� ��� ����������� �� ��������� )��� ��� ��.

������ ���� �� ��� ������ � ���������������� ����� ! ��� �!� �"�!��� ��

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

� ������ � ��!������ ��� ��� ��"�

)�� ������'�� ��������� ���� �������� ���� � ������� ���� �� ���� ��*� �

�������� �������� &� ����� �� ��� � ��� � ��� ���� � ��� ��� ��� �����.

����� ������'��! $� ������� ��� ������� � ���� ���� ��*� �� � �������

���� �� ������� �� 2�� �������%��

)�� ������� ���� � �������%� �� ��������� �� ���� F� )�� ���� �����

����� �� ��� ������ � ���.���% ����� � ���� � ��� ��������� )��� ������

�� ���������� ����� �� �$�+ ��� ������ � ����� � ��� ������ �����! �� ���

������ � ����� �������� ��� ��� ������ D������ ����� E�

��� ��� �������%! $� ������� ��$ �� ���% �����%� ������� ���.

��� ����� � �������! ����� ��� ��� ����� )@8 � 1H� ��� ��� 2��� �����

�������%�! �� �����%� ���� �����! ������ ��� �� ��� ������ ������

���������� ��� ����/ ��������! ��� ���� ���� ��� � ��� ������� �������

� ��� ��� ��� ���������� ������'�� $��� �� �� ��� ����� �����

)�� ��� �$� �������%�! �� ��� ����� ���! �%� ��� ��� � ��� ����

�� ���� ����2� ��� ����� ����������� I����� ���! ������� ���%���! ���

��� ���������� ����� �� ������ �� ��� �� ����� �$� �������� &� �������!

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

������ �� ������ �� �� �6 �� ����� �������

"� ������� ���� ��*� ������� � ���%��� � �$� ������+ ��� ��*� �� � ���

� ��� �������� # ���� 2��! �� ��� ��*� � ��� ���� ��� � ����� ���� 2����

�� �� �� ���� �� ���� -! �� �� ���� ��� ���! ��� ��*� � ��� # ���� 2��

�������� � ������ ���� ��� 0HO $��� ��� ��� ���������� �)@C� �� ������

��! ������������ � ��� ������'�� ����� )�� ������ �������:�� �������:��

��� $�%� �������% �� ��� �� ��� ��� ���� ��*�+ $��� )@C �� ������ ��!

���� ������ �������� ��� �� �� ���� �� ��� � �������! �� �� ���� ���

����� ��*� �� �������� ������� �� ��� ������ ������ ��*��

&� ��� ����$��� ����� �� �����! ��� ���������� >C) �� ���� �� ���

������'�� $���� ���� ���� � ������ ������������ �� �����% ��� ���%! $����

��� ���������� CPI �� ���� �� ��� ������'�� $���� ���� � ���������

"� ������� ��� ���� � ��� ������'�� �� ����� � ����� �� ����� ��6�����

������ �������+ ,��5� ;��,��� @����� �� �F�0 ������ F�0�H�! &<�5� ��

�F�0 ������ ��F0H.-HHFHAHB� �� ��������5� ,Q= 1�H �� ������ 07H-�� ���

I�� Q���������� 8��� ����� ����� �� ,��%

�$� ����� ���� �����%�

K������ 4� ��� K������ ���� 1HH 3HH BHH H

C �� <���� FHH HHH �������� �.

������ � ��������! ������ ��!

������ ���

BH 03H 11H H

���� @������ 2�������0�� �����

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

0 H 0 H

R����� ,���� ��� 7 '����� �������

-H ������

1H 03H 0BH FH H-H

,��� <���� 3HH ����� � -3H �����

��������! �����.���� �����

FHH H FHH F1B 3HH

����� !

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

# ���� ��*� @��� ��*�

I�� )@C >C) )@C CPI )@C >C) )@C CPI

K������ -3O -�O 3�O 0FO

C �� -3O -�O A3O 03O

���� �HO �HO A3O 17O

R����� -7O -BO �0O 07O

,��� -0O -1O 1HO -FO

����� $

% ������ � ���� �� �

����������� $��� ��� �� AHH ��* 4������ ������� �������� "����$�

I) 1�H! � ���� �� ��� ��� �&������ $���� $� ������ �� ��� ��� ������

������� 8��� ! ������ � ���% ����?�$ �������� �� I)� ��� ��� �����.

��%! $� ������� ������ ���� ����� $��.����% ����� ����� ����� �� ��$!

�� %��� ��� ��� ���� ���� � ��� ������

������ F ���$� �������� ��� ����� � ��� ��� ���������� �� � ���.

���� ����! ����� ��� �$� ��6����� ������'��� �� �����% ��� ���%� �� $� ���

����! ��� &����� �������% ����� ����������� ���% ����?�$ $��� ���.

����� $������ ��� ��� ���������� �� �� ����� ��� �� I)� ��� ���� �����

������� $��� ��� �� 8��� ! �� ���� �� �� � ��� �� ���� �������% ��

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

)�� ��6������� �� ����� ���$��� ��� ����� ������� �� ��� �������� $���

7

&����&���� '���'��� �������� (��� �(��� � )��)����

����

����

����

<������%

C ��������������

������

������ ��

������ � �

���

��� ��

��� � �

���

��� ��

��� � �

���� !� *� � � ��� �� � � ���� ��� ���� ����� ���

��� ��� ���������� �� ������ �� �� ���� 0� �� ��� �� ���! ��� ���� � ���

��� ���������� �� �������! ����� ���� �������%� �� ��� ���$�� ��$� �

���� ��� F3O� @������� ��� �$� ������'��� �� �����������+ �� �������%�

$���� �� ��� �����% ��� ���%! CPI ����� ��������/ ��� �� �������%�

$���� �� �����% ��� ���%! >C) ����� �� ������ ������� "� �� ���#������

��� ���� �� ���� ��� �� ��� ������������� � � �������� �� ����+ ����� ��

�� � �������� �� ���� ��� �� ����� ��� ������! �� ��� � �������.?�$

��������! ��������� � ������� ������� ������ �� ���� $����� ����$���

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

,�� &<� ��������

I�� >C) CPI >C) CPI >C) CPI

K������ 3O HO F-O FAO BO AO

C �� 7O -O 1O 3O AO AO

���� HO FO �F1O HO �FO �FO

R����� �FBO �-0O �0O 1O �G �G

,��� BO �1O 0O -AO �F1O �O

����� +

)������ ������� �� ��� ���� ����� ���

,��� �������%�:���� &�����:���� ��� ���� $��� ��� ��� ����������

�� ������ ��� "�� ������ �� ����� ���� �� ��� ��� ��� ����������! �

���������� �����%��� ��� ���%! ������ � �������� �� ��� ��#���� $���� ��

����� �� ��� ���%! ������ �%��� ���� ��������� � ��� ����� ����������

B

)��� ������� ��� ���� ����� �� ��� ����� ���������! �� ���� ��� ��� ������

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

)���� �� �$� $ � �� ���������� ���� �������� )�� 2��� ��� �� �� ����

��� ��� $��� ������ ��� ��*�� ��� � ����! � ��� &����� �������% ��

������ $��� � ������ ��� ��*� � 3H ��! ���� ��� ������� $������ ��� ���

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

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

"� � ���������� $��� ���� ������'�� �� ��� ��������! ��� ��� ������� $���

������������+ ���� ������ ��� ������� $���� ����� ��� �������� ����� ����

���� ��� ��� ����� �������! �� �� ����� ���$�� ��� ��� ������� ���������

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

�� 2�� ����! �� ������ �� ��� ��� ��� ������� ������� � ��� ������

�������� ���� ��� ������� ����� ��������� ����� �� ������ �������! ��� ����

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

� ��� ���� � ������� ����� )�� ���� ������� ������ �������� �� �%��

���� � ��$�� ������ ��� � ��2������ ������ )�� ���! ���� ������������

$� ��� �� ���������:���� ����� ��������:$��� ������ ��� ������ � ����!

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

� # $����% ��� �%�� �����

�� � ������ �� ������� 0�-! ��� ������'�� � ��� ��� ���������� ������ ���

������ � ���������� ��� ���� �� �����%� ��� ���% $��� ���� ��� ���.

��2��� ������ � ���� ��� ���� ���� @������� ���������� ���� ����

�� ���� ��� ��� ����� �� ��� �� ! ����� ���������� �� �� �� ���+ �� ���

��� ���! ��$ ���� ����� �������� �� �������� ���% ����/ �� ��� �����

���! ���� ���� ����� �������� �� ���������! ����� ���� ���� �� ����

��� ���� ��� ���% �� �����%�

)� %��$ ��$ ��� ������ � ���� ����� 6���� ���������! $� �������� ���

!��� �������% $��� ��6����� ������ �� ������� ��� � ������� ����� )��

������� �� ��������� �������� �� 2���� -� �� ����� �� � ������! ��$ �����

�FH �� ����$� ��� ��� �� ����� �� ���������! ��� ���� ��� �����

����� �� ��������� � ����� � 1H ���%� ��%� ���� ���������� ���$��� ��$

���% ���� �� ������ �����������

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

"� ���%�� � ��� ������ � ��� ���� ����� � ��������� $���� �������

���� �� ��� ��� �� ����� �� %��$ ��$ ��� ���� $��� ��� ������� � ���

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

�8# �-� ��������� ��������� ��� ����! ��� ���� ��� �� ������ ��� ���

�����������

=$ �0�! ��%� ��� ������ ��������! �� � ������ �� ���� �� ������ ���

��� ����������� �������� =$5� ����� �������� ������ �� �������� ���

FH

��

��

��

��

��

��

��

��

��

��

��

��

��

��

��

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

)�� ��� �����

C ��������������

������ ��

������ � �

��� ��

��� � �

��� ��

��� � �

���� $� % ,�� �� �� ��� ���� ���� � �������� ��

���� � ��������� ���� ���������� ���� �� ��� ��� ������� �1�! ��� �������

������� � =$ ���� ��� ������ ��������� ������'���

"%�����5� ;�%��� �������� �� ��� ��� �FH� ������� ���� ��� ������

��������� ������'���

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

�������� $� ����� �� ��� ��� � �������� $��� ���� ������ �������! ��� ���

��� ���������� ������'�� ��������� ���� �� ������ ����� �� ������� ���%

����?�$� �� �� ������� �����

(��������� ! � � ������ �� ������� -! ������ � ����� ��� ��� �

��������! � ���� ������ ������� ��� ��� � �������� �� ��� ��� ���%�

,���� ��� ������'�� ��� ��������� ��� ����! �� ����� �� � ����� �� ������

���% ���� � ����� �����

K�� $ � �������� ���% ���� � ������ ������� $���� �� ���������

(���� ������'��� ������ �� ;S��*��5� ��� ������� ������ ������ �A�! ��������

����� ���� �� ������� ��������� � "� ��� �� ��������� ���� ������������

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

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

4������� �������! @�������� T�����! ������ T����� �� ��� ��� ���� ��.

����� ��� ��� ����� �����% ���� ��� �����

FF

��!������

-!. /� �� 0� "�#��1 ��� 2&3) ����� � 2&3) �� ������ �1 ��� %%4 2� ��� � �� �� �� 5��� ������ 1 �� ���� !667�

-$. 3��# "� � 1 � ���� 8� ���1 � � 0����� *������� 2������ � )� ���� �9 ����� ��������� % ����������� �� � ��� ������� ����������� ����������

�� ��������� ����������� ����� !"#1 ������ +7:!; �� ��� �������

������1 ����� !$6<!7=� �2�1 �� � !666�

-+. >�� "� ��� �� 8��� )���� ������ ����������������� ��������

������

-7. >�� "� ��� 8��� � �� ���4 2������ � )���� � ����� �������������

���� ������������������� �����1 3������� !66?�

-@. '��� 0����1 *����� /���1 *��� �� �� 1 � � �� ���������� $�����

������% ������� �� &����'�� (')��*(������ ���+���� ������ �A�����1!667�

-B. C�� /D�� ��� ���,�-� �,���.���� ��� ����% &���������� /�� ����������� +�

�0,������� ������������ >5 ����1 )� ���� C �������1 !667�

-E. ��� 9� ���� � � ��� # F���� � 1� 2�-� 3����� ������ �,���4������������ A�����1 ���� � ����� 1 ����� !666�

-?. ���� &����#�� � �������� �� �� ��� �� 3��� 9����� 3���1 �>>)'�)����� )����1 )������� $===�

-6. 5���� ������1 � ���� ������1 � � >��� 9��� 3� �������� ��������42������ � �� ���� �9 � 2� ��� ���� *���� 2�C�2)�6=�!?E1 )���� ��2������ )��� ��1 2�� ���� ����� C �������1 3������� !66=�

-!=. 5���� A�#��� �� 2������ � 9� � �� ��� �� >������� ��� � ���� ���������� �� 2������ �� ��������� �����������1 6:B;4@E6<B=+1 3������� !666�

-!!. ����� G� ��� � � ����� )�� � �� �� �������� ������� ?� �����

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

F-

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

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

)�� ������������ ���� ����� ������� �� ��� �������� �� �� �� �������� &�

�� ���� �� �� 1 ������ ��������! �� $��� ���� �������� �� ��'�����!

��� �� ����� $����� �� �����! $���� �� ����� � ������ ��������

)��� $������ �� �� ���� �� ��� ������������ ����! ��� �� ��� ���� $����

���� ��! �� �������� ���� ��� ���� ����$�

)�� ������������ ���� � ����� ��� ������ �� ���� ����'�%�� ��

��� ������������ �� �� ����$� $��� ��� ���% �� �����% ����� � ���������

�����$��� �-�! $� ����2�� ��� ����(�!�� )��� � ������ �� ���� ������ ����

������� ���% ���� ��� $��� ����� �� �����

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

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

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

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

������ ��������� &������� �������' �

������������ ( ��������

��������� ( )�

*

������ ��������� &������� �������" �� ��� ���!' �

������������ ( ��������

��������! ( ���!�

��������� ( !�

*

++ ��� ����������� �� #" $ �� % ����,��� ��� ��,�����

������ ��������� ���-���������� &' �

����� �����

*

*

&������� !�������

)�� ������ � �������� �� ���� �� ��� �������� �� �� ��� �������� �

�������� ��� ��������� ! $� ��� �������� ���� ��� ��� �� ���� �� ���

��������� I����� ��� � ��� $��� ���� ���� ��� �� ��� ��������! �����!

���� ������ ������'��� ����� �� ����! ��%� ��� ��� � �8# �-��

)���� �� ������ � ������� �� �������� �%��� H ��������! ��� ��

�������� �%��� F �������! �� �� �� �� ����� �� ��� �������� �� ��� ���.

���� &� ��� ���� ����$! ��� ������ � �������� $��� F �� 0 ��������

�� ���$��

@������� �� �������� � � ������� ���� ! $���� �� � ��� ���� � ��� ����

�������! �� � ������������

F0

�� ��� �������� &�� ���" ������� �" �� ��� ���!' �

������ &������' �

���� #.

����� ! &��� / !" ���0" ���!'�

���� !!.

����� # &��� / !" ���0" ���!'�

++ ��� �� �� � ���

*

*

�� ��� �������� &�� ���" ������� �" �� ��� ���!" �� ��� ���#" �� ��� ���$' �

������ &������' �

���� !1.

����� ��,���� &��� / !" ���0" ���!" ���#" ���$'�

++ ��� �� �� � ���

*

*

# � ��� �������������� !������

)�� ��������������� ������� ���� ����������� � ������� �� ������

�� �������� ����� D���E ������ ����� ��������� ���� ��� ������������ ��

��������! �� 2��� ������ ��� �������

)���� �� �� �� �$� ��6����� �������� � ���������������! ��� $����

�� ���� $��� ������������ �� ��������! �� ��� $���� �� ���� $��� ������.

������ �� ����$� � � ��������� K�� ��� 2��� ������� �� ��������� �����

�� ��� ������������� &��������� �' �

�� ��� ����

����� &����' �

������ &������' �

���� ).

��� ( �������� &!" ���������'� ������

���� !.

��� ( �������� &!" ���������" �����!'� ������

++ ��� ����� �� #" $ �� % ����,��� ��� ��,����

*

� &2 &��� ������� ���������''

������

� ( &���������' ����

*

����� ����

*

F1