24
ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis in Reverse-Mode Automatic Differentiation Laurent Hascoët — Uwe Naumann — Valérie Pascual N° 4856 Juin 2003

TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

  • Upload
    vannhu

  • View
    229

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

ISS

N 0

249-

6399

ap por t de r ech er ch e

THÈME 1

INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

TBR Analysis in Reverse-Mode AutomaticDifferentiation

Laurent Hascoët — Uwe Naumann — Valérie Pascual

N° 4856

Juin 2003

Page 2: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis
Page 3: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

Unité de recherche INRIA Sophia Antipolis2004, route des Lucioles, BP 93, 06902 Sophia Antipolis Cedex (France)

Téléphone : +33 4 92 38 77 77 — Télécopie : +33 4 92 38 77 65

����� ����� ���������������������������! #"�$%�&��'�(�"�)*�+(���,- � ./�����0��(��1�2(��1"��

3046587:9<;>=?%46@:A<B�CD=FEHGJILKM9/N%465�OP4Q;8;SRG8T�4QUWVD7YXZ9/[\46@YAD5S46UWE

]�^!_�`babcedgf�h:ija:kmlonpa1qrijsoitqu_�`ba:ivSwuxzyta1q0]�wjxD{}|�~�i

f0km{}{6xmwjq��}aewua:~�^!a�w�~�^}a��6���<�D�z�/d��zl}|����z�m�D�2d��oce{!kz�Da:i

����:�����}�m�m� ]�^}a�kzl}qjxm`�kzqj|�~��ma:�}a�w�k�qu|�xD��xz��kD�Fytxm|��<quixz��`�kzqj^}a:`bkzqj|�~�km�e`bxo�oa:��ipqj^!kzq�kmwja/|�`M {!��a:`Ma:�<qja:�¡kDip~�xm`b{}loqua�wp{!wjxD�mw�kz`�ib|�ipwjaY~1a:|�¢£|��}�¤k¥|��!~1wua:kDi¦aY�§kzq¦qua��<qj|�xm�¡|��¨qj^}a©ij~�|�a:�<qj|�ªQ~�kz�Q�a:�}�m|��}a:a�wu|��}�¥~�xm`b`�l}�!|«qu|�aYi�¬­f�a�¢Da�w�i¦a� ®`bxo�oa�¯0loquxm`�k�qu|�~�°\|�±6a:wja:�Dqu|�kzqj|�xm�³²Z¯\°e´L|�iLxz�+{!kzwjqj|�~1l}��kzw|��<qja:wjaYitq��µxDw���kzwu�ma� ¶iu~�km��abxm{}qj|�`M|�·:kzqj|�xm�¥{}wuxm¸!��a:`bi:¬�¹¶qMkm����x�º0i2�µxDw�qu^}a~�xm`b{}loq�k�qj|�xm�¥xm���mw�km�o|�a��<quikzqeki¦`�kz���8~1xm�Qitq�kz�<q\`»l}�«qu|�{!��aMxz�Squ^}aM~�xDi¦qr�µxDw\a:¢Fkm��lQk�qj|��}�pqj^}aMxm¸oytaY~ qu|�¢Da��µl}�!~1qj|�xm�/|«q�i¦a:�«�t¼6qj^Qk�q+|�i|��!�oa:{Qa:�!�oa:�Dq+xz�Squ^}a��£l}`»¸Qa:w\xm�J|��!{}loq\{Qkzw�kz`ba1qua�w�i�¬\½oxml}w�~1a� Wquxz ¾i¦xDl}wu~�aeqjw�kz�!i¦�µxmwu`�k�qj|�xm�%qux<xD��i0�µxmw¯\°³kzwuaekF¢�km|���kz¸}��a0quxb�ma��!a�w�k�qjaekm�FytxD|��<q0~1xo�oaYi¿¸!kmija:�pxm�Lqu^}a2km�FytxD|��<q�¢ma:wuij|�xm�Lxm��a�¢Da�wus�itq�k�qja:`ba��<q:¼¸!l}|���q\¸£s�kz{!{}��s£|��}�pij|�`b{}��a»�}|«±Àa�wua��<qj|�k�qu|�xD��wjl!��aYi�¬r¯Áwja:¢ma:wuiukz�>xm�Sqj^}aM~1xm�<quwjxD�ÃÂ!x�ºÄxz�8qu^}a»xDwj|��m|��!km�{!wjxD�mw�kz`­¸QaY~1xm`baYi8�}a:~�a:iuijkmwjsD¬�]�xe�mlQkzw�kz�<qja:a�~1xDwjwua:~1qj�}aYiji:¼�~1a:w¦q�kz|���¢�kz��l}a:i�qu^!k�qÅkmwja¿~1xm`b{}l}qja:�Mkz�Q�x�¢Da�wuº�wj|�q¦qua���|���qj^!a�xmwu|��m|��!kz��{}wjxD�mw�kz`�`�l!i¦qe¸6a�`�kD�oa»kF¢�kz|���kz¸}��a�|���qj^!a»km��ytxm|��Dqe{}wuxm�mw�kz`�¬r]�^!a�s~:kz��¸6ap�oa1qua�wu`b|��}aY��¸£sH{6a�wj�µxmwu`M|��}��k�i¦qukzqj|�~L�}k�q�k%Â!x�ºÆkz�!km��soij|�i:¼Ãqu^}apijxz ¾~�kz����a:�©]�Ç¿fÆkm�!kz��soi¦|�i�¬È ¢Da�wua:i¦qj|�`�k�qj|�xm��xz�6qj^}|�iJija1qS`�l!i¦qJ¸6a�Éma�{}q8`b|��}|�`bkm�oqjx2�Da1qSa1ÊL~�|�a:�DqÅkD�Fytxm|��<qJ~1xo�oa:i:¬ Ë}xmw8`�kz�£s�wua:km�« º¿xmwu���km{}{}��|�~:k�qj|�xm�Qi�¼£qu^}|�i0a1ÊL~1|�a��!~�sL|�i0~1xD`M{!l}��ijxmwus�quxbkm{}{}��skbijxml}w�~1a� Wquxz ¾i¦xDl}wu~�a0quwukm�!it�µxDwj`�kzqj|�xm�ijl!~�^�kmi�¯\°�¬Ì�Í<ÎÀÏuÐ�Ñ ��Ò��m� kzl}qjxm`�kzqj|�~e�}|«±Àa�wua��<qj|�k�qu|�xD�ü!kD�Fytxm|��<q:¼}�DwukD�o|�a:�<q:¼}i¦quk�qu|�~2km�!kz��soi¦|�i:¼}�}k�q�k� ®Â!x�ºÓkz�Qkz��sD ij|�i�¼}~�xm`b{}|���kzqj|�xm�

Ô�ÕQÖZ×�ØWÙ¾Ú�ÛoÖW× ÜYÝßÞ¦à¦á�âµã�äÃâæå©ç:× ÜFèFÝêéuëæå�ì�ÚWÝßÜz× íßÝßàîSï éuÚ®èFÙtð0éuÚWÝßÞJé�ìFñ2òÀ× ð�ÜFó:Ú®ÙtÖ�ç:ÞtÝßÙ¦ìYÞ¦ÙJô�Ý õYÝßàWÝß× ì<áFå�ÖWö × ìFìYÙ�ã�éuÚ®Ýß× ìFé�í£÷oé�øz× Ö®éuÚW× Öµù�ámå�ÖWö × ìFìYÙ1ázâæ÷Mú û�ü1ý þYázÿ8ç�å

Page 4: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

����� ����� ����� �¿( �»'�(������������1�b����� �>(��2(�� � '���� "�'� 1� )*"�$%� �:����������� $%� 1� - � .©�����0��(����+(���"�� ��'�(�"»)*�+(�� � '�

��� ���� � �� kr�mh��!h�w�k�qj|�xm�2kmloqjxD`bkzqj| �<l}a��oa¿~1xo�oaYi�kD�Fytxm|��<qui�~1xm`b`ba��Q~1a��r|��<qjh:wjaYijija�w�i¦h:wj|�a�lQi¦a:`Ma:�<q��ar`bxD�!�oa\�}lp~�km��~�l}�6iu~1|�a��<qu|«ª��<l}aD¬��S�L{!kmw¦qu|�~�l}��|�a�w���ae`bxo�oa��1|��£¢ma:wuija��¿�oa\��k»°r|�±Àh�wua��<qj|�k�qu|�xD�p¯0loquxz `�kzqj| �Dl!a�a:i¦q\|��<qjh:wjaYijiukz�<qr{6xml}we��a:i\{}wjxD¸}��_�`ba:i\��� xD{oqj|�`b|�iuk�qu|�xD�H�oaM�mw�kz�!�}a2qukm|�����aD¼>~�kzw\|��8~1xD�!i¦qjwul}|«ql!�{}wuxm�Dwukm`b`Maekm�FytxD|��<q��<l}|Ã~�km��~�l}��a+�oaYi��mw�km�o|�a��<qui��»l}��~1x��}q��<l}|>aYitq�l}�%{Qa�qj|�q0`�l}��qj|�{}��a2�ol%~�x��oq�}aM��kp�µxm�!~1qj|�xm�H|��}|�qj|�kz��am¼Ãa�q��Dl!|S�}aM�}h�{6a��!�©{!kDie�}l/�}xD`�¸}wuab�oa»{Qkzw�kz`b_1quwjaYi��%k�ytl!i¦qja:w:¬�¹¾�Sa1no|�i¦qja�}a:i�xDloqj|���ir��xD�m|�~1|�a���i��oa2quwukm�!it�µxDwj`�kzqj|�xm���oa�{}wuxm�Dwukm`M`baD¼��Dl!|Ã�mh:�}_�wua��<qr~1aYi�{}wuxm�Dwukm`M`baYi�km�FytxD|��<quia:�Hloqu|���|�ijkm�Dq+��kpwu_��D��aM�oaM�}h�wu|�¢�k�qu|�xD�/�oaYi\�µxm�!~1qj|�xm�!i+~1xD`b{Qx<i¦h:a:i:¬ a»`bxo�oaM|��£¢Da�w�i¦aM�oa�`�kz�Q�oa��<l}a~�a�wjqukm|��}aYi�¢�kz��a�l}w�i0~�km��~�l}��h�a:i��!kz�!i���a2{}wuxm�Dwukm`M`ba+|��}|«qu|�km��ijxm|�a��<qr�o|�i¦{6xm�}|�¸}��a:i0�!kz�!i�� � xmw��owja+|��£¢ma�w�ija{6xml!w\��a»{!wjxD�mw�kz`b`ba�km�FytxD|��<q:¬"!�aYi\¢�km��a:l}wui\{6a�l}¢Da��<q�#�qjwuaM�oh�qjaY~ qjh:a:i\{!kzwel}�}abkz�Qkz��s£ija��}kzqukz WÂ!x�º2¼i¦qukzqj| �<l}am¼>�ol/{}wjxD�mw�kz`b`ba2|��!|«qu|�km�W¼$�<l}a»�}xml!iekz{!{Qa:��xD�!i���]�Ç�f"��¬ aYi\ijl}wj ¶km{}{}wuxFn£|�`�k�qu|�xD�!i��oab~1a1qa:�!ija�`�¸!��a+�oa+¢�kz��a�l}w�i�i¦xD�Dq�|��}h�¢£|�qukm¸}��aYi�¼o`�km|�i¿a�����a:i��oxD|�¢Da��<q�#�qjwua+wjhY�ol}|�qja:i�kml`b|��}|�`»l}`�{6xml}w��<l}a��kL�o|�±Àh�wua��<qj|�k�qu|�xD�Hkzloquxm`�k�qu|%�<l}a»i¦xD|«qel}�}a»km{}{}wuxo~�^}a2¢£|�km¸}��a»{QxDl}wr� � xm{oqu|�`b|�ijkzqj|�xm�H�oaMi¦soi¦qj_:`MaYir�oaq�kz|�����a+wjh:a�����aD¬&ÁÑ �Y� Ï ��' � �¤� �}|«±Àh�wua��<qj|�k�qu|�xD�¤kzloquxm`�k�qu|%�<l}aD¼�kD�Fytxm|��<q:¼8�mw�km�}|�a:�DqY¼�km�!kz��soi¦aYi�i¦quk�qu|%�<l}aYi�¼Skm�!kz��soi¦aYi�!k�qukz WÂQx�º2¼£~�xm`b{}|���kzqj|�xm�

Page 5: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

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

��'�(�"»)*�+(���,���: �"!��0������+(���$ � $$#>"»����(��%©aH~�xm�!ij|��}a�wpk¥~�xm`b{}loqua�wL{}wuxm�Dwukm`'& a�¢�kz��l!kzqj|��}�¤k�¢maY~ qjxDw��µl}�!~1qj|�xm�)(+*-,/.1032�4¿º�^}a�wua5,768 9;:=<'8 9;>@?BArijl!km����sm¼�& |�`b{}��a�`ba��<q�i�qj^!a�`�k�qu^}a�`�k�qu|�~:kz��`Mxo�oa:��xm�Sijxm`ba�l!�!�oa�wu��s<|��}��wua:km�« ¶º�xDwj���km{}{}��|�~:k�qu|�xD�%km�!�p|�q0|�i�wja��µa�wuwjaY�LquxbkDi¿qj^}aC�����ED��F����!~�xo�oam¬

&�|�i�kDijijl}`ba:�pqjxL�}a:~1xD`b{Qx<i¦ae|��<quxLkMija �<l}a:�!~1a+xm��iu~�kz��kzw�kDijij|��D�}`ba��<qui¿xm��qu^}a+�µxmwu`

GIH *KJ H . GML 2 LINOH 4QP@*SRM4T?�?T?�41UWVYXZ4 ²tcY´

º�|�qj^§a:kD~�^¤¢�kzwu|�km¸}��a G H kDijij|��m�}aY�¥xm�}��s¥xm�Q~1am¬ �Jkm~�^[J H |�ibijxm`ba%|��<qjwu|��!i¦|�~©²µ|®¬ aD¬�¼�`bkzqj^}a:`�k�qj|�~�km��´�µl!�!~ qu|�xD�pxmw¿a���a�`ba:�Dq�kzwus�kzwu|«qu^}`ba1qj|�~0xD{Qa:wukzqj|�xm�L{!wjx�¢£|��oa:��¸£sMqj^!a\{}wuxm�Dwukm`b`M|��}����kz�!�ml!km�ma�qu^!k�q\&|�i\º�wj|�q¦qua��H|��ì2¯0`bxD�}�Lqu^}a G H ¼6qu^}a»��kmi¦q$X wua�{}wua:ija��<q0qu^}aMxmloqu{}loq+¢Fkmwj|�kz¸!��aYi]()^_8 9`>@?ý£|�`M|���kzwu��squ^}aba§|��}{!loquiW0c^[8 9`:©kzwuabwja:{}wua:ija��<qjaY�H¸£s�¢�kzwu|�kz¸}��a:i GML �µxmwed_*�fg4�?T?�?�4TR$hiaj?k%©aLijkFs�qu^!k�q�k¢�km��l}a GIHCl �nmg��� l �@�F�o� l � p��������Oqr�s�ut�v�/w����¼QxDw l �xmy��� l � ¼6xD� GML ¼6km�!��º¿a2º�wj|�qja GMLbz)GIH xmw$d z PQ¼|�±�qu^}a2{!kzwjqj|�kz�>�oa:wj|�¢�k�qu|�¢Daexm� GML º�|«qu^�wjaYi¦{6a:~1q¿qux GIH |�i0�oa�ª!�}a:�ìJË}xmw�a�n}kz`b{}��am¼o|��pqu^}a�kmiui¦|��m�!`Ma:�<q{}|T~������O� ��|T~ �y�B� ¼Qº�|�qj^ { ¼ � ¼�km�!� � xm��qts<{6aLwua:km�W¼�qj^}ap��a��æq¦ ¶^!kz�!�¥ij|��oa {}|T~�� �oa�{6a��Q�}i�xD� � kz�Q���|T~��y�O� ¼J¸!loqL�}xzqLxD� ~ �}xmw � ¬K�0a:wjaD¼ z$� �oa��}xmqjaYiMqj^}a�quwukm�!i¦|�qj|�¢ma�~���x<i¦l}wua�xz�\qj^}a�wua���k�qu|�xD� z ¬Ë!l}wjqj^}a:wj`bxmwuam¼£º¿a2kmiui¦l}`baeqj^Qk�q�qj^!a2��xo~�km�>{!kzwjqj|�kz�Ã�}a�wu|�¢�k�qu|�¢Da:i

��H�� *�� J H� G �

. GML 2 LINOH P�^ZRu4�?T?�?�4rUWV�X_4�� z Pu4 ²W�m´

kmwja�ytxm|��<qj��s~�xm�<qj|��£l}xml!i¿|���i¦xD`Ma+�}a:|��D^£¸QxDwj^}x£xo�Lxm��qu^}a�|�w0kzwu�ml!`Ma:�<qui G L 4Od z PM?QË}xmw�a�n}kz`b{}��am¼� {}|�~��� �

* ��|�~��y�B� �µxmw {}|T~�� �y�O� ��|�~��y�B� ?%¡|�qj^pqj^}aYi¦aekmiui¦l}`b{oqu|�xD�!i:¼Dº¿a\~:kz��l!ija\kmloqjxD`bkzqj|�~0�o|�±6a:wja:�<qj|�k�qj|�xm�/²Z¯r°+´�� �Q¼<�o¼O�T�6qjxM~1wua:kzqjarkm�

kml}�m`ba:�Dqua:�+¢Da�w�i¦|�xm�2xm�O&§qj^!kzq8~�xm`b{}loqua:i�kz�!��~�xm`»¸}|��!a:i>qu^}a:ija¿��xo~�km�m{!kmw¦qu|�km�<�}a�wu|�¢�k�qu|�¢Da:i�km~�~�xmw��o|��}�quxpqu^}aL~�^!km|��/wjl}��am¼�wja�qjl}wu�}|��}�%ijxm`bab�oa�wu|�¢Fkzqj|�¢maYirxm��,b¬M¹¾�/{!kmw¦qu|�~�l}��kzwY¼Qqu^}a�wua�¢ma:wuija�`bxo�oaMxz��¯r°²Wi¦a:am¼Å�µxmw�a1n}km`M{!��aD¼���c:�o¼�½£a:~1qj|�xm�¨�}¬ ���µ´�~�xm`b{}loqua:i5� ln� ���F�Bqs� G L �µxDwLkz����|��<qja:wj`baY�o|�kzqja�kz�!�P|��}{}loq¢�kmwj|�kz¸}��a:i G L km~:~1xDwu�o|��}��qjxbqj^!a2wjaY~1l}wuwja:�!~1a

�G L *��H�� LINgH � H�L`�

