o
    *ήc>\                     @   s`  d Z ddlmZ edZerWddlmZmZmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z mZmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmHZHmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmÐZÐmĐZĐmŐZŐmƐZƐmǐZǐmZmȐZȐmɐZɐmʐZʐmːZːm̐Z̐m͐Z͐mΐZΐmϐZϐmАZАmѐZѐmҐZҐmӐZӐmԐZԐmՐZՐm֐Z֐mאZאmؐZؐmِZِmڐZڐmېZېmܐZݐmސZߐmZmZmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZmZmZ ddlmZ ddlmZ ddlmZmZ ddlmZ ddlmZ ddlmZmZ ddlmZ ddlm Z  ddlmZmZ ddlmZmZmZmZm	Z	m
Z
mZmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZmZmZmZmZmZm Z  ddlm!Z" dd dD \Z#Z$Z%Z&Z'Z(Z)Z*Z+Z,Z-Z.Z/Z0Z1Z2Z3Z4Z5Z6Z7Z8Z9Z:Z;Z<Z=Z>Z?Z@ZAdd dD \ZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZJZKZRZSZTZUZVZWZXZYZZZ[Z\Z]ed\	Z^Z_Z`ZaZbZcZdZeZfdZgdZhdZid d! Zjd"d# Zkd$d% Zld&d' Zmd(d) Znd*d+ Zod,d- Zpd.d/ Zqd0d1 Zrd2d3 Zsd4d5 Ztd6d7 Zud8d9 Zvd:d; Zwd<d= Zxd>d? Zyd@dA ZzdBdC Z{dDdE Z|dFdG Z}dHdI Z~dJdK ZdLdM ZdNdO ZdPdQ ZdRdS ZdTdU ZdVdW ZdXdY ZdZd[ Zd\d] Zd^d_ Zd`da Zdbdc Zddde Zdfdg Zdhdi Zdjdk Zdldm Zdndo Zdpdq Zdrds Zdtdu ZdS )vz
This code is automatically generated. Never edit it manually.
For details of generating the code see `rubi_parsing_guide.md` in `parsetools`.
    )import_modulematchpy)PatternReplacementRuleCustomConstraintis_match(  IntSumSetWithModuleScanMapAndFalseQZeroQ	NegativeQNonzeroQFreeQNFreeQListLog	PositiveQPositiveIntegerQNegativeIntegerQIntegerQ	IntegersQComplexNumberQPureComplexNumberQRealNumericQPositiveOrZeroQNegativeOrZeroQFractionOrNegativeQNegQEqualUnequalIntPartFracPart	RationalQProductQSumQNonsumQSubstFirstRestSqrtNumberQSqrtNumberSumQLinearQSqrtArcCoshCoefficientDenominatorHypergeometric2F1NotSimplifyFractionalPartIntegerPartAppellF1
EllipticPi	EllipticE	EllipticFArcTanArcCotArcCothArcTanhArcSinArcSinhArcCosArcCscArcSecArcCschArcSechSinhTanhCoshSechCschCoth	LessEqualLessGreaterGreaterEqual	FractionQIntLinearcQExpandIndependentQPowerQIntegerPowerQPositiveIntegerPowerQFractionalPowerQAtomQExpQLogQHeadMemberQTrigQSinQCosQTanQCotQSecQCscQSinCosTanCotSecCscHyperbolicQSinhQCoshQTanhQCothQSechQCschQInverseTrigQSinCosQ	SinhCoshQ	LeafCount	NumeratorNumberQNumericQLengthListQImReInverseHyperbolicQInverseFunctionQTrigHyperbolicFreeQInverseFunctionFreeQRealQEqQFractionalPowerFreeQComplexFreeQPolynomialQFactorSquareFreePowerOfLinearQExponent
QuadraticQLinearPairQBinomialPartsTrinomialPartsPolyQEvenQOddQPerfectSquareQNiceSqrtAuxQ	NiceSqrtQTogetherPosAuxPosQCoefficientList
ReplaceAllExpandLinearProductGCDContentFactorNumericFactorNonnumericFactorsMakeAssocListGensymSubstKernelSubstExpandExpressionApart
SmartApartMatchQPolynomialQuotientRemainderFreeFactorsNonfreeFactorsRemoveContentAuxRemoveContent	FreeTermsNonfreeTermsExpandAlgebraicFunctionCollectReciprocalsExpandCleanupAlgebraicFunctionQCoeffLeadTermRemainingTerms
LeadFactorRemainingFactorsLeadBase
LeadDegreeNumerDenom	hypergeomExponMergeMonomialsPolynomialDivide	BinomialQ
TrinomialQGeneralizedBinomialQGeneralizedTrinomialQFactorSquareFreeListPerfectPowerTestSquareFreeFactorTestRationalFunctionQRationalFunctionFactorsNonrationalFunctionFactorsReverseRationalFunctionExponentsRationalFunctionExpandExpandIntegrandSimplerQSimplerSqrtQSumSimplerQBinomialDegreeTrinomialDegreeCancelCommonFactorsSimplerIntegrandQGeneralizedBinomialDegreeGeneralizedBinomialPartsGeneralizedTrinomialDegreeGeneralizedTrinomialParts	MonomialQMonomialSumQMinimumMonomialExponentMonomialExponentLinearMatchQPowerOfLinearMatchQQuadraticMatchQCubicMatchQBinomialMatchQTrinomialMatchQGeneralizedBinomialMatchQGeneralizedTrinomialMatchQQuotientOfLinearsMatchQPolynomialTermQPolynomialTermsNonpolynomialTermsPseudoBinomialPartsNormalizePseudoBinomialPseudoBinomialPairQPseudoBinomialQPolynomialGCDPolyGCDAlgebraicFunctionFactorsNonalgebraicFunctionFactorsQuotientOfLinearsPQuotientOfLinearsPartsQuotientOfLinearsQFlattenSortAbsurdNumberQAbsurdNumberFactorsNonabsurdNumberFactorsSumSimplerAuxQPrependDropCombineExponentsFactorIntegerFactorAbsurdNumberSubstForInverseFunctionSubstForFractionalPower*SubstForFractionalPowerOfQuotientOfLinears"FractionalPowerOfQuotientOfLinearsSubstForFractionalPowerQSubstForFractionalPowerAuxQFractionalPowerOfSquareQFractionalPowerSubexpressionQApplyFactorNumericGcdMergeableFactorQMergeFactorMergeFactorsTrigSimplifyQTrigSimplifyTrigSimplifyRecurOrderFactorOrderSmallestOrderedQMinimumDegreePositiveFactorsSignNonpositiveFactorsPolynomialInAuxQPolynomialInQExponentInAux
ExponentInPolynomialInSubstAuxPolynomialInSubstDistribDistributeDegreeFunctionOfPowerDivideDegreesOfFactorsMonomialFactorFullSimplifyFunctionOfLinearSubstFunctionOfLinearNormalizeIntegrandNormalizeIntegrandAuxNormalizeIntegrandFactorNormalizeIntegrandFactorBaseNormalizeTogetherNormalizeLeadTermSignsAbsorbMinusSignNormalizeSumFactorsSignOfFactorNormalizePowerOfLinearSimplifyIntegrandSimplifyTermTogetherSimplifySmartSimplifySubstForExpnExpandToSumUnifySum
UnifyTerms	UnifyTerm	CalculusQFunctionOfInverseLinearPureFunctionOfSinhQPureFunctionOfTanhQPureFunctionOfCoshQIntegerQuotientQOddQuotientQEvenQuotientQFindTrigFactorFunctionOfSinhQFunctionOfCoshQOddHyperbolicPowerQFunctionOfTanhQFunctionOfTanhWeightFunctionOfHyperbolicQSmartNumeratorSmartDenominatorSubstForAuxActivateTrig
ExpandTrig
TrigExpandSubstForTrigSubstForHyperbolicInertTrigFreeQLCMSubstForFractionalPowerOfLinearFractionalPowerOfLinearInverseFunctionOfLinear
InertTrigQInertReciprocalQDeactivateTrigFixInertTrigFunctionDeactivateTrigAuxPowerOfInertTrigSumQPiecewiseLinearQKnownTrigIntegrandQKnownSineIntegrandQKnownTangentIntegrandQKnownCotangentIntegrandQKnownSecantIntegrandQTryPureTanSubstTryTanhSubstTryPureTanhSubstAbsurdNumberGCDAbsurdNumberGCDListExpandTrigExpandExpandTrigReduceExpandTrigReduceAuxNormalizeTrig	TrigToExpExpandTrigToExp
TrigReduceFunctionOfTrigAlgebraicTrigFunctionQFunctionOfHyperbolicFunctionOfQFunctionOfExpnQPureFunctionOfSinQPureFunctionOfCosQPureFunctionOfTanQPureFunctionOfCotQFunctionOfCosQFunctionOfSinQOddTrigPowerQFunctionOfTanQFunctionOfTanWeightFunctionOfTrigQFunctionOfDensePolynomialsQFunctionOfLogPowerVariableExpnPowerVariableDegreePowerVariableSubstEulerIntegrandQFunctionOfSquareRootOfQuadraticSquareRootOfQuadraticSubstDividesEasyDQProductOfLinearPowersQRtNthRoot	AtomBaseQSumBaseQNegSumBaseQAllNegTermQSomeNegTermQTrigSquareQRtAux
TrigSquareIntSumIntTermMap2ConstantFactorSameQReplacePartCommonFactorsMostMainFactorPositionFunctionOfExponentialQFunctionOfExponentialFunctionOfExponentialFunction FunctionOfExponentialFunctionAuxFunctionOfExponentialTestFunctionOfExponentialTestAuxstdev	rubi_testIfIntQuadraticQIntBinomialQRectifyTangentRectifyCotangent
Inequality	ConditionSimpSimpHelpSplitProductSplitSumSubstForrG  FresnelSFresnelCErfcErfiGammaFunctionOfTrigOfLinearQElementaryFunctionQComplexUnsameQ_SimpFixFactorSimpFixFactor_FixSimplifyFixSimplify_SimplifyAntiderivativeSumSimplifyAntiderivativeSum_SimplifyAntiderivativeSimplifyAntiderivative_TrigSimplifyAuxTrigSimplifyAuxCancelPartPolyLogDDistSum_doitPolynomialQuotientFloorPolynomialRemainderFactorr  CosIntegralSinIntegralLogIntegralSinhIntegralCoshIntegralRuleErf	PolyGammaExpIntegralEiExpIntegralELogGammaUtilityOperator	FactorialZeta
ProductLogDerivativeDividesHypergeometricPFQIntHideOneQNullrubi_exprubi_logDiscriminantNegativeQuotient)Add)Mod)Mul)
EulerGamma)FloatIInteger)Pow)S)Abssign)sqrt)Integral)AndOr)simplifyWC)symbolsSymbol)sincostancotcscsecr  erf)acoshasinhatanhacothacschasechcoshsinhtanhcothsechcsch)atanacscasinacotacosasecatan2)pic                 C      g | ]}t |qS  r  .0ir  r  Z/tmp/pip-target-vg8gfxp4/lib/python/sympy/integrals/rubi/rules/integrand_simplification.py
<listcomp>       r  ABCFGHabcdefghijklmnpqrtuvswxyzc                 C   r  r  r  r  r  r  r  r     r  )a1a2b1b2c1c2d1d2n1n2e1e2f1f2g1g2r   r!  n3PqPmPxQmQrQxjnmnnon2RFxRGxzi ii Pqq Q R r C k uFNc                  C   s  ddl m} m}m}m}m}m}m}m}m	}m
}	m}
m}m}m}m}m}m}m}m}m}m}m}m}m}m}m}m}m}m}m}m}m }m!} m"}!m#}"m$}#m%}$m&}%m'}&m(}'m)}(m*})m+}*m,}+m-},m.}-m/}.m0}/m1}0m2}1m3}2m4}3m5}4m6}5m7}6m8}7m9}8m:}9m;}:m<};m=}<m>}=m?}>m@}?mA}@mB}AmC}B tDtEtFtGtHdtId tHdtId  tHdtId tHdtId tG||||| }CtJ|CtK}DtDtEtGtHdtId tHdtId tHdtId tHdtId tHdtId tG|||||}EtJ|EtL}FtDtEtFtGtHd	tId tHd
tId  tGtHdtId tHdtId  tHdtId tHdtId tG||||||| }GtJ|GtM}HtDtEtGtHd	tId tHd
tId tGtHdtId tHdtId  tHdtId tHdtId tHdtId tG|||||||}ItJ|ItN}JtDtEtGtHd	tId tHd
tId tGtHdtId tHdtId  tHdtId tHdtId tHdtId tG|||||||}KtJ|KtO}LtDtEtPtHdtId tPtHdtId  tHdtId tHdtId tHdtId tG|||	}MtJ|MtQ}NtDtEtRtS tHdtId tG|
||}OtJ|OtT}PtDtEtFtG||}QtJ|QtU}RtDtEtFtVtGtHd
tId   tG||||}StJ|StW}TtDtEtX tG}UtJ|UtY}VtDtEtXtZtIdtF tG||}WtJ|Wt[}XtDtEtFtX tG||}YtJ|Yt\}ZtDtEtXtG|}[tJ|[t]}\tDtEtXtGtHd
tId tHdtId  tG||||}]tJ|]t^}^tDtEtPtHdtId tVtP t_  tHdtId tG|||}_tJ|_t`}`tDtEtPtHdtId ta tPtHdtId t_  tHdtId tG||||||}atJ|atb}btDtEtPtHdtId ta tPtHdtId t_  tHdtId tG||||||}ctJ|ctc}dtDtEtPtHdtId ta tPtHdtId t_  tHdtId tG|||||||}etJ|etd}ftDtEtPtHdtId ta tPtHdtId t_  tHdtId tG|||||||}gtJ|gte}htDtEtFtPtHdtId  tHdtId tftPtHdtId  tHdtId  tHdtId tG||||||||	}itJ|itg}jtDtEtFtPtHdtId  ta tftPtHdtId  t_  tHdtId tG|||||||||
}ktJ|kth}ltDtEtFtPtHdtId  ta tftPtHdtId  t_  tHdtId tG||||||||	}mtJ|mti}ntDtEtPtHdtId ta tPtId tHd
tId tPtHdtId   tHdtId tG|||| |!}otJ|otj}ptDtEtFtPtHdtId  ta tPtId tHdtId tPtHdtId  tHdtId  tHdtId tG|||#|$|%|"| |!	}qtJ|qtk}rtDtEtFtGtHdtId tHdtId  tHdtId tftGtHdtId tHdtId  tHdtId  tHdtId tG|||||||&|'|(|)}stJ|stl}ttDtEtFtGtHdtId tHdtId  tHdtId tftGtm tHdtId  tHdtId  tHdtId tG|||||||||*|+|,|-}utJ|utn}vtDtEtFtGtId tHd
tId  tGtHdtId  tHdtId tHdtId tG||||.|'}wtJ|wto}xtDtEtFtGt_ tHdtId  tGtHdtId tHd
tId  tHdtId tHdtId tG|||||/|.|'}ytJ|ytp}ztDtEtqtGtHdtId  tGtId tHd
tId tGtHdtId  tHdtId tHdtId  tG|||||1||0}{tJ|{tr}|tDtEtGtHdtId tHdtId tGtHdtId tHdtId  tHdtId tHdtId tG||||3||2}}tJ|}ts}~tDtEtGtHdtId tHdtId tGtHdtId tHdtId  tGtHdtId tHd
tId  tHdtId tHdtId tG|||||3|5||2|4
}tJ|tt}tDtEtGtHdtId tFtGt_ tHdtId   tG|||||6}tJ|tu}tDtEtGtHdtId tFtGt_ tHdtId  tS  tG||||||6|7}tJ|tv}tDtEtGtHdtId twtGtHdtId tHdtId  tS  txtGtHdtId tHdtId  tS  tG|:|;|<|=||||8|9|7}tJ|ty}tDtEtztRtHdtId tHdtId tHdtId tHdtId  tG|||||
|>t{t|}tJ|t}}tDtEtztRtHdtId tHdtId tRtHdtId tHd
tId  tHdtId tHdtId  tG||||||/|
|>t{t~
}tJ|t}tDtEtta ttS  tHdtId tG|?|@|A|Bt{t}tJ|t}tDtEtttS  tHdtId tG|@|A|Bt{t}tJ|t}g |D|F|H|J|L|N|P|R|T|V|X|Z|\|^|`|b|d|f|h|j|l|n|p|r|t|v|x|z|||~||||||||S )Nr   )Ccons1cons2cons3cons4cons5cons6cons7cons8cons9cons10cons11cons12cons13cons14cons15cons16cons17cons18cons19cons20cons21cons22cons23cons24cons25cons26cons27cons28cons29cons30cons31cons32cons33cons34cons35cons36cons37cons38cons39cons40cons41cons42cons43cons44cons45cons46cons47cons48cons49cons50cons51cons52cons53cons54cons55cons56cons57cons58cons59cons60cons61cons62cons63cons64cons65cons66cons67n   bpuajcwmd   CBAqr!  err  r  ) sympy.integrals.rubi.constraintsr4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  r   r  a_x_r  r  r   replacement1replacement2replacement3replacement4replacement5v_replacement6Pm_p_replacement7replacement8b_replacement9u_replacement10r  replacement11replacement12replacement13replacement14n_replacement15m_replacement16replacement17replacement18replacement19c_replacement20replacement21replacement22replacement23replacement24replacement25j_replacement26replacement27replacement28d_replacement29replacement30replacement31replacement32replacement33a1_a2_replacement34Qm_r   With35replacement35With36replacement36Pq_Qr_With37replacement37With38replacement38)r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  pattern1rule1pattern2rule2pattern3rule3pattern4rule4pattern5rule5pattern6rule6pattern7rule7pattern8rule8pattern9rule9	pattern10rule10	pattern11rule11	pattern12rule12	pattern13rule13	pattern14rule14	pattern15rule15	pattern16rule16	pattern17rule17	pattern18rule18	pattern19rule19	pattern20rule20	pattern21rule21	pattern22rule22	pattern23rule23	pattern24rule24	pattern25rule25	pattern26rule26	pattern27rule27	pattern28rule28	pattern29rule29	pattern30rule30	pattern31rule31	pattern32rule32	pattern33rule33	pattern34rule34	pattern35rule35	pattern36rule36	pattern37rule37	pattern38rule38r  r  r  integrand_simplification   s    T
^
x


^
&

,

 


6
<
P
P
R
R
p
^
\
d
|


`
n
v
r

