ó
    pñ:iÿ„  ã                   ó¤-  • S r SSKJr  SSKrSSKJr  SSKJr  Sr	S r
S rS	 rS
 rS rS rS rS rS rS rS r0 rS r/ SQr\
\\SS\R0                  " S5      /\R2                  SSS/	\\\SS\R0                  " S5      /\R2                  SSS/	\\\SS\R0                  " S5      /\R2                  SSS/	\SSSS\R0                  " S5      /SSSS/	\SSSS\R0                  " S5      /SSSS/	\SSSS\R0                  " S5      /\R2                  * SSS/	/r\ V s/ s H  n \" \" \U 5      5      PM     sn rS rS  rS! r S" r!S# r"S$ r#S% r$S& r%S' r&S( r'S) r(S* r)S+ r*S, r+S- r,S. r-S/ r.S0 r/S1 r0S2 r1S3 r2S4 r3S5 r4S6 r5S7 r6S8 r7S9 r8S: r9S; r:S< r;S= r<S> r=S? r>S@ r?SA r@SB rA\R„                  " \R†                  " \D5      RŠ                  5      rFSC rGSD rHSE rISF rJSG rKSH rLSI rMSJ rNSK rO/ SQrP/ \\\ S\R¢                  SL-  \R¢                  /\R2                  SSMSN/	P\!\"\#SSOSP/\R2                  SLSQSR/	P\!\"\#SSSST/\R2                  SUSVSW/	P\!\"\#SSXSY/\R2                  SZS[S\/	P\!\"\#SS]S^/\R2                  S_S`Sa/	P\!\"\#SSbSc/\R2                  SdSeSf/	P\!\"\#SSgSh/\R2                  SiSjSk/	P\!\"\#SSlSm/\R2                  SnSoSp/	P\!\"\#SSqSr/\R2                  SsStSu/	P\!\"\#SSvSw/\R2                  SxSySz/	P\!\"\#SS{S|/\R2                  S}S~S/	P\$\%\&S€S�S‚/\R2                  SƒSS„/	P\$\%\&S…S�S‚/\R2                  SƒSS†/	P\$\%\&S‡S�S‚/\R2                  SƒSSˆ/	P\'\(\)S‰SSU/\R2                  SŠS‹SŒ/	P\'\(\)S�SSU/\R2                  SŠSŽS�/	P\'\(\)S�SSU/\R2                  SŠS‘S’/	P\'\(\)S“SSU/\R2                  SŠS”S•/	P\'\(\)S–SSU/\R2                  SŠS—S˜/	P\'\(\)S™SSU/\R2                  SŠSšS›/	P\'\(\)SœSSU/\R2                  SŠSšS�/	P\'\(\)SžSSU/\R2                  SŠSšSŸ/	P\'\(\)S SSU/\R2                  SŠSšS¡/	P\'\(\)S¢SSU/\R2                  SŠSšS£/	P\'\(\)SžS¤S¥/\R2                  S¦SšS§/	P\'\(\)S S¤S¥/\R2                  S¦SšS¨/	P\'\(\)S¢S¤S¥/\R2                  S¦SšS©/	P\'\(\)SªS¤S¥/\R2                  S¦SšS«/	P\*\+\,SSS¦/\R2                  S¬\R¢                  S­-  S®/	P\-\.\/S¯SSš/\R2                  SS°S±/	P\-\.\/S²SSš/\R2                  SS³S´/	P\-\.\/SµSSš/\R2                  SS¶S·/	P\-\.\/S¸SSš/\R2                  SS¹Sº/	P\-\.\/S»SSš/\R2                  S¼S½S¾/	P\-\.\/S¿SSš/\R2                  SÀSÁSÂ/	P\-\.\/SÃSSš/\R2                  SÄSÅSÆ/	P\-\.\/SÇSSš/\R2                  SÈSÉSÊ/	P\-\.\/SËSSš/\R2                  SÌSÍSÎ/	P\-\.\/SÏSSš/\R2                  SÐSÑSÒ/	P\0\1\2S»SSš/\R2                  S¼SÓSÔ/	P\0\1\2SÕSSš/\R2                  S¼SÖS×/	P\0\1\2S¿SSš/\R2                  S¼SØSÙ/	P\3\4\5S²SSš/\R2                  SÚSSÛ/	P\3\4\5S»SSš/\R2                  SÚSÜSÝ/	P\3\4\5SÕSSš/\R2                  SÚSÞSß/	P\3\4\5SàSSš/\R2                  SÚSáSâ/	P\3\4\5S¿SSš/\R2                  SÚSãSä/	P\6\7\8S¯SSš/\R2                  SSåSæ/	P\6\7\8S²SSš/\R2                  SSçSè/	P\6\7\8S¸SSš/\R2                  SSéSê/	P\6\7\8S»SSš/\R2                  SSëSì/	P\6\7\8SíSSš/\R2                  SSîSï/	P\6\7\8SàSSš/\R2                  SSðSñ/	P\6\7\8S¿SSš/\R2                  SSòSó/	P\9\:\;S¯SSš/\R2                  SÚSôSõ/	P\9\:\;S»SSš/\R2                  SÚSöS÷/	P\9\:\;SÕSSš/\R2                  SÚSøSù/	P\9\:\;SàSSš/\R2                  SÚSúSû/	P\9\:\;S¿SSš/\R2                  SÚSüSý/	P\<\=\>S²SþSš/\R2                  SþSSÿ/	P\<\=\>S»SþSš/\R2                  SþGS GS/	P\<\=\>SàSþSš/\R2                  SþGSGS/	P\<\=\>S¿SþSš/\R2                  SþSÄGS/	P\?\@\AS²SšGS/\R2                  GSSLGS/	P\?\@\ASµSšGS/\R2                  GSSGS/	P\?\@\AS¸SšGS/\R2                  GSGS	GS
/	P\?\@\AS»SšGS/\R2                  GSSUGS/	P\?\@\AGSSšGS/\R2                  GSS­GS/	P\?\@\AGSSšGS/\R2                  GSGSGS/	P\?\@\AGSSšGS/\R2                  GSGSGS/	P\?\@\AGSSšGS/\R2                  GSGSGS/	P\?\@\AGSSšGS/\R2                  GSGSGS/	P\?\@\ASàSšGS/\R2                  GSGSGS/	P\?\@\AGSSšGS/\R2                  GSS_GS/	P\?\@\AGSSšGS/\R2                  GSGSGS /	P\?\@\AGS!SšGS/\R2                  GSGS"GS#/	P\?\@\AGS$SšGS/\R2                  GSGS%GS&/	P\?\@\AGS'SšGS/\R2                  GSGS(GS)/	P\?\@\AGS*SšGS/\R2                  GSGS+GS,/	P\?\@\AGS-SšGS/\R2                  GSGS.GS//	P\?\@\AGS0SšGS/\R2                  GSS‚GS1/	P\?\@\AGS2SšGS/\R2                  GSGS3GS4/	P\G\H\ISSGS	/\R2                  S¦SGS5/	P\J\K\LS¯GS6\R¢                  SL-  /SSšGS7GS8/	P\J\K\LS²GS6\R¢                  SL-  /SSšGS7GS9/	P\J\K\LSµGS6\R¢                  SL-  /SSšGS7GS:/	P\J\K\LS¸GS6\R¢                  SL-  /SSšGS7GS;/	P\J\K\LS»GS6\R¢                  SL-  /SSšGS7GS</	P\J\K\LGSGS6\R¢                  SL-  /SSšGS7GS=/	P\J\K\LGSGS6\R¢                  SL-  /SSšGS7GS>/	P\J\K\LSíGS6\R¢                  SL-  /SSšGS7GS?/	P\J\K\LGSGS6\R¢                  SL-  /SSšGS7GS@/	P\J\K\LSÕGS6\R¢                  SL-  /SSšGS7GSA/	P\J\K\LGSGS6\R¢                  SL-  /SSšGS7GSB/	P\J\K\LGSCGS6\R¢                  SL-  /SSšGS7GSD/	P\J\K\LGSGS6\R¢                  SL-  /SSšGS7GSE/	P\J\K\LGSFGS6\R¢                  SL-  /SSšGS7GSG/	P\J\K\LSàGS6\R¢                  SL-  /SSšGS7GSH/	P\J\K\LGSIGS6\R¢                  SL-  /SSšGS7GSJ/	P\J\K\LGSGS6\R¢                  SL-  /SSšGS7GSK/	P\J\K\LGSLGS6\R¢                  SL-  /SSšGS7GSM/	P\J\K\LGSGS6\R¢                  SL-  /SSšGS7GSN/	P\J\K\LS¿GS6\R¢                  SL-  /SSšGS7GSO/	P\J\K\LGS!GS6\R¢                  SL-  /SSšGS7GSP/	P\J\K\LGSQGS6\R¢                  SL-  /SSšGS7GSR/	P\J\K\LGS$GS6\R¢                  SL-  /SSšGS7GSS/	P\J\K\LGSTGS6\R¢                  SL-  /SSšGS7GSU/	P\J\K\LGS'GS6\R¢                  SL-  /SSšGS7GSV/	P\J\K\LGSWGS6\R¢                  SL-  /SSšGS7GSX/	P\J\K\LGS*GS6\R¢                  SL-  /SSšGS7GSY/	P\J\K\LGSZGS6\R¢                  SL-  /SSšGS7GS[/	P\J\K\LGS-GS6\R¢                  SL-  /SSšGS7GS\/	P\J\K\LGS]GS6\R¢                  SL-  /SSšGS7GS^/	P\J\K\LGS0GS6\R¢                  SL-  /SSšGS7GS_/	P\J\K\LGS`GS6\R¢                  SL-  /SSšGS7GSa/	P\J\K\LGS2GS6\R¢                  SL-  /SSšGS7GSb/	P\J\K\LGScGS6\R¢                  SL-  /SSšGS7GSd/	P\J\K\LGSeGS6\R¢                  SL-  /SSšGS7GSf/	P\J\K\LGSgGS6\R¢                  SL-  /SSšGS7GSh/	P\J\K\LGSiGS6\R¢                  SL-  /SSšGS7GSj/	P\J\K\LGSkGS6\R¢                  SL-  /SSšGS7GSl/	P\J\K\LGSmGS6\R¢                  SL-  /SSšGS7GSn/	P\J\K\LSÃGS6\R¢                  SL-  /SSšGS7GSo/	P\M\N\OS¿GS6GSp/SSƒGSqGSr/	P\M\N\OGS!GS6GSp/SSƒGSsGSt/	P\M\N\OGSQGS6GSp/SSƒGSuGSv/	P\M\N\OGS$GS6GSp/SSƒGSwGSx/	P\M\N\OGSTGS6GSp/SSƒGSyGSz/	P\M\N\OGS'GS6GSp/SSƒGS{GS|/	P\M\N\OGSWGS6GSp/SSƒGS}GS~/	P\M\N\OGS*GS6GSp/SSƒGSGS€/	P\M\N\OGSZGS6GSp/SSƒGS�GS‚/	P\M\N\OGS-GS6GSp/SSƒGSƒGS„/	P\M\N\OGS]GS6GSp/SSƒGS…GS†/	P\M\N\OGS0GS6GSp/SSƒGS‡GSˆ/	P\M\N\OGS`GS6GSp/SSƒGS‰GSŠ/	P\M\N\OGS2GS6GSp/SSƒGS‹GSŒ/	P\M\N\OGScGS6GSp/SSƒGS�GSŽ/	P\M\N\OGSeGS6GSp/SSƒGS�GS�/	P\M\N\OGSgGS6GSp/SSƒGS‘GS’/	P\M\N\OGSiGS6GSp/SSƒGS“GS”/	P\M\N\OGSkGS6GSp/SSƒGS•GS–/	P\M\N\OGSmGS6GSp/SSƒGS—GS˜/	P\M\N\OSÃGS6GSp/SSƒGS™GSš/	P\M\N\OSÏGS6GSp/SSƒGS›GSœ/	P\M\N\OGS�GS6GSp/SSƒGSžGSŸ/	P\M\N\OGS GS6GSp/SSƒGS¡GS¢/	P\M\N\OGS£GS6GSp/SSƒGS¤GS¥/	P\M\N\OGS¦GS6GSp/SSƒGS§GS¨/	P\M\N\OGS©GS6GSp/SSƒGSªGS«/	P\M\N\OGS¬GS6GSp/SSƒGS­GS®/	P\M\N\OGS¯GS6GSp/SSƒGS°GS±/	P\M\N\OGS²GS6GSp/SSƒGS³GS´/	P\M\N\OGSµGS6GSp/SSƒGS¶GS·/	PrR\R V s/ s H  n \" \" \PU 5      5      PM     sn rSGS¸ rTGS¹ rUGSº rVGS» rWGS¼ rXGS½ rY/ GS¾QrZ\T\U\VGS¿\R2                  GSÀGSÁGSÂGSÃ/	\T\U\VGSÄ\R2                  GSÅGSÆGSÇ\R0                  " S5      SL-  GSÂ-  -   GSÈ/	\T\U\VGSÉ\R2                  GSÂGSÁS\R0                  " S5      SL-  GSÂ-  -   GSÊ/	\T\U\VGSË\R2                  SUGS	SLGSÌ/	\W\X\YGSÍ\R2                  GSÎGSÁ\R¢                  GSÂ-  GSÏ/	\W\X\YGSÐ\R2                  GSÎGSÁ\R¢                  GSÑ-  GSÒ/	/r[\[ V s/ s H  n \" \" \ZU 5      5      PM     sn r\GSÓ r]\]" \5        \]" \S5        \]" \\5        GS
GSÔ jr^\R¾                  \RÀ                  \RÂ                  \RÄ                  /rc/ GSÕQrd\\\\\/re/ GSÖQrfGS× rgGSØ\glh        GSÙ riSš\ilh        GSÚ rjS\jlh        GSÛ rkSL\klh        GSÜ rlS\llh        GSÝ rmS\mlh        GSÞ rnS\nlh        GSß roGSà\olh        GSá rpGSâ\plh        / GSãQrq/ \gSLS/\gRÐ                  GS/P\gSšSZ/\gRÐ                  GS/P\gSšGS/\gRÐ                  GSä/P\gGSåGSæ/\gRÐ                  GS%/P\gGSçGSè/\gRÐ                  GSé/P\iSGSê/\iRÐ                  GSë/P\iGSpGSæ/\iRÐ                  GSì/P\iGSíGSî/\iRÐ                  GSï/P\iGSðGSè/\iRÐ                  GSñ/P\iGSòGSó/\iRÐ                  GSô/P\jSSU/\jRÐ                  GS"/P\jGSõSZ/\jRÐ                  GS%/P\jGSåGSæ/\jRÐ                  GSö/P\jGS÷GSî/\jRÐ                  GSø/P\jGSçGSè/\jRÐ                  GSù/P\kSSU/\kRÐ                  GS"/P\kGSõSZ/\kRÐ                  GS%/P\kGSåGSæ/\kRÐ                  GS3/P\kGS÷GSî/\kRÐ                  GSé/P\kGSçGSè/\kRÐ                  GSú/P\lSGS	/\lRÐ                  GS"/P\lSƒSU/\lRÐ                  GSì/P\lSSZ/\lRÐ                  GS%/P\lGSûSn/\lRÐ                  GS(/P\lGSõGS/\lRÐ                  Sd/P\mGSüGSý/\mRÐ                  GS"/P\mGSþGSÿ/\mRÐ                  GSì/P\mGSüGS /\mRÐ                  GS%/P\mGSGS/\mRÐ                  GS(/P\mGSGS/\mRÐ                  Sd/P\nSGS	/\nRÐ                  GSë/P\nSƒSU/\nRÐ                  GSë/P\nSSZ/\nRÐ                  GS/P\nGSûSn/\nRÐ                  GS/P\nGSõGS/\nRÐ                  GS/P\oGSSL/\oRÐ                  GS/P\oGSS/\oRÐ                  SZ/P\oGSGS/\oRÐ                  GS/P\oGSGS+/\oRÐ                  GS/P\oGSGS/\oRÐ                  GSä/P\pGSSš/\pRÐ                  GS/P\pGSS/\pRÐ                  GSë/P\pGSGS/\pRÐ                  SZ/P\pGSGS+/\pRÐ                  GS/P\pGSGS/\pRÐ                  GS/Prr\s" \r5       VVs/ s H#  u  pX"S   Rè                   GS	USU-  Sš-    3/-   PM%     snnrr\r V s/ s H  n \" \" \qU 5      5      PM     sn ru\]" \u5        gs  sn f s  sn f s  sn f s  snnf s  sn f (  a
  
Parameters used in test and benchmark methods.

Collections of test cases suitable for testing 1-D root-finders
  'original': The original benchmarking functions.
     Real-valued functions of real-valued inputs on an interval
     with a zero.
     f1, .., f3 are continuous and infinitely differentiable
     f4 has a left- and right- discontinuity at the root
     f5 has a root at 1 replacing a 1st order pole
     f6 is randomly positive on one side of the root,
     randomly negative on the other.
     f4 - f6 are not continuous at the root.

  'aps': The test problems in the 1995 paper
     TOMS "Algorithm 748: Enclosing Zeros of Continuous Functions"
     by Alefeld, Potra and Shi. Real-valued functions of
     real-valued inputs on an interval with a zero.
     Suitable for methods which start with an enclosing interval, and
     derivatives up to 2nd order.

  'complex': Some complex-valued functions of complex-valued inputs.
     No enclosing bracket is provided.
     Suitable for methods which use one or more starting values, and
     derivatives up to 2nd order.

  The test cases are provided as a list of dictionaries. The dictionary
  keys will be a subset of:
  ["f", "fprime", "fprime2", "args", "bracket", "smoothness",
  "a", "b", "x0", "x1", "root", "ID"]
é    )ÚrandomN)Ú	_zeros_py)Úarray_namespacea  
f2 is a symmetric parabola, x**2 - 1
f3 is a quartic polynomial with large hump in interval
f4 is step function with a discontinuity at 1
f5 is a hyperbola with vertical asymptote at 1
f6 has random values positive to left of 1, negative to right