�G H 4�db*�U�4�?�?T?�4TR�h_aj? ²Z�D´

¹¾�!|«qu|�km��|�·�|��}� G��� �¡ 4T?�?T?�4 Gu��  > qjx (�¼Dº¿arxD¸oqukm|��p|�� G�¢ 4T?�?T?�4 Gg¡�£ : 4Dqj^}a\¤¾quwukm�!ij{Qx<i¦aY�b�Dkm~�xm¸}|�kz��`�kzqjwu|«nqu|�`baYip¢Da:~ quxmw �{}wjxo�olQ~ q 0�*',�¥s.1032r¦ � (Ákzq~1xD`M{!��a�n£|�qts)§e.sXZ2�?�]�^£l!i�¼r�mw�km�o|�a��<quiLxz��k ij|��!�m��axDloqj{!loq»¢�kzwu|�kz¸}��a�º�|«qu^¤wua:ij{QaY~ q�qux/kz���Å|��}{}l}quiMkzwuaLxm¸oq�kz|��}a:�¥kzq»k�~�xm`b{}loq�k�qj|�xm�Qkz��~�xDi¦q�qj^Qk�q»|�i�kij`�kz���Q`»l}��qj|�{}��a+xm�Ãqj^}a+~1x<itq�xz��wjl}�!�}|��!��qu^}a\xDwj|��m|��!km�6~�x£�}a»²Zija�ab¨�©�����mªD���� l �s���Oq�mB���F�«¨�� mB¬��|��Z��cY� �µ´ ¬

!�xD�!i¦|��oa:wj|��}��a �<l!kzqj|�xm�L²W�D´ ¼Fº¿aJxm¸Qi¦a:wj¢Da�qu^!k�q�qj^}a�km�FytxD|��<qui�kzwuaJ~1xD`M{!loqjaY�2|��2wua�¢Da�w�i¦a8xDwu�oa:w>�µwuxm`db*YUM�}x�º���quxeR­heaj?�]�^£l!i�¼mqj^}a���xo~�kz�o{Qkzwjqj|�kz�o�oa�wu|�¢Fkzqj|�¢maYi � H�L `»l!i¦qJ¸Qa�`�km�oa�kF¢�kz|���kz¸}��a�|��bwja:¢ma:wuijaxDwu�}a�w2kmi+º¿a����W¬�]�^}a:|�w2¢�km��l}aYi2�oa�{6a��Q�>¼�^!x�º�a:¢ma�wY¼Àxm�©qj^!aM¢�km��l}aYi2xz��qj^}a�|��}{}l}q�kz�!�/|��<qua�wu`MaY�o|�k�qja¢�kmwj|�kz¸}��a:i G L ¼�º�^}a�wuapqu^}a���kzq¦qua�wLkzwua~�xm`b{}loqua:� �µxmw�d)*®Ru4�?T?�?�4rUP|��Pqj^}a�xmwu|��m|��!kz��~1xo�oaD¬§½£|��!~1a~�xm`b{}loqua�w�{}wuxm�Dwukm`�i�lQi¦l!km����sZ��� ����wj���Fq¯�0¢�kzwu|�km¸}��aYi�¼oijxm`ba GML `�kFsL^!kF¢mae¸6a�a�����xDi¦q�º�^}a��%qu^}a�s%kzwua

ä�ä ì�°}ü�±�² ú

Page 6: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

� �@� ��¨�����q����@���b���B�Z��� l�� ����¨ �O��

wua �<l}|�wua:��¸£s�qj^}a��oa:wj|�¢�k�qj|�¢maYi�¬�]�xHwua:~1x�¢Da�w2qu^}a:ija%¢Fkm��l!a:i:¼Sxm�}a%~�kz�Pa�|�qj^}a:w%²W¯\´C��q¯������qj^}a%¢�kz��l}a:iwua �<l}|�wua:�L¸£sbqu^}a+��xo~�km�À{!kzwjqj|�kz�>�oa:wj|�¢�k�qj|�¢maYi¿xm�kbijxz ¾~�km����a:�bq�kz{6a+¸Qa��µxmwuarqu^}a�spkmwjaex�¢ma:wjº�wu|�q¦qja:�pkz�Q�����qr���s������qj^}a:`³º�^}a��!a�¢ma:w�wua �<l}|�wua:�+|���qj^!a¿kD�Fytxm|��<q�~1xo�oa`� � �oxmw�²WÇ�´}����¨���$m��yqn��qj^}a:`c¤¾�µwuxm`³iu~1w�k�q�~�^ �º�^!a���qu^}a�s�¸6a:~�xm`baMwja��Dl!|�wua:��|���qu^}abkm�FytxD|��<q2~1xo�oaC��cmc��®¬2¹¾�/¸Qxmqj^�~�kmija:i:¼6º�aMº�|����SijkFs%qu^!k�qeqj^}aYi¦a¢�km��l}aYi�^!kF¢Da@qn� t��W����¨���� l � l�� ��������¬ È ¸£¢£|�xml!ij��sD¼}kz{}{!wjx<km~�^�²Z¯\´�`bkFsp��aYkm�qjx�a:�}xmwu`bxml!i�`ba�`bxDwjswua �<l}|�wua�`ba��<qui2�µxmw���kzwu�ma� ¶iu~�km��aLkm{}{}��|�~:k�qu|�xD�¥{}wjxD�mw�kz`�i:¼�º�^}a:wjaYkmiL²WÇ�´�`�kFs/wua:ijl}��q»|�� k �<l!km�}wukzqj|�~~�xm`b{}loq�k�qu|�xD�!kz��~�xm`b{}��a1no|�qtsm¬r½£xD{}^}|�itqu|�~:k�qjaY��|�`M{!��a:`Ma:�<quk�qu|�xD�!i0xm�Jkz{}{}wuxDkD~�^¥²ZÇ�´0~:kz��wua:�ol!~�a2qj^!|�i~�xDi¦qe¸£s�wua�lQi¦|��}�%¢Fkm��l!a:iexz�¿¢Fkmwj|�kz¸!��aYi0qu^!k�q2¸6a:~1xD`babkF¢�km|���kz¸}��ab�ol}wu|��}�qj^!ab~�xm`b{}loq�k�qu|�xD�/xm��xzqu^}a�wwua �<l}|�wua:�b¢�kz��l}a:i$��c:� �¶¬ È �æqja��k�~1xD`�¸}|��!kzqj|�xm��xz�>qu^}a+itquxmwuarkz�!�LwjaY~1xm`b{}l}qjari¦qjw�k�qua��m|�a:iÅ|�i�a�`b{}��x�smaY�quxMkD~�^}|�a�¢ma\wjaYkmijxm�!km¸}��a0qjw�km�}a1 ¶xz±>iŸ6a1qtº¿a�a:�`ba�`bxDwjsbl!ija2kz�!�pa1noa:~�loqj|�xm�pqj|�`MaD¬Å½£a�aD¼£�µxmw�|��!itq�kz�!~�am¼qu^}a@¨�©���¨���mg���F�Bq1�F��Driu~�^}a�`baYi\��cF�I�¶¬ %¡^Qk�qja:¢ma:wSqj^}a\kz{}{}wuxDkD~�^üz|�quiÅa1ÊL~1|�a��!~�s�º¿xml}����i¦qjwuxm�}�D��s�¸6a��!a1ª}q�µwuxm`­qu^}a�É<�!x�º���aY�o�maÅkm¸QxDloq8º�^}a1qu^}a�wSijxm`baÅ¢�kz��l}a¿|�i8kD~ qjlQkz����seqjxe¸6a�wua:~�xmw��oa:�>¬�]�^}|�i�|�i�qj^}a�{}l}wu{6xDijaxm��qu^}a�]�Ç�f­km�!kz��soi¦|�i��oa:iu~1wu|�¸QaY�p|��%qj^}|�i�{!km{Qa:w:¬

½£aY~ qu|�xD�%���m|�¢ma:i�kz�|��<qjl!|«qu|�¢Dae�oaYij~�wj|�{oqu|�xD�Lxz�Ãqu^}ae{}wj|��!~�|�{}��a:i¿¸6a�^}|��!�%]�Ç�fÓkz�Qkz��s£ij|�i�¬S½£a:~1qj|�xm�p�~�xm�<qukm|��Qi��Da��}a:wukm�Å|��Dquwjxo�olQ~ qjxDwjs¥~�xm`b`ba��<qui»xm�§�}k�q�k�Â!x�º km�!kz��soi¦|�i:¬�½£aY~ qu|�xD�!iM�/kz�Q�P�H{}wjaYi¦a:�<qqu^}a�µxmwu`bkm�¿ij{6a:~1|�ªQ~:k�qj|�xm�Qi�xm�\km~1qj|�¢<|�qts¥kz�!� ]�Ç¿f�kz�!km��soija:i:¼8l!i¦|��}�/qj^}a�µxmwu`�kz��|�ij` xz�r�}kzqukHÂ!x�ºa��<l!k�qu|�xD�!i�¬J½£aY~ qu|�xD�%�b~1xD�!~1��l!�oaYi�º�|«qu^�k�~�kmija+itqul!�oskm�!�%i¦xD`Ma+a�n£{6a�wu|�`Ma:�<qukz�>`baYkmijl}wja:`ba��<qui:¬

� ������³�8���,�� � 1� "��¡���Á� ���p��1�����1�

]�^!a���a1�æqJ~1xD��l!`M�»xz�}ªQ�ml}wuarc�i¦^!x�º0i�km��a1n}km`M{!��a¿xmwu|��D|��Qkz�D~�xo�oam¼zº�^!|�~�^»|�i�qj^!a�¸6xo�os�xz�6krijl}¸}wuxmloqu|��}aqu^!k�q\l!i¦aYi�¢�kz��l}a:i��µwjxD`�kz��kmwjw�kFs { quxp~1xD`b{}loqja��}a�º­¢�kz��l}a:i�xm� { ¬�]�^}a2wu|��D^<qr~1xm��l}`b��xz��ª!�Dl}wja�cij^}x�º0i�qj^!a�~1xmwuwua:ij{QxD�!�o|��}�MkD�Fytxm|��<q0~1xo�oam¼oº�^!|�~�^�|�`M{!��a:`Ma:�<qui�a��DlQk�qj|�xm��²Z�<´ ¬

�rxzqj|�~1a�qj^!kzq0qj^!a»~1xD�<qjwuxm�>Â!x�ºÄxm��qu^}a»kD�Fytxm|��<q\~1xo�oa�|�irwja:¢ma�w�ija:��µwjxD` qu^}a»~�xm�<qjwuxm�ÃÂ!x�º xm�Sqj^}axDwj|��m|��!km�8~�xo�oam¬L]�^}|�i+wua�¢ma:wuiukz�S~:kz�©¸QaLkD~�^}|�a:¢maY��|��©¢�kmwj|�xml!ieº�kFsoi�¼Ãº�^!|�~�^�kzwuabxmloq�i¦|��oaMqj^}aLiu~1xD{Qaxm�Jqj^!|�ie{!km{Qa:w:¬��0a:wjaD¼Àº�ab~1xDl}�<qrqj^!a»�£l}`»¸Qa:wexm�Å|�qja�w�k�qu|�xD�!i0xm�Å��x<xD{!i\|��<qjx�kz�H|��<qja:�ma:w�� ��! "$#�kz�Q�a�noa:~1l}qjaqj^}a�kD�Fytxm|��<qM��x£xm{!i»qj^!a�iukz`ba%�£l}`�¸6a�w�xm�rqj|�`ba:i:¼Å¸}l}qb|��§wja:¢ma�w�ijapxmw��oa:w:¬P½o|�`b|���kmwj��s��µxmw~�xm�!�}|«qu|�xD�!kz��i�¼SaYkm~�^¥qu|�`ba%qj^!axDwj|��m|��!kz��~1xD�<qjwuxm��Â!x�º `ba�wu�ma:i:¼Sº¿awua�`ba�`»¸Qa:w»º�^!a�wuapqu^}a%~�xm�<qjwuxm�~�xm`ba:i��µwjxD`�¼8km�!��qu^}|�i»|��!�o|�~�k�qua:i»º�^}a�wuaLqu^}akD�Fytxm|��<q»~1xD�<qjwuxm�JÂQx�º `»l!i¦q»�mx�qjx!¬©]�^}a&%'!�(') | w �²ZwjaYi¦{�¬*%+�,% | w � ´�i¦l!¸}wjxDloqj|��}a�{!l!i¦^!a:i�²ZwjaYi¦{�¬0{QxD{!i�´�qj^!a�¢�kz��l}a�xm�S¢Fkmwj|�kz¸!��a�w¥xD�<qjxH² �����¯m.-0�µwuxm`L´�ki¦qukD~�Érqu^!k�q8|�`M{!��a:`Ma:�<qui�qj^}a�qukm{QaD¬�¯§i¦|�`b|���kzw�qukD~ qu|�~Å|�i�|�`b{}��a�`ba:�Dqua:��|��»xml}w8¯r°Pqjx£xD�<]�¯rv �/�r¯r° ���c��¶¬½£|��!~�a�qj^}a0kD�Fytxm|��<qÅ~1xo�oa�wua �<l}|�wjaYi8¢�kz��l}a:i��µwuxm`Áqj^}a0a�noa:~1l}qj|�xm�bxz�6qj^}a�xDwj|��m|��!km�}~1xo�oam¼Dº�^}|�~�^M`�kFs

^QkF¢maŸ6a�a:�»x�¢Da�wuº�wj|�q¦qua��2|���qu^}a�`ba:kz�<qu|�`bam¼Fqu^}a�km�FytxD|��<qS~1xo�oa�|�i�{!wjaY~1a:�}a:��¸£s�ke~1xD{<s+xm�!qj^!a¿xDwj|��m|��!km�~�xo�oam¼<kzl}�D`Ma:�<qja:�»º�|�qj^�|��!itquwjlQ~ qj|�xm�Qi�qj^!kzq�itquxmwua�¢Fkm��l!a:i8xm�Mqu^}a�qukm{Qa�¸6a1�µxDwja�qu^}a�s»�ma�qJx�¢ma�wuº�wu|«qjqja���¬%©a�~�kz����qj^}|�ibkzl}�D`Ma:�<qja:�¤xmwu|��D|��!km��~�x£�}apqu^}ae������w���� l ��w����xmQ¼Åij^}x�º��¤|��¤qu^}a%`M|��}�o��a�~1xm��l}`b� xm�ªQ�ml}wua�cD¬S½os<`b`ba1quwj|�~�km����sm¼<qu^}aekD�Fytxm|��<q�~�xo�oar|�i�kzl}�D`Ma:�<qja:�Lº�|«qu^|��!i¦qjwul!~ qu|�xD�!iJqu^!k�q�wua1qjwu|�a�¢marqj^}aYi¦a¢�km��l}aYirº�^!a���qu^}a�s�kmwja»wja��<l}|�wua:� ²Zija�a»km{}{}wuxDkD~�^¤²Z¯\´ekm¸Qx�¢DaY´ ¬+]�^}a»�µxmwuº¿kmwu��ijº¿a�a�{H`bkFs�{!wjaY~1a:�}a|�`b`ba:�o|�k�qua���sLqj^!a�km�FytxD|��<q0~1xo�oaD¼!kmi�|��%qj^}a � ���F�Oq mB����D����� ����� ��������0b� l �;��c:�o¼ !�^!kz{oqua�w2cF� �¶¼oxmw0k�qijxm`ba\{}wja:¢£|�xDl!iSqu|�`bam¼okDiÅ|��Lqu^}aW�¯m«��Fq1b� l �1¬J]�Ç�fÓkm�!kz��soi¦|�i]� � �>xm¸Qi¦a:wj¢Da:i8qu^!k�q��}xzq�kz���6¢Fkm��l!a:i��}a�aY�¸6a�itquxmwua:�¤�ol!wj|��}��qu^}a�µxmwuº¿kmwu��ijº�a:a�{ì È �}a`�l!i¦qbi¦qjxDwjapxm�}��s�qj^}a%¢�kz��l}a:i�qj^Qk�q�kzwuaLa1±Àa:~1qj|�¢ma���swua �<l}|�wua:�L|��%qj^}a�kD�Fytxm|��<q0~1xo�oa�kz�Q�pº�|�����¸Qa2x�¢Da�wuº�wj|�q¦qua���}l}wj|��}�Mqj^!a2wjaYitq�xz��qj^}a+�µxDwjº�kzw��pijº¿a�a�{�¬

âµã�äÃâæå

Page 7: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

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

��������������'� Ñ Ò Í �Ñ � Ð �o��Ò�� Ð�Í£Í� �bÒ�� Ñ ���6��� Ñ Ò Í����������������� �!��"$#%�'&��)(!*

+!, �!-!.0/21 , .31'45/��76�698�;:</>=��!?$/2�A@��76;B!C76D8

?$/2��6)���!E3F!��G5/H?$/��36�6

I .�-�F�.J8

?$/��36)����K�1�L�F�/H?$/ �76�6)E��

I

���3��EM�

�!���7N����O������P�Q

I

������� �!�������H����"$#%�R&��)(!*S�T)U�V�W����+!, �!-�.</21 , .�1�45/��76!698�;:0/X=��!?$/���@��76;B�CM6Y8Z U7[;\]/H?$/��36�6?$/��36)���!E�F���G5/H?�/2�36�6Z U7[;\]/H^�_;`7.M6

I .�-�F�.J8Z U7[;\]/H?$/ �76�6?$/ �76)����K!1!L�F�/H?�/��76�6)E!�Z U7[;\]/H:���-�F�.M6

IZ UM[)\]/2�36���3�;E��Z UM[)\]/��76�!���3N����O���!��P�QS�T)U�V�W���S�T�U�V�W�E��

IZ UM[;\$/ S�T)U�V�W�6

Z T Z / S�T)U�V�W�6+!, ��-!.</ S�T�U�V�W3B!�7698S�T�U�V�W���S�T)U�V�W�N��Z T Z /��76Z T Z /2�36Z T Z /H^�.3F)^�6�;:0/H^�.3F)^�698Z T Z /H?$/��36�6a /2�36)�

1!L�F�/�?$/2�36�6;K a /��36I .�-�F�.J8Z T Z /H?$/ �76�6b � b E a /��36a /��76)�

N;��K�F!��G5/H?$/ �76�6�K a /��76I

I

Ë�|��Dl}wua»cMc È wj|��m|��!kz�>~�x£�}am¼£�µxmwuº�kzw��pijº�a:a�{ü}kD�Fytxm|��<q�~�xo�oa

ä�ä ì�°}ü�±�² ú

Page 8: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

� �@� ��¨�����q����@���b���B�Z��� l�� ����¨ �O��

Ç¿a1�µxDwjab�oaYij~�wj|�¸}|��}�]�Ç�fÁkm�!kz��soi¦|�i:¼6º¿aM`�l!i¦q+ª!wui¦q+|��<qjwuxo�ol!~�a�qu^}a»�!xzqj|�xm�/xz���M¨�q1�F���b�������s��t�v��� ¬]�^!a¿lQi¦a:w�xm�6¯\°¡xz�æqua��Mwja��Dl!a:i¦qui�xm�}��s+qj^!a0�oa�wu|�¢�kzqj|�¢ma:i�xm�Qi¦xD`ba¿xm�!qu^}a�xmloqu{}loqui8Î�²æqu^}a}¤ l �xmy��� l ���Bq �¢�kmwj|�kz¸}��a:i$(��\´1¼Ãº�|�qj^©wjaYi¦{6a:~1q\qux�ijxm`baMxz��qj^}ab|��}{}loq�i�� ²æqu^}a ¤��F� l �nmg��� l ���Oq �»¢Fkmwj|�kz¸!��aYi�0���´ ¬ a1qlQirl!ija�qu^}a»qja�wu`�¤t¢�kmwj|�kz¸}��a��+�µxmw+kpiu~�kz��kzw\~1xm`b{6xm�}a:�<q\xz�¿kz��|��!i¦qukz�Q~1a�xm�Åi¦xD`ba mB����DM���� � �����s�ut�v�{!wjaYi¦a:�Dq�|��Lqj^!aexDwj|��m|��!km�6~�x£�}am¬S¯Äitq�k�qj|�~ekz�!km��soij|�i�~�km��oa�qjaY~ q:¼£�µxDw�kz�£sb|��<qja:wj`baY�o|�kzqjae¢�kzwu|�km¸}��a G |��qu^}a�xDwj|��m|��!kz��~1xo�oam¼Qº�^}a1qu^}a�w���o^50 � 6� z$��G km�!���ª^5( � 6 G z$� ��?!¹¾��qu^!k�q+~�kmijam¼ G |�ir~:kz����aY�km�o�u¨�qr�F���W�������s��t�¬�1¬ È qj^}a:wjº�|�ijam¼£qj^!a��oa�wu|�¢�kzqj|�¢ma+xz� G º�|����ø6a2�}a:|«qu^}a�wr~�xm`b{}loqua:�%�}xDw�l!i¦aY�%¸<spqj^}akD�Fytxm|��<q\~1xo�oaD¼À¸QaY~�kzlQi¦a�|�q\|�i\a�|�qj^}a:wrl!ija���a:iuirxDw�qjwu|�¢<|�kz����s�£l}���W¬e]�^}|�irº�|�����`�kzÉDa2qj^}aM�o|�±6a:wja:�Dqu|�kzqjaY�{!wjxD�mw�kz`Æi¦|�`b{}��a:w�kz�!��`bxDwjaea1ÊL~1|�a��<qY¬S½oa:~ qu|�xD�p�M�m|�¢maYiJqu^}ae�!k�qukz WÂQx�º¡a �<l!k�qu|�xD�!iÅqj^!kzq��oa�ª!�}aeqj^!|�i�u¨�qr�F�I�Fq1=���«��� ������¬

!�xD�!i¦|��oa:w��}x�º­km��xmwu|��D|��!km�À|��!i¦qjwul!~1qj|�xm� G * � .�� 2j¼Qº�^}a�wua��Z*���� ¡ 4�����4T?�?T?�4�� :���� �oa��}xmqjaYi�qj^}aija1q+xz�¿ij~:kz��kzw\kmwj�Dl}`ba��<qui\xz����¬»]�^}|�ie|��!i¦qjwul!~ qu|�xD�H�ma:�}a�w�k�qua:i\kija1q+xz��kD�Fytxm|��<q+i¦qukzqja:`Ma:�<qui\|��/qj^}akD�Fytxm|��<q�~1xo�oa0qj^!kzq�|��<¢Dxm��¢ma �G ¼ �� � ¼£kz�Q��� ���! " .#�}2�?£¯�~ qj|�¢£|«qtsM`�k�qjqja�w�i�c�|�� G |�iJ�}xmq¿kD~ qj|�¢maD¼zqu^}a�wua0º�|����6¸Qa�!x+kD�Fytxm|��<qJitq�k�qja:`ba��<q:¼<kz�!�»|«�Ãijxm`ba�� � |�i8�}xmqÅkm~ qu|�¢Dam¼�qu^}a0km��ytxm|��DqJi¦qukzqja�`ba:�Dq�i8º�|����}|��£¢mxm��¢ma¿�}a:|«qu^}a�w�� � �}xDw$�%��%! " .#�}2�?6]�^}a�¢�kz��l}aYi0wua �<l}|�wjaY�p¸£sqj^}a�wua�`�km|��}|��}�LkD�Fytxm|��<q\itq�k�qua�`ba��<quirkzwua+qj^}a�kmwj�Dl}`ba��<qui��xz�Àqj^!a0��xo~:kz�!{Qkzwjqj|�kz�!�oa:wj|�¢�k�qu|�¢Da:i �%��%! " .#�}2�4<{}��l!iSqu^}arkmwj�Dl}`ba��<quiSxm�>{Qx<ijij|�¸!��a0|��!�o|�~1aYiJxm�Qqu^}a&� � kz�Q�G ¼}º�^}a:�pqu^}a:ija2¢�kzwu|�km¸}��a:i�kzwua2kzwuwukFsbwua1�µa�wua��Q~1a:i:¬SvSwua:~1|�ijaewul}��a:i�kmwjae�m|�¢ma:�|���i¦aY~ qj|�xm���o¬' xD|��}�2¸Qkm~�É�qux2xml}wSa�n}kz`b{}��a�|��bª!�Dl}wuaecD¼mº¿a0~�km�b~�^!a:~�É�qu^}a��µxm����x�º�|��}��ija1q�iSxz�Àwua �<l}|�wjaY��¢�kz��l}aYi;c�$�)(�² {j|T~����y�u�+*y~%,�| {}|T~���� ´ -�. {+/10 . ~/�0 . ~/ -�. {32�~/�$�)(�² {j|��B���y�g�54�67*�| {}|��O������� ´ -�. {32��7/�0 . �7/10 . �7/ -�. {32��7/8+�}x�º�|��}�»qj^}aYi¦aewua �<l}|�wjaY�pija1qui:¼o]�Ç�f km�!kz��soi¦|�iJ�µxD����x�º0i�qj^}aeÂ!x�ºÓxz�Ãqu^}a+xmwu|��D|��!km�6~�xo�oam¼o��x£xmÉ£|��!��µxDwÅx�¢Da�wuº�wj|�qj|��}�DiJxz�>qj^!a:ijar¢�kz��l}a:i:¬3%¡^}a��k�wua �<l}|�wjaY�b¢Fkm��l!ar|�iÅx�¢Da�wuº�wj|�q¦qua��ü<]�Ç¿fÓkz�!km��soij|�iÅ|��!ija�wjquik % !�(')%|��!i¦qjwul!~1qj|�xm��ytl!i¦q\¸6a1�µxDwja�qj^}aMx�¢ma:wjº�wu|�qj|��}��kz�!��ijs£`b`Ma�qjwu|�~:kz����s%wua:i¦qjxmwua:i�qj^}aM¢�kz��l}a�º�|�qj^Hk%+� %H|��!i¦qjwul!~ qu|�xD��¸Qa��µxmwuaL|«qM|�i�wja��<l}|�wua:�©|���qj^}a%km�FytxD|��<q�~�x£�}am¬�Ë}xDw�¸6xzqj^¤i¦qukzqja:`Ma:�<qui�km¸Qx�¢Dam¼�qj^}axDwj|��m|��!km�â�kz��l}a�xm��kz��a:��a:`Ma:�<qexm� { |�i\wja��Dl!|�wua:��¸£s%qj^}aMkm�FytxD|��<qY¬$%¡|�qj^}xDloq2kzwuwukFsLwua��D|�xD��kz�!km��soij|�i²Wi¦a:a2i¦aY~ qj|�xm���<´�km�£sp~1xD`M{6xm�!a��<q0xz� 0©`»l!i¦q0¸Qa2wua:~�xmw��oa:�pº�^}a���x�¢ma:wjº�wu|�q¦qja:�ìS]�^}a+|��Q�o|�~�a:i ~ xmw �kmwja+kz��ijxMwua �<l}|�wua:�>¬SÇ¿loq�qj^!a2x�¢ma�wuº�wu|«qu|��}�Mxo~�~�l}wui¿��k�qua�wY¼}kz�!��ijxb�}x<aYi¿qj^}a %'!�(')79 %+� %M{Qkz|�w:¬ È �%qj^}axmqj^}a:wr^!km�!�>¼ � ¼6km�«qu^}xml}�D^�wja:{QaYk�qua:�o��sx�¢Da�wuº�wj|�q¦qua��ü!|�ir|����!x ���)(ri¦a�q\kz�!��qj^}a:wja��µxmwua2�}a�aY���}xzqe¸Qawua:~�xmw��oa:�ì

: - �+(��<;¨1">= ����� �������

°ek�q�kbÂ!x�ºÄkz�!km��soija:i�a�n£qjw�km~ q0|��o�µxDwj`�k�qu|�xD���µwjxD` qu^}a2qua1n£q\xm�8{!wjxD�mw�kz`�i�kz¸6xmloq\{}wjxD{Qa:w¦qu|�aYi�xz�Swul}�o qu|�`ba©¢�kz��l}a:i:¬ °ek�quk Â!x�º km�!kz��soi¦aYikmwja ��qn��qr�s¨�¼\º�^}|�~�^Ó`baYkz�!iqj^!a�s�kzwua��oxm�}a�k�q�~1xD`b{}|���k�qu|�xD�qu|�`baD¼>º�|«qu^}xmloqeÉ£�}x�º���aY�o�ma»xz�Å�}kzqukpxmwe¸Qa:^!kF¢£|�xDw\k�qewjl!��qj|�`bam¬��0a:�!~1aD¼À`Mx<itq2i¦quk�qu|�~»kz�!km��soija:i\kzwua�y� l ��¨�� l �ut�v��¼Jqu^!k�qb|�i:¼8qj^!a�wua%km��º�kFsoi2a1no|�itq�iMkH{!kzwjqj|�~1l!��kmw�{}wuxm�Dwukm` �µxmwMº�^}|�~�^¤qu^}awua:ijl}��q»xm�0qj^}akm�!kz��soi¦|�i0|�i\l}�!~1a:w¦q�kz|��ì+]�^}a�wua1�µxDwjaD¼!quxxD¸oqukm|��Hiuk��µa»wjaYi¦l!�«q�i�¼À~1xD�!i¦a:wj¢�kzqj|�¢ma=��� ������mumB����?u� /��q1�s���g�\xm�qu^}ar~�xm`b{}loqua:�b|��o�µxmwu`�k�qj|�xm�Lkmwja��Da��}a:wukzqjaY�>¬�Ë!xmwÅ|��!i¦qukm�!~1aD¼Dijl!~�^Lkz{}{!wjxFno|�`bkzqj|�xm�!iSkmwja�`�kD�oa0º�^}a:�km�!kz��s£·�|��}�2qu^}aekD~ qu|�¢£|�qts»xDwÅqu^}ae]�Ç�f�i¦qukzqjl!i�xz��i¦xD`Mar|��!�}|�¢£|��ol!kz�Àa:��a:`Ma:�<q�xz��kz�pkmwjw�kFsm¬8½<qukzqj|�~rkz�Q��}s<�Qkz`b|�~b��������b���¯DM�s���Z���«��� �����;��cF�I�Ã{}wux�¢£|��oae¢ma:wjs��Dx£x£�kz{}{!wjxFno|�`bkzqj|�xm�!i:¬ È qj^}a:wjº�|�i¦aD¼£º�a+`�kzÉDak�~�xDkmwuijaekm{}{}wuxFno|�`�k�qu|�xD�ü£|���º�^!|�~�^%qj^!a�km~ qu|�¢£|�qts/²ZwjaYi¦{ì ¤twua �<l}|�wjaY�o�}aYiji ��´�xz�8xm�!a2a���a�`ba��<q0|�`M{!��|�a:iqu^}a�km~1qj|�¢£|«qtsH²ZwjaYi¦{�¬­¤¦wua �<l}|�wjaY�o�}a:iui ��´Åxz��qu^}a2º�^}xD��a2kzwuw�kFsm¬

âµã�äÃâæå

Page 9: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

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

°ek�q�k¥Â!x�º km�!kz��soi¦|�ip�oa:{Qa:�!�}i%xm��qj^}a©|��<qua�wu�!kz�ewja:{}wua:ija��<qukzqj|�xm�¨xz��{}wuxm�Dwukm`�i�¼0kDip�o|�ij~�l!iui¦aY�|��¡~1��kmiui¦|�~�km����|�qja:wukzqjl}wua�xm�¨~1xm`b{}|���a�wbqj^!a�xmwusÓ²Wi¦a:am¼¿|��¨{!kmw¦qu|�~�l}��kmw:¼$� ���æ´1¬Ó]�^}a�`bxDi¦qpkz{}{!wjxD{}wj|�k�qua�}a:iu~1wu|�{oqu|�xD��kz{}{6a:kmwui0qjx¸QaM|��Hqja:wj`�i\xz� l ��q¯���\��w �)(��O��q1�s���g� ¼>�oa1ªQ�}a:�Hxm�i¨���FkDM����mB©M�rxm�$¨����Oqr�����\��w D�����mO©u�+²Zxmw0ij|�`b{}��s��\��w DM����mB©M�¦´ ¼Qº�^}|�~�^%º¿a+^!kF¢ma+ija���a:~ qua:��µxmw0]�¯rv��1�r¯\°���¬

� ]�^}aL~�km���S�Dwukm{}^H|�i�k��o|�wjaY~ qua:�/�mw�kz{}^©º�|«qu^�xm�}ab�}xo�oaM�µxmw2aYkm~�^�i¦l!¸}wjxDloqj|��}abxmw+�µl!�!~ qu|�xD�©xm�qj^}a»{}wuxm�mw�kz`�¼!km�!��kz��kmwjwux�º��µwuxm`��}xo�oa��³qjxL�}xo�oa�� |�±��Á{Qx<ijij|�¸!��s%~�kz����i�L¬0f0a:~1l!wuij|�xD���aYkm�}i¿quxL~1so~1��a:i�|��%qj^}a2~:kz���Ã�mw�kz{}^�¬

� ¯ ijl}¸}wuxmloqu|��}a�xDwb�µl}�!~ qu|�xD�¡|�ibwua�{!wjaYi¦a:�Dqua:�P¸£sPk/Â!x�º �Dwukm{}^ì�]�^}a:wja�|�ibxm�!a�Â!x�º �Dwukm{}^{Qa:w2�}xo�oab|��/qj^!ab~:kz���8�mw�kz{}^컯ÁÂQx�º��mw�kz{}^/|�i+k��o|�wjaY~ qua:���Dwukm{}^ü>º�^}x<i¦aM�}xo�oaYiekmwja5t�� ���s¨t�¬�T¨��T�;�ß�I�®¬J¯rwjwux�º0i¿|��qj^!a+Â!x�ºÓ�Dwukm{}^pwua�{}wua:ija��<q¿qj^}a+ÂQx�º�xz�S~1xD�DquwjxD�W¼<qu^!k�q�|�i�¼oqu^}a+{Qx<ijij|�¸}��a�oa:i¦qj|��!kzqj|�xm�!i�xz�Ãqu^}aea1noa:~�loqj|�xm�L{6xm|��<qja:w¿kz�æqja�w�~1xD`b{}��a�qj|�xm�Lxm��k�¸Qkmij|�~r¸}��xo~�ÉÀ¬S¯¿q�wul}�Lqu|�`baD¼£kqjaYitq0��xo~�k�qua:�%k�q�qu^}a2a��!�%xm��qj^!a2¸!kmij|�~e¸}��xo~�Ép�oaY~1|��oa:i�xD�qu^}a��o|�wjaY~ qu|�xD�xm��~1xD�<qjwuxm�6Â!x�º2¬

¯¿q»qj^}a��x�º¿a:i¦q���a�¢ma:�W¼�qu^}ap|��!�o|�¢£|��olQkz�`�F�g��q1� �O¨�qr�s���g�2kzwua�wua�{}wua:ija��<qjaY�¥i¦|�`b{}��s©kDi�kz¸QitquwukD~ q»ijs£�Dq�k�nquwja:a:i:¬�]�x�aYkm~�^�¸!kDi¦|�~�¸}��xo~�É/|�i�kDijijxo~1|�k�qjaY��k�i¦s£`�¸6xm�Åqukm¸}��aLqj^!kzq»�m|�¢maYi�km~:~1aYiji+qux�{}wuxm{6a�wjqj|�a:i2xm�¢�kmwj|�kz¸}��a:i:¼>~1xD�!itq�kz�<qui:¼À�µl}�!~1qj|�xm�©�!kz`baYi�¼Àqts£{6a»�!km`ba:i:¼�kz�!�/i¦x%xm��¬»½£s£`�¸6xm�8q�kz¸}��a:i+kzwua��!a:i¦qja:�Hqjx|�`b{}��a�`ba��<q���¨���mB�F��Dz¬

°ek�q�k�Â!x�º¥kz�!km��soija:i>`»l!i¦q�¸6aÅ~�kmwja��µl}����s+�oa:ij|��D�}a:�equxrkF¢mxD|��exDw�~1xD�<qjwuxm�m~�xm`�¸!|��!kzqjxDwj|�kz��a�n£{!��x<i¦|�xm�ì]�^!ab~���kDijij|�~�kz�Sijxm��loqj|�xm�©|�ieqjx�~�^}x£xDijaMk%^}|�a�w�kzw�~�^}|�~�km��`bxo�oa��®¬b¹¾�©qj^}|�i+`bx£�}a��®¼�|��o�µxmwu`�k�qj|�xm��¼Ãxmw2k�q��a:kDitqpk ~1xm`b{}l}quk�qu|�xD�!kz����s a1no{6a��!ij|�¢ma�{!kmw¦qLxm�2|«qY¼0|�ii¦s£�<qj^!a:ij|�·:a:�>¬³½£{6a:~1|�ªQ~:kz����s§|«q%|�i~1xD`M{!loqjaY�¸6xzqjqjxD`�l}{ü>itq�kzwjqj|��}�pxD��qu^}a»��x�º¿a:i¦q»²Zkm�!�Hij`�kz����aYitq ´���a�¢ma:��i\xz�Åqj^}aM{}wuxm�mw�kz`�wja:{}wua:ija��<qukzqj|�xm��kz�Q�qu^}a��HwjaY~1l}w�i¦|�¢ma:��s%~1xD`�¸}|��}a:�Hk�qrqu^}a�l!{}{Qa:wM²Wkz�!����kmwj�Da�w ´¿��a:¢ma���i:¬ !�xm�Qi¦a��Dl!a��<qj��sm¼!qj^}|�i+i¦s£�<qj^}aYi¦|�·�aY�|��o�µxDwj`�k�qu|�xD�L`�lQitq�¸6ae`�kD�oa\|��!�oa:{Qa:�!�oa:�Dq�xm�Ãqj^}a2~�xm�<qja�n<q2²µ|®¬ am¬8qj^!aewua:i¦q�xz�Ãqu^}a+{}wjxD�mw�kz`L´ ¬ %¡^}a��qu^}a�ijs<�<qu^}a:ij|�·:a:�§|��o�µxmwu`�k�qj|�xm�§|�i�¸}l}|��«qY¼�|«qp|�i�l!ija:�§|��¡k©ª!�!kz�r{!kmiui�¼¿a:iuija��<qj|�kz����s¤qjxm{¡�ox�º��¨kz�Q�~�xm�<qja�n£qr�oa�{6a��!�}a��<q:¼Qqj^!kzq0{}wuxm{!km�Dk�qua:i�|��o�µxmwu`�k�qu|�xD��µwuxm` qj^}a`¤ta�n<quwja:`b|«qu|�aYi��\xz�8qu^}a�{}wuxm�Dwukm`&²µ|�qui¸6a��D|��!�}|��!�/xDwMa:�!�!´�qjx©a:kD~�^ {!kmw¦qu|�~�l}��kzwbi¦l}¸!wjxDloqj|��}am¼Å¸!kmij|�~¸}��xo~�É6¼Åxmwb|��Qitquwjl!~1qj|�xm�ìP]�^}|�iM|�iMqj^}akm{}{}wuxDkD~�^Lº�a2lQi¦ae�µxmw�¸6xzqu^�km~ qu|�¢£|�qtspkz�Q�]�Ç�fÄkz�!km��soija:i:¬