@
H

\

6
0
r  c                 C   s   t ||||  |  |S Nr   r|  ry  rw  rz  r{  xr  r  r  r    s   r  c                 C   s   t | | | |S r  r  r  r  r  r  r       r  c                 C   s.   t ||||  ||td|    |  |S Nr  r   r  r|  ry  r~  r}  rw  rz  r{  r  r  r  r  r       .r  c                 C   s&   t || ||td|    |  |S r  r  r  r  r  r  r    s   &r  c                 C   s   t || |||   |  |S r  r  r  r  r  r  r       r  c                 C   s   t ||| |  | |  |S r  r  )r|  ry  rz  r{  vr  r  r  r  r  r  #  r  r  c                 C   s   t | | | |S r  r  )r*  rz  r{  r  r  r  r  r  '  r  r  c                 C   s   t | | |S r  )r  )r|  r  r  r  r  r  +  s   r  c                 C   s*   t | |||  td  td|  |S r  r  r  )r|  ry  r~  r  r  r  r  r  /  s   *r  c                 C   s   t tdt| ||S Nr  r  r   r{  r  r  r  r  r  3  s   r  c                 C   s   t ttd| t|||S )Nr   )r  r  r  r   r|  r{  r  r  r  r  r  7     r  c                 C   s   t | t|||S r  r  r   r"  r  r  r  r  ;  r  r  c                 C   s   t t| ||S r  )r  r  r!  r  r  r  r  ?  s   r  c                 C   s   t t|| | |  ||S r  )r   r   )r~  r  r{  r  r  r  r  r  C  r#  r  c                 C   s(   t | |  t|| | ||   ||S r  r$  )ry  r  rw  r{  r  r  r  r  r  r  G     (r  c                 C   sZ   t | |tdd   ||tdd    t||  t| |  t||||   ||S )Nrx  r  r  r  r  r  r   r|  ry  r  rw  r{  r  r  r  r  r  r  K     Zr  c                 C   sZ   t | |tdd   ||tdd    t| |  t||  t||||   ||S )Nr  r  rx  r&  r'  r  r  r  r  O  r(  r  c                 C   s@   t | ||  | | |   || |  t||||   ||S r  r$  r'  r  r  r  r  S     @r  c                 C   sZ   t | t|  |t|  | | t|   || t|  t|| | ||   ||S r  )r  r%   r&   r   r'  r  r  r  r  W  r(  r  c	           	      C   .   t || | t||||  ||   ||S r  r$  	r|  ry  r~  r  r  rw  r{  r  r  r  r  r  r  [  r  r  c	           	      C   r*  r  r$  r+  r  r  r  r  _  r  r  c	           	      C   sD   t | ||  | |||  |   t||||  ||   ||S r  r$  r+  r  r  r  r  c  s   Dr  c                 C   s:   t td|  t|| | |td   |||   ||S Nrx  r   )r|  ry  r~  r  r{  r  r  r  r  r  r  g     :r  c	           	      C   sT   t |td t||||  |td   t|| ||  || |  | ||S )Nrx  )r  r  r   r  )	r  r  r  r|  ry  r  r{  r  r  r  r  r  r  k  s   Tr  c
           
      C   s@   t ||  | t||	| |   | ||	|   ||   |	|	S r  r$  )