Of course, these are not real problems. They just test how the
'good' solvers behave in bad circumstances where bisection is
really the best. A good solver should not be much worse than
bisection in such circumstance, while being faster for smooth
monotone sorts of functions.
c                 ó   • X S-
  -  $ )z'f1 is a quadratic with roots at 0 and 1ç      ð?© ©Úxs    Ú[/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/scipy/optimize/_tstutils.pyÚf1r   A   s   € à�B‘‰<Ðó    c                 ó   • SU -  S-
  $ ©Né   é   r   r	   s    r   Úf1_fpr   F   s   € Øˆq‰5�1‰9Ðr   c                 ó   • g©Nr   r   r	   s    r   Úf1_fppr   J   ó   € Ør   c                 ó   • U S-  S-
  $ )z$f2 is a symmetric parabola, x**2 - 1r   r   r   r	   s    r   Úf2r   N   s   € àˆa‰4�!‰8€Or   c                 ó   • SU -  $ r   r   r	   s    r   Úf2_fpr   S   s   € Øˆq‰5€Lr   c                 ó   • gr   r   r	   s    r   Úf2_fppr   W   r   r   c                 ó(   • X S-
  -  U S-
  -  U S-
  -  $ )z%A quartic with roots at 0, 1, 2 and 3r   g       @g      @r   r	   s    r   Úf3r   [   s    € à�B‘‰<˜1˜r™6Ñ" a¨"¡fÑ-Ð-r   c                 ó6   • SU S-  -  SU S-  -  -
  SU -  -   S-
  $ )Né   é   é   r   é   é   r   r	   s    r   Úf3_fpr%   `   s+   € Øˆq�!‰t‰8�b˜1˜a™4‘iÑ " q¡&Ñ(¨1Ñ,Ð,r   c                 ó$   • SU S-  -  SU -  -
  S-   $ )Né   r   é$   r#   r   r	   s    r   Úf3_fppr)   d   s   € Ø��1‘‰9�r˜A‘vÑ Ñ"Ð"r   c                 ó<   • U S:”  a  SSU -  -   $ U S:  a  SSU -  -   $ g)zBPiecewise linear, left- and right- discontinuous at x=1, the root.r   r   çš™™™™™¹?ç      ð¿r   r   r	   s    r   Úf4r-   h   s/   € àˆ1ƒuØ�R˜!‘V‰|ÐØˆ1ƒuØ�b˜1‘f‰}ÐØr   c                 ó    • U S:w  a  SSU -
  -  $ g)zQ
Hyperbola with a pole at x=1, but pole replaced with 0. Not continuous at root.
r   r   r   r   r	   s    r   Úf5r/   q   s   € ð 	ˆAƒvØ�b˜1‘f‰~ÐØr   c                 ó”   • [         R                  U S 5      nUc.  U S:”  a  [        5       nOU S:  a  [        5       * nOSnU[         U '   U$ )Nr   r   )Ú	_f6_cacheÚgetr   )r
   Úvs     r   Úf6r4   ~   sH   € Ü�‰�a˜Ó€AØ�yØˆq‹5Ü“‰AØ�‹UÜ“�	‰AàˆAØŒ	�!‰Ø€Hr   )	ÚfÚfprimeÚfprime2ÚargsÚbracketÚ
smoothnessÚx0ÚrootÚIDr   ç      à?r!   g333333ã?r   zoriginal.01.00zoriginal.02.00zoriginal.03.00éÿÿÿÿzoriginal.04.00zoriginal.05.00c                 ó:   • [         R                  " U 5      U S-  -
  $ )z<Straightforward sum of trigonometric function and polynomialr   ©ÚnpÚsinr	   s    r   Úaps01_frD   ©   s   € ä�6Š6�!‹9�q˜1‘uÑÐr   c                 ó4   • [         R                  " U 5      S-
  $ )Nr>   ©rB   Úcosr	   s    r   Úaps01_fprH   ®   s   € Ü�6Š6�!‹9�wÑÐr   c                 ó0   • [         R                  " U 5      * $ ©NrA   r	   s    r   Ú	aps01_fpprK   ²   ó   € Ü�FŠF�1‹Iˆ:Ðr   c                 óŠ   • [         R                  " SS5      nS[         R                  " SU-  S-
  S-  XS-  -
  S-  -  5      -  $ )zDpoles at x=n**2, 1st and 2nd derivatives at root are also close to 0r   é   éþÿÿÿr   é   r!   ©rB   ÚarangeÚsum©r
   Úiis     r   Úaps02_frV   ¶   sA   € ä	�Š�1�bÓ	€BØ”—’˜˜B™ ™
 Q‘¨!°!©e©)°a©Ñ7Ó8Ñ8Ð8r   c                 óŠ   • [         R                  " SS5      nS[         R                  " SU-  S-
  S-  XS-  -
  S-  -  5      -  $ )Nr   rN   r$   r   rP   r    rQ   rT   s     r   Úaps02_fprX   ¼   sA   € Ü	�Š�1�bÓ	€BØŒr�vŠv�q˜2‘v ‘z A‘o¨°©U©°Q©Ñ6Ó7Ñ7Ð7r   c                 óŠ   • [         R                  " SS5      nS[         R                  " SU-  S-
  S-  XS-  -
  S-  -  5      -  $ )Nr   rN   é   r   rP   rQ   rT   s     r   Ú	aps02_fppr[   Á   sA   € Ü	�Š�1�bÓ	€BØ”—’˜˜B™ ™
 Q‘¨!°!©e©)°a©Ñ7Ó8Ñ8Ð8r   c                 ó<   • X-  [         R                  " X -  5      -  $ )zRapidly changing at the root©rB   Úexp©r
   ÚaÚbs      r   Úaps03_frb   Æ   s   € à‰5”2—6’6˜!™%“=Ñ Ð r   c                 óH   • XU -  S-   -  [         R                  " X -  5      -  $ ©Nr   r]   r_   s      r   Úaps03_fpre   Ë   s!   € Ø�A‘˜‘	‰?œRŸVšV A¡E›]Ñ*Ð*r   c                 óR   • XX -  S-   -  U-   -  [         R                  " X -  5      -  $ rd   r]   r_   s      r   Ú	aps03_fpprg   Ï   s)   € Ø�Q‘U˜Q‘Y‘ !Ñ#Ñ$¤r§v¢v¨a©e£}Ñ4Ð4r   c                 ó   • X-  U-
  $ )zMedium-degree polynomialr   ©r
   Únr`   s      r   Úaps04_frk   Ó   ó   € à‰4�!‰8€Or   c                 ó   • XUS-
  -  -  $ rd   r   ri   s      r   Úaps04_fprn   Ø   ó   € Ø�1�q‘5‰z‰>Ðr   c                 ó    • XS-
  -  XS-
  -  -  $ ©Nr   r   r   ri   s      r   Ú	aps04_fpprr   Ü   ó   € Ø�A‘‰;˜ ™U™Ñ#Ð#r   c                 ó4   • [         R                  " U 5      S-
  $ )zSimple Trigonometric functionr>   rA   r	   s    r   Úaps05_fru   à   s   € ä�6Š6�!‹9�wÑÐr   c                 ó.   • [         R                  " U 5      $ rJ   rF   r	   s    r   Úaps05_fprw   å   ó   € Ü�6Š6�!‹9Ðr   c                 ó0   • [         R                  " U 5      * $ rJ   rA   r	   s    r   Ú	aps05_fpprz   é   rL   r   c                 ó~   • SU -  [         R                  " U* 5      -  S[         R                  " U* U -  5      -  -
  S-   $ )z0Exponential rapidly changing from -1 to 1 at x=0r   r   r]   ©r
   rj   s     r   Úaps06_fr}   í   s8   € àˆq‰5”2—6’6˜1˜"“:Ñ ¤B§F¢F¨A¨2°©6£NÑ 2Ñ2°QÑ6Ð6r   c                 óx   • S[         R                  " U* 5      -  SU-  [         R                  " U* U -  5      -  -   $ r   r]   r|   s     r   Úaps06_fpr   ò   s2   € ØŒr�vŠv�q�b‹z‰>˜A ™E¤B§F¢F¨A¨2°©6£NÑ2Ñ2Ð2r   c                 óH   • SU-  U-  [         R                  " U* U -  5      -  $ ©NrO   r]   r|   s     r   Ú	aps06_fppr‚   ö   s#   € Ø�‰6�A‰:œŸš ˜r A™v›Ñ&Ð&r   c                 ó4   • SSU-
  S-  -   U -  SX-  -
  S-  -
  $ )z/Upside down parabola with parametrizable heightr   r   r   r|   s     r   Úaps07_fr„   ú   ó(   € à��Q‘˜‘
‰N˜aÑ 1 q¡u¡9¨q¡.Ñ0Ð0r   c                 ó4   • SSU-
  S-  -   SU-  SX-  -
  -  -   $ rq   r   r|   s     r   Úaps07_fpr‡   ÿ   s(   € Ø��Q‘˜‘
‰N˜a !™e q¨1©5¡yÑ1Ñ1Ð1r   c                 ó   • SU-  U-  $ r�   r   r|   s     r   Ú	aps07_fppr‰     s   € Ø�‰6�A‰:Ðr   c                 ó   • X -  SU -
  U-  -
  $ )zDegree n polynomialr   r   r|   s     r   Úaps08_fr‹     s   € à‰5�A˜‘E˜A‘:ÑÐr   c                 ó*   • SU -  USU -
  US-
  -  -  -   $ r   r   r|   s     r   Úaps08_fpr�     s#   € Øˆq‰5�1˜˜A™  Q¡Ñ'Ñ'Ñ'Ð'r   c                 ó.   • SXS-
  -  SU -
  US-
  -  -  -
  $ r   r   r|   s     r   Ú	aps08_fppr�     s%   € Øˆq˜‘E‰{˜a !™e q¨1¡uÑ-Ñ-Ñ-Ð-r   c                 ó4   • SSU-
  S-  -   U -  SX-  -
  S-  -
  $ )z.Upside down quartic with parametrizable heightr   r    r   r|   s     r   Úaps09_fr‘     r…   r   c                 ó:   • SSU-
  S-  -   SU-  SX-  -
  S-  -  -   $ )Nr   r    r!   r   r|   s     r   Úaps09_fpr“     s,   € Ø��Q‘˜‘