�JkD~�^¡�}k�q�kHÂQx�º km�!kz��soi¦|�iM|�iL�}a:iu~1wu|�¸6a:�¨~1xD�!~1|�ija���s¤¸£s l ��q¯�� ��w+�)(��O��q1�s���g� ¬�¹¾�§qj^}a:|�wp`Mx<itq�Da��}a:wukm�>�µxmwu`�¼!qu^}a:ija�a��DlQk�qj|�xm�Qirkz{!{}��sqjx��y�g��q1� �O¨�q �y��� l Â!x�ºÄ�mw�kz{}^!i � �I�¶¼À¸QaY~�kml!i¦a�wjaYkz�Ã{}wuxm�Dwukm`�i^QkF¢ma¿l}�!i¦qjwul!~ qul}wjaY��ÂQx�º¤�mw�kz{}^Qi�|��M�ma��!a�w�kz�®¬ È �»qj^}a�xzqu^}a�wS^Qkz�!�>¼zqj^}aYi¦a��ma:�}a�w�kz�£a��DlQk�qj|�xm�Qi�~:kz�M¸Qaij{6a:~1|�kz��|�·�a:��qjx���qr� �O¨�q �y��� l Â!x�º¨�Dwukm{}^!i:¼mqu^!k�q¿|�i:¼o~1��a:kz�!��sM�}a:i¦qjaY�L��x£xm{!i�kz�!�L~�xm�!�}|«qu|�xD�!kz��i�¼<s£|�a:���}|��}�i¦qjwul!~1qjl}wua:�%�}k�q�kMÂ!x�ºÓa��<l!k�qu|�xD�!i�¬J]�^!a2��kzq¦qja:w0`�kFsL¸6a�kz{}{}��|�~�kz¸!��a+quxLkMij`�kz����a:w0~1��kmiui�xz�8{}wuxm�mw�kz`¸!loqrkzwua+l!i¦lQkz����sL`bxDwjaea1ÊL~1|�a��<qrkm�!�km��ijxb`bxmwuae|�����l!i¦qjw�k�qu|�¢Dam¬

� � ,J(8� �L��(6� ����� �����1�

¯\iÅa�no{}��km|��!a:�L|��pija:~1qj|�xm��}¼£kD~ qu|�¢£|�qtsbkm�!kz��soi¦|�iÅ�}a1qjaY~ q�iÅqu^}ae¢Fkmwj|�kz¸!��aYiS�µxmw¿º�^}|�~�^pk��}a�wu|�¢�k�qu|�¢Dar`»l!itq¸6a�~1xD`M{!loqjaY�>¼Ã�!km`Ma:��sD¼Ãkz��� G i¦lQ~�^�qj^Qk�q �� ^ 0 � 6 � z$� G kz�!� ��o^�( � 6 GZz$� ��?À]�^!a�wua1�µxmwuam¼�D|�¢Da��eqj^!aÅi¦a�q�0 � xm�o|��!�}a�{6a��!�oa:�<q�|��}{}loq�¢�kmwj|�kz¸}��a:i:¼Fkz�!�equ^}aÅija1q�( � xm�}�oa�{6a��!�}a��<q�xDloqj{}l}q�¢�kzwu|�km¸}��aYi�¼¸6xzqu^�i¦a�qui�{}wux�¢£|��oaY�p¸£s�qu^}a2a��Q�£ ®lQi¦a:w:¼}kD~ qj|�¢£|«qtskz�!km��soij|�i¿`�lQitq0�oxbqtº¿x�q�kmijÉoi;c

ä�ä ì�°}ü�±�² ú

Page 10: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

� �@� ��¨�����q����@���b���B�Z��� l�� ����¨ �O��

� Ë}xDwjº�kzw��b�µwuxm`Æqj^!ae¸6a��D|��!�}|��!�»xm��qj^!ae{!wjxD�mw�kz`�¼m|�q�`�l!i¦q�{}wjxD{!kz�<k�qua�qj^}a2ija1q�xz��kz���6¢�kmwj|�kz¸}��a:iqj^!kzq0{Qx<ijij|�¸}��s�oa�{6a��!�%xD��ijxm`ba+|��!�oa�{6a��Q�oa��<q0|��}{}loqY¬

� Ç�km~�É£º¿kmwu��µwuxm`�qj^}aMa��Q��xz�Squ^}a�{}wuxm�Dwukm`�¼!|�q\`�lQitqe{}wjxD{!kz�<k�qua+qj^}aMi¦a�q\xz�Åkm����¢�kzwu|�km¸}��a:i�xD�º�^}|�~�^�ijxm`ba2�oa:{Qa:�!�oa��<q0xDloqj{}l}q0{Qx<ijij|�¸!��sp�}a�{6a��!�}i:¬

]�^!xDijaekmwjarqtº�xbitq�k�qu|�~e|��Dqua�wu{}wux£~�a:�ol!wukm�6�}kzquk�Â!x�ºÓkm�!kz��soi¦aYi�¬8]�^}a�wua1�µxDwjaD¼Dº¿a+`�l!i¦q�~1xm�<quwjxD�À~�xm`»¸}|« �Qk�qjxDwj|�kz�Àa�n£{!��x<i¦|�xm�¸<s%i¦a:��aY~ qu|��}��km{}{}wuxm{}wu|�kzqja+i¦s£�<qj^!a:ij|�·:a:�H²Z|W¬ am¬�¼3t���q1qn���� � m£´�|��o�µxmwu`�k�qj|�xm��¬����� ��� �����������������������������! "���!#%$'&��"�(��$*)+�,)!���kmiuij|�~:kz����sD¼Dqu^}a2¸6xzq¦quxm`M ¶l}{�kz�!km��soij|�i�qj^Qk�q�º�a2�!a�a:�^}a:wja+|�i�qj^}a l � p��������Bq1�s��t�¬� l �nmg��� l ���«¨�2kz�!km�« soij|�i:¼£º�^}|�~�^~1xD`b{}loqjaYi�¼<�µxDw¿aYkm~�^L{Qkzwjqj|�~1l}��kzw�itquwjlQ~ qjl!wjaM²µ|®¬ aD¬�¼o|��!i¦qjwul!~ qu|�xD�ü£¸!kmij|�~\¸}��xo~�É6¼£xDw¿ijl}¸}wuxmlo qu|��!aY´0km����{!kz|�w�i0xz�S¢�kz��l}aYi . G.- ? G./ 2j¼ G.- ytl!itq�t��s��������qu^}a»i¦qjwul!~1qjl}wua�kz�Q� G./ ytl!itqb�x��qn���0qj^}a�i¦qjwul!~1qjl}wuam¼ijl!~�^pqj^!kzq G.-]z$��G./ ?y%©a+~:kz���Àqj^}|�i�ija1q]�@�xmQ¬S¹¶qr~:kz�p¸6a+|�`b{}��a�`ba:�Dqua:�¢ma:wjs�a�Ê�~�|�a:�<qj��spkmi�kz�%kzwuwukFsxm�JÇ�x£xD��aYkz�!i:¼!¸}l}q\º¿a�º�|������µxo~1l!irxm�Hija1q�i��µxmwrqj^}a»{}wua:ija��<q\�oaYij~�wj|�{oqj|�xm��¬\%/aMkzwua��mxD|��}�bquxp�D|�¢Da2qj^}a�!k�qukz WÂQx�º�a �<l!kzqj|�xm�!i�qj^Qk�qr~1xD`b{}loqjaW�e�xmpk�q�a:kD~�^��a�¢Da��>xz��qj^!a2{}wjxD�mw�kz`Æwua�{}wua:ija��<qukzqj|�xm�ì

Ë!xmw8kz��|��!�o|�¢£|��olQkz�<|��!i¦qjwul!~1qj|�xm�üYqj^!a�wua�kzwuaJqtº¿x0`�kz|���~:kmija:i�cÃkmiui¦|��m�}`ba:�Dq�i�km�!��ijl}¸}wuxmloqu|��}a¿~�km����i�¬%©arº�|����6a�n}kz`b|��!a\ijl}¸}wuxmloqu|��}a\~�kz����iź�^}a:�Lº¿a\�oaYkz�6º�|«qu^Lqj^!ar|��Dqua�wu{}wux£~�a:�ol!wukm�Qkmij{6a:~ qY¬�Ë�|�wui¦q���a1q�l!i�µxo~�l!iexm�/kDijij|��m�}`ba��<q�i�¬�¯0�æqja�w2km�/kmiuij|��D�}`ba��<q:¼Àqu^}aMkDijij|��m�}aY��¢�kzwu|�km¸}��ab�oa:{Qa:�!�}iexm�©kz����¢�kmwj|�kz¸}��a:iqu^!k�q¿xo~�~1l!wÅ|��p�o|�±6a:wja:�Dqu|�km¸}��ar{6xDij|«qu|�xD�!iJ|���qj^!a\wu|��D^<q¦ ¶^!kz�!�bij|��}am¬S]�^}|�i�ija1q+²Z~�km���6|�q � � ´S|�iÅ�D|�¢Da���¸£squ^}a+�µxm����x�º�|��}�b~1xD�!i¦qjwul!~ qu|�¢Da+�}a1ª!�}|�qj|�xm�5c

0 �uU21�c 0 ¡ ��m 0 � J�² 0 ¡ ´ 0 ¡43 �65 G �� � ² 0 �uU�1z´)c � � ² 0�¡ ´ 0 � � ² 0 �:´ � � ² 0�¡ ´ � � ² 0�¡ ´ � G � 7¯r¸Qx�¢Da+º�a+^!kF¢Da`J ^ �98�:<;�4�=?>�@­4�ACB.;­4T?�?�? � ¼2D�U ^ ��V@4Th�4FEy4�?�?T? � ?g�ra�wuam¼ G �}a��}xmqja:i�kbij|��!�m��ae¢�kmwj|�kz¸}��am¼km�!� � itq�kz�!�!i8�µxmw¿i¦xD`Ma0~�xm�!i¦qukm�<qJ¢Fkm��l!am¬8¯0���!xzqu^}a�wÅ¢Fkmwj|�kz¸!��aYiS�}xzqJxo~:~1l}wuwj|��}�2xD�»qu^}a0��a1�æqj ®^!km�!��ij|��oaxm�Jkz��kmiuij|��D�}`ba��<q0wja:`�kz|���l}�!~�^!km�}�maY�>¬�]�^}a�s��oa�{6a��Q�bytl!i¦q\xm��qu^}a�`�ija���¢maYi�¬\%¡^}a:�H�oaYkz��|��}��º�|�qj^kmwjw�kFsoi�¼<º¿a2`�l!i¦qrx�¢ma:wjaYitqu|�`�kzqja��@�xmpkmi��µxD����x�º0i�cS|«��qj^}a���a��æq¦ ¶^!kz�!��ij|��}a2|�i0km��kzwuwukFs�wua1�µa:wja:�!~1a2kz�Q�ijxm`ba\wja��µa�wua��!~�a0qjx»qj^!aeiukz`ba+kzwuwukFs»x£~:~1l}w�i�xm�Lqu^}aewj|��m^<q¦ ¶^!km�!�Lij|��oaD¼<qj^}a:�º¿ar`»l!itq�wua:~1xD�m�}|�·�arqj^}a�ZkD~ q�qj^Qk�q�qj^!a�kzwuwukFsb¢�kzwu|�km¸}��ae`�kFsp�}a�{6a��!�%xm�%|�quija����t¬

Ë!xmw�k�¸!kDi¦|�~b¸}��xo~�É6¼j�e�nm�|�i�¸}l!|���q�¸£s[¨���$mg� ���Fq1�s��� ¤%G�Hbxz��qj^}a �@�xm/ija1q�xz��a:kD~�^�|��!i¦qjwul!~1qj|�xm�ìI�xmwua��ma:�}a�w�kz����sD¼��µxmw�kz�£s§qtº¿xPi¦qjwul!~ qul}wjaYiKJ ¡ kz�Q��J��/a1noa:~�loqjaY�¡|�� ija �<l}a��Q~1am¼`�@�xm«.�J ¡9L J���25*�e�xmB.MJ ¡ 2�Gª�@�xm�.MJ���2�4}º�^}a:wja]¤%G�H\|�i0�oa�ª!�}aY�¸£s

. G.-\z � G./ 2}^KN ¡ GON �'P�Q � G 4�. G.-\z � G 2�^KN ¡SR . GCz � G./ 2}^TN ��?Ë!xmwLk©i¦l}¸!wjxDloqj|��}am¼ �@�xm¥|�ib¸!l}|���qLxm�P|«q�iMÂ!x�º �Dwukm{}^ìP½£qjwu|�~1qj��s i¦{6a:kmÉ£|��}�Q¼Å|�q�wja:{}wjaYi¦a:�<qui»qj^}a

ijxm��loqu|�xD�¥xz��qj^}a%�}k�q�k%Â!x�ºÆa �<l!kzqj|�xm�!i�qj^!kzq»kzwuapijxm��¢ma:�©|�qja:wukzqj|�¢ma���sHxD��qj^}aº�^}xm��aH²Z{Qx<ijij|�¸!��s©l}�o i¦qjwul!~1qjl}wua:�!´�Â!x�º��Dwukm{}^ì+Ë}xmw+aYkm~�^�¸!kDi¦|�~�¸!��xo~�É�|��Hqj^}aMÂ!x�º³�Dwukm{}^ü6º�aM|��Dquwjxo�olQ~1a�U����e�nm¥²µwua:ij{ìV �yqF�@�xm£´�kmi�qu^}a0�oa:{Qa:�!�oa��Q~1|�a:i��µwuxm`³qu^}a�a��<qjwus�xz�Qqj^}a0ijl}¸}wuxml}qj|��}a¿qjxeqj^}a ���Oqr��\²ZwjaYi¦{ì\� ?M�Fqæ´�xz�6qj^}a¸Qkmij|�~2¸!��xo~�ÉÀ¬ !���a:kzwu��sWU����e�nm%xm��qj^!aMijl}¸}wuxmloqu|��!a�a��<qjwus%|�irqj^}a»|��}a��<qj|�qts¥²µa�¢Da�wus¢�kmwj|�kz¸}��a��oa:{Qa:�!�}ixD��|«q�i¦a:�«��xm�}��s}´ ¼�º�^}|���a V �yqF�@�xm�xm�©qj^!aLi¦l}¸!wjxDloqj|��}a�a1no|�q�|�i2a1n}km~1qj��s�qj^!ap�oa:ij|�wjaY�©ija1q@�e�xm�xz��qj^}aijl}¸}wuxml}qj|��}am¬8¹¾�%�ma��!a�w�kz�®¼D�µxDw�kz�£s�¸!kmij|�~\¸!��xo~�ÉÀ¼�U����e�xm�km�!� V �yqF�e�nm�kzwua\wua���k�qua:�p¸<sLqj^}a2�}kzquk»Â!x�º

âµã�äÃâæå

Page 11: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

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

...

B

...

U����e�xmB. ��23* ��������������� � ����������

V �yq��e�nmB.1&e2

V �yqF�@�xmO. �b23*��@�xmB. �b2�GTU����@�xmB. �b2

Ë�|��Dl}wja�� c��]���«������ l ��qn� � ��wc�)(��O��q1�s���g�}����� l � p��������Bq1�s��t�v� l �nmg��� l ���«¨�=���«��E �����

a��<l!k�qu|�xD�!i\ij^}x�º���|���ªQ�ml}wuaM�}¬+vJwukD~ qj|�~�km����sm¼6qu^}a:ija»a��<l!k�qu|�xD�!i\kmwja»i¦xD��¢Da:��|�qja:wukzqj|�¢ma���s�xm��qu^}aMÂ!x�º�Dwukm{}^ì�¯riS�µxDw�km�<s»|«qua�w�k�qu|�¢Da0kz���mxmwu|�qj^}`�¼mk2{!wjx£xz�Àxz�Àqua�wu`M|��!kzqj|�xm�b|�iÅwja��<l}|�wua:�ümº�^}|�~�^bº�arij^!km����ytlQitqijÉma�qu~�^�^!a�wua7c\]�^!aM|��oaYkpxm�Jqj^}ab{}wux£xz�Å|�i\qj^!kzq+qj^}a U����@�xm�kz�!� V �yqF�e�nm�i¦a�qui+kzwua�|��}|�qj|�kz��|�·:a:�Hqjx 7 ¼km�!�qj^}a�ijl!~:~1a:iuij|�¢Dam¼o|�qja�w�k�qu|�¢Da2¢�kz��l}a:i�xm��qu^}a:ija�ija1quirkzwua+i¦qjwu|�~ qj��sp�Dwjx�º�|��}�Q¼o|��!ij|��oa�kMª!�}|�qja��oxD`�kz|��qu^!k�q0^Qkmi�kM`�k�no|�`»l}`�a:��a:`Ma:�<q�²µº�^}a:�%aYkm~�^%¢�kzwu|�km¸}��a+�oa:{Qa:�!�}i�xD�a:¢ma�wusL¢�kzwu|�kz¸}��aY´1¬