r|  ry  r~  r  r  rw  rz  r  r{  r  r  r  r  r  o  r)  r  c
           
      C   s:   t |td  | | t|| ||	|   |   |	|	S r  r   )
r|  ry  r~  r  r}  r  rw  rz  r{  r  r  r  r  r  s  r-  r  c                 C   sJ   t tdtd |  ||   | |td| |  td|   |S r  r  )r|  ry  r~  rz  r{  r  r  r  r  r  w  s   Jr  c                 C   s<   t ||  t||td |||   td|   ||S r  )r  r   r  )r|  ry  r~  rw  r!  rz  r{  r  r  r  r  r  {  s   <r  c              
   C   s:   t || tt|| ||| ||  ||td   |S r  )r  r+   r   r  )r|  ry  r~  r  r  rz  r  r  r  r  r    r-  r  c                 C   s0   t ||||   | ||| |    |  |S r  r  )r|  ry  r  rz  r  r{  r  r  r  r  r    s   0r  c	           	      C   sB   t ||||   | ||| |    ||| |    |  |S r  r  )	r|  ry  r~  r  rz  r  r  r{  r  r  r  r  r    s   Br  c                 C   s(   t tt| |||   |||  |S r  )r  logr   )r|  ry  r  rw  r  r  r  r  r    r%  r  c                 C   s6   t | |||   |td  || |td   |S r,  r  )r|  ry  r  rw  rz  r  r  r  r  r    s   6r  c                 C   s^   t | |||   |td  ||||   |td   td| | | |td   |S )Nrx  r  r  )r  r  r  r  r  rw  rz  r  r  r  r  r    s   ^r  c              
   C   sz   t |ttttfrdS t| |}ttt|||td t	| | t