‰N˜a !™e q¨1©5¡y°1¡nÑ4Ñ4Ð4r   c                 ó"   • SU-  SX-  -
  S-  -  $ )Niôÿÿÿr   r   r   r|   s     r   Ú	aps09_fppr•     s   € Ø�‰7�a˜!™%‘i !‘^Ñ#Ð#r   c                 óL   • [         R                  " U* U -  5      U S-
  -  X-  -   $ )zExponential plus a polynomialr   r]   r|   s     r   Úaps10_fr—   !  s&   € ä�6Š6�1�"�q‘&‹>˜Q ™UÑ# a¡dÑ*Ð*r   c                 óf   • [         R                  " U* U -  5      U* U S-
  -  S-   -  XUS-
  -  -  -   $ rd   r]   r|   s     r   Úaps10_fpr™   &  s9   € Ü�6Š6�1�"�q‘&‹>˜a˜R 1 q¡5™\¨AÑ-Ñ.°¸¸Q¹±Z±Ñ?Ð?r   c                 ó†   • [         R                  " U* U -  5      U* U* U S-
  -  S-   -  U* U -  -   -  XS-
  -  XS-
  -  -  -   $ rq   r]   r|   s     r   Ú	aps10_fppr›   *  sW   € Ü�FŠF�A�2˜‘6‹N˜q˜b Q B¨!¨a©%¡L°1Ñ$4Ñ5¸¸¸Q¹Ñ>Ñ?Ø�q‘5‰k˜A A¡™JÑ&ñ'ð (r   c                 ó"   • X-  S-
  US-
  U -  -  $ )z8Rational function with a zero at x=1/n and a pole at x=0r   r   r|   s     r   Úaps11_fr�   /  s   € à‰E�A‰I˜1˜q™5 A™+Ñ&Ð&r   c                 ó   • SUS-
  -  U S-  -  $ rq   r   r|   s     r   Úaps11_fprŸ   4  s   € Ø��A‘‰;˜˜A™ÑÐr   c                 ó   • SUS-
  -  U S-  -  $ )NrO   r   r!   r   r|   s     r   Ú	aps11_fppr¡   8  s   € Ø��Q‘‰<˜!˜Q™$ÑÐr   c                 ól   • [         R                  " U SU-  5      [         R                  " USU-  5      -
  $ )z!nth root of x, with a zero at x=nr   ©rB   Úpowerr|   s     r   Úaps12_fr¥   <  s+   € ä�8Š8�A�s˜Q‘wÓ¤"§(¢(¨1¨c°A©gÓ"6Ñ6Ð6r   c                 óB   • [         R                  " U SU-
  U-  5      U-  $ )Nr   r£   r|   s     r   Úaps12_fpr§   A  s    € Ü�8Š8�A˜˜a™ 1‘}Ó%¨Ñ)Ð)r   c                 ó`   • [         R                  " U SSU-  -
  U-  5      SU-  -  SU-
  -  U-  $ )Nr   r   r£   r|   s     r   Ú	aps12_fppr©   E  s7   € Ü�8Š8�A˜˜a !™e™ qÑ(Ó)¨S°1©WÑ5¸¸q¹ÑAÀAÑEÐEr   c                 óh   • U S:X  a  gSU S-  -  nU[         :”  a  gU [        R                  " U5      -  $ )z-Function with *all* derivatives 0 at the rootr   r   r   ©Ú_MAX_EXPABLErB   r^   ©r
   Úys     r   Úaps13_fr¯   L  s8   € àˆAƒvØð 	
ˆAˆq‰D‰€AØŒ<ÓØØŒr�vŠv�a‹y‰=Ðr   c                 óz   • U S:X  a  gSU S-  -  nU[         :”  a  gSSU S-  -  -   [        R                  " U5      -  $ )Nr   r   r   r«   r­   s     r   Úaps13_fpr±   Y  sC   € ØˆAƒvØØ	ˆAˆq‰D‰€AØŒ<ÓØØ��A�q‘D‘‰LœBŸFšF 1›IÑ%Ð%r   c                 ó†   • U S:X  a  gSU S-  -  nU[         :”  a  gSSU S-  -
  -  U S-  -  [        R                  " U5      -  $ )Nr   r   r   rP   r«   r­   s     r   Ú	aps13_fppr³   b  sL   € ØˆAƒvØØ	ˆAˆq‰D‰€AØŒ<ÓØØ��A�q‘D‘‰>˜A˜q™DÑ ¤2§6¢6¨!£9Ñ,Ð,r   c                 ód   • U S::  a  U* S-  $ US-  U S-  [         R                  " U 5      -   S-
  -  $ )z<0 for negative x-values, trigonometric+linear for x positiver   ç      4@ç      ø?r   rA   r|   s     r   Úaps14_fr·   k  s:   € àˆAƒvØˆr�D‰yÐØˆt‰8�q˜3‘w¤§¢¨£Ñ*¨QÑ.Ñ/Ð/r   c                 óN   • U S::  a  gUS-  S[         R                  " U 5      -   -  $ )Nr   rµ   gUUUUUUå?rF   r|   s     r   Úaps14_fpr¹   r  s(   € ØˆAƒvØØˆt‰8�y¤2§6¢6¨!£9Ñ,Ñ-Ð-r   c                 óJ   • U S::  a  gU* S-  [         R                  " U 5      -  $ )Nr   rµ   rA   r|   s     r   Ú	aps14_fppr»   x  s%   € ØˆAƒvØØˆ2�‰9œŸš˜q›	Ñ"Ð"r   c                 ó˜   • U S:  a  gU SSU-   -  :”  a  [         R                  S-
  $ [         R                  " US-   U -  S-  S-  5      S-
  $ )z6piecewise linear, constant outside of [0, 0.002/(1+n)]r   g°rh‘í|ë¿çü©ñÒMb`?r   çX9´Èv¾ý?r   éè  ©rB   Úer^   r|   s     r   Úaps15_frÂ   ~  sP   € àˆ1ƒuØØˆ8�q˜1‘uÑÓÜ�t‰t�e‰|ÐÜ�6Š6�1�q‘5˜A‘+ ‘/ DÑ(Ó)¨EÑ1Ð1r   c                 ó®   • SU s=::  a  SSU-   -  ::  d  O  [         R                  S-
  $ [         R                  " US-   U -  S-  S-  5      US-   -  S-  S-  $ ©Nr   r½   r   r¾   r   r¿   rÀ   r|   s     r   Úaps15_fprÅ   ‡  sY   € Ø�Õ'�X  Q¡Ñ'Õ'Ü�t‰t�e‰|ÐÜ�6Š6�1�q‘5˜A‘+ ‘/ DÑ(Ó)¨Q°©UÑ3°aÑ7¸$Ñ>Ð>r   c                 óÆ   • SU s=::  a  SSU-   -  ::  d  O  [         R                  S-
  $ [         R                  " US-   U -  S-  S-  5      US-   -  S-  S-  US-   -  S-  S-  $ rÄ   rÀ   r|   s     r   Ú	aps15_fpprÇ   �  sl   € Ø�Õ'�X  Q¡Ñ'Õ'Ü�t‰t�e‰|ÐÜ�6Š6�1�q‘5˜A‘+ ‘/ DÑ(Ó)¨Q°©UÑ3°aÑ7¸$Ñ>À!ÀaÁ%ÑHÈ1ÑLÈtÑSÐSr   r   g¼©êËñSþ?z	aps.01.00g0¸D   ð?gè£Ýÿÿÿ@gêØ=î.@z	aps.02.00g.   @gúh÷ÿÿÿ!@rP   gèÆ¸ä)¼@z	aps.02.01g—   "@gúh÷ÿÿÿ/@é
   g�xs7z&@z	aps.02.02gƒK   0@g}´ûÿÿÿ8@é   gô^^W­3@z	aps.02.03gƒK   9@g?ÚýÿÿÿA@é   gÏýÀ´Ô=@z	aps.02.04gÁ%   B@g?ÚýÿÿH@é%   gn’��ûóD@z	aps.02.05gÁ%  €H@g?ÚýÿÿÿO@é2   gØ›[múK@z	aps.02.06gá   P@gíþÿÿ?T@éA   güË%ÿQ@z	aps.02.07gá  @T@gíþÿÿÿX@éR   gÉkYM‘€V@z	aps.02.08gá   Y@gíþÿÿ?^@ée   gz–i¶²�[@z	aps.02.09)iØÿÿÿr?   i÷ÿÿÿé   rO   z	aps.03.00)iœÿÿÿrO   z	aps.03.01)i8ÿÿÿéýÿÿÿz	aps.03.02)r    çš™™™™™É?g      @gl�lRfå?z	aps.04.00)r$   rÒ   g_