¹¾�%qj^!a�i¦{6a:~�|�km��~�kDi¦aexz�SitquwjlQ~ qjl!wjaY�LÂ!x�º �mw�kz{}^Qi�¼£qu^}a��}k�q�k»Â!x�ºÓa��DlQk�qj|�xm�Qi�~�kz�%¸6a�i¦{6a:~�|�km��|�·�aY�|��<qjx�i¦qjwul!~ qul}wjaY���}k�q�k�ÂQx�º a��DlQk�qj|�xm�Qi�¼}ij^}x�º��%|��%ª!�Dl}wja��!¬J]�^}a�s%~1xD`M{!loqja+qu^}a@�e�nmpija1q�i�¸Qxmq¦quxm`l!{¤xm�¥qu^}a�itquwjl!~1qjl}wua:�¥Â!x�ºÆ�mw�kz{}^ü8º�^}|�~�^¤|�i»~�a�wjqukm|��}��s�`bxmwuaLa1ÊL~1|�a��<qY¼J¸}loqM��aYiji»�ma:�}a�w�kz�®¼�qj^!km�ijxm��¢£|��!��qj^}al}�!i¦qjwul!~ qul}wua:�¥a��DlQk�qj|�xm�Qi�¬�¹¾� {!kzwjqj|�~1l}��kzwY¼�qj^}apª}no{QxD|��<qM|«qua�w�k�qj|�xm�¥|�i»��xo~�km�Åqux/ij|��!�m��a��x£xm{!i:¬

B< B1

B2

�e�xmB. ��23*��@�xmB. � � 2SG �e�xm«. � ¡ 2

B<

B1 B2�e�xmB. ��23*��@�xmB. � ¡ 2 0 �@�xmB. � � 2

B<

B1�e�xmB. ��23*��@�xmB. � ¡ 2SGZ.¯�@�xm�. � ¡ 2 0 U l 2 �

Ë�|��Dl}wua+�Ac��Bqr� �O¨�q �y��� lbl ��q¯� �\��wc�)(��O��q1�s���g�}������q1©�� l � p$�������Oqr�s�ut�v� l �xmg��� l ���«¨�=������� �����½£l!¸}wjxDloqj|��}ab~�km����irkmwja»^!kz�!�}��aY��k�q\qj^}ab~�km�����mw�kz{}^���a�¢Da��®¬\Ë!xmw+kz��|��!�o|�¢£|��olQkz�8|��Qitquwjl!~1qj|�xm��qu^!k�q

|�i�k�~�km����qux�ijl}¸}wuxml}qj|��}a J¿¼Jqu^}a�i¦a�q�xz�2�oa�{6a��!�}a��!~�|�aYibxz�rqu^}a�|��!itquwjlQ~ qj|�xm�§|�ib¸!kmij|�~:kz����s �e�xm«.�J�2j¬

ä�ä ì�°}ü�±�² ú

Page 12: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

cY� �@� ��¨�����q����@���b���B�Z��� l�� ����¨ �O��

]�^!a�wuap|�i�¼J^!x�º�a:¢ma�wY¼8k�qjaY~�^}�}|�~�km��i¦qja:{¤xz�rqjw�kz�!ij��kzqj|��}��qu^}a¢�kmwj|�kz¸}��ap�Qkz`ba:i:¼Jkmi�qj^}a%�!km`Ma�ij{!km~�axm�*JÓ�o|�±6a:wui+�µwuxm` qj^!kzq�xz�Åqu^}aL~�km����|��}��i¦l}¸!wjxDloqj|��}am¬ �rx�º2¼>qj^}aLija1qW�e�nm�xm�¿aYkm~�^©i¦l}¸!wjxDloqj|��}a�~�km�¸6ab~1xm`b{}l}qja:�/kmiei¦x£xD�/kmirqj^!a/�e�nm�ija1quiexm��kz����ijl}¸}wuxml}qj|��}a:ie{6xDiui¦|�¸}��s�~:kz����aY��|��!ij|��oaM|�qe^!kF¢Da�¸6a�a:�~�xm`b{}loqua:�>¬ !�xD�!i¦a��<l}a��<qj��sm¼�º�^}a���qu^}ap~:kz���Å�mw�kz{!^/|�i�kD~1so~1��|�~m¼�qu^}a=�e�nm©i¦a�qui�xm�¿aYkm~�^¥ijl}¸}wuxmloqu|��}akmwjaM~1xD`M{!loqjaY��¸£s�kp¸6xzqjqjxD`» ¶l}{©i¦º¿a�a:{ì È qj^}a:wjº�|�i¦a»qj^!a�s�`�lQitq+¸Qab~1xD`b{}loqjaY�H|�qja:wukzqj|�¢ma:��sD¬+]�^!|�i|�qja:wukzqj|�¢mae~1xm`b{}l}quk�qu|�xD�%�}x<aYi¿�}xzq�{Qx<i¦a2km�<sM�µl}�Q�}kz`ba��<q�kz�>{}wuxm¸}��a�`�i:¬SË}xmw�qj^!a+iukzÉDa\xm��¸}wua�¢£|�qtsm¼£º�aij^!km���>�}xmq0�oa:iu~1wu|�¸6a2|�q0^}a�wuam¬

����� � ��� ���� �(�� �� ) �����!�� ��� ��� �!����)]�xMqja:wj`b|��!k�quaekD~ qj|�¢£|«qtskz�!km��soij|�i:¼£xm�}a+l!ija:i�qj^!a2wjaYi¦l}��q�xz��qj^}a2�o|�±6a:wja:�<qj|�kz¸}��a2�oa�{6a��!�}a��!~�spkz�!km��soij|�iquxb{}wjxD{!kz�<k�quarqtº¿x��}k�q�k�ÂQx�º ija1qui¿qu^}wuxml}�D^pqu^}a2{}wuxm�mw�kz` c

� ]�^}a�B�����s� l ¢�kzwu|�km¸}��aYiÅkmwja\¢Fkmwj|�kz¸!��a\|��!i¦qukm�!~1aYi G ijl!~�^�qu^!k�q&��5^ 0 � 4 � z$��G ¬�U���«�����²µwua:ij{ìV �yq B�����´S�oa:�}xzqua:iÅqj^}aei¦a�q�xz�>¢�kzwu|�a:��¢�kzwu¸}|�kz¸}��a:i>ytl!itqWt��s�������\²µwua:ij{ì]�x��qn���¦´�k2�m|�¢ma:��{}wuxm�mw�kz`itquwjlQ~ qjl!wjaD¬MÇ¿sH�oa�ª!�}|�qj|�xm�o0 � kzwuaMqj^}ab¢�kzwu|�aY�H¢�kmwj|�kz¸}��a:iek�q2qu^}ab{}wuxm�mw�kz` a:�DquwjsD¬M]�^!ab�!k�qukÂ!x�ºÁa��<l!k�qu|�xD�!i2�oa:iu~1wu|�¸QaMqj^!a�{}wjxD{!kz�<k�qu|�xD�Hxz��qj^}|�i2|��o�µxmwu`�k�qu|�xD�H�µxDwjº�kzw���xD�Hqu^}a�{}wuxm�mw�kz`Â!x�º2¬

� ]�^}a&�����1� �yo¢�kzwu|�km¸}��aYirkmwja2|��!i¦qukz�Q~1a:irxz�J¢�kzwu|�kz¸}��a:i G ijl!~�^�qj^!kzq���ª^ ( � 4 Gªz$� �À¬�U��������1� �y²µwua:ij{ì V �yq �����s� �y ´0�oa:�}xzqua:i\qj^}abija1q+xz�Ål!ija1�µl!�S¢Fkmwj|�kz¸!��aYiJytl!i¦qCt��1��������²µwua:ij{ìC�x��qn���¦´\k�m|�¢ma:�{}wuxm�mw�kz`�itquwjl!~1qjl}wuam¬3�0a:wjaD¼M( � kmwja�qu^}a0l!ija1�µl!�!¢�kzwu|�km¸}��a:iSk�qÅqj^}a0{!wjxD�mw�kz`�a�n£|�q:¬8¯0�<kz|��üD�!k�qukÂ!x�º�a��DlQk�qj|�xm�Qi¿�}a:iu~1wu|�¸6arqu^}a+{}wuxm{!km�Dk�qu|�xD��xz��qj^}|�i�|��}�µxmwu`bkzqj|�xm�L¸Qkm~�É£º¿kmwu�Lxm�Lqu^}a+{}wuxm�mw�kz`Â!x�º2¬

Ç¿xmqj^pkm�!kz��soi¦aYiJwul}�Lquxm{p�ox�º��pxm�Lqu^}a+~�kz���6�mw�kz{}^ìS½£xD��loqu|�xD�!i�`�l!i¦q¿¸6aexm¸oq�kz|��}a:��|�qja:wukzqj|�¢ma:��sM|«��qj^}a~:kz���Ã�mw�kz{!^%~�xm�<qukm|��!ir~1so~1��a:i:¬¿Ë!xmwrkm��km~1so~���|�~2~�km���Ã�Dwukm{}^ü!ijl}¸}wuxml}qj|��}a:i0kmwja2km�!kz��s£·�a:�quxm{��ox�º���|��k�~�xm`b{!kzqj|�¸}��a2xDwu�}a�w0xD¸oqukm|��}aY�%¸<spqjxD{QxD��xD�m|�~�kz�Ãijxmwjqj|��}�Q¬�]�^}|�irkm{}{}wuxDkm~�^a��!ijl}wua:i�qu^!k�qekz����~�km����i�qjxijl}¸}wuxml}qj|��}a J¤kmwja2kz�Qkz��s<·:a:�p¸Qa��µxmwua2��x£xmÉ£|��}�bk�q�J¤|«q�i¦a:�«�t¬

¯¿q�qu^}aeÂ!x�º��mw�kz{!^p��a�¢ma:�W¼o¸6xzqu^%km�!kz��soi¦aYi¿wjl}��ij|�`b|���kmwj��sm¬S]�^}a2�}kzquk�Â!x�ºÓa��DlQk�qj|�xm�Qi¿kmwja+ij^}x�º��|��¤ªQ�ml}wua�/�µxmwMl}�!i¦qjwul!~1qjl}wua:�¤Â!x�º��mw�kz{!^!i»km�!�¤|��¤ªQ�ml}wua����µxmwbijxm`ba%iukz`b{}��a�itquwjl!~1qjl}wua:�¤Â!x�º�Dwukm{}^!i:¬Ó]�^}a U���B����%ija1qpxm�\qu^}a�a:�Dquwjs ¸!kmij|�~�¸!��xo~�É |�i�|��}|�qj|�kz��|�·:a:�§qjx¥¸6a�qu^}a�{6xDiui¦|�¸}��s ¢�kzwu|�aY�¢�kmwj|�kz¸}��a:iź�|«qu^wua:ij{6a:~ q�qjxbi¦xD`ba\~�km����|��}�M~�xm�<qja�n£q:¬J½£|�`M|���kzwu��sD¼mqu^}a V �yq �����1� �yzi¦a�q¿xm�Ãqj^!aea�no|«q�¸!kmij|�~¸!��xo~�É�|�i8|��!|«qu|�km��|�·�aY�MkDi�qj^}a�{6xDiuij|�¸}��s�l!ija1�µl!�}¢�kzwu|�km¸}��aYi�¬�Ë}xDwJ~1xm�Qi¦|�itqua��!~�sm¼zº¿a�x�¢ma:wj��xDkD�+qj^}a�xD{Qa:wukzqjxDwG§kmi¿�µxD����x�º0i;c

G - ^ J G������ . �b2 � � G / ^ J 6 . G / z � G - 2�^������ . �b2 LG./ ^������ . �b2�G J � � G.- ^ J 6 . G./@z � G.- 2�^������ . �b2�?

Ë�|��!kz����sD¼!k�q�qu^}a2|��Qitquwjl!~1qj|�xm����a�¢ma:�W¼£qu^}a+qtº¿x»|�`b{QxDw¦q�kz�<qr~�kDi¦aYi¿kmwja2kDi¿�µxm����x�º0i�c

� Ë}xDw0kMij|�`M{!��a�kDijij|��D�}`ba��<q\8Q¼oº¿a2^!kF¢DaV �yq B�����.s8B2 - U���B�����.18O2 G)�@�xmB.18O2U��������s� �yE.s8B2 - �@�xmB.18O2 G V �yq�� ���s� �y�.18O2�?

âµã�äÃâæå

Page 13: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

������������� ����������������������������� cDc

...

B

...

U���B�����. ��23* ��������������� � ���� ��� �

V �yq B����I.r&e2V �yq B����T. �b23* U���B�����. �b2�Gª�@�xmB. �b2V �yq �����1� �y . �b2j* �

� �� ������ � ��� ��� �U�� � ���1� �y�.�J�2

U�� � ���s� �y . �b23*��@�xmB. �b2�G V �yq�� ���s� �y . �b2Ë�|��ml!wja+�Ac �]���«������ l ��qn� � ��wc�)(��O��q1�s���g�j�����@�u¨�qr�F�T�Fqr=���«��E �����

B<

B1 B2

U���B�����. � ¡ 2 *KU���B�����. � ��2 *KU���B�����. �b2V �yq B���� . �b23* V �yq B����I. � ¡ 2 0 V �yq B���� . � ��2V �yq �����1� �y . � ¡ 2 * V �yq�� ���s� �y . � �M2 * V �yq�� ���1� �y . ��2U�� � ���1� �y�. �b23*U�� � ���s� �y�. � ¡ 2 0 U��������s� �yE. � ��2

B<

B1

U���B�����. � ¡ 23*U���B�����. �b2�G_.6U l 0 �@�xm�. �b2�2V �yq B���� . �b23* V �yq B����I. � ¡ 2V �yq �����1� �y . � ¡ 23* .6U l 0 �@�xmB. �b2�2�G V �yq �����1� �y . �b2U�� � ���1� �y�. �b23*U�� � ���s� �y�. � ¡ 2

Ë�|��ml}wua���c�� ?���$mBv���@�x�`��qr� �O¨�q �y��� l�l ��qn� �\��wc�)( �O��qr�s���g�}�����@�M¨�q1�F�I�FqrC���«��� �����

ä�ä ì�°}ü�±�² ú

Page 14: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

cF� �@� ��¨�����q����@���b���B�Z��� l�� ����¨ �O��

� Ë}xDw0kMijl}¸}wuxml}qj|��}a�~�km���>|��!i¦qjwul!~ qu|�xD�=8 c 4M����� J |�������� ¼<º�a+^!kF¢Da

