ó
    Këgj  ã                   ó  • % S SK r S SK Jr  S SKJr  S rS rS rSr\R                  " \" \5      5      r
\R                  \S'   \R                  " \" \5      5      r\R                  \S	'   \R                  " \" \5      5      r\R                  \S
'   \R                  " \5      r\R                  \S'   \ R                  S 5       r\ R                  S 5       r\ R                  S 5       r\ R                  S 5       r\(       a  \r\rg\r\rg)é    N)Úlanguage)Ú	IS_NVIDIAc                 ó¬   • SnSn[        U 5       H   nUR                  X3U -   S9nUSU-   S-   -  nM"     SR                  UR                  S5      5      nU$ )Na®  
        .reg .pred p;
        setp.gt.f32  p, ${in_reg}, 20.;
        @p  mov.f32  ${out_reg}, ${in_reg};
        @!p mul.f32            ${out_reg}, ${in_reg}, 1.4426950408889634;
        @!p ex2.approx.ftz.f32 ${out_reg}, ${out_reg};
        @!p add.f32            ${out_reg}, ${out_reg}, 1.0;
        @!p lg2.approx.ftz.f32 ${out_reg}, ${out_reg};
        @!p mul.f32            ${out_reg}, ${out_reg}, 0.6931471805599453;
    Ú ©Úout_regÚin_regÚ{ú}
Ú Ú
©ÚrangeÚformatÚjoinÚsplit©Únum_packÚtemplateÚout_strÚiÚ	inner_strs        Ú¤C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\fla/ops/utils/softplus.pyÚ_generate_softplusr      sc   € ð	€Hð €Gä�8Ž_ˆØ—O‘O¨A¸(±l�OÐCˆ	Ø�3˜‘? UÑ*Ñ*Šñ ð �h‰h�w—}‘} TÓ*Ó+€GØ€Nó    c                 ó¬   • SnSn[        U 5       H   nUR                  X3U -   S9nUSU-   S-   -  nM"     SR                  UR                  S5      5      nU$ )Na  
        .reg .pred p;
        setp.gt.f32  p, ${in_reg}, 15.;
        @p  mov.f32  ${out_reg}, ${in_reg};
        @!p ex2.approx.ftz.f32 ${out_reg}, ${in_reg};
        @!p add.f32            ${out_reg}, ${out_reg}, 1.0;
        @!p lg2.approx.ftz.f32 ${out_reg}, ${out_reg};
    r   r   r
   r   r   r   r   r   s        r   Ú_generate_softplus2r   &   sc   € ð€Hð €Gä�8Ž_ˆØ—O‘O¨A¸(±l�OÐCˆ	Ø�3˜‘? UÑ*Ñ*Šñ ð �h‰h�w—}‘} TÓ*Ó+€GØ€Nr   c                 óŽ   • SR                  S [        U 5       5       5      S-   SR                  S [        U 5       5       5      -   $ )NÚ,c              3   ó&   #   • U  H  nS v •  M	     g7f)z=rN© ©Ú.0r   s     r   Ú	<genexpr>Ú(_generate_constraints.<locals>.<genexpr>:   s   é € Ð2¢/˜Q•D¢/ùó   ‚c              3   ó&   #   • U  H  nS v •  M	     g7f)ÚrNr!   r"   s     r   r$   r%   :   s   é € ÐCaÒQ`ÈAÅCÒQ`ùr&   )r   r   )r   s    r   Ú_generate_constraintsr)   9   s;   € Ø�8‰8Ñ2¤%¨¤/Ó2Ó2°SÑ8¸3¿8¹8ÑCaÔQVÐW_ÔQ`ÓCaÓ;aÑaÐar   é   Ú
s_softplusÚs_softplus2Ús_constraintsÚNUM_REGc           	      ój   • [         R                  " [        [        [        U /[         R
                  SS9$ ©NT)ÚasmÚconstraintsÚpackÚargsÚdtypeÚis_pure)ÚtlÚinline_asm_elementwiser+   r-   r.   Úfloat32©Úxs    r   Úsoftplus_nvr<   D   s4   € ô ×$Ò$ÜÜ!Üàð
ô �j‰jØñ	ð 	r   c           	      ó²   • [         R                  " U S:  [         R                  R                  S[         R                  R	                  U 5      -   5      U 5      $ )Ng      4@r*   )r7   ÚwhereÚmathÚlogÚexpr:   s    r   Úsoftplus_tritonrB   T   s7   € ä�8Š8�A˜‘HœbŸg™gŸk™k¨!¬b¯g©g¯k©k¸!«nÑ*<Ó=¸qÓAÐAr   c           	      ój   • [         R                  " [        [        [        U /[         R
                  SS9$ r0   )r7   r8   r,   r-   r.   r9   r:   s    r   Úsoftplus2_nvrD   Y   s4   € ô ×$Ò$ÜÜ!Üàð
ô �j‰jØñ	ð 	r   c           	      ó²   • [         R                  " U S:  [         R                  R                  S[         R                  R	                  U 5      -   5      U 5      $ )Ng      .@r*   )r7   r>   r?   Úlog2Úexp2r:   s    r   Úsoftplus2_tritonrH   i   s7   € ä�8Š8�A˜‘HœbŸg™gŸl™l¨1¬r¯w©w¯|©|¸A«Ñ+>Ó?ÀÓCÐCr   )Útritonr   r7   Ú	fla.utilsr   r   r   r)   Ú_NUM_REGÚ	constexprr+   Ú__annotations__r,   r-   r.   Újitr<   rB   rD   rH   ÚsoftplusÚ	softplus2r!   r   r   Ú<module>rQ      s  ðô Ý !å òò*ò&bð €ØŸ<š<Ñ(:¸8Ó(DÓE€
ˆB�L‰LÓ EØŸLšLÑ)<¸XÓ)FÓG€ˆR�\‰\Ó GØ ŸlšlÑ+@ÀÓ+JÓK€ˆr�|‰|Ó KØŸš XÓ.€ˆ�‰Ó .ð ‡�ñó ðð ‡�ñBó ðBð ‡�ñó ðð ‡�ñDó ðDö Ø€HØ�Ià€HØ �Ir   