Ÿxè?z	aps.04.01)é   rÒ   glÁTj"+ê?z	aps.04.02)rÈ   rÒ   g±0 8->ë?z	aps.04.03)r'   rÒ   gÁ ‰Èûë?z	aps.04.04)r    r   r   z	aps.04.05)r$   r   z	aps.04.06)rÓ   r   z	aps.04.07)rÈ   r   z	aps.04.08)r'   r   z	aps.04.09gffffffî¿g333333@r¶   z	aps.04.10z	aps.04.11z	aps.04.12)é   r   z	aps.04.13gÍÌÌÌÌÌô?r$   z	aps.05.00)r   g™­Œòß	Û?z	aps.06.00)r   gì”n�ö Ó?z	aps.06.01)r!   gs Hda¢Ì?z	aps.06.02)r    g©½X�äúÅ?z	aps.06.03)rP   gš™™™™™Ù?gŽ´i²Á?z	aps.06.04)é   r+   g]ßÿ›¾¡?z	aps.06.05)é(   gš™™™™™©?g¿”.ÿ›¾‘?z	aps.06.06)é<   g¡?gTÆèþÏ¨‡?z	aps.06.07)éP   gš™™™™™™?g¿”.ÿ›¾�?z	aps.06.08)éd   g{®Gáz”?gÍº}Ë,d|?z	aps.06.09gžzÐ©£?z	aps.07.00)rÈ   gž3_ÙtF„?z	aps.07.01g¬å–ÛÅmd?z	aps.07.02gÍÌÌÌÌÌì?z	aps.08.00gÎ�ýª$Ö?z	aps.08.01gæ¬~++`Ï?z	aps.08.02)é   gx5ó[´É?z	aps.08.03g¨²öB!Å?z	aps.08.04g.xzì¡Ñ?z	aps.09.00g.xzì¡Á?z	aps.09.01gIêlÆï…?z	aps.09.02g:´* ¡m?z	aps.09.03)rÓ   géÏl¿Mí:?z	aps.09.04gçÐR†@û>z	aps.09.05gKu-°à>z	aps.09.06g�G"ÀïªÙ?z	aps.10.00gûXbT„à?z	aps.10.01gó,ÄCá?z	aps.10.02g=N˜µŠá?z	aps.10.03gÈaw²Á¯á?z	aps.10.04ç{®Gáz„?z	aps.11.00rÒ   z	aps.11.01g±?z	aps.11.02z	aps.11.03rÙ   gš™™™™™ñ?z	aps.12.00z	aps.12.01r    z	aps.12.02z	aps.12.03)r$   z	aps.12.04)é   rÜ   z	aps.12.05)é	   rÝ   z	aps.12.06)é   rÞ   z	aps.12.07)é   rß   z	aps.12.08rÚ   z	aps.12.09)rÉ   z	aps.12.10)é   rà   z	aps.12.11)rN   rN   z	aps.12.12)é   rá   z	aps.12.13)é   râ   z	aps.12.14)é   rã   z	aps.12.15)é   rä   z	aps.12.16)rÐ   z	aps.12.17)é!   rå   z	aps.12.18z	aps.13.00iüÿÿgh¿9öã?z	aps.14.00z	aps.14.01z	aps.14.02z	aps.14.03z	aps.14.04z	aps.14.05z	aps.14.06z	aps.14.07z	aps.14.08z	aps.14.09z	aps.14.10)r'   z	aps.14.11z	aps.14.12)rÔ   z	aps.14.13z	aps.14.14)é   z	aps.14.15z	aps.14.16)r"   z	aps.14.17z	aps.14.18z	aps.14.19z	aps.14.20)r#   z	aps.14.21z	aps.14.22)rZ   z	aps.14.23z	aps.14.24)rÊ   z	aps.14.25z	aps.14.26)é   z	aps.14.27z	aps.14.28)é   z	aps.14.29z	aps.14.30)é    z	aps.14.31z	aps.14.32)é"   z	aps.14.33)é#   z	aps.14.34)r(   z	aps.14.35)rË   z	aps.14.36)é&   z	aps.14.37)é'   z	aps.14.38z	aps.14.39g-Cëâ6?gBïi»õ?z	aps.15.00gpÄµx�?z	aps.15.01gï­þ¸‰D?z	aps.15.02gYôû?z	aps.15.03gVXÁl�
?z	aps.15.04gÈ^†�	?z	aps.15.05g3�¼Qu?z	aps.15.06gq3ÑŽL8?z	aps.15.07gm¤Û¾Rk?z	aps.15.08gHtö/¬?z	aps.15.09g˜²´Wù?z	aps.15.10g÷üBQ?z	aps.15.11gWõ‚Î¥³?z	aps.15.12gßBN?z	aps.15.13gôõ@rp“?z	aps.15.14gæ`MýW?z	aps.15.15gØ-ÿrc’?z	aps.15.16gÍ[.„?z	aps.15.17g†”½®³« ?z	aps.15.18g5×øcA ?z	aps.15.19g\â‡è
·ÿ>z	aps.15.20guW”­²¿é>z	aps.15.21)éÈ   g,Y~àÙ>z	aps.15.22)i,  gƒïªGÑ>z	aps.15.23)i�  g]4H-ñÉ>z	aps.15.24)iô  g2”vÃÄ>z	aps.15.25)iX  gwžaOÁ>z	aps.15.26)i¼  gAb³EÙ­½>z	aps.15.27)i   gÊõÓ¥Mù¹>z	aps.15.28)i„  gÝ¢ÓO·>z	aps.15.29)r¿   gá$lÅÈ´>z	aps.15.30c                 ó   • X-  U-
  $ )z&z**n-a:  Use to find the nth root of ar   ©Úzrj   r`   s      r   Úcplx01_frò   ã  rl   r   c                 ó   • XUS-
  -  -  $ rd   r   rð   s      r   Ú	cplx01_fprô   è  ro   r   c                 ó    • XS-
  -  XS-
  -  -  $ rq   r   rð   s      r   Ú