V �yq B�����.18O2 - U���B�����.s8B2 G[�e�nm«.MJ�2U�� � ���1� �y�.18O2 - �e�xmB.MJ�2 G V �yq�� ���s� �y�.18O2u¬

¹¾�L�ma:�}a�w�kz�®¼£k�i¦l!¸}wjxDloqj|��}a�J©~�kz�p¸Qae~�kz����a:�Lkzq¿�o|�±6a:wja:�<q�{6xm|��Dq�iÅ|���qu^}ar{}wuxm�Dwukm`ÁxDwÅ|��p�o|�±6a:w¦ a��<q/¨����Oqn� ?uq1��¬0]�^!a�|��}�µxmwu`bkzqj|�xm��xD��¢Fkmwj|�a:��km�!��l!ija1�µl}��¢�kzwu|�km¸}��a:i�`»l!itqe¸Qa»�ma:�}a�w�k�qua:��i¦lQ~�^qj^!kzq¿|�q�wja:{}wjaYi¦a:�<quiSqu^}ael}�}|�xm�pxm��kz���6qj^}aYi¦a\��xo~�km�Qwua:ijl}��qui:¬�!�xm�!ija �<l}a:�Dqu��sD¼mqu^}a+~1l}wuwja:�<q�¢�kzwu|�aY�kz�!�»l!ija1�µl}�!¢Fkmwj|�kz¸!��aYi�kmwja�km�!�oa:��qjxeqj^!a�wjaYi¦{6a:~1qj|�¢ma�i¦l}`b`�kzwu|�a:i��µxmwJkm���}~:kz����|��}�+~1xm�<qua1n£qui8xm� J c

U���B�����.�J�2 - U���B�����.�J�2 0 U���«�����.s8B2V �yq�� ���s� �y�.�J�2 - V �yq�� ���s� �y�.�J�2 0 V �yq �����1� �y�.s8B2j¬

� ����� ���p�» �������

¯\ir�oa�ª!�}aY��|���ija:~1qj|�xm�H�}¼6]�Ç�f³kz�Qkz��s£ij|�i0�oa1qua�wu`b|��}aYi�qu^}a»ija1qrxm�S¢Fkm��l!a:i�quxL¸6a�wua:~1xDwu�}a:�>¼}�Qkz`ba���sm¼qu^}a�¢�kz��l}a:i�qu^!k�qJkmwja�a1±Àa:~1qj|�¢ma:��s�wua �<l}|�wua:��|��Mqj^}a0kD�Fytxm|��<qJ~1xo�oa�kz�!�»º�|����}¸6a�x�¢ma:wjº�wu|�q¦qja:�»�ol!wj|��}�eqj^}awua�`�km|��!�}a�w+xz��qj^}aM�µxmwuº�kzw��H~�km��~�l}��k�qj|�xm��¬»]�^£l!i:¼�]�Ç�f�km�!kz��soi¦|�i\�µxm����x�º0i\qj^!abÂ!x�º�xz��qj^}a�xDwj|��m|��!km�~�xo�oam¼>{}wuxm{Qkz�Dkzqj|��}��qu^}a�i¦a�q+xm�Å¢�kzwu|�km¸}��a:i\º�^}xDijaM~�l}wuwja:�Dqe¢�kz��l}ab|�iewua �<l}|�wjaY��|��/qj^!abkD�Fytxm|��<q+~�xo�oam¼km�!�ÂQkz�<i0kmiuij|��D�}`ba��<qui¿qu^!k�qrx�¢Da�wuº�wj|�qja+ijl!~�^�kb¢Fkmwj|�kz¸!��aD¼!i¦xbqu^!k�q\|«q�i0¢�kz��l}a2º�|�����¸Qa�wua:~�xmw��oa:�ìůri¸6a1�µxDwjaD¼oº�a+|��oa��<qu|«�µs%k»¸6xzqjqjxD`» ¶l}{�kz�Qkz��s£ij|�i�|���xmw��oa�w¿quxL~1xm�<quwjxD�À~�xm`»¸}|��Qk�qjxDwj|�kz�Àa�n£{!��x<i¦|�xm�ì

�*��� �S� ����� �������� &���� ��$") �,)Ë!xmw�a:km~�^�i¦qjwul!~ qul}wua�J/xz�>qu^}ar{}wuxm�Dwukm`�¼zº�a\i¦s£�<qj^}aYi¦|�·�a\k�i¦l!`M`�kmwjs»xz�>qj^!a0a1±Àa:~1q�xz�>qu^}|�i�i¦qjwul!~ qul}wuaxD�%]�Ç�f­{}wuxm{!km�Dkzqj|�xm�ì�!�xm�!~�wja�qja���sm¼£qu^}|�i�a1±Àa:~1q0|�i�~�xm`b{Qx<i¦aY�pxm��qtº¿xM{!kzwjqui�c

� ]�^}a �I�FF¬� l ¢�kmwj|�kz¸}��a:i:¼6qj^}x<i¦a»qj^Qk�q2kzwuaM~�a�wjqukz|��}��s�~1xm`b{}��a1qua���s�x�¢ma:wjº�wu|«qjqja:��|��Qi¦|��oa»qj^}ab�m|�¢ma:�itquwjlQ~ qjl!wjaD¬j%/a��oa:�}xzquaeqj^}|�i0ija1q0kmi��@�FF«²MJS´ ¬

� ]�^}aW��� ( �y�F��� l ¢�kmwj|�kz¸}��a:i:¼zqu^}xDijarº�^!xDijar~1l}wuwua��<qÅ¢�kz��l}arº�|����Q¸6arwua �<l}|�wjaY�b|��Lqj^}aekm�FytxD|��<q�xm�>qj^}a�m|�¢ma:�%i¦qjwul!~ qul}wuam¬3%/a��}a��}xmqja+qj^!|�i0ija1q0kDi]���)(�²MJS´ ¬

°ek�q�k»Â!x�ºÓa��DlQk�qj|�xm�Qi�kzwua\l!ija:�quxb~�xm`b{}loqua+qj^}aYi¦aeqtº¿xb{}|�aY~1aYi�xz�8|��o�µxDwj`�kzqj|�xm�ìË!xmw�km�L|��!�o|�¢<|��ol!km�Q|��!i¦qjwul!~ qu|�xD�ü<��a�q�l!i¿kz�<kz|��»�µxo~�l!iÅxD�Lkmiui¦|��m�!`Ma:�<qui:¬8½£l!¸}wjxDloqj|��}ae~�kz����iJº�|����6¸Qa

quwjaYk�qua:����k�qua�wY¼Àº�^}a��/º�aM��x£xDÉ�k�q+|��<qja:wj{!wjxo~1aY�ol}w�kz��]�Ç¿f�kz�!km��soij|�i:¬�¯ri+�oa�ª!�}aY�H|��/ija:~1qj|�xm�©�}¼Àqj^}a�$�)(�i¦a�q0xz�Skz��kmiuij|��D�}`ba��<q�|�ira�`b{oqtsp|��8qj^}a�kDijij|��m�}aY�¢�km��l}a2|�i��}xmqrkm~1qj|�¢mam¬ È qj^}a:wjº�|�ijam¼}kb¢�kzwu|�km¸}��a|�i0wua �<l}|�wua:��µxmw�qu^}a»kD�Fytxm|��<q0xz�Jkz��|��!i¦qjwul!~ qu|�xD� G * � . �j2�|«�S|�q\kz{!{QaYkzw�i�|�� � ��%! " . �j2�4B��* Ru4�?�?T?�4 a � 4xDw:¼m|���xmqj^}a:wJº�xDwu�!i�¼z|��>|«qÅkm{}{6a:kzw�iS|���kz��a1no{}wua:iuij|�xD����xz����. ��2�qj^!kzqÅ|�iÅkz��kzwu�ml}`ba:�DqJxm�Àk+�!xm�}��|��!a:kzwxD{Qa:wukzqj|�xm�»º�^}xDija�wua:ijl}��q � |�iSkD~ qu|�¢Dam¼��µxDw�a�n}kz`b{}��a *y~%,�| � � xDw�� �M� ¬�Ë!l}w¦qu^}a�wu`bxmwuam¼�¢�kzwu|�kz¸}��a:i�xo~�~�l}w¦ wu|��}�+|��Mqj^!a�|��!�}|�~�a:iSxm�Qqu^}a � � km�!� G kzwua�wja��<l}|�wua:��º�^}a��!a�¢ma:w8qj^}a���k�qjqja:wÅkzwua�kzwuwukFs+wua1�µa�wua��Q~1a:i:¬�]�^!|�iwua �<l}|�wua�`ba��<q0��a:km�!i0l!i0qjx�qu^}a�xD{Qa:wukzqj|�xm�!km�>wjl}��a:ir¸Qa:��x�º2¼6a1no{}wua:iuija:�%wjaY~1l}w�ij|�¢Da���sLxm��qu^}a»i¦qjwul!~ qul}wua

âµã�äÃâæå

Page 15: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

������������� ����������������������������� cY�

xm�8qj^}a�ijs£�<quk�nqjwua�aD¬ M�]���b|�irij|�`M{!��sqj^}a»i¦a�qrxz�Jkz���â�kzwu|�kz¸}��a:i�xo~:~1l}wuwj|��}�b|���kz��a1no{}wua:iuij|�xD�ì�]�^}awul}��a:i��µxDw0qu^}a�É£|�����a:��¢�kzwu|�km¸}��a:i0kmwja�ij|�`b{}��a�wY¼!º�|�qj^bytlQitq+kLi¦{6a:~�|�km��~�kDi¦a��µxmwrkmwjw�kFsoi;cS|��ÅkzwuwukFs�wua��D|�xD�km�!kz��soi¦|�ie|�i��}xzq2{6a�wj�µxmwu`MaY�>¼�km�©kDijij|��m�}`ba��<q+qjx�xD�}a�kzwuwukFs�~�a����Å�ox£a:i+�}xmq�É£|����Sqj^!aLkzwuwukFsD¬ �rxzqj|�~1akm��ijx�qu^!k�qY¼}i¦|��!~�a\qu^}a+wj|��m^<qj ®^!km�!�Lij|��}a\xm��kz�%kmiui¦|��m�!`Ma:�<q¿|�i¿a1noa:~�loqjaY�p¸6a1�µxDwja\qj^}a+��a1�æqj ®^!km�!�%i¦|��oae|�iº�wu|�q¦qja:�ü}¢�kzwu|�kz¸}��a:i¿É£|�����a:�¸<spqj^}a2��a1�æqj ®^Qkz�!�%i¦|��oa�kmwja+km~1qjl!km����sLa�w�kmija:�p�µwuxm` qu^}aW���)(�ija1q:¬�@�FF«²�#�� � {������M� ´ c - 7�@�FF«² {y�M� ´ c -�. {+/�$�)(�² �u� � {�� ´ c - ��� � {�� km~ qu|�¢Da �� Í � ²r���)(:² � ´ 0 �$� (:² � {�� ´¦´� �@�FF«² ��� � {�� ´�Í 'µ� Í 7

²���� l � ����q t��W����¨���� l � l � ���Fq t���v����D�� qn�;���)(�. � {�� 2¶´�$�)(�² *�~%,�|��B� ´ c - M�]���6² � ´�$�)(�² �g� � ´ c - ² ��� � km~ qu|�¢Da �� Í � M�����6² � ´ 0 �$� (:² � ´¿Í 'µ� Í 7 ´ 0

² ��� � km~1qj|�¢ma �� Í � ������6² � ´ 0 �$�)(�² � ´¿Í 'µ� Í 7 ´�$�)(�² �u�u� ´ c -S�$� (:² � ´ 0 ���)(�² � ´�$�)(�²�# � ~%,�� � {�� ´ c -S�$� (:² #}´ 0 ������6² ~%,�� � { ´�$�)(�² � �����s�ut�v�j´ c - 7�$�)(�²�¨����g��qn���Oqæ´ c - 7Ë!xmw0kMi¦l}¸!wjxDloqj|��}am¼O�$�)(�km�!� �W�FFokmwjae¸}l}|��«qSytxD|��<qu��sLxD�pqu^}aeÂ!x�º��Dwukm{}^km�!�ijxm��¢maY�L|�qja:wukzqj|�¢ma���sm¬]�^!a�~1xDwjwua:ij{QxD�!�o|��}�L�}kzqukbÂ!x�ºÄa��DlQk�qj|�xm�Qirkzwua�ij^}x�º���|���ª!�ml}wua��!¬0Ë}xmwek�¸!kDi¦|�~2¸}��xo~�É6¼Qqj^!a:ija�i¦a�quikmwjaeytxD|��<qj��sH�oa�ª!�}aY�/¸£s©~1xm`b{6xDij|«qu|�xD�/xm��qu^}a�|��!i¦|��oab|��!itquwjlQ~ qj|�xm�¥ija1q�i�¼!ytl!itq���|�Émabqj^!aL~1xm`b{6xDij|«qu|�xD��}a1ª!�}aY�b|��bªQ�ml}wua��\�µxmwSqu^}arija �<l}a:�!~1a�xm�6¸!kDi¦|�~�¸}��xo~�É£i:¬8Ë}xmwÅa:km~�^b¸!kDi¦|�~�¸}��xo~�É6¼mº�a0|��<qjwuxo�ol!~1a�U����$� (²ZwjaYi¦{�¬ V �yq��$�)(j´¿kz�Q� U����@�FFòZwjaYi¦{ì V �yq �@�FF ´1¼}qu^}a�wua �<l}|�wjaY�km�!�%É<|�����aY��¢Fkmwj|�kz¸!��aYi¿�µwjxD` qu^}a�a��<quwjsxm�Sqj^}abijl}¸}wuxmloqu|��}a�qjxpqj^}aª���Bq1��L²ZwjaYi¦{�¬/� ?u�Fq�´rxz�Squ^}a»¸Qkmij|�~�¸}��xo~�ÉÀ¬�!���aYkzwu��sTU������)(rkm�!� U����@�FF!xD�qu^}a�ijl}¸}wuxmloqu|��!a2a��<qjwuskmwja 7 ¼Qkz�Q� V �yqF���)(�km�!� V �yq �@�FFoxm�%qj^!a�i¦l!¸}wjxDloqj|��}a�a�no|«q\kmwja+a�nokD~ qu��sqj^}a�}a:ij|�wua:�Y�$� (�kz�!� �@�FF�i¦a�qui�xm��qj^}a%i¦l!¸}wjxDloqj|��}aD¬HË�|��Dl}wja��a:iui¦a:�<qj|�kz����s©itq�k�qjaYi2qu^!k�qbk�¢�kzwu|�km¸}��a�|�iwua �<l}|�wua:�Hkz�æqja:w2¸!kmij|�~M¸}��xo~�É � |���|�q�|�i2wua �<l}|�wua:��xD�©kzq2��aYkmi¦q+xD�}ab{!k�qu^���aYkm�o|��}�%qjx � kz�!�©|�i+�}xzqÉ£|�����a:�H|�� �L¼ÃxDw\a:��ijaM|«�Å|�q2|�iewua �<l}|�wjaY��|��!i¦|��oa �L¬�]�a�wu`b|��Qk�qj|�xm�/xz�Jqu^}aM|«qua�w�k�qj|�¢mabijxm��loqj|�xm��{!wjxo~1aYiji|�i��mw�kz�<qua:�L¸£s�qu^}a+�Zkm~1q�qj^!kzq�qj^}a�~�xm`b{}loqua:��i¦a�qui�kmwjae�mwux�º�|��!��º�|�qj^�wjaYi¦{6a:~1q�qjxLija1q�|��Q~1��l!i¦|�xm��kz�Q�qu^!k�q�qu^}a�skzwuae¸6xml!�!�oa:�%¸£s�qu^}a+ª!�}|�qja�ija1q0xm��kz���â�kzwu|�kz¸}��a:i¿|��qu^}a2{}wuxm�Dwukm`%¬

Ë!xmw�i¦qjwul!~ qul}wua:�\Â!x�º©�mw�kz{}^!i:¼1qu^}aÅ�}kzquk¿Â!x�º©a �<l!kzqj|�xm�!i�~�kz�+¸6aÅij{QaY~1|�kz��|�·:a:�+kmiÃij^}x�º��+|��+ª!�ml}wua��£¬¯¿q»qj^}ap~:kz���J�mw�kz{!^©��a�¢Da��®¼�qu^}a=�$� (�kz�!� �@�FF�ija1q�i�xz�0k�~:kz���Jqjx�kHi¦l}¸!wjxDloqj|��}a J­kzwua�a �<l!km�Sqjx

�$�)(�.MJ�2Åkz�!� �@�FF�.MJ�2j¬Å]�^}|�i�|�`M{!��|�a:i�xD�}a+¸Qxmq¦quxm`M ®l!{�ijº¿a�a�{�µxmw0kD~1so~1��|�~e~:kz���>�mw�kz{}^Qi�¬�*��� ��S�� 9� �� � ���� &��"�(��$")+��)]�x�qua�wu`b|��!kzqjap]�Ç�f�km�!kz��soi¦|�i:¼�º¿ap{!wjxD{!kz�<k�qjabqu^}apwua �<l}|�wua:�¥¢�kzwu|�kz¸}��a:i�km��xD�}��qu^}a{!wjxD�mw�kz` ~�xm�o quwjxD�>Â!x�º2¬�]�^}|�i0|�irkMqjxD{o ¾�ox�º���i¦º¿a�a:{%xD��qj^}a�{}wjxD�mw�kz`�¼oº�^}|�~�^�l!ija:i�qu^}a�wua:ijl}��qui�xm��qu^}a�{}wua�¢£|�xml!i¸6xzqjqjxD`» ¶l}{»{}^!kmijam¬�]�º¿x+i¦a�qui8kzwua�~�xm`b{}loqua:��km�!��{!wjxD{!kz�<k�qjaY�+�µxmw�a:kD~�^�{}wuxm�Dwukm`­i¦qjwul!~1qjl}wua7c�U����$� (

ä�ä ì�°}ü�±�² ú

Page 16: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

c:� �@� ��¨�����q����@���b���B�Z��� l�� ����¨ �O��

...

B

...

U����$�)(�. ��23* ��������������� � ����������

V �yq��$� (�.1&e2

U����@�FFE. ��23* ��������������� � ����������

V �yq �@�FF�.r&e2

V �yqF���)(�. �b23*S.6U������)(�. �b2 �W�FFv. ��2 2 0 ���)(�. ��2V �yq �@�FF�. ��23* U����@�FFE. �b2 0 �@�FFE. �b2

Ë�|��ml!wja2� c��]���«������ l ��qn��\��wc� ( �O��qr�s���O�}�����@t���qrq¯�, � � mK���������«��� �����

B< B1

B2

�$�)(�. �b2 *S.r���)(�. � ¡ 2 �@�FFv. � � 2 2 0 �$�)(�. � � 2�@�FFv. �b2j* �@�FFE. � � 2 0 �W�FFv. � ¡ 2

B<

B1 B2

�$�)(�. �b2 *����)(�. � ¡ 2 0 ���)(�. � � 2�@�FFv. �b2j* �@�FFE. � ¡ 2�� �W�FFv. � ��2

B<

B1

�$�)(�. �b2 *����)(�. � ¡ 2�@�FFv. �b2j* �@�FFE. � ¡ 2

Ë�|��ml!wjaW��c��«q1� �O¨�q �y��� lbl ��qn��\��wc� ( �O��qr�s���O�}�����@t���qrq¯�, � � m)�«�������«��E �����

âµã�äÃâæå

Page 17: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

������������� ����������������������������� cF�

²ZwjaYi¦{�¬ V �yqF���)(u´8|�i�qu^}aeija1q�xz��qj^}ae¢�kzwu|�km¸}��aYiź�^!xDijar¢�kz��l}am¼�t��1�������+²ZwjaYi¦{ì]� ��q¯���¦´Squ^}a2~1l}wuwua��<q¿i¦qjwul!~  qul}wuam¼>|�i\{6xDiuij|�¸}��s�wua �<l}|�wjaY��¸£s�qj^}abkm��ytxm|��Dq+xz�¿{}wua�¢£|�xDl!i\|��!i¦qjwul!~1qj|�xm�!i:¬"�JkD~�^�qj|�`ba�kz�H|��!�o|�¢£|��}l!kz�|��!i¦qjwul!~ qu|�xD�px�¢Da�wuº�wj|�qjaYiÅk»wja��Dl!|�wua:��¢�km��l}a�²Z|W¬ am¬Jk»¢�kzwu|�km¸}��a\{}wua:ija��<q¿|��Lqu^}a U������)(¿i¦a�q�´ ¼oº¿a\ÂQkz�»qj^}ax�¢Da�wuº�wj|�q¦qua��¢Fkm��l!a+kDi}¤¾quxb¸Qa2wua:~�xmw��oa:� H ¬