| || t
|||td t| |  r;dS dS NFr  T
isinstanceintr  floatr  r   r  r#   r  r   r   r  r*  r,  r|  ry  rw  rz  r  r  r  r  r  r       
Rr  c                 C   sT   t | |}tt|||td |t| ||  tt||||   | ||| |S r  r   r  r   r  r+   r   r5  r  r  r  r    s   
Jr  c	           
   
   C   sz   t |ttttfrdS t| |}	ttt|||	td t	| |	 t
| ||	 t
|||	td t| |  r;dS dS r0  r1  
r*  r,  r|  ry  r~  rw  r!  rz  r  r  r  r  r  r    r6  r  c	           
   	   C   sh   t | |}	tt|||	td |	t| ||	  tt||||   ||td|    | ||| |S )Nr  r  r7  r8  r  r  r  r    s   
^r  c                 C   s:   t |ttttfrdS t| ||}t|td rdS dS r0  r2  r3  r  r4  r  r   r   r  r)  r-  r  rz  r{  r  gcdr  r  r  r       r  c                 C   sB   t | ||}t|||  | t| |||  t||||  |S r  )r   r   r  r:  r  r  r  r       6r  c                 C   s:   t |ttttfrdS t| ||}t|td rdS dS r0  r9  r)  r-  rz  r{  r  r;  r  r  r  r    r<  r  c                 C   sB   t | ||}t||td  | t| || t||||  |S r,  )r   r   r  r  r>  r  r  r  r    r=  r  (  __doc__sympy.externalr   r   r   r   r   r   %sympy.integrals.rubi.utility_functionr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  expr  r/  r  r  r  sympy.core.addr  sympy.core.modr  sympy.core.mulr  
sympy.corer  sympy.core.numbersr  r  r  sympy.core.powerr  sympy.core.singletonr  $sympy.functions.elementary.complexesr  r  (sympy.functions.elementary.miscellaneousr  sympy.integrals.integralsr  sympy.logic.boolalgr  r  sympy.simplify.simplifyr  sympy.integrals.rubi.symbolr  sympy.core.symbolr  r  sympy.functionsr  r  r  r  r  r  r  %sympy.functions.elementary.hyperbolicr  r  r  r  r  r   r  r  r  r  r  r  (sympy.functions.elementary.trigonometricr  r  r	  r
  r  r  r  r  PiA_B_C_F_G_H_r  r  r  r  e_f_g_h_i_r  k_l_r  r  r  q_r_t_r  r  s_w_r  y_z_r  r  b1_b2_c1_c2_d1_d2_n1_n2_e1_e2_f1_f2_g1_g2_n3_r  r  Px_r  r  Qx_jn_mn_non2_RFx_RGx_r  iiPqqQRr  r  kr{  	_UseGamma	ShowStepsStepCounterr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  <module>   s               n"JjB.

{


































	

	

	
	