cplx01_fpprö   ì  rs   r   c                 ó4   • [         R                  " U 5      U-
  $ )z"e**z - a: Use to find the log of ar]   ©rñ   r`   s     r   Úcplx02_frù   ð  s   € ä�6Š6�!‹9�q‰=Ðr   c                 ó.   • [         R                  " U 5      $ rJ   r]   rø   s     r   Ú	cplx02_fprû   õ  rx   r   c                 ó.   • [         R                  " U 5      $ rJ   r]   rø   s     r   Ú
cplx02_fpprý   ù  rx   r   )	r5   r6   r7   r8   r:   r;   Úx1r<   r=   )r   r?   y      ð?      ð?y      à?      à?ù              ð?zcomplex.01.00)r!   r   y      ð¿      ð?y      à¿       @g      à¿zcomplex.01.01)r!   r?   zcomplex.01.02)r!   rÓ   zcomplex.01.03)r?   y      ð?       @zcomplex.02.00)rÿ   y              à?zcomplex.02.01c                 ól   • U  H.  n[        SS/UR                  S/ 5      5       H	  u  p#X1U'   M     M0     g)z:Add "a" and "b" keys to each test from the "bracket" valuer`   ra   r9   N)Úzipr2   )ÚtestsÚdÚkr3   s       r   Ú_add_a_br  $  s5   € ãˆÜ˜˜c˜
 A§E¡E¨)°RÓ$8Ö9‰DˆAØˆa‹Dó :ò r   c                 ó¶   • U =(       d    Sn [         [        [        [        S.nUR	                  U / 5      nUb  U Vs/ s H  oDS   U:¼  d  M  UPM     nnU$ s  snf )a�  Return the requested collection of test cases, as an array of dicts with subset-specific keys

Allowed values of collection:
'original': The original benchmarking functions.
     Real-valued functions of real-valued inputs on an interval with a zero.
     f1, .., f3 are continuous and infinitely differentiable
     f4 has a single discontinuity at the root
     f5 has a root at 1 replacing a 1st order pole
     f6 is randomly positive on one side of the root, randomly negative on the other
'aps': The test problems in the TOMS "Algorithm 748: Enclosing Zeros of Continuous Functions"
     paper by Alefeld, Potra and Shi. Real-valued functions of
     real-valued inputs on an interval with a zero.
     Suitable for methods which start with an enclosing interval, and
     derivatives up to 2nd order.
'complex': Some complex-valued functions of complex-valued inputs.
     No enclosing bracket is provided.
     Suitable for methods which use one or more starting values, and
     derivatives up to 2nd order.

The dictionary keys will be a subset of
["f", "fprime", "fprime2", "args", "bracket", "a", b", "smoothness", "x0", "x1", "root", "ID"]
Úoriginal)ÚapsÚcomplexr  Úchandrupatlar:   )Ú_APS_TESTS_DICTSÚ_COMPLEX_TESTS_DICTSÚ_ORIGINAL_TESTS_DICTSÚ_CHANDRUPATLA_TESTS_DICTSr2   )Ú
collectionr:   Úsubsetsr  Útcs        r   Ú	get_testsr  0  sb   € ð. ×)˜z€JÜ&Ü.Ü0Ü8ñ:€Gð �K‰K˜
 BÓ'€EØÑÙ#ÓFše˜¨,Ñ'7¸:Ñ'E—™eˆÐFØ€Lùò Gs   ¼AÁA)z	cc.bisectz	cc.ridderz	cc.brenthz	cc.brentq)r   r   r-   r/   r4   c                 ó   • U S-  SU -  -
  S-
  $ )Nr!   r   rP   r   r	   s    r   Úfun1r  \  s   € Øˆa‰4�!�A‘#‰:˜‰>Ðr   gã5¤Á @c                 ó   • SSU S-  -  -
  $ rq   r   r	   s    r   Úfun2r  a  s   € Øˆq��A‘‰v‰:Ðr   c                 ó   • U S-
  S-  $ )Nr!   r   r	   s    r   Úfun3r  f  s   € Øˆa‰C�!‰8€Or   c                 ó   • SU S-
  S-  -  $ )Nr$   r   rP   r   r	   s    r   Úfun4r  k  s   € Øˆa�‰c�A‰X‰:Ðr   c                 ó   • U S-  $ )NrÝ   r   r	   s    r   Úfun5r  p  s   € Øˆa‰4€Kr   c                 ó   • U S-  $ )Nrà   r   r	   s    r   Úfun6r  u  s   € Øˆb‰5€Lr   c                 ót   • [        U 5      nUR                  U 5      S:  a  S$ XR                  U S-  * 5      -  $ )NgžŽ’Wç8?r   rO   )r   Úabsr^   ©r
   Úxps     r   Úfun7r#  z  s8   € Ü	˜Ó	€BØ—‘�q“	˜FÓ"ˆ1Ð:¨¯&©&°!°b±'°Ó*:Ñ(:Ð:r   c                 óž   • [        U 5      nSnSSU-
  -  UR                  U * 5      -  * USU-
  UR                  U * 5      -  -   -  S-
  SU -  -   $ )NgéeË-­ã?iö  r   iõ  i\  ©r   r^   )r
   r"  Úxis      r   Úfun8r'  €  s\   € Ü	˜Ó	€BØ	€BØ�1�R‘4‰[˜Ÿ™  ›Ñ#Ð$ b¨A¨b©D°"·&±&¸!¸³*Ñ+<Ñ&<Ñ=ÀÑDÀtÈAÁvÑMÐMr   g;6b¿™ð?c                 ód   • [        U 5      nUR                  U 5      S-
  SU S-  -  -
  SU S-  -  -   $ )Nr   rÛ   g�íµ ÷ÆÀ>r!   r%  r!  s     r   Úfun9r)  ‡  s8   € Ü	˜Ó	€BØ�6‰6�!‹9�q‰=˜4  1¡™9Ñ$ w¨q°!©t¡|Ñ3Ð3r   gGô÷o§€æ?)r5   r9   r<   Únfevalr=   rÔ   g     ˆÃÀg     ˆÃ@g    _ Âg    _ Bé+   g)\�Âõ(ø?rÓ   r#   g�íµ ÷Æ°>g    €„.Arç   g»½×Ùß|Û=é)   gê-�™—q=g   ¢”mBé0   iöÿÿÿr(   g    €„.Áé-   é7   é6   éûÿÿÿr,   g      @g       Àg      @g      $@g      Àg      I@g      $Àg      Y@r"   g-Cëâ6*?r'   éQ   Ú.)r  N)vÚ__doc__r   ÚnumpyrB   Úscipy.optimizer   ÚccÚscipy._lib._array_apir   Údescriptionr   r   r   r   r   r   r   r%   r)   r-   r/   r1   r4   Ú_ORIGINAL_TESTS_KEYSÚsqrtÚinfÚ_ORIGINAL_TESTSÚdictr  r  rD   rH   rK   rV   rX   r[   rb   re   rg   rk   rn   rr   ru   rw   rz   r}   r   r‚   r„   r‡   r‰   r‹   r�   r�   r‘   r“   r•   r—   r™   r›   r�   rŸ   r¡   r¥   r§   r©   ÚlogÚfinfoÚfloatÚmaxr¬   r¯   r±   r³   r·   r¹   r»   rÂ   rÅ   rÇ   Ú_APS_TESTS_KEYSÚpiÚ
_APS_TESTSr  rò   rô   rö   rù   rû   rý   Ú_COMPLEX_TESTS_KEYSÚ_COMPLEX_TESTSr  r  r  ÚbisectÚridderÚbrenthÚbrentqÚmethodsÚmstringsÚ	functionsÚfstringsr  r<   r  r  r  r  r  r#  r'  r)  Ú_CHANDRUPATLA_TESTS_KEYSÚ_CHANDRUPATLA_TESTSÚ	enumerateÚ__name__r  )ÚtestcaseÚiÚtests   000r   Ú<module>rW     s%  ðñõR ã å *Ý 1ð€òò
òòò
òò.ò
-ò#òòð €	ò
ò,Ð ð ˆ�˜˜S "§'¢'¨!£*Ð-¨r¯v©v°s¸CÐAQÐRØˆ�˜˜S "§'¢'¨!£*Ð-¨r¯v©v°s¸CÐAQÐRØˆ�˜˜S "§'¢'¨!£*Ð-¨r¯v©v°s¸CÐAQÐRØˆˆt�R˜#˜rŸwšw q›zÐ*¨B°°SÐ:JÐKØˆˆt�R˜#˜rŸwšw q›zÐ*¨B°°SÐ:JÐKØˆˆt�R˜#˜rŸwšw q›zÐ*¨R¯V©V¨G°S¸#Ð?OÐPð€ñ ?NóÚ>M°(�D‰Ð! 8Ó	,Ö-¹oñÐ òò
òò9ò8ò
9ò
!ò
+ò5òò
ò$òò
òò7ò
3ò'ò1ò
2òòò
(ò.ò1ò
5ò$ò+ò
@ò(ò
'ò
òò7ò
*òFð �vŠv�b—h’h˜u“o×)Ñ)Ó*€ò
ò&ò-ò0ò.ò#ò2ò?òTò(€ðuØˆh˜	 2¨¯©°©	°2·5±5Ð'9¸2¿6¹6ØÐ ð.ðuð ˆh˜	 2¨°(Ð';¸R¿V¹VØÐ ð.ðuð
 ˆh˜	 2¨°(Ð';¸R¿V¹VØÐ ð.ðuð ˆh˜	 2¨°)Ð'<¸b¿f¹fØÐ	  +ð/ðuð ˆh˜	 2¨	°9Ð'=¸r¿v¹vØÐ	  +ð/ðuð ˆh˜	 2¨	°9Ð'=¸r¿v¹vØÐ	  +ð/ðuð ˆh˜	 2¨	°9Ð'=¸r¿v¹vØÐ	  +ð/ðuð ˆh˜	 2¨	°9Ð'=¸r¿v¹vØÐ	  +ð/ðuð" ˆh˜	 2¨	°9Ð'=¸r¿v¹vØÐ	  +ð/ð#uð& ˆh˜	 2¨	°:Ð'>ÀÇÁØÐ	  +ð/ð'uð* ˆh˜	 2¨
°JÐ'?ÀÇÁØÐ
! ;ð0ð+uð. ˆh˜	 9¨r°2¨h¸¿¹ØˆˆKðð/uð2 ˆh˜	 :°°B¨x¸¿¹ØˆˆKðð3uð6 ˆh˜	 :°°B¨x¸¿¹ØˆˆKðð7uð: ˆh˜	 8¨a°¨V°R·V±VØÐ
! ;ð0ð;uð> ˆh˜	 8¨a°¨V°R·V±VØÐ
! ;ð0ð?uðB ˆh˜	 8¨a°¨V°R·V±VØÐ
! ;ð0ðCuðF ˆh˜	 9¨q°!¨f°b·f±fØÐ
! ;ð0ðGuðJ ˆh˜	 9¨q°!¨f°b·f±fØÐ
! ;ð0ðKuðN ˆh˜	 6¨A¨q¨6°2·6±6Øˆ!ˆ[ððOuðR ˆh˜	 6¨A¨q¨6°2·6±6Øˆ!ˆ[ððSuðV ˆh˜	 6¨A¨q¨6°2·6±6Øˆ!ˆ[ððWuðZ ˆh˜	 7¨Q°¨F°B·F±FØˆ!ˆ[ðð[uð^ ˆh˜	 7¨Q°¨F°B·F±FØˆ!ˆ[ðð_uðb ˆh˜	 6¨E°4¨=¸"¿&¹&Øˆ!ˆ[ððcuðf ˆh˜	 7¨U°D¨M¸2¿6¹6Øˆ!ˆ[ððguðj ˆh˜	 7¨U°D¨M¸2¿6¹6Øˆ!ˆ[ððkuðn ˆh˜	 7¨U°D¨M¸2¿6¹6Øˆ!ˆ[ððouðr ˆh˜	 2¨¨3 x°·±Øˆ"�%‰%�!‰)�[ð"ðsuðv ˆh˜	 4¨!¨Q¨°·±ØÐ
! ;ð0ðwuðz ˆh˜	 4¨!¨Q¨°·±ØÐ
! ;ð0ð{uð~ ˆh˜	 4¨!¨Q¨°·±ØÐ
! ;ð0ðuðB ˆh˜	 4¨!¨Q¨°·±ØÐ
! ;ð0ðCuðF ˆh˜	 4¨!¨Q¨°·±ØÐ
! ;ð0ðGuðJ ˆh˜	 5¨1¨a¨&°"·&±&ØÐ
! ;ð0ðKuðN ˆh˜	 5¨1¨a¨&°"·&±&Ø
Ð# [ð2ðOuðR ˆh˜	 5¨1¨a¨&°"·&±&ØÐ&¨ð5ðSuðV ˆh˜	 5¨1¨a¨&°"·&±&ØÐ% {ð4ðWuðZ ˆh˜	 6¨A¨q¨6°2·6±6Ø
Ð# [ð2ð[uð^ ˆh˜	 4¨!¨Q¨°·±ØÐ
! ;ð0ð_uðb ˆh˜	 5¨1¨a¨&°"·&±&ØÐ
! ;ð0ðcuðf ˆh˜	 5¨1¨a¨&°"·&±&ØÐ
! ;ð0ðguðj ˆh˜	 4¨!¨Q¨°·±Øˆ#ˆ{ððkuðn ˆh˜	 4¨!¨Q¨°·±ØÐ
! ;ð0ðouðr ˆh˜	 5¨1¨a¨&°"·&±&ØÐ
! ;ð0ðsuðv ˆh˜	 5¨1¨a¨&°"·&±&ØÐ
! ;ð0ðwuðz ˆh˜	 5¨1¨a¨&°"·&±&ØÐ
! ;ð0ð{uð~ ˆh˜	 4¨!¨Q¨°·±ØÐ
! ;ð0ðuðB ˆh˜	 4¨!¨Q¨°·±ØÐ
! ;ð0ðCuðF ˆh˜	 4¨!¨Q¨°·±ØÐ
! ;ð0ðGuðJ ˆh˜	 4¨!¨Q¨°·±ØÐ
! ;ð0ðKuðN ˆh˜	 4¨!¨Q¨°·±ØÐ
! ;ð0ðOuðR ˆh˜	 5¨1¨a¨&°"·&±&ØÐ
! ;ð0ðSuðV ˆh˜	 5¨1¨a¨&°"·&±&ØÐ
! ;ð0ðWuðZ ˆh˜	 4¨!¨Q¨°·±ØÐ
! ;ð0ð[uð^ ˆh˜	 4¨!¨Q¨°·±ØÐ
! ;ð0ð_uðb ˆh˜	 5¨1¨a¨&°"·&±&ØÐ
! ;ð0ðcuðf ˆh˜	 5¨1¨a¨&°"·&±&ØÐ
! ;ð0ðguðj ˆh˜	 5¨1¨a¨&°"·&±&ØÐ
! ;ð0ðkuðn ˆh˜	 4¨$°¨°B·F±FØ
ˆG�[ð"ðouðr ˆh˜	 4¨$°¨°B·F±FØ
‰G‘[ð"ðsuðv ˆh˜	 5¨4°¨)°R·V±VØ
‰H‘kð#ðwuðz ˆh˜	 5¨4°¨)°R·V±VØ
ˆH‘kð#ð{uð~ ˆh˜	 4¨!©S¨°2·6±6Ùˆ!‰[ððuðB ˆh˜	 4¨!©S¨°2·6±6Ùˆ!‰[ððCuðF ˆh˜	 4¨!©S¨°2·6±6Ù‰!‰[ððGuðJ ˆh˜	 4¨!©S¨°2·6±6Ùˆ!‰[ððKuðN ˆh˜	¡4¨!©S¨°2·6±6Ùˆ!‰[ððOuðR ˆh˜	¡4¨!©S¨°2·6±6Ù‰!‰[ððSuðV ˆh˜	¡4¨!©S¨°2·6±6Ù‰!‰[ððWuðZ ˆh˜	¡5¨1©c¨(°B·F±FÙ‰"‰kðð[uð^ ˆh˜	¡5¨1©c¨(°B·F±FÙ‰"‰kðð_uðb ˆh˜	 5¨1©c¨(°B·F±FÙ‰"‰kððcuðf ˆh˜	¡5¨1©c¨(°B·F±FÙˆ"‰kððguðj ˆh˜	¡5¨1©c¨(°B·F±FÙ‰"‰kððkuðn ˆh˜	¡5¨1©c¨(°B·F±FÙ‰"‰kððouðr ˆh˜	¡5¨1©c¨(°B·F±FÙ‰"‰kððsuðv ˆh˜	¡5¨1©c¨(°B·F±FÙ‰"‰kððwuðz ˆh˜	¡5¨1©c¨(°B·F±FÙ‰"‰kðð{uð~ ˆh˜	¡5¨1©c¨(°B·F±FÙ‰"‰kððuðB ˆh˜	¡5¨1©c¨(°B·F±FÙˆ"‰kððCuðF ˆh˜	¡5¨1©c¨(°B·F±FÙ‰"‰kððGuðJ ˆh˜	 2¨©A w°·±Øˆ!‰[ððKuðN ˆh˜	 4©%°·±¸±Ð);¸QØÑ¡ð.ðOuðR ˆh˜	 4©%°·±¸±Ð);¸QØÑ¡ð.ðSuðV ˆh˜	 4©%°·±¸±Ð);¸QØÑ¡ð.ðWuðZ ˆh˜	 4©%°·±¸±Ð);¸QØÑ¡ð.ð[uð^ ˆh˜	 4©%°·±¸±Ð);¸QØÑ¡ð.ð_uðb ˆh˜	¡4©%°·±¸±Ð);¸QØÑ¡ð.ðcuðf ˆh˜	¡4©%°·±¸±Ð);¸QØÑ¡ð.ðguðj ˆh˜	 4©%°·±¸±Ð);¸QØÑ¡ð.ðkuðn ˆh˜	¡4©%°·±¸±Ð);¸QØÑ¡ð.ðouðr ˆh˜	 5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðsuðv ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðwuðz ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ð{uð~ ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðuðB ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðCuðF ˆh˜	 5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðGuðJ ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðKuðN ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðOuðR ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðSuðV ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðWuðZ ˆh˜	 5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ð[uð^ ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ð_uðb ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðcuðf ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðguðj ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðkuðn ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðouðr ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðsuðv ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðwuðz ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ð{uð~ ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðuðB ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðCuðF ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðGuðJ ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðKuðN ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðOuðR ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðSuðV ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðWuðZ ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ð[uð^ ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ð_uðb ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðcuðf ˆh˜	¡5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðguðj ˆh˜	 5©5°"·%±%¸!±)Ð*<¸aØÑ¡ð.ðkuðn ˆh˜	 5©5±$¨-¸ØÑ	 ¡+ð/ðouðr ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðsuðv ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðwuðz ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ð{uð~ ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðuðB ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðCuðF ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðGuðJ ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðKuðN ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðOuðR ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðSuðV ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðWuðZ ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ð[uð^ ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ð_uðb ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðcuðf ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðguðj ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðkuðn ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðouðr ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðsuðv ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ðwuðz ˆh˜	¡5©5±$¨-¸ØÑ	 ¡+ð/ð{uð~ ˆh˜	 5©5±$¨-¸ØÑ	 ¡+ð/ðuðB	 ˆh˜	 6©E±4¨=¸!ØÑ	 ¡+ð/ðC	uðF	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ðG	uðJ	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ðK	uðN	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ðO	uðR	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ðS	uðV	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ðW	uðZ	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ð[	uð^	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ð_	uðb	 ˆh˜	¡6©E±4¨=¸!ØÑ	 ¡+ð/ðc	uðf	 ˆh˜	¡7©U±D¨M¸1ØÑ	 ¡+ð/ðg	u€
ñn	 JTÓTÊ¸X‘D™˜_¨hÓ7Ö8ÉÑTÐ óó
ó$óó
óó$Ð ð ˆy˜*¡g¨r¯v©vÙ‘
™R¡ð2àˆy˜*¡f¨b¯f©fÙ‘¡ r§w¢w¨q£z°A¡~¹Ñ'<Ñ <Ùðð ˆy˜*¡g¨r¯v©vÙ‰*˜˜bŸgšg a›j¨1™n©tÑ3Ñ3Ùðð ˆy˜*¡f¨b¯f©fØ‰ˆ1‰oðàˆy˜*¡e¨R¯V©VÙ‘
˜RŸU™U¡T™\©?ð<àˆy˜*¡e¨R¯V©VÙ‘
˜RŸU™U¡T™\©?ð<ð€ñ$ >LóÚ=K°�D‰Ð  (Ó	+Ö,¹^ñÐ ó
ñ 	Ð	Ô Ù Ð	Ô Ù Ð	Ô öðF �9‰9�b—i‘i §¡¨B¯I©IÐ
6€Û?€Ø��R˜˜RÐ €	Û)€óá€„	óà€„	óà€„	óà€„	óà€„	óà€„	ó;ð €„	óNñ €„	ó4ñ €„	ó DÐ ð.Ø	ˆAˆqˆ6�4—9‘9™aÐ ð.à	ˆAˆrˆ7�D—I‘I™rÐ"ð.ð 
ˆA‰sˆ8�T—Y‘Y¡Ð#ð.ð 
‰D‘#ˆ;˜Ÿ	™	¡2Ð&ð	.ð
 
‰E‘4ˆ=˜$Ÿ)™)¡RÐ(ð.ð 
ˆC‘ˆ;˜Ÿ	™	¡1Ð%ð.ð 
‰D‘#ˆ;˜Ÿ	™	¡2Ð&ð.ð 
‰D‘#ˆ;˜Ÿ	™	¡2Ð&ð.ð 
‰E‘4ˆ=˜$Ÿ)™)¡RÐ(ð.ð 
‰E‘4ˆ=˜$Ÿ)™)¡RÐ(ð.ð 
ˆAˆqˆ6�4—9‘9™bÐ!ð.ð 
‰C�ˆ9�d—i‘i¡Ð$ð.ð 
‰D‘#ˆ;˜Ÿ	™	¡2Ð&ð.ð 
‰D‘#ˆ;˜Ÿ	™	¡2Ð&ð.ð 
‰E‘4ˆ=˜$Ÿ)™)¡RÐ(ð.ð  
ˆAˆqˆ6�4—9‘9™bÐ!ð!.ð" 
‰C�ˆ9�d—i‘i¡Ð$ð#.ð$ 
‰D‘#ˆ;˜Ÿ	™	¡2Ð&ð%.ð& 
‰D‘#ˆ;˜Ÿ	™	¡2Ð&ð'.ð( 
‰E‘4ˆ=˜$Ÿ)™)¡RÐ(ð).ð* 
ˆB‘ˆ7�D—I‘I™rÐ"ð+.ð, 
ˆB�ˆ7�D—I‘I™rÐ"ð-.ð. 
ˆB�ˆ8�T—Y‘Y¡Ð#ð/.ð0 
‰B�ˆ8�T—Y‘Y¡Ð#ð1.ð2 
‰C‘ˆ:�t—y‘y "Ð%ð3.ð4 
‰C‘ˆ9�d—i‘i¡Ð$ð5.ð6 
‰C‘ˆ9�d—i‘i¡Ð$ð7.ð8 
‰C‘ˆ:�t—y‘y¡"Ð%ð9.ð: 
‰C‘ˆ:�t—y‘y¡"Ð%ð;.ð< 
‰D‘$ˆ<˜Ÿ™ BÐ'ð=.ð> 
ˆB‘ˆ7�D—I‘I™qÐ!ð?.ð@ 
ˆB�ˆ7�D—I‘I™qÐ!ðA.ðB 
ˆB�ˆ8�T—Y‘Y¡Ð#ðC.ðD 
‰B�ˆ8�T—Y‘Y¡Ð#ðE.ðF 
‰C‘ˆ:�t—y‘y¡"Ð%ðG.ðH 
‰D�!ˆ9�d—i‘i¡Ð#ðI.ðJ 
‰D�!ˆ9�d—i‘i Ð$ðK.ðL 
‰D‘!ˆ9�d—i‘i¡Ð$ðM.ðN 
‰D‘"ˆ:�t—y‘y¡"Ð%ðO.ðP 
‰D‘"ˆ:�t—y‘y¡"Ð%ðQ.ðR 
‰D�!ˆ9�d—i‘i¡Ð#ðS.ðT 
‰D�!ˆ9�d—i‘i¡Ð#ðU.ðV 
‰D‘!ˆ9�d—i‘i Ð$ðW.ðX 
‰D‘"ˆ:�t—y‘y¡"Ð%ðY.ðZ 
‰D‘"ˆ:�t—y‘y¡"Ð%ð[.Ð ñ` '0Ð0CÔ&DôFÚ&D™7˜1ð  q¡'×"2Ñ"2Ð!3±1°Q°q±S¸±U°GÐ<Ð=Ô=Ù&DòFÐ ñ .AóBÚ-@ ñ "¡#Ð&>ÀÓ"IÖJÙ-@ñBÐ á Ð	"Õ #ùòYùòv UùòHùóPFùòBs'   ÄAZ8ÁB:AZ=ÁGA[ÁY!*A[ÁZA[