¯¿q�qu^}a�~�km���0�Dwukm{}^ ��a�¢Da��®¼¿ijl}¸}wuxml}qj|��}a:i�kmwja�kz�!km��s£·:a:� qjxm{¡�ox�º���¼Å|��¨km�¨xmw��oa�wbxm¸}qukz|��}aY� ¸£squxm{6xm��xm�D|�~:kz��ijxmwjqj|��}�!¬\]�^}|�i\kz{}{!wjx<km~�^�a��!ijl}wua:i0qj^!kzqekp~:kz����aY��i¦l!¸}wjxDloqj|��}a»|�iekz�!km��s£·:a:��k��æqua�wb��F!xm�|�qui2~:kz����|��}�%i¦|�qjaYi+^!kF¢ma»¸Qa:a���kz�!km��s£·�aY�>¬�]�^£l!i\qj^!ab�!k�qukpÂ!x�º�a��<l!k�qu|�xD�!i\�µxmweqj^}a�ijl}¸}wuxmloqu|��!aM~:kz���W¼�D|�¢Da��L¸6a���x�º2¼oa��Qi¦l}wua0qu^!k�q�qu^}a U����$�)(Jxm��kz���>~�kz����|��}�b~1xD�<qja1n£q�i¿kmwjaekm~:~1l}`»l}��kzqjaY�L|��Dqux�qu^}a�U����$�)(Åxm�qu^}a�~�km����a:�%ijl}¸}wuxmloqu|��}a+|�quija����t¬J]�^}a U������)(¿xz��qj^}a+quxm{�ijl}¸}wuxmloqu|��}a+|�i�|��!|«qu|�km��|�·�aY�pqux 7 ¬¯¿q�qu^}aeÂ!x�ºÓ�Dwukm{}^p��a�¢Da��®¼}�}k�q�k�Â!x�º a �<l!kzqj|�xm�!i��µxmw�qu^}a2]�Ç�f km�!kz��soi¦|�i�kzwuaeij^}x�º��%|��ª!�ml!wja+�}¬Ë�|��ml}wua ��ij^}x�º0iÅij{6a:~1|�kz��|�·�a:���!k�qukeÂQx�º§a��<l!k�qu|�xD�!iS�µxDwÅi¦xD`barijkm`b{}��a\itquwjl!~1qjl}wua:�MÂQx�º§�Dwukm{}^!i:¬�]�^}aU����$� (�ija1q�xm��qu^}a2a��<qjwusL¸!kDi¦|�~e¸}��x£~�Ép|�i�|��}|�qj|�kz��|�·:a:�qjxMqj^!a U����$�)(¿xz��qu^}a�ijl}¸}wuxmloqu|��}a+|�quija����t¬

...

B

...

U����$�)(�. ��23* ��������������� � ����������

V �yq��$� (�.1&e2

V �yqF���)(�. �b23*S.6U������)(�. �b2 �W�FFv. ��2 2 0 ���)(�. ��2

Ë�|��ml!wja+� c �]���«������ l ��qn��\��wc� ( �O��qr�s���O�}������qn��m � l ��wj�K���������«��� �����

B<

B1 B2

U����$� (�. � ¡ 2 * U������)(�. � � 23* U����$� (�. ��2V �yqF���)(�. �b23* V �yq��$� (�. � ¡ 2 0 V �yq��$�)(�. � ��2

B<

B1

U����$� (�. � ¡ 2 * U������)(�. �b2 0 �$� (�. � ¡ 2V �yqF���)(�. �b23*S.6U������)(�. �b2 �W�FFv. � ¡ 2�2 0 ���)(�. � ¡ 2

Ë�|��Dl}wua��Ac�� ?���$mBv���@�x�;��qr� �O¨�q �y��� lbl ��q¯��\��wc�)(��O��q1�s���g�}�����Wq¯��m � l ��wj� ������������� �����È ¸!ija�wu¢ma+qu^!k�qY¼Ql!�}��|�Éma��µxmw\�}a�{6a��!�oa:�!~1|�a:iM²æªQ�ml}wua��D´1¼!qu^}a�i¦qjwul!~ qul}wua:���}kzqukbÂ!x�ºÄa��DlQk�qj|�xm�Qi��µxmw

qu^}aL��x£xm{¤kzwua��}xmq�|«qua�w�k�qu|�¢DaLkz�!�©qu^}a�wua1�µxDwjaL~:kz��¸Qa%i¦xD��¢Da:��k�q»��x�ºÆ~1x<itq�º�|�qj^¤�!x�ª}no{QxD|��<qY¬�]�^!|�iwua:ijl}��q2º¿kDi2�oa�`bxm�Qitquwukzqja:�/|��[��c����®¬��ra�wua�º�abwua1�µxmwu`�l!��kzqja»qj^}a�{}wux£xz��|��©qu^}a�{}wua:ija��<q+�µxmwu`bkm��|�ij`%¬]�^!ar�ma:�}a�w�kz�6�}k�q�k2Â!x�º¨a��DlQk�qj|�xm�QiJ�µwuxm` ª!�Dl}wja\�}¼£i¦{6a:~�|�km��|�·�aY�bqjx�qj^}a+itquwjlQ~ qjl!wjaY����x£xD{Lxz�>ª!�Dl}wua �}¼

ä�ä ì�°}ü�±�² ú

Page 18: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

cY� �@� ��¨�����q����@���b���B�Z��� l�� ����¨ �O��

kmwjaU������)(�. � ¡ 23* U����$� (�. ��2 0 V �yq��$� (�. � ¡ 2��V �yq��$�)(�. � ¡ 2 *S.6U����$� (�. � ¡ 2 �@�FFv. � ¡ 2�2 0 �$�)(�. � ¡ 2j¬

½ol}¸!i¦qj|�qjloqu|��}� V �yqF���)(�. � ¡ 2J|��<qux»qu^}a+ª!w�itq�a��DlQk�qj|�xm�%�m|�¢maYi¿qj^}a+ª!n£{6xm|��<q0�oa1ª!�!|«qu|�xD�U������)(�. � ¡ 23* U����$� (�. ��2 0 .6U������)(�. � ¡ 2 �@�FFE. � ¡ 2 2 0 �$� (�. � ¡ 2u¼

º�^!xDija+ijxm��loqu|�xD�|�i¿qj^}a+ªQwui¦q0�}k�q�k�ÂQx�ºÓa �<l!kzqj|�xm��µxmw0i¦qjwul!~ qul}wua:���x£xm{Qi;cU������)(�. � ¡ 23* U����$� (�. ��2 0 ���)(�. � ¡ 2�?��

½o|�`b|���kmwj��sm¼ V �yqF���)(�. ��2J|�i0a �<l!kz�Àqux V �yqF���)(�. � ¡ 2Åkz�Q�V �yq��$�)(�. ��23* .�.6U������)(�. �b2 0 �$�)(�. � ¡ 2 2 �@�FFE. � ¡ 2 2 0 �$� (�. � ¡ 2�4

º�^!|�~�^�~�km�¸6a�i¦|�`b{}��|«ª!aY�qjx��ma�q�qj^}a�ija:~�xm�!�%�}k�q�k»Â!x�ºÓa��DlQk�qj|�xm��µxmw0i¦qjwul!~1qjl}wua:���x£xD{!i;cV �yq��$�)(�. ��23* .MU����$�)(�. �b2 �@�FFE. � ¡ 2 2 0 �$� (�. � ¡ 2�?��

Ë�|��!kz����sD¼!k�q�qu^}a2��a:¢ma:�>xz�8|��!i¦qjwul!~1qj|�xm�!i:¼£qj^}a+qtº¿xb|�`b{6xmwjqukm�Dq0~:kmija:i�kzwua2kmi¿�µxm����x�º0i;c

� Ë}xDw0kMij|�`M{!��a�kDijij|��D�}`ba��<q\8 c ��� � {�� ¼£º�a+^!kF¢DaV �yqF���)(�.18O2j* .MU����$�)(�.s8B2 �@�FFE.18O2�2 0 ���)(�.18O2

kz�!� � `»l!i¦q0¸Qa+ÂQkm�m�Da:�pkDi}¤¾quxb¸Qa2wua:~�xmw��oa:� He|«�8|«q0¸6a���xm�!�Di¿qjx U������)(�.s8B2j¬� Ë}xDw0kMijl}¸}wuxml}qj|��}a�~�km���­8 c 4M����� J |�������� ¼£º�a+^!kF¢Da

V �yq��$� (�.s8B23* .MU����$�)(�.18O2 �@�FFv.MJ�2�2 0 �$�)(�.�J�2�4kz�!��º¿a�kD�}�%qj^}a»~1l}wuwja:�<qrwja��<l}|�wua:�%¢�kzwu|�kz¸}��a:i"U������)(�.s8B2ÅqjxLqj^}aMi¦l}`b`�kzwuspxm�Swja��Dl!|�wua:�%¢�kzwu|« kz¸}��a:i¿�µxDw0kz����~�km����|��}�M~�xm�<qja�n£qui�xz��J c

U������)(�.MJ�23*U������)(�.�J�2 0 U������)(�.18O2�?

� � �������M(�'p$�����$�� � ���8��)*�0��(��»/� ����'%�(��

%©ap^QkF¢mapkm{}{}��|�aY�¥]�¯\v �1�r¯\°�� º�|�qj^ km�!�¥º�|�qj^}xDloqM]�Ç�f�km�!kz��soi¦|�i2quxHk�¢�kmwj|�kz�<q�xm�¿qu^}a�Ç�w�k�qul{!wjxD¸}��a:`-� � �¶¬+¹¶q\`bxo�oa���i\qj^}a�qj^}a:wj`�km��a�n£{!��x<i¦|�xm��xm�Åi¦xD��|����µl}a:��i:¼Àº�^}|�~�^/~�km��¸6a»�oaYij~�wj|�¸QaY��¸£s�qj^}aijsoitqua�`�xm�8�}|«±Àa�wua��<qj|�kz�>a��<l!k�qu|�xD�!i

� ¥ ¥ .� �2kV�� � 0��������������� �������*KfO4

º�^!a�wua� o^ . h�RM4TR�2�kz�!� � . h�RM2 * � . RM2 *SfO?6]�^!a»{}wuxm¸!��a:` ^Qkmi\¸Qa:a����o|�iu~1wua1qu|�·:a:��¸£s�l!ij|��!�%i¦qja:{ij|�·�a���kmi

, � * � � £­¡ h! � � V � �  �¡ V"� � 3 # � £k¡ V)RIf # � V # �  �¡ 5�$�R%

âµã�äÃâæå

Page 19: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

������������� ����������������������������� c��

�µxDw �`* RM4�?T?�?�4TRTfufMfMfO4Àº�|«qu^ � ¢ * � ¡x¢�¢�¢�¡ *�f�kz�!� # � * � � =?> @k.�� � $�.�R�V � � � 2 2�? È ��|��<qua�wua:i¦q�kzwuaqu^}a+�oa�wu|�¢�kzqj|�¢ma:iÅxz�>qu^}ae~�xm`b{6xm�}a:�Dq��µl}�!~1qj|�xm�!i , � º�|�qj^wjaYi¦{6a:~1qÅqjx»qj^!a\~1l!wjwua��<q¿i¦qukzqja � � kmiź�a:���>kmiqu^}ar{Qkzw�kz`ba1qua�w�i �ekz�!� � ?£]�^}a\xmwu|��D|��!km�Q~�x£�}a0|�`b{}��a�`ba:�Dqu|��!��qj^!ae�o|�iu~1wua1qj|�·�aY�b{}wuxm¸}��a�`Æ|�i�ij^}x�º���|��¯r{}{6a��!�o|�np¯�¬S¯r{}{Qa:�!�o|�nǧ��|�i¦quiÅqj^}a+i¦xDl}w�~1a0xm�>qj^}ae`�kz|��L��x£xD{Lxz�>qu^}aekD�Fytxm|��<q¿~�x£�}ar�ma:�}a�w�k�qua:�b¸£s]�¯rv��1�r¯\°��§º�|�qj^�]�Ç¿fÓkz�!km��soij|�i:¬�]�^!a\¢�kz��l}aYiÅxm�Ãqj^}ae|��Dqua�wu`ba:�o|�k�quar¢�kzwu|�km¸}��a:i � {���� ¼O?T?�?�4 � {������wua:ijl}��qj|��}���µwuxm` qu^}ae~:kz�}xD�}|�~�kz��|�·:k�qu|�xD�bxz�Ãqu^}a\|��}{}l}q�~�x£�}ar`�lQitq�¸Qae{}l!ij^}aY��xm�<qjx�qj^}a\qukm{Qa\¸QaY~�kml!i¦aqu^}a�|�w+¢�kz��l}a:i2kmwja»l!i¦aY�H�!xm�}��|��!a:kzwu��s%|���km~ qu|�¢Da�qua�wu`�i+|��!ij|��oa�qu^}ab��x£xD{/¸6xo�osm¬MË}xmw+a�nokm`b{}��aD¼ � {���km{}{6a:kzw�ie|��� � �� ��� |��M����� ���g� � { ��� ¬ �0a�|�qj^!a�w�� |T~�� �!xmw�� |T~���u� xmw�� |T~ ���u� |�i+|��£¢mxD��¢Da:��|��©qj^}a~�xm`b{}loq�k�qu|�xD�/xm��km�<sH��xo~�km�S{!kzwjqj|�kz�J�}a�wu|�¢�k�qu|�¢Dam¬L]�^}|�i+�ZkD~ q�|�i+wjaY~1xm�D�}|�·�a:�/¸£s�qj^!ap]�Ç�f�km�!kz��soi¦|�i�¼km�!�pqj^}a:|�w0¢�km��l}aYi�kzwua\�!xzq0wua:~1xDwu�}a:�>¬

%¡|�qj^H]�Ç�f³km�!kz��soi¦|�i�i¦º�|�qu~�^!a:��xz±8¼Qqj^}a�¢�km��l}a�xz�Skz����¢�kzwu|�km¸}��a:i�qu^!k�q\km{}{6a:kzwrxm�%qj^}a»��a��æq¦ ¶^!kz�Q�ij|��oa»xm�¿ijxm`babkmiui¦|��m�}`ba:�Dq�ir`»l!i¦q+¸6aMwjaY~1xmw��oaY�>¬�¹¾�©{!kzwjqj|�~1l}��kzwY¼>km�}�}|«qu|�xD�!kz�8{}l!ij^/km�!�/{QxD{©i¦qukzqja1 `ba:�Dq�iS^!kF¢Da�qjx2¸6a0|��Qi¦a:w¦qua:�M�µxmw�� |T~���u��2 � |T~�� ¼zkz�!��� |T~����u� ¬�]�^}|�iÅi¦qjw�k�qua��Ds�|�iJ|�`b{}��a�`ba��<qua:�>¼D�µxmwa�n}kz`b{}��am¼o|���¯\°r¹tË È f �!¬ � �ß�I��km�!� È �}s£iui �a1a�cm¬��b� ���¶¬j%¡^}|���a2|�q�qjx£xDÉp���u��ija:~m¬�quxbwjl}�%qu^}a2~1xo�oa2|��¯r{}{6a��!�o|�npǧxm�pkM�z�D� Iª�r·\v�a��<qj|�l}` ¹j¹r² |��£lon!´Å`bkD~�^}|��}am¼Dqj^}ae��km~�ÉMxz��]�Ç�f�km�!kz��soi¦|�iJ|��!~1wua:kDi¦aY�qu^}a2a1noaY~1loqu|�xD�pqu|�`ba+qjxb�<�m�bi¦aY~z¬

Ë!l}w¦qu^}a�w¿a1no{6a�wu|�`ba:�Dq�kz�Q|�`b{}��a�`ba��<q�k�qj|�xm�QiÅxm�>qj^}a\|��oaYkmiÅ�µxmwu`�kz��|�·:a:�b|���qj^}|�i�{!kz{6a�w�i¦^!x�º�aY�»a:¢ma:�`bxDwja%{}wuxm`b|�ij|��}�Hwua:�olQ~ qj|�xm�Qi»xm�0qj^!a%`ba:`MxDwjs¥wua �<l}|�wua�`ba��<qbº�^}a�� �µxm����x�º�|��}��kH{}l!wjab¤¦i¦qjxDwja�kz��� �i¦qjw�k�qua��Dsm¬ ¹¾� � ����]�Ç�f&kz�Qkz��s£ij|�iLº�kmi%kz{}{}��|�a:�¡qux§k ��kmwj�DaH|��!�ol!i¦qjwu|�kz�\qj^}a:wj`�kz�� ¶^<so�ow�kzl!��|�~�~1xo�oa�}a�¢ma:��xD{QaY�pkzq��Å°\Ë� ¾°��JfÄ|���Ë}w�kz�!~�aM²! �fg4�fMfuf���|��}aYi�¼�"MfMfMi¦l!¸}{}wuxm�mw�kz`�i:¼BRu4�fufMf�{Qkzw�kz`ba1qua�w�iu´1¬�]�^}aq�kz{6aMij|�·�ab~1xml!���H¸Qa��oaY~1wua:kmija:��¸<s�kp�Zkm~1qjxDwexm�#"o¬»]�^}aMij|�·�aMxz�Åqu^}abitq�kz�!�}kmwu��qukm{QaM�ma:�}a�w�k�qua:��¸£sÈ �}s£iui �a1abcm¬���|�i yR�$g4&%� �f � RIf�'+ij~:kz��kzw�¢�kz��l}a:i2²Zxmw�Ru4( �RuRM4&$�)Mf I�Ç¿sDqua:i�|���a:¢ma:wjsL¢�km��l}a+|�i0kb�oxml!¸}��aF´ ¼º�^!a�wua:kmi�qu^}a2xm{oqu|�`b|�·�aY�pq�kz{6a2~1xm�<q�kz|��!i�xm�}��s+*�f�*-,-) � RTf-'eiu~�km��kmw�¢�km��l}aYi�²µxDw.$� �$g4/,-,�, I�Ç�s<qua:i�´ ¬

� ,10��" =�1��$32�)*�0��(��

�\kzl}`�km�}��º¿kDi�i¦l!{}{QxDw¦qua:��¸£s�qu^}a I�kzqj^}a:`�k�qj|�~�km�W¼�¹¾�o�µxDwj`�k�qu|�xD�ü8kz�!� !�xm`b{}l}quk�qu|�xD�!kz�¿½o~1|�a��!~�a:i°\|�¢<|�ij|�xD�bijl}¸}{!wjxD�mw�kz`³xz�Àqu^}a È ÊL~1a�xm�À¯��o¢�km�!~1aY�L½o~1|�a��<qj|�ªQ~ !�xD`M{!loqj|��}��f�aYi¦aYkzw�~�^ü�A�¬ß½À¬<°ra:{!kzwjq¦ `ba:�Dq0xm��S�!a�wu�msm¼ol!�!�oa�w !�xm�<qjw�km~1q�%¨ ¾�}c� ucY� ��  �1� '  ¶�D�}¬

� � �������0�p,¿���

��c��4 5�5 �76�����8�8�8��*�6 � ��~%,���~ � � � ��� 5 �56 �­~�45* ¬­Arf ¬� ���2¯�¬2¯0^}xQ¼»f2¬2½£a1qu^}|®¼»kz�Q�Á�}¬;A0����`bkm�ì:9}��$mB�F¬����� - � ���F�«¨�� mBv��� �)�B��¨�©��O��( �O��� �Z��� l �B�I�� � ¬

¯��!�o|�ijxm�} r%©a:ij��a:sm¼}f�aYkm�o|��}�Q¼2I�¯�¼Ãc �m�D�}¬� ���2Çe¬À¯�¢Da�wu|�ÉÀ¼6f2¬�!¿kmw¦qua�wY¼Qkm�!�H�!¬%I�xDw�az¬e]�^}a�I�¹ �rvÀ¯ ! 8e ¾�bqja:i¦q\{!wjxD¸}��a:` ~�xm����aY~ qu|�xD�¤²µ{}wua���|�`M 

|��!kmwjs�¢Da�w�i¦|�xm�6´ ¬�]�aY~�^}�}|�~�km�Åf�a�{6xmwjq�cY�m�}¼�I�kzqj^}a:`�k�qj|�~�km�Jkz�!� !�xD`M{!loqja:w�½o~1|�a��!~�aL°r|�¢£|�ij|�xm�ü¯rwj�Dxm�}�!a �\k�qu|�xD�!kz� kz¸6xmw�k�qjxDwjsD¼Qc � �!cm¬

ä�ä ì�°}ü�±�² ú

Page 20: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

cY� �@� ��¨�����q����@���b���B�Z��� l�� ����¨ �O��

� �M� I¥¬�Ç¿a�wu·m¼�!\¬�Ç�|�iu~�^}xz�t¼ ' ¬ !�xmwu��|�iji:¼8kz�!�¥¯�¬ ' wu|�a:º¿km�}ÉÀ¼�aY�o|�qjxmw�i:¬ 9j�,�m �yq¯��q1�s���«��3�W� p�������� �qr�s��qr�s��� � �B��¨�©��O��( �O��� �$��mumB��s¨���q1�s���g� �@��� l �B�I�� � ¼ÅvSwuxo~1a:a:�o|��}�DiM½£a�wu|�a:i:¼8vJ^}|���km�}a���{}^}|�k}¼�c � �m�!¬½o¹t¯!I�¬

� ���2¯�¬ !¿kzwu��a�km�!� I�¬ÀË!km�Dkz��¬0¯r°\¹tË È fÁ�!¬ �!¬0]�aY~�^}�}|�~�km��f�a:{QxDw¦q�!¿¯r¯!I� ¶]�f� ¾�m�z ¶�<�o¼!f0|�~�a@A0�!|« ¢Da�w�i¦|�qtsm¼!�m�m�D�}¬

� ��� ' ¬ !�xDwj��|�iji:¼�!\¬>ËQkzl}wuam¼>¯�¬ ' wu|�a:º¿km�}ÉÀ¼ ¬­�rkDij~�x<a�q:¼>kz�Q� A�¬.�\kzl}`�kz�!�üÀa:�o|�qjxDwui:¬W� �yq¯�,/��q1�s¨�W� p��������Oqr�s��qr�s���S�x� �$ Du�����Fqs©$W�����k���� �«� ��yv��q1�s��� q¯� V mBqr� @���I��qr�s���Q¼ �ra�º�JxmwuÉÀ¼\�z�D�D�}¬½o{}wj|��}�Da�wY¬

� � � ' ¬�!�xmwu��|�iui�kz�!��¯�¬ ' wj|�a�º�kz�!É6¼oaY�o|�qjxmw�i:¬�� �yq¯�,/��q1�s¨`�W� p��������Bq1�s��q1�s��� � �k©������� �SU $mB¬��b���Bq¯�4�qr�s���+����� l � mMmBE�s¨���q1�s���!¼6vSwjxo~�a�a:�}|��}�<i0½£a�wu|�a:i:¼}vS^}|���kD�oa���{}^}|�k}¼Ãc � �!cm¬o½£¹t¯!I�¬� ���"!\¬QË!kzl!wja2kz�Q�=A�¬+�rkml}`�kz�}�ìJ]�^!a+qukz{!|��}�b{}wuxm¸!��a:`�|���kmloqjxD`bkzqj|�~+�o|«±Àa�wua��<qu|�kzqj|�xm�ì8¹¾�� � ��¬� ���"!\¬ÃËQkzl}wuabkz�!���»¬Ãv8kz{6a��<kFsm¬W§�� � �%� �090 l!ija�w�� ie�ml!|��oaD¼>¢ma:wuij|�xD�¤cm¬��£¬»]�aY~�^}�}|�~�kz�Sf�a:{QxDw¦q2�D�D���Q¼

¹ �\f�¹t¯�¼À½£a�{}qja�`»¸Qa:w2c � �m�}¬��c:���+f�¬ ' |�a�wu|��!�pkz�!��]+¬�82kz`b|��!ijÉ<|®¬0]�x�º¿kmwu�}i�km��xm{oqu|�`�km�Ãqjw�km�}a1 ¶xz±/¸6a1qtº¿a�a:��wjaY~�km��~�l}��kzqj|�xm��kz�Q�

q�kz{}|��}��|��wua�¢Da�w�i¦ae`bxo�oa�km�>¬8¹¾�� ����¬��cmc��+f�¬ ' |�a�wu|��}��km�!�b]+¬�82kz`b|��!ijÉ<|®¬Qf0a:~1|�{6a:iS�µxDwJkm�FytxD|��<qÅ~�x£�}a0~1xm�Qitquwjl!~1qj|�xm�ì­� 9�� �y�����g� -�� ��qs©-

�­�x��qrw�������¼6�z�Ac �D�����<�y�F�Q¼}c � �m�}¬��cY���+¯�¬ ' wj|�a�º�kz�}ÉÀ¬�¯�~�^}|�a�¢£|��}�¤��xm�<kzwu|«qu^}`b|�~��Dwjx�º�qu^¡xz�2qua�`b{QxDwukm�\km�!��ij{!k�qu|�km�\~1xD`b{}��a�no|«qts¨|��

wua�¢Da�w�i¦a0kmloqjxD`�k�qj|�~0�o|�±Àa�wua��<qj|�k�qu|�xD�ì V m«q1� e���I��qr�s����� ��qs©y� l �;��� l ���x��qrw������1¼>²tcF´�c �D���o���Q¼}c � �D�}¬��c:���+¯�¬ ' wu|�a�º�kz�}ÉÀ¬ ������ �O��q1�F��Dª�@�����F� ��q1�F������- � ���F��¨�� m«v���ª��� l �B��¨�©��O��( �O���=� �e�$ D������Fq1©'e�s¨��W� �F����������Oqr�s��qr�s���Q¬ �0l!`�¸6a�w�c �/|��¡Ë}wuxm�<qj|�a�w�iM|��¡¯r{}{}��|�aY� I�k�qu^}a�`�k�qu|�~:i�¬Å½o¹t¯!I�¼¿vS^}|���kD�oa���{}^}|�k}¼

�m�m�D�}¬��c��M�;A�¬�rkzl!`bkm�}�ì�f�a:�olQ~1|��}��qu^}a\`ba:`MxDwjsbwua �<l}|�wja:`ba��<q�|��pwua�¢Da�w�i¦a�`bxo�oa+kzloquxm`�k�qu|�~\�o|«±Àa�wua��<qu|« 

kzqj|�xm��¸£sijxm��¢£|��!�L]�Ç¿f­ÂQx�º a��DlQk�qj|�xm�Qi�¬�¹¾� � ���I¨���� l �F��D��/�x��q1©�� U 9 9 ��������� 9}���T���������«¨��b���9}�,�m �yq¯��q1�s���«�� ��¨��s���«¨�� � � ����q(U�U ¼ � !�½>¬Q½£{}wu|��!�ma�wY¼}�z�D�D�o¬

��cY���+f�¬�f�l!�m|��!k�kz�Q� I�¬�f0|��!kmwu�ì�½os<`»¸QxD��|�~�¸6xml}�Q�}i»km�!kz��soi¦|�i+xz�0{6xm|��<qja:wui:¼�kmwjw�kFs�|��!�o|�~1aYi�¼Skz�Q�kD~�~�a:iui¦aY�P`ba:`MxDwjs§wua��m|�xm�Qi�¬­¹¾� � ���I¨���� l �F��D��Z�x�5q1©�� � 9�� �+U � ��� �*�! ��� 9}���T���������«¨������� ����DM���,�e�F��D � ����D �O��D��`�@�����ED��o��� l U $mBv� b���Bq¯��q1�s���!¬!¯ ! I�¼6�z�m�D�}¬

� �Á���+(�' �³��"#"�1�0)

*%$�� ��6�$ 5 ~%, � ���g� 5 $�| �«~ � 2 �g�-������{ 2x{ 2 ����� 2�&«�~�, 5 ��' � � �B~ � 2 �O�-� ���u{

� ~�,�� � � � ,�� � , 5)( �-��~��M��� � *�56�$���� � ��� � 4y~*�~ 6�,){}| �«~ � � 2 ����� | �O�������u{��

âµã�äÃâæå

Page 21: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

������������� ����������������������������� c �

� � � � � ,�� � , 5 ( ����~��M��� � *�56�$���� � ��� � 4y~*�~ 6�, &}| �«~ � �

�~�, 5 ��' � � ~�56�$���� � ��� � 4y~*�~ 6�,

� ����� � |��B~ �«���u�&j|��u� � � �O��{}|��M��� � � � ��� | �u�����������g�k|��������O� � {��j|�{j|��M��� | � � ��� ������|(�O��� {j|����������&j|(�B� �c{j|��u��� � � � � � |��u������� �!�O� � {��}|�{3|��M��� |�� �!��� � � ��|(�g��� {}|��M���u��56 �)~�� � 2 �«~ � ��&}|T~���u�Y� &j|T~���u� ��{}|T~�� � � � ������|��u� ����� � �g� � {��}|�{j|�~�� � |�� � �u��������|(�O�u��{3|T~������&}|T~��i� &}|T~������O��{j|T~���� � � ������|��M����� ���g� � {���|x{}|�~���� |�� ���u����� � |/�B�u��{j|�~��u���&}|T~ ���u�Y��{j|T~���� � � � � � |��u� ����� � �g� � {��}|�{j|�~�� � |�� � �u��������|(�O�u��{3|T~������

� 4 6�, 5 ~%,�$ �&j|��«~ � � �u��� &j|��«~ � � �u����{}| �«~ � �I� � �� ��� |��u��� ��� ���g� � {���|x{}| �«~ ������|�� ���� � � ��� |(�O����{}|��B~ � ���u�&j|��«~ � �Y� &}|��B~ � �����g��{}|��«~ � �&j|��«~ � �Y� &}|��B~ � ��� � � � � � |��u� ����� � �g��| �I�����g� � { ��| {}| �B~ �k��� |�� � �� ��� � � |(�B��� {}|��«~ ���������� ,��

� � $`#>"��:��(������+(�' �³��"#"�1�0) � =���( ������� �����1�b���1���

(�!����+��!#�� "���� #'!+�� |��«~ ��2 �O�������u{ 2={32 {+454 � 2 � ����2 ����� 454 � 2 � 2 � 454 �O�� " #����� �«~ � 2 �O�-�����M{� ��!�� � %� ���,(�� �," � |��«~ � � 2 � 454 � |��«~ ���� ��!�� � %� ���,(�� �," � ��� | �O�-�����M{�� 2 ����� 454 � | �O�-���«�u{�� 2e{}|��B~ � � 2C{+454 � |��B~ � ��� ��� � {�� ��2 � {�������2 � {������ 454 � 2 � {������ 2 � {������744 � 2 � {�����454 � 2 � {���� 2

� � {����7454 � 2 � {���� 2 � {����7454 � 2 � {���� 2 � {����7454 � 2 � {���� 2 � {�����454 ��� ��� � {�� ��� 2 � {�� ���7454 � 2 � {������ 2 � {������7454 � 2 � {������32 � {������+454 � 2 � {���� 2

� � {���7454 � 2 � {���� 2 � {���� 454 � 2 � {���� 2 � {����7454 � 2 � {��� 2 � {�����454 �� ��!�� � %� ���,(�� �," � " #����� ��� # 6 2Z~�����

� � ~�� � 2 �«~ � ������ %'!�( )��� �3| � {���B�� {���� ��{j|T~�� � |�� ����������� |(�B�u��{}|T~u������� %'!�( )��� �3| � {����B�� {���� � �� % | � {����B�

ä�ä ì�°}ü�±�² ú

Page 22: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

�m� �@� ��¨�����q����@���b���B�Z��� l�� ����¨ �O��

� |T~���u�Y� � |T~���u�Y�K{}|T~�� � � � � ��� |��u� � ��� ��� � � {�������� %'!�( )��� �3| � {����B�� {���� ��{j|T~�� � |�� ����������� |(�B�u��{}|T~u������� %'!�( )��� �3| � {���B�� {���� � �� % | � {����B�� |T~��Y� � |T~�� � � �i{}|T~�� � � � � ��� |��u� � � ��� � � {�������� %'!�( )��� �3| � {����B�� {���� ��{j|T~�� � |�� ����������� |(�B�u��{}|T~u������� %'!�( )��� �3| � {�� ���B�� {������ � � % | � {����B�� |T~����u�Y�K{}|T~��i� � � ����� |��u� � ��� ����� � {������

" ��� ����� � % !�(')�� "$#���� �}|T~ � �u������

���� � % � %�� " #����� �j|���� # 6g�� � ~��y��� # 6 2&� 2 ��� {������744 �i� � {�������454 �i� � � � ����|��u� � � 454 � |�~����u� � ��� � �� {����7454 �i� � {����7454 �[� �$% | � {����B�[� � {�������454 �{+454 � |T~����c{+454 � |T~��Y� � 44 � |T~����u��� |�� ��|�� � ����� ����|(�B����{j|T~���� � {}|T~��

� � � ��� |(�O� �+|�� ������� � � |(�B��� {}|T~��u�������O�Y� � {����7454 ������ 454 � |��u�o� � ����454 � |��M��� � {������ � � � � 454 � |T~����u� � ��� ���� 454 � |T~ ���u�o� � � � ����� %+� %���� � | � {������B�� {������744 �i� � ������� %+� %���� � | � {����O������ 454 � |(�B�o� � ����454 � |(�O� �i{j|T~��)�[{j|T~��)� � {����7454 � �+|�� ������� � � |(�B��� {}|

� ~����u������ {����7454 �i� ������ {����7454 �i� � {����7454 �[� � � ����� |��u� � � 454 � |T~�� � � ���� {����7454 �i� � {����7454 �[� �$% | � {����B�[� � {����744 �� {����7454 �i� � {����7454 �[� � � ����� |��u� � � 454 � |T~���M� � ��� ���� {����7454 �i� � {����7454 �[� �$% | � {���B�[� � {����744 �{+454 � |T~����c{+454 � |T~��Y� |�|�� �+|�� ���u��� ��� |&�B����{}|�~���� � {}|T~��)� � ��� |(�O� �

� |�� � ����� ����|(�B����{j|T~����M�����g�Y� � {�����454 � � � � � 454 � |T~���� � 454 � |T~���u������ |�� � |�� ����������� |(�B�u��{}|T~u��� �i{}|�~��)� � � � |(�B� ��|�� ���u��� ��� |&�B����{}|�~����u���� �B�)� � {����7454 �

����� 454 � |��u�o� � ����454 � |��M��� � {���� � � � � 454 � |�~�� � � ������� %+� %���� � | � {����O�� {����7454 �i� ��������� %+� %���� � | � {����O������ 454 � |(�B�o� � ����454 � |(�O� �i{j|T~��)�[{j|T~��)� � {����7454 � �+|�� ������� � � |(�B��� {}|

âµã�äÃâæå

Page 23: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

������������� ����������������������������� �}c

� ~����u������ {����7454 �i� ���������� 454 � |��u�o� � ����454 � |��M��� � {���� � � � � 454 � |�~���u� � ��� � ����� %+� %���� � | � {����O�� {����7454 �i� ��������� %+� %���� � | � {����O������ 454 � |(�B�o� � ����454 � |(�O� �i{j|T~��)�[{j|T~��)� � {����7454 � �+|�� ������� � � |(�B��� {}|

� ~����u������ {����7454 �i� �����

" ��� ������

$" �

ä�ä ì�°}ü�±�² ú

Page 24: TBR Analysis in Reverse-Mode Automatic Differentiation · ISSN 0249-6399 apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE TBR Analysis

Unité de recherche INRIA Sophia Antipolis2004, route des Lucioles - BP 93 - 06902 Sophia Antipolis Cedex (France)

Unité de recherche INRIA Futurs : Parc Club Orsay Université - ZAC des Vignes4, rue Jacques Monod - 91893 ORSAY Cedex (France)

Unité de recherche INRIA Lorraine : LORIA, Technopôle de Nancy-Brabois - Campus scientifique615, rue du Jardin Botanique - BP 101 - 54602 Villers-lès-Nancy Cedex (France)

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France)Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38334 Montbonnot Saint-Ismier (France)

Unité de recherche INRIA Rocquencourt : Domaine de Voluceau - Rocquencourt - BP 105 - 78153 Le Chesnay Cedex (France)

ÉditeurINRIA - Domaine de Voluceau - Rocquencourt, BP 105 - 78153 Le Chesnay Cedex (France)��������� ���� ���������� ��� ���

ISSN 0249-6399