o
    *ήc@                    @   sb  d dl Z d dlmZ edZesdZe jdd dk rd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-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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mZmZmZ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ː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 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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mZmZ d dlmZ d dlmZmZ d dlmZ d dlmZm Z  edddd\ZZZZZZZZZ	Z
ZZZZZZZZZZedZdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Z d2d3 Z!d4d5 Z"d6d7 Z#d8d9 Z$d:d; Z%d<d= Z&d>d? Z'd@dA Z(dBdC Z)dDdE Z*dFdG Z+dHdI Z,dJdK Z-dLdM Z.dNdO Z/dPdQ Z0dRdS Z1dTdU Z2dVdW Z3dXdY Z4dZd[ Z5d\d] Z6d^d_ Z7d`da Z8dbdc Z9ddde Z:dfdg Z;dhdi Z<djdk Z=dldm Z>dndo Z?dpdq Z@drds ZAdtdu ZBdvdw ZCdxdy ZDdzd{ ZEd|d} ZFd~d ZGdd ZHdd ZIdd ZJdd ZKdd ZLdd ZMdd ZNdd ZOdd ZPdd ZQdd ZRdd ZSdd ZTdd ZUdd ZVdd ZWdd ZXdd ZYdd ZZdd Z[dd Z\dd Z]dd Z^dd Z_dd Z`dd Zadd Zbdd Zcdd Zddd Zedd Zfdd Zgdd ZhddÄ Ziddń ZjddǄ ZkddɄ Zldd˄ Zmdd̈́ Znddτ Zoddф Zpddӄ ZqddՄ Zrddׄ Zsddل Ztddۄ Zudd݄ Zvdd߄ Zwdd Zxdd Zydd Zzdd Z{dd Z|dd Z}dd Z~dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d Zdd Zdd Zdd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; Zd<d= Zd>d? Zd@dA ZdBdC ZdDdE ZdFdG ZdHdI ZdJdK ZdLdM ZdNdO ZdPdQ ZdRdS ZdTdU ZdVdW ZdXdY ZdZd[ Zd\d] Zd^d_ Zd`da Zdbdc Zddde Zdfdg Zdhdi Zdjdk Zdldm Zdndo Zdpdq Zdrds Zdtdu Zdvdw ZÐdxdy ZĐdzd{ ZŐd|d} ZƐd~d Zǐdd ZȐdd Zɐdd Zʐdd Zːdd Z̐dd Z͐dd Zΐdd Zϐdd ZАdd Zѐdd ZҐdd ZӐdd ZԐdd ZՐdd Z֐dd Zאdd Zؐdd Zِdd Zڐdd Zېdd Zܐdd Zݐdd Zސdd Zߐdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd ZddÄ ZdĐdń ZdƐdǄ ZdȐdɄ Zdʐd˄ Zd̐d̈́ Zdΐdτ ZdАdф ZdҐdӄ ZdԐdՄ Zd֐dׄ Zdؐdل Zdڐdۄ Zdܐd݄ Zdސd߄ Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z dd Zdd Zdd Zdd Zdd Zdd Zdd Zd d Zdd Z	dd Z
dd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Z d2d3 Z!d4d5 Z"d6d7 Z#d8d9 Z$d:d; Z%d<d= Z&d>d? Z'd@dA Z(dBdC Z)dDdE Z*dFdG Z+dHdI Z,dJdK Z-dLdM Z.dNdO Z/dPdQ Z0dRdS Z1dTdU Z2dVdW Z3dXdY Z4dZd[ Z5d\d] Z6d^d_ Z7d`da Z8dbdc Z9ddde Z:dfdg Z;dhdi Z<djdk Z=dldm Z>dndo Z?dpdq Z@drds ZAdtdu ZBdvdw ZCdxdy ZDdzd{ ZEd|d} ZFd~d ZGdd ZHdd ZIdd ZJdd ZKdd ZLdd ZMdd ZNdd ZOdd ZPdd ZQdd ZRdd ZSdd ZTdd ZUdd ZVdd ZWdd ZXdd ZYdd ZZdd Z[dd Z\dd Z]dd Z^dd Z_dd Z`dd Zadd Zbdd Zcdd Zddd Zedd Zfdd Zgdd ZhddÄ ZidĐdń ZjdƐdǄ ZkdȐdɄ Zldʐd˄ Zmd̐d̈́ Zndΐdτ ZodАdф ZpdҐdӄ ZqdԐdՄ Zrd֐dׄ Zsdؐdل Ztdڐdۄ Zudܐd݄ Zvdސd߄ Zwdd Zxdd Zydd Zzdd Z{dd Z|dd Z}dd Z~dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d Zdd Zdd Zdd ZdS (      N)import_modulematchpyT   )      (  SetWithModuleScanMapAndFalseQZeroQ	NegativeQNonzeroQFreeQListLog	PositiveQPositiveIntegerQNegativeIntegerQIntegerQ	IntegersQComplexNumberQRealNumericQPositiveOrZeroQNegativeOrZeroQFractionOrNegativeQNegQEqualUnequalIntPartFracPart	RationalQProductQSumQNonsumQFirstRestSqrtNumberQLinearQSqrtArcCoshCoefficientDenominatorHypergeometric2F1NotSimplifyFractionalPartIntegerPartAppellF1PolynomialQuotientArcTanArcTanhArcSinArcSinhArcCosArcCscArcCschSinh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HyperbolicQSinhQCoshQTanhQCothQSechQCschQInverseTrigQSinCosQ	SinhCoshQ	LeafCount	NumeratorNumberQNumericQLengthListQImReInverseHyperbolicQInverseFunctionQ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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SubstForSubstForAuxFresnelSFresnelCErfcErfiGammaFunctionOfTrigOfLinearQElementaryFunctionQComplexUnsameQ_SimpFixFactorTanhDerivativeDividesSimpFixFactor_FixSimplifyFixSimplify_SimplifyAntiderivativeSumSimplifyAntiderivativeSumPureFunctionOfCothQ_SimplifyAntiderivativeSimplifyAntiderivative_TrigSimplifyAuxTrigSimplifyAuxCancelPartPolyLogDDistIntegralFreeQSum_doitrubi_exprubi_logPolynomialRemainderCoprimeQ
Distribute
ProductLogFloor	PolyGammaprocess_trigreplace_pow_expExponentList)Add)	unchanged)EIoopizoo)Pow)S)symbolsSymbolWild)explog)acoshasinhatanhacschcoshsinhtanhcothsechcschacoth)Minsqrt)coscotcscsecsintanatanacscasinacotacosasecatan2)ChiCiEiShiSiexpintli)gammaloggamma	polygamma)hyper)polylogzeta)Integral)	nsimplifysimplifyz'A B a b c d e f g h y z m n p q u v w FF)real	imaginaryxc                  C   s   t tt t d  } t}tt|  t | tttd  td   s$J ttds,J ttdr4J ttdr<J tddsCJ ttddtdtdgg dksWJ ttdtdtdgg d	ksjJ d S )
N   r   
   r         )FFTF)FFF)bnpar   r  )ed r  W/tmp/pip-target-vg8gfxp4/lib/python/sympy/integrals/rubi/tests/test_utility_function.py
test_ZeroQ   s   0(*r   c                   C      t tddks
J d S Nr  T)r   r  r  r  r  r  test_NonzeroQ      r  c                  C   sJ   t t tt t g} t| tdksJ t t t t g} t| tdks#J d S NFT)r  r  r  r   )lr  r  r  
test_FreeQ   s   r  c                   C   s   t ttttttgksJ d S N)r   r  r  cr  r  r  r  	test_List      r
  c                   C      t tttks
J d S r  )r   r  r  r  r  r  r  test_Log   r  r  c                   C   s4   t tdsJ t tdrJ t tdrJ d S Nr  r   )r   r  r  r  r  r  test_PositiveIntegerQ      r  c                   C   s4   t tdrJ t tdsJ t tdrJ d S r  )r   r  r  r  r  r  test_NegativeIntegerQ   r  r  c                   C   s   t tdsJ t tdrJ t tdrJ t trJ t tr$J t tttt t t tt    ttt t t tt      sHJ d S r  )r   r  r  r  r  r	  r  r  r  r  r  r  test_PositiveQ   s   Lr  c                   C   sD   t tdsJ t tdrJ t tdrJ t tds J d S )Nr  ffffff        )r   r  r  r  r  r  test_IntegerQ      r  c                   C   sb   t tdtdsJ t tdtdrJ t tdtdr!J t tdtdtds/J d S )Nr  r   r  r  r  r   )r   r  r  r  r  r  test_IntegersQ   s    r  c                   C   s0   t tddks
J t tdd dksJ d S )Nr  r         ?g      %@)r!   r  r  r  r  r  test_FracPart      r  c                   C   s@   t tt dks
J t tddksJ t dt dksJ d S )Nr   r  r  )r    mr  r  r  r  r  r  test_IntPart      r  c                   C   s6   t td s	J t tdrJ t tdrJ d S )Nr   r   )r   r  r  r  r  r  	test_NegQ   s   r   c                   C   sp   t tdd s
J t tdd tdd sJ t tdr!J t tdtdd r.J t tdr6J d S )N   r   r  g?r   )r"   r  r*   r  r  r  r  r  test_RationalQ   s
   r"  c                   C   r  r  )r+   r  r  r  r  r  r  test_ArcCosh   r  r#  c                   C   sX   t ttrJ t dt td  tsJ t dt td  tr!J t tdtr*J d S Nr   r   )r)   r  r  yr  r  r  r  r  test_LinearQ   s   r&  c                   C   s(   t tttks
J t ddksJ d S )N   r!  )r*   r  r  r  r  r  r  	test_Sqrt   s   r(  c                  C   sb   ddl m}  t| ttt  ttd   ttsJ | ttt  ttd   td dks/J d S )Nr   Util_Coefficientr   r  )%sympy.integrals.rubi.utility_functionr*  r  r  r  r  r	  doitr)  r  r  r  test_Util_Coefficient   s   &0r-  c                   C   s   t ddt  dtd   tddksJ t ttt  ttd   tdtks(J t ttt  ttd   tddks<J t tt ttd   tdtksNJ t ttddksXJ d S )N   r   r  r   r  r   r  )r,   r  r  r  r	  r  r  r  r  test_Coefficient   s
   ((($r/  c                   C   s   t td td td  dksJ t t t d td ks"J t tdd dks.J t tt tks8J t tdd dksDJ d S )Nr  r   r   r   r  r!  )r-   r  r  r  r  r  r%  r  r  r  r  test_Denominator   s
   &r0  c                   C   s"   t dddttddtksJ d S )Nr  r   r   )r  r   )r   )r.   r  r  r  r  r  r  test_Hypergeometric2F1      "r1  c                   C   s0   t tttks
J t tttttksJ d S r  )r5   r  r  r%  r  r  r  r  r  test_ArcTan   r  r3  c                  C   s   d} t | dks
J d S )Nr  r   )r/   )r  r  r  r  test_Not   s   r4  c                   C   r  )N      @r  )r1   r  r  r  r  r  test_FractionalPart   r  r6  c                   C   s$   t ddksJ t ddksJ d S )Ng@r   g)r2   r  r  r  r  test_IntegerPart     r8  c                   C   s:   t dddddd dksJ tt ttttttsJ d S )Nr  r   r  g      ?g3Ey?)	r3   evalfr  r  r  r	  r  r  fr  r  r  r  test_AppellF1  s   r<  c                   C   sd   t ttd ttd  dksJ t td td  t d td dt  d  td ks0J d S Nr   r  r   )r0   r  r  r  r  r  r  r  test_Simplify	  s   $@r>  c                   C   r  r  )r6   r  r  r  r  r  r  test_ArcTanh  r  r?  c                   C   r  r  )r7   r  r  r  r  r  r  test_ArcSin  r  r@  c                   C   r  r  )r8   r  r  r  r  r  r  test_ArcSinh  r  rA  c                   C   r  r  )r9   r  r  r  r  r  r  test_ArcCos  r  rB  c                   C   r  r  )r:   r  r  r  r  r  r  test_ArcCsc  r  rC  c                   C   r  r  )r;   r  r  r  r  r  r  test_ArcCsch  r  rD  c                   C       t ttsJ t ttrJ d S r  )r   r  r  r  r  r  r  
test_Equal     rF  c                   C   s2   t dddsJ t ddsJ t dddrJ d S Nr  r   r   )r>   r  r  r  r  test_LessEqual#  s   rI  c                   C   P   t ttdtt dt ksJ t tttdttttt dt ks&J d S Nr   )r   r   r  r%  r   r	  r  r  r  r  	test_With(  s    0rL  c                   C   rJ  rK  )r	   r   r  r%  r   r	  r  r  r  r  test_Module,  s    0rM  c                   C   s$   t dddsJ t dddrJ d S rH  )r?   r  r  r  r  	test_Less1  r9  rN  c                   C   s$   t dddsJ t dddrJ d S Nr   r   r  )r@   r  r  r  r  test_Greater5  r9  rP  c                   C   s2   t dddsJ t dddsJ t ddrJ d S rO  )rA   r  r  r  r  test_GreaterEqual9  s   rQ  c                   C   s    t ddsJ t ddrJ d S Nr  r   )r   r  r  r  r  test_Unequal>  rG  rS  c                   C   s,   t tdrJ t tdtd sJ d S )N32)rB   r  r  r  r  r  test_FractionQB     rV  c                   C   s   t dt d td dtd   dtd   dtd   dtd	   d
td   dtd   dtd   dtd   dt  d ksDJ d S )Nr  r  	   -   r  x   r.     r      r!  r  r   r   )rD   r  r  r  r  r  test_ExpandF  s   r]  c                   C   s*   t ttttgttttgksJ d S r  )listr
   r  r  r  r  r  r  r  	test_ScanI     *r_  c                   C   sR   t ttdtdtdtdgdksJ t ttdtdtdgdks'J d S )Nr  r   r   r   FT)r   r   r  r  r  r  r  test_MapAndL  s   *(ra  c                   C   s$   t ddksJ t ddksJ d S NTF)r   r  r  r  r  test_FalseQP  r9  rc  c                   C   s4   t dtd  tdksJ t tt tdksJ d S Nr  r   TF)r   r  r  r  r  r  r  r  test_ComplexNumberQT     re  c                   C   s   t dt dks
J d S Nr  )rg   r  r  r  r  r  test_ReX  r  rh  c                   C   s0   t ddt  dksJ t tt tksJ d S rR  )rf   r  r  r  r  r  r  test_Im[  s   ri  c                   C   sB   t tddks
J t tddksJ t td dksJ d S Nr   Tr  F)r   r  r  r  r  r  test_PositiveOrZeroQ_     rk  c                   C   s.   t tddks
J t td dksJ d S r  )r   r  r  r  r  r  test_RealNumericQd  s   rm  c                   C   sB   t tddks
J t td dksJ t tddksJ d S rj  )r   r  r  r  r  r  test_NegativeOrZeroQh  s   rn  c                   C   s`   t tdd dksJ t td dksJ t td d dks$J t tddks.J d S rd  )r   r  r  r  r  r  test_FractionOrNegativeQm  s   ro  c                   C   s>   t td dksJ t tddksJ t tdksJ d S )Nr  TF)r   r  r  r  r  r  r  test_NegativeQs  s   rp  c                   C   ,   t tt dks
J t tt dksJ d S rb  )r#   r  r  r  r  r  r  test_ProductQx     rr  c                   C   rq  r  )r$   r  r  r  r  r  r  	test_SumQ|  rs  rt  c                   C   rq  rb  )r%   r  r  r  r  r  r  test_NonsumQ  rs  ru  c                   C   r  )Nr   T)r(   r  r  r  r  r  test_SqrtNumberQ  r  rv  c                   C   sl   t ddddddtdksJ t tdd tdd tdd tdd tdd tdd td	ks4J d S )
Nr  r   r   r  r!  r   Td   F)rC   r  r  r  r  r  r  test_IntLinearcQ  s   Prx  c                   C   s4   t ttt  tdksJ t tt tdksJ d S r  )rE   r  r  r  r  r  r  r  test_IndependentQ  rf  ry  c                   C   s,   t tt dks
J t tt dksJ d S rb  )rF   r  r  r  r  r  r  test_PowerQ  rs  rz  c                   C   ,   t td dks
J t td dksJ d S )Nr   Tr  F)rG   r  r  r  r  r  test_IntegerPowerQ  rs  r|  c                   C   r{  )Nr   Tr  F)rH   r  r  r  r  r  test_PositiveIntegerPowerQ  rs  r}  c                   C   s8   t ttdtd  sJ t ttd dksJ d S )Nr   r   F)rI   r  r  r  r  r  r  r  test_FractionalPowerQ  s   r~  c                   C   s0   t tsJ t td rJ t ttgrJ d S rg  )rJ   r  r  r  r  r  r  r  
test_AtomQ     r  c                   C   s$   t td sJ t dt rJ d S Nr   )rK   r  r  r  r  r  	test_ExpQ  r9  r  c                   C   s,   t ttsJ t tttt rJ d S r  )rL   r  r  r  r  r  r  r  	test_LogQ  rW  r  c                   C   s8   t tttks
J t ttd d ttfv sJ d S rK  )rM   r  r  r  sym_logr  r  r  r  	test_Head     $r  c                   C   sr   t tttgts
J t ttttgttt	sJ t ttgtt
ggttgs(J t ttgtt
ggttgr7J d S r  )rN   r  r  r	  r  r  r  r  rM   r  r  r  r  r  r  test_MemberQ  s   "r  c                   C   sD   t ttsJ t ttd d sJ t tttt r J d S r  )rO   r  r  r  r  r  r  r  
test_TrigQ     r  c                   C   $   t ttsJ t ttrJ d S r  )rP   r  r  r  r  r  r  r  	test_SinQ  r9  r  c                   C   r  r  )rQ   r  r  r  r  r  r  r  	test_CosQ  r9  r  c                   C   r  r  )rR   r  r  r  r  r  r  r  	test_TanQ  r9  r  c                   C   $   t ttrJ t ttsJ d S r  )rS   r  r  r  r  r  r  r  	test_CotQ  r9  r  c                   C   r  r  )rT   r  r  r  r  r  r  r  	test_SecQ  r9  r  c                   C   r  r  )rU   r  r  r  r  r  r  r  	test_CscQ  r9  r  c                   C   sT   t ttsJ t ttsJ t ttsJ t tttt tt r(J d S r  )rV   r  r  r  r  r  r  r  r  test_HyperbolicQ  s   $r  c                   C   r  r  )rW   r  r  r  r  r  r  r  
test_SinhQ  r9  r  c                   C   r  r  )rX   r  r  r  r  r  r  r  
test_CoshQ  r9  r  c                   C   r  r  )rY   r  r  r  r  r  r  r  
test_TanhQ  r9  r  c                   C   r  r  )rZ   r  r  r  r  r  r  r  
test_CothQ  r9  r  c                   C   r  r  )r[   r  r  r  r  r  r  r  
test_SechQ  r9  r  c                   C   r  r  )r\   r  r  r  r  r  r  r  
test_CschQ  r9  r  c                   C   s<   t ttsJ t ttsJ t tttt rJ d S r  )r]   r  r  r  r  r  r  r  r  test_InverseTrigQ  s   r  c                   C   sD   t ttsJ t ttsJ t ttsJ t ttr J d S r  )r^   r  r  r  r  r  r  r  r  r  test_SinCosQ  r  r  c                   C   sD   t ttrJ t ttsJ t ttsJ t tts J d S r  )r_   r  r  r  r  r  r  r  r  r  test_SinhCoshQ  r  r  c                   C   s    t dt td  dksJ d S )Nr  r   r   )r`   r  r  r  r  r  r  test_LeafCount  s    r  c                   C   s~   t t t d t d ksJ t tdd dksJ t tt tks&J t td td td  ddt  ks=J d S )Nr   r   r  r  )ra   r  r  r  r  r%  r  r  r  r  r  test_Numerator  s    2r  c                   C   s4   t tt dks
J t tttt dksJ d S r  )rd   r  r  r  r  r  r  r  r  test_Length  s    r  c                   C   s    t ddgsJ t trJ d S rR  )re   r  r  r  r  r  
test_ListQ  s   r  c                   C   s   t ttsJ d S r  )rh   r  r  r  r  r  r  test_InverseHyperbolicQ  s   r  c                   C   sR   t ttsJ t ttsJ t trJ t ttsJ t ttts'J d S r  )ri   r  r  r  r  r  r  r  r  r  r  test_InverseFunctionQ  s
   r  c                   C   rE  r  )rj   r  r  r  r  r  r  test_EqQ  rG  r  c                   C   sT   t td td  td  d td dtd   dt  d td d  ks(J d S Nr!  r   r   r  )rn   r  r  r  r  r  test_FactorSquareFree!  s   Tr  c                   C   s   t td td  td  d ddgtd dtd   dt  d dgtd dggks-J t td dtd   d ddgtd d dggksIJ d S Nr!  r   r   r  r  )r   r  r  r  r  r  test_FactorSquareFreeList$  s   Z<r  c                   C   sn   t tttr	J t td td  td  d trJ t td dtd   d ttd d d ks5J d S r  )r   r  r  r  r  r  r  test_PerfectPowerTest(  s   &6r  c                   C   sh   t tttr	J t td td  td  d ttd dtd   dt  d td d  ks2J d S r  )r   r  r  r  r  r  r  test_SquareFreeFactorTest-  s   Vr  c                   C   sh   t g dg dksJ t tt t tt ksJ t tt t tt ks(J t dt dks2J d S )Nr   r   r!  r.  )r   r!  r.  r  r  )r'   r  r  r	  r  r  r  r  	test_Rest1  s   r  c                   C   s`   t g ddks
J t ttd tksJ t tt t tks"J t tt t tks.J d S )Nr  r   )r&   r%  r  r  r  r	  r  r  r  r  
test_First7  s   r  c                   C   s$   t tsJ t tdt  rJ d S r  )rl   r  r  r  r  r  r  test_ComplexFreeQ=     r  c                   C   s(   t ttdd  rJ t tsJ d S Nr   r   )rk   r  r  r  r  r  r  test_FractionalPowerFreeQA  s   r  c                   C   s  t ttd t d d t dksJ ttd t d d tg dks&J ttd t d tg dks7J ttd dt  d tg dksJJ ttd t d tdksYJ ttd dt  d tdksjJ ttd tdgksvJ ttdtdksJ ttd tdksJ d S )Nr   r  r!  r   )r   r  r   r   r  )r  r  r  rp   r  r  r  r  r  test_ExponentE  s   &&"&"r  c                   C   s&   t td dt  d tdksJ d S Nr   r  )r   r  r  r  r  r  
test_ExponP     &r  c                   C   s   t td t d dtd  gtrJ t td t d dtd  dt  d gts,J t td d td  tr;J t td d t tsHJ t td trQJ d S )Nr   r  r!  r   r   )rq   r  r  r  r  r  test_QuadraticQS  s
   &2r  c                   C   s,   t td ts	J t dt d trJ d S )NrX  r  r   )r   r  r  r  r  r  test_BinomialQZ  s   r  c                   C   sx   t dtdt   tg dksJ t td tg dksJ t dtd  tg dks-J t dt tg dks:J d S )Nr   rX  )r   rX  r   )r   r  rX  r   )r   r   r   )r   r  r  )rs   r  r  r  r  r  test_BinomialParts^  s   "r  c                   C   sZ   t tdt tt   ttksJ t dtdt   tdks J t td tdks+J d S )Nr   rX  )r   r  r	  r  r  r  r  r  r  test_BinomialDegreed  s   "r  c                  C   s   t tdtd   dt tdd  rJ t dt d td d td t d   dt r0J td} t ttt  ttd   td rGJ t ttt  | td   sWJ t tttd   | td   td slJ t td tsuJ t tttr~J d S )	Nr  r   r     r!  Cr  r   )	rm   r  r  r  Ar  r	  Br  )r  r  r  r  test_PolynomialQi  s   *6& *r  c                   C   sL  t dt td  td  td ttd  tt td   ttd  td     td dt t td  dt td  td   dt td  td     td dt td  td  dt td  td     tsoJ t dttttd   ttd    td rJ t ttdsJ t td tdsJ t td tdrJ d S )Nr  r   r   r   r!  r  r  )ru   r  r  r  r  r  r	  r  r  r  r  r  
test_PolyQs  s   PJ62r  c                   C   $   t tdsJ t tdrJ d S r  )rv   r  r  r  r  r  
test_EvenQ{  r9  r  c                   C   r  rR  )rw   r  r  r  r  r  	test_OddQ  r9  r  c                   C   sH   t tdsJ t ttd ttd  sJ t tdd r"J d S )Nr  r   r  r   )rx   r  r  r  r  r  r  r  test_PerfectSquareQ      r  c                   C   sr   t tdd s
J t td rJ t td sJ t td tdd  s)J t td tdd  r7J d S )Nr  r   r   r  )rz   r  r  r  r  r  r  r  test_NiceSqrtQ  s
    r  c                   C   s0   t dt td  tt d dt  ksJ d S rR  )r{   r  r  r  r  r  r  test_Together  s   0r  c                   C   sn   t tdrJ t tdsJ t tsJ t td sJ t t d s'J t tdd td  s5J d S )Nr   r  r   r  r   )r}   r  r  r  r  r  r  r  	test_PosQ  s    r  c                   C   s   t ttds
J d S r  )rc   r  r  r  r  r  r  test_NumericQ  r  r  c                   C   s   t tsJ d S r  )rb   r  r  r  r  r  test_NumberQ  s   r  c                   C   s^   t dtt  tdtgksJ t dttd   tdddtgks"J t tttg ks-J d S )Nr  r   r   )r~   r  r  r  r  r  r  r  test_CoefficientList  s   &r  c                   C   sj   t tttitksJ t tt ttt ittt  ksJ t tt ttttt ittt  ks3J d S r  )r   r  r  r  r  r  r  r  test_ReplaceAll  s   &.r  c                   C   s*  t tttd ttttd tt td  dt ttt   tt td   ttt  d tt td   ks<J t ttt  t td ttttd  ttt  t  td  dtd  ttt  td   td   dt ttt  td   td   ttt  td  td   ksJ d S Nr   r   r  )r   r  r  r  r  r  r  r  r  r  test_ExpandLinearProduct  s   xr  c                   C   s  t tt tt t  d ttt  d tdt t td  t ttt  d  td  ks0J t ttd  tttd ks@J t dt d dt d ttd ksTJ t ttt  d td tttd dt t t  dtd  td    td  td  ksJ t td ttt   tdtttd  ttd   ksJ t td ttt  d ttd  dt dt t   td ttt  d   dtd  td   dtd  t td   dtd  td  td   dt td  td   td td   ksJ d S )Nr   r7  r  r   r  r   r!  )r   r  r	  r  r  r  r  r  r  r  test_PolynomialDivide  s   ` (`<r  c                  C   s\   t dtgd} t dtgd}t dtgd}ttt t | | | | ||tttfks,J d S )Nr  )excluder  r	  )r  r  r   r  r  r	  )a_b_c_r  r  r  test_MatchQ  s   2r  c                   C   s.   t td tt tt t td gksJ d S r  )r   r  r  r  r  r  r   test_PolynomialQuotientRemainder     .r  c                   C   sJ   t tttks	J t tt tdksJ t tt t ttt ks#J d S rg  )r   r  r  r  r  r  r  r  test_FreeFactors     "r  c                   C   sJ   t ttdks	J t tt ttt ksJ t tt t ttks#J d S rg  )r   r  r  r  r  r  r  r  test_NonfreeFactors     r  c                   C   sF   t tttks	J t tt tdksJ t tt t ttks!J d S Nr   )r   r  r  r  r  r  r  r  test_FreeTerms     r  c                   C   sN   t ttdks	J t tt ttt ksJ t tt t ttt ks%J d S r  )r   r  r  r  r  r  r  r  test_NonfreeTerms  s   "r  c                   C   s&   t ttt  tttt  ksJ d S r  )r   r  r  r  r  r  r  r  test_RemoveContent  r  r  c                   C   s   t tt t ttt tt  ksJ t tt d t ttd t dt t t  td t  ks4J t tt d td  ttd td  dt t td   td td   ks]J d S r  )r   r  r  r  r  r  r  r  test_ExpandAlgebraicFunction  s   &BVr  c                   C   s   t dddt   dddt    tdtd  d  ksJ t dddt   dddt    tdt td  d  ks>J d S )Nr  r  r  r   )r   r  r  r  r  r  test_CollectReciprocals  s   <Dr  c                   C   s   t tt ttdtt   ksJ t td td ttt  d   dtd td    dtd  td ttt     dt td t   ttd td ttt  d   dtd td    dtd  td ttt     dt td t   ks~J d S rH  )r   r  r  r  r  r  r  r  test_ExpandCleanup  s   "r  c                   C   s   t dtttdt     trJ t ttdksJ t tt tdks%J t td tdks0J t td t tdks=J t td t tdksJJ t tttdksUJ t g tdks^J t ttt gtdkskJ t ttgtdkswJ d S rd  )r   r  r	  r  r  r  r  r  r  r  r  test_AlgebraicFunctionQ  s   "r  c                   C   s   t dtd  d trJ t dtd  tsJ t dtd  dtd   tr)J t dtd  d dtd  gtr<J t dtd  dtd  gtsMJ d S )Nr   r.  r   r!  r   )r   r  r  r  r  r  test_MonomialQ  s
   "&&r  c                   C   sH   t dtd  d tdksJ t td td  dt  tdks"J d S )Nr   r.  r   Tr   r!  )r   r  r  r  r  r  test_MonomialSumQ  s   *r  c                   C   sX   t td dtd   dtd   tdksJ t td dtd   d tdks*J d S )Nr   r!  r   r  r   )r   r  r  r  r  r  test_MinimumMonomialExponent  s   .*r  c                   C   s4   t dtd  tdksJ t dtd  trJ d S )Nr   r.  )r   r  r  r  r  r  test_MonomialExponent  rf  r  c                   C   sB   t ddt  tsJ t dt tsJ t dtd  trJ d S r  )r   r  r  r  r  r  test_LinearMatchQ  s   r  c                  C   sv   t d\} }t| |sJ tdt td sJ tdtsJ ttd tr(J tdt td dtd   s9J d S )Nza1 b1r   r   r   )r  r   r  r  )a1b1r  r  r  test_SimplerQ  s   &r  c                   C   sv   t ddtd   dtd   trJ t td td  td  tg dks(J t dt dt  dt  tr9J d S )Nr.  r   r   r      r  )r  r  r  r   r   )r   r  r  r  r  r  test_GeneralizedTrinomialParts  s   &*&r  c                   C   s<   t ddtd   dtd   tsJ t td trJ d S Nr.  r   r   r   r  )r   r  r  r  r  r  test_TrinomialQ  s   &r  c                   C   sP   t ddtd   dtd   trJ t td td  td  tdks&J d S )Nr.  r   r   r   r  r  r  )r   r  r  r  r  r  test_GeneralizedTrinomialDegree  s   &*r  c                   C   sL   t dt dtd   tg dksJ t dt td  tg dks$J d S )Nr   r   )rX  r   r.  r  r.  )r   r  r.  r  )r   r  r  r  r  r  test_GeneralizedBinomialParts  s   &&r  c                   C   sD   t dt dtd   tdksJ t dt td  tdks J d S )Nr   r   r.  )r   r  r  r  r  r  test_GeneralizedBinomialDegree"     ""r  c                   C   sJ   t dt ts	J t ddtd   trJ t ddt  d ts#J d S )Nr   r   )ro   r  r  r  r  r  test_PowerOfLinearQ&  r  r  c                   C   s   t dtd  d dtd  d trJ t dt d dt d ts$J t dt dt d tr2J t dt dt ts>J d S )Nr   r   r  r   )rr   r  r  r  r  r  test_LinearPairQ+  s   ( r  c                   C   s<   t tt t tt t ksJ t tt t tksJ d S r  )r   r  r  r	  r  r  r  r  test_LeadTerm1  s    r  c                   C   s@   t tt t tt t ksJ t tt t tt ksJ d S r  )r   r  r  r	  r  r  r  r  test_RemainingTerms5  s     r  c                   C   s   t tt t tksJ t tt t tt t ksJ t tt tks&J t ttt  tt ks4J t tdtdks@J d S r  )r   r  r  r	  r  r  r  r  r  r  test_LeadFactor9  s
    r  c                   C   sL   t tt t tt ksJ t tt t dksJ t tt tks$J d S rg  )r   r  r  r	  r  r  r  r  r  test_RemainingFactors@  s   r  c                   C   s0   t tt tks
J t tt t tksJ d S r  )r   r  r  r	  r  r  r  r  test_LeadBaseE  r  r  c                   C   s0   t tt tks
J t tt t tksJ d S r  )r   r  r  r	  r  r  r  r  test_LeadDegreeI  r  r  c                   C   sH   t tt tks
J t td dksJ t td t t dks"J d S )Nr  r  )r   r  r  r  r  r  r  
test_NumerM  s    r  c                   C   sP   t tt tks
J t td td ksJ t td t t tt ks&J d S )Nr  r   )r   r  r  r  r  r  r  
test_DenomR  s   $r  c                   C   s   t ddt  dtd   tddksJ t ttt  ttd   tdtks(J t ttt  ttd   tddks<J t tt ttd   tdtksNJ d S )Nr.  r   r  r   r  r   )r   r  r  r  r	  r  r  r  r  
test_CoeffW  s   ((((r  c                   C   s   t td ddt  d  ddt  t  ttd td td   ks%J t td ddt  d  dddt  d  d  ttd td d  ksLJ t td td  ttd td  ksaJ d S )Nr   r  r   r  )r   r  r  r  r  r  r  r  r  test_MergeMonomials]  s   JN.r  c                   C   s   t ttsJ t td tsJ t td td  tsJ t td td ts*J t td td  tr7J t ttdd  ttt  d  trLJ d S )Nr   r   r  r  )r   r  r  r  r  r  r  r  r  test_RationalFunctionQb  s   .r  c                   C   s   t dtd ttt  d   ttd td ttt  d   dtd td    dtd  td ttt     dt td t   ksGJ t ttdd  ttt  d  tttdd  ttt  d  kslJ d S rH  )r   r  r  r  r  r  r  r  r  
test_Apartj  s   Nr  c                   C   sh   t tttks	J t tttdksJ t ttd  tttd  ks%J t ttt tdks2J d S Nr  r   )r   r  r  r  r  r  r  r  test_RationalFunctionFactorsn  s   "r   c                   C   sZ   t ttdks	J t tttttksJ t tttt ttttt ks+J d S rg  )r   r  r  r  r  r  r  r  test_NonrationalFunctionFactorst  s   .r  c                   C   s4   t g dg dksJ t tt tt ksJ d S )Nr  r   r   )r   r   r  )r   r  r  r  r  r  r  test_Reversey     r  c                   C   s   t tttddgksJ t ttddgksJ t ttddgks#J t td tddgks0J t td t tddgks?J t td t tddgksNJ d S Nr   r  r  )r   r  r  r  r  r  r  r  test_RationalFunctionExponents}  s   "r  c                   C   s2   t td d td dt  d td ksJ d S r=  )r   r  r  r  r  r  test_PolynomialGCD  s   2r  c                   C   s4   t td d td dt  d ttd ksJ d S r=  )r   r  r  r  r  r  test_PolyGCD  s   4r  c                   C   sF   t ttt ttksJ t tttdksJ t tttks!J d S rg  )r   r  r  r  r  r  r  test_AlgebraicFunctionFactors  s   r	  c                   C   sN   t ttt tttksJ t tttttksJ t ttdks%J d S rg  )r   r  r  r  r  r  r   test_NonalgebraicFunctionFactors  s   r
  c                   C   s   t ttt  t tsJ t tt tsJ t td t tr!J t td t tr,J t tt ts5J t tts<J t dt tsEJ d S r  )r   r  r  r  r  r  r  r  test_QuotientOfLinearsP  s   r  c                   C   s\  t tt t tdtt ddgksJ t tt tt  tdttdgks&J t tt ttt   tdtttgks;J t ttt  ttt   tttttgksRJ t td t tttd  dddgksgJ t tt ttdddgksvJ t dt tg dksJ t tt d tdtddgksJ t ttg dksJ t tttdddgksJ d S )Nr   r  r   )r  r   r   r  )r   r  r  r   )r   r  r  r	  r  r  r  r  r  r  test_QuotientOfLinearsParts  s   &&*.*"r  c                   C   sF   t tt tr	J t tt t tsJ t ttt  t ts!J d S r  )r   r  r  r  r  r  r  r  test_QuotientOfLinearsQ  r  r  c                   C   s,   t tttttgggtttttgksJ d S r  )r   r  r  r	  r  r  r  r  r  r  test_Flatten  s   ,r  c                   C   s>   t tttgtttgksJ t tttgdtttgksJ d S )NT)r   r  r  r	  r  r  r  r  	test_Sort  s   "r  c                   C   s\   t tdsJ t tt rJ t ttdd  rJ t tdd tdd  s,J d S rH  )r   r  r  r  r  r  r  r  test_AbsurdNumberQ  s   $r  c                   C   sl   t tdtdksJ t tdd tdd  tdtdd  td ks*J t ttdks4J d S Nr  r   r   )r   r  r  r  r  r  r  test_AbsurdNumberFactors  s   <r  c                   C   sD   t ttksJ t tdtdksJ t ttd tks J d S rR  )r   r  r  r  r  r  r  test_NonabsurdNumberFactors  r  r  c                   C   s   t tdtdksJ t dt tdksJ t tdt tdks&J t ttdd  tdks6J t ttd tdksDJ t tt tdksPJ d S r  )r   r  r  r  r  r  r  r  r  test_NumericFactor  s    r  c                   C   s   t tdtdksJ t ttksJ t tdt tdt ks$J t tdd tdd  tdks8J t ttttksDJ d S Nr   r  )r   r  r  r  r  r  r  r  r  test_NonnumericFactors  s
    (r  c                   C   s"   t g dddgg dksJ d S )Nr  r  r!  )r  r!  r  r   r   )r   r  r  r  r  test_Prepend  r2  r  c                   C   sD   t tdt tdtd  rJ t tdt tdt s J d S Nr  r   )r   r  r  r  r  r  r  test_SumSimplerQ  r  r  c                   C   s8   t tdt tdt sJ t tdtdrJ d S r  )r   r  r  r  r  r  r  test_SumSimplerAuxQ     r  c                   C   s~   t tdtdtd  sJ t ttd tdrJ t tdtdr'J t tdtds2J t tdtdr=J d S )Nr   r  r   r7  r  r   )r   r  r  r  r  r  r  test_SimplerSqrtQ  s
   r  c                   C   s   t ddtd   d tg dksJ t ddtd   dtd   tg dks*J t ddtd   d d tg dks?J t ddtd   dtd   trRJ d S )	Nr  r!  r   r   )r  r  r'  r   r   )r  r!  r   r   )r.  r  r'  r   )rt   r  r  r  r  r  test_TrinomialParts  s   &.**r  c                   C   sv   t ddtd   d tdksJ t ddtd   dtd   tdks&J t ddtd   dtd   tr9J d S )Nr.  r   r   r  r!  r   )r   r  r  r  r  r  test_TrinomialDegree  s   "**r  c                   C   s   t tdtd  trJ t ttd tsJ t tdtr!J t tdtd  ts.J t tdtd  dt  ts?J d S )Nr   r   r   )r   r  r  r  r  r  r  test_CubicMatchQ  s
   &r  c                   C   sr   t ttsJ t ddtd   tsJ t dtd  tsJ t dt ts(J t ttd  td  tr7J d S )Nr   r   r!  )r   r  r  r  r  r  test_BinomialMatchQ  s
   "r   c                   C   s   t ddtd   d trJ t ddtd   trJ t ddtd   dtd   ts/J t ttd  ttd   ts@J d S )Nr!  r   r   r.  r  r   r  )r   r  r  r	  r  r  r  r  test_TrinomialMatchQ   s   &&r!  c                   C   s4   t dtd  trJ t dt td  tsJ d S )Nr  r  r   r.  )r   r  r  r  r  r  test_GeneralizedBinomialMatchQ  s   r"  c                   C   sh   t ttt  ttt   trJ t td t tsJ t td d t ts)J t td ts2J d S r  )r   r  r  r  r	  r  r  r  r  r  test_QuadraticMatchQ
  s   "r#  c                   C   sh   t ttsJ t tdd trJ t tddtd   d tr#J t tddt  d ts2J d S )Nr   r   r   )r   r  r  r  r  r  r  test_PowerOfLinearMatchQ  s   ""r$  c                   C   s   t ddtd   dtd   trJ t ddtd   dtd   tr&J t ddtd   dtd   tr9J t td td  td  tsJJ d S )Nr.  r   r   r   r  r!  r  )r   r  r  r  r  r  test_GeneralizedTrinomialMatchQ  s   &&&&r%  c                   C   s   t dt ddtd    ddt   tsJ t tddtd    ddtd    tr.J t tddt   ddt   tsAJ t dddt   ddt   tsTJ d S )Nr  r   r  r   )r   r  r  r  r  r  test_QuotientOfLinearsMatchQ  s   ..&*r&  c                   C   sJ   t tdtr	J t dtd  tsJ t dtd  dt  tr#J d S )Nr   r   r!  )r   r  r  r  r  r  r  test_PolynomialTermQ"  r  r'  c                   C   s   t tdtd   tt tdtd  t ksJ t tdtd   dt  tdtd  dt  ks4J t tdtd   d tdtd  t ksKJ d S )Nr   r   r.  )r   r  r  r  r  r  r  test_PolynomialTerms'  s   262r(  c                   C   sv   t tdtd   tt tttksJ t tdtd   dt  tdks(J t tdtd   d tdks9J d S )Nr   r   r   )r   r  r  r  r  r  r  test_NonpolynomialTerms,  s   *&&r)  c                   C   s@   t ddtd   tsJ t ddddt  d   tsJ d S )Nr   r!  r   r   )r   r  r  r  r  r  test_PseudoBinomialQ1  s   &r*  c                   C   s   t dddt d   tdddtdtd  dtdtd  dgks&J t dddt d   tdddtdtd  dtdtd  dgksLJ t dddt d   tr[J t ddtd   tddddtdtd  dgkswJ d S )Nr   r.  r  r   r   r!  r   )r   r  r  r  r  r  r  test_PseudoBinomialParts5  s   LL<r+  c                   C   sT   t ddtd   dtd  trJ t dddt d   ddt d  tr(J d S )Nr   r!  r   r  )r   r  r  r  r  r  test_PseudoBinomialPairQ;  s   $0r,  c                   C   s   t dddt d   tddtdtd  dtdtd  t  td  ks+J t ddtd   tddtd   ks@J d S )Nr   r!  r  r   )r   r  r  r  r  r  r  test_NormalizePseudoBinomial?  s   V.r-  c                   C   s   t ttt td td ttt td dtd  td  dt t gks+J t ttd td ttt td dtd  dt t gksNJ t tdtdddgks]J d S )Nr   i@  r   )r   r  r  r%  r  r  r  r  test_CancelCommonFactorsC  s   VF"r.  c                   C   st   t tddt tsJ t ttdtd   ttd dt  tr$J t ttd ttd dt  ts8J d S )Nr!  r  r   r   r  )r   r  r  r  r  r  r  test_SimplerIntegrandQH  s   0,r/  c                   C   st   t g dddgg dksJ t g ddg dksJ t g ddg dks)J t tt t dtt ks8J d S )	N)r  r   r   r  r!  r   r   r  )r  r!  r   r  r  )r   r  r!  r   r  )r   r  r  r	  r  r  r  r  	test_DropM  s   "r0  c                   C   st   t tttttksJ t tttttksJ t tt tt tttks%J t ttt  tttttt  ks8J d S r  )r   r  r  r  r  r  r  r  test_SubstForInverseFunctionS  s   *r1  c                   C   s`   t ttttttksJ t ttttttksJ t ttdd  ttttttd  ks.J d S rR  )r   r  r  r  r	  r  r  r  r  r  r  test_SubstForFractionalPowerY  s   0r2  c                   C   s   d S r  r  r  r  r  r  test_CombineExponents^  s   r3  c                   C   s   t trJ t tt tdtd  rJ t tt tdtd  t r(J t ttt  td tdd  ttt  td ksFJ d S r  )r   r  r  r  r  r	  r  r  r  r  test_FractionalPowerOfSquareQa  s    $@r4  c                   C   sH   t tttrJ t ttdtd  ttsJ t tt ttr"J d S r  )r   r  r  r  r  r  r  r  r  "test_FractionalPowerSubexpressionQg  r  r5  c                   C   s  t dtd  td  dt t t td   dt t td  td   td td  td   dt t td  t  dtd  td   dtd  td  dt t t td   dt t td  td   td td  td   dt t td  t  dtd  td   ksJ t ttd ttd ksJ t ttttksJ t ttt ttt ksJ t ttttd  ttttd  ksJ d S )Nr!  r   r  r   r      )	r   r  r  r  r  r	  r  r  r  r  r  r  r  test_FactorNumericGcdl  s     4r7  c                   C   s"   t ttttgtttgksJ d S r  )r   r   r  r  r	  r  r  r  r  
test_Applyt  r2  r8  c                   C   s^  t tttd  tttd   t tt ksJ t tttd  tttd   t tt ks4J t tttd  tt	td   t tt ksNJ t t
dttd  ttd ksbJ t dttd  ttd kstJ t dt	td  ttd ksJ t t
d ttd  ttd ksJ t dttd  t	td ksJ d S )Nr   r  r  )r   r  r  r  r  vr  r  r  r  r  r  r  r  r  test_TrigSimplifyw  s   444($$*(r:  c                   C   s  t tttt d  dtd  tt t tdd   dtd   dtd  tt t tdd   dtd    dt tt t tdd   dtd    dtt t tdd   dtd    dtd  tt t tdd   dtd   dtd  tt t tdd   dtd    dt tt t tdd   dtd    dtt t tdd   dtd    tt d   d	ksJ ttttd ksJ ttt ttd t ksJ d S )
Nr   r  r   r     r!  r.  rX  r   )r  r   r  r  r	  r  r  r%  r  r  r  r  test_MergeFactors  s"   p*&^*&
"r<  c                   C   s   t dg dks
J d S )Ni%% ))r   r   )r   r   )r!  r   )i  r  )r   r  r  r  r  test_FactorInteger  r  r=  c                   C   s(   t tt tt  ttt  ksJ d S r  )r   r  r  r	  r  r  r  r  test_ContentFactor  s   (r>  c                   C   s:   t ttdks	J t ttdksJ t ttdksJ d S )Nr  r  r   )r   r  r  r  r  r  r  
test_Order  s   r?  c                   C   sL   t dddks	J t dddksJ t dddksJ t ttdks$J d S )Nr  r   r   r  )r   r  r  r  r  r  r  test_FactorOrder  s   r@  c                   C   s<   t g ddks
J t dddksJ t dddksJ d S )N)r   r  r   r  r  r   r  r  )r   r  r  r  r  test_Smallest  s   rA  c                   C   sT   t tdtdtdgdksJ t tdtdtdtdtdgdks(J d S )Nr  r   r   r.  r  r!  )rz  r  r  r  r  r  test_MostMainFactorPosition     "2rB  c                   C   s$   t ttgsJ t ttgrJ d S r  )r   r  r  r  r  r  r  test_OrderedQ  r9  rD  c                   C   s   t tdtddksJ t tdtddksJ t tdtddks'J t tdtdtdks6J t tdtdtdksEJ d S rH  )r   r  r  r  r  r  r  test_MinimumDegree  s
   "rE  c                   C   s   t tddks
J t td tdksJ t tdtdks#J t td tdks0J t tdtd tdks@J d S )Nr   r  r   r  )r   r  r  r  r  r  r  r  test_PositiveFactors  s
   $rF  c                   C   sX   t tddks
J t td dksJ t tddksJ t td dks*J d S )Nr   r  r  r   )r   r  r  r  r  r  r  r  test_NonpositiveFactors  s   rG  c                   C   sB   t tddks
J t tddksJ t td dksJ d S r  )r   r  r  r  r  r  	test_Sign  rl  rH  c                  C   sx   t t} ttd| tsJ t| | tsJ td| d  | ts"J tdt| d   | ts0J tt| | tr:J d S rR  )r  r  r   r  r  r  r9  r  r  r  test_PolynomialInQ  s   rJ  c                  C   s   t t} ttdt ttdksJ ttd|  t ttdks"J ttd|  | d  t ttdks6J ttdt|  | d  t ttdksLJ d S )Nr  r   r   r         @)r  r  r   r  r  rI  r  r  r  test_ExponentIn  s
    (0rL  c                  C   sd   t t} ttdt td  t ttdtd  ksJ ttdt t t tttd ks0J d S r  )r  r  r   r  rI  r  r  r  test_PolynomialInSubst  s   0,rM  c                   C   s<   t tttt ksJ t ttt tt tt  ksJ d S r  )r  r  r  r  r  r  r  r  test_Distrib  s   &rN  c                   C   sZ   t tttt ksJ t tt tttt  ksJ t tt ttt tt  ks+J d S r  )r  r  r  r  r  r  r  r  r  test_DistributeDegree  s   &rO  c                   C   s`   t ttd ks	J t ttdksJ t td tdksJ t td ttd  tdks.J d S )Nr  r   r   )r  r  r  r  r  r  r  r  test_FunctionOfPower  s   &rP  c                   C   sX   t tt tdttd  ksJ t tt t tdttd  ttd   ks*J d S rK  )r  r  r  r  r	  r  r  r  r  test_DivideDegreesOfFactors  s   "6rQ  c                   C   s   t ttdtgksJ t ttddgksJ t tt tdtt gks%J t tttdttgks4J t ttt tdttgksEJ d S Nr   r  )r  r  r  r%  r  r  r  r  r  test_MonomialFactor  s
   &rS  c                   C   s   t td d ttd d ksJ t td dt  d ttd td d  ks*J t td ttt  d  ttd ttt  d  ksGJ t td td ttt  d   ttd td ttt  d   kslJ d S Nr   r  r   )r	  r  r  r  r  r  r  r  test_NormalizeIntegrand  s   "2:NrU  c                  C   s  dt  t t dt  td   tt t  ttd   dt  td  td  dt  t td  t  dt  t t td  t  dt  td   dt  td  t t  dt td  t t  dt td  td  t  tt td   tt td  t t  td ttt  ttd      dt  t tt  dt t td   td t   } t| tdt  t t dt  td   tt t  ttd   dt  td  td  dt  t td  t  dt  td   dt td  t t  tt td   td	t  t t td  dt  td  t  dt td  td   tt td  t    td ttt  ttd      dt  t tt  dt t td   td t   ks^J ttd dt  d ttd td d  ksxJ ttd d ttd d ksJ d S )
Nr   r   r  r  r  r   r!  r  i)r  r  r	  r  r  r  r
  rI  r  r  r  test_NormalizeIntegrandAux  s   ^ b 4(rV  c                   C   s\   t dt td  d ttd td d d  ksJ t td d ttd d ks,J d S )Nr   r   r  )r  r  r  r  r  r  test_NormalizeIntegrandFactor  s   6&rW  c                   C   s   t td d d ttd d d ksJ t td d ttd d ks&J t td ttt  d  ttd ttt  d  ksCJ d S rT  )r  r  r  r  r  r  r  r  !test_NormalizeIntegrandFactorBase  s   *">rX  c                   C   sx   t td d td d  t d d td d  ksJ t td d td d  td d  td d  ks:J d S )Nr   r!  r   )r  r  r  r  r  r  test_AbsorbMinusSign     :>rY  c                   C   sP   t t d td d  t d td d  ksJ t td td ks&J d S r$  )r  r  r  r  r  r  test_NormalizeLeadTermSigns     4r[  c                   C   sB   t tt d dt d gksJ t tt dtgksJ d S )Nr   r  r  )r  r  r  r  r  r  r  test_SignOfFactor  s   $r]  c                   C   sT   t td d ttd d ksJ t td d d ttd dt  d ks(J d S )Nr   r!  r   r   r  )r  r  r  r  r  r  test_NormalizePowerOfLinear  rC  r^  c                   C   sd   t td d d ttd d d ksJ t td d td  d ttd td  d ks0J d S )Nr   r   r   rX  )r  r  r  r  r  r  test_SimplifyIntegrand  s   *:r_  c                   C   sl   t td td  ttd td  ksJ t dt d dt d d d  tdd  ttd ks4J d S )Nr   r!  r   r'  rX  )r  r  r  r  r  r  r  r  r  test_SimplifyTerm  s   *Bra  c                   C   s@   t dt d dt d d d  tdd  td ksJ d S )Nr`  r!  r   r   r'  rX  )r  r  r  r  r  r  r  test_togetherSimplify  s   @rb  c               	   C   s  d} t d }tt td   d }d}d}d}tj }d}tt||t|    ||td| |    d| |  d  |t| |    ||d  |  d    |d| | |  d    ttd td dt t d  dt d     td dtd  t  dt d      d	ksJ ttd dt  d td d ttd td dt  d  dtd   d
t  d
 ksJ ttd d ttd d ksJ tttd dt  d d tdtd  d
t  d
 ksJ tttt  tttt  ksJ d S )Nr   r   r   r  r  r  g333333@g333333?r   rX  )	r  r  r  r  Halfr  r  r  r  )qqPqqPqaannccppbbr  r  r  test_ExpandToSum  s"   |N\">&rl  c                   C   s   t dt dtd   tt tdtd  t tt d ks!J t dt dtd   d tdtd  dt  d ks>J d S )Nr   r      rX  )r  r  r  r  r  r  r  test_UnifySum/  s   B>rn  c                   C   sj   t tttt   tttgksJ t ttt  ttt   tttgks&J t dttt   tr3J d S rg  )r  r  r  r  r	  r  r  r  r  r  test_FunctionOfInverseLinear3  s   "*ro  c                  C   L   t t} t| }t|| tsJ tt| | trJ t|d | ts$J d S r  )r  r  r  r  r  r9  r;  r  r  r  test_PureFunctionOfSinhQ8  
   rr  c                  C   rp  r  )r  r  r  r  r  rq  r  r  r  test_PureFunctionOfTanhQ?  rs  rt  c                  C   rp  r  )r  r  r  r   r  rq  r  r  r  test_PureFunctionOfCoshQF  rs  ru  c                  C   sN   t dtt } tt}t| |sJ t| | sJ tt dt dr%J d S r  )r  r  r  r!  ur9  r  r  r  test_IntegerQuotientQM  
   rx  c                  C   sN   t dtt } tt}t| |sJ t| | sJ tt dt dr%J d S Nr   r  r   )r  r  r  r"  rv  r  r  r  test_OddQuotientQT  ry  r{  c                  C   sN   t dtt } tt}t| |sJ t| | rJ tt dt dr%J d S r  )r  r  r  r#  rv  r  r  r  test_EvenQuotientQ[  ry  r|  c                  C   X   t t} ttt| | tsJ tt| | tsJ tt| tt|  | ts*J d S r  )r  r  r%  r  r  rI  r  r  r  test_FunctionOfSinhQb     $r~  c                  C   r}  r  )r  r  r&  r  r  rI  r  r  r  test_FunctionOfCoshQh  r  r  c                  C   x   t t} t| }t| }t|| tsJ t|| tsJ t|| | ts&J t|| | ts0J ttt| tr:J d S r  )r  r  r  r=   r(  r  r9  tr	  r  r  r  test_FunctionOfTanhQn     r  c                  C   s   t t} t| }t| }tt| tdksJ tt| | tdks"J tt| | tdks.J tt| | tdks:J t|d | tdksFJ tt| d | tdksTJ tt| t| d  | tdksfJ d S Nr   r  r  r   r  )r  r  r  r=   r)  r  r  r  r  r  r  r  test_FunctionOfTanhWeightx     (r  c                  C   sT   t t} t| }t| }tt| trJ t|| | tsJ tt|| ts(J d S r  )r  r  r<   r  r*  r  r9  sr  r  r  r  test_FunctionOfHyperbolicQ     r  c                   C   s8   t td dks
J t td t td t ksJ d S )Nr  r  r   )r+  r  r  r  r  r  r  test_SmartNumerator  r  r  c                   C   sD   t td td ksJ t td d td td d ks J d S )Nr  r   r  r   )r,  r  r  r  r  r  r  test_SmartDenominator  s   ,r  c                  C   s   t t} t| | ttksJ t| d | ttd ksJ tt| ttks&J t| d | d tttks6J t| d |  | ttd ksFJ d S )Nr   r  r   )r  r  r  r  rI  r  r  r  test_SubstForAux  s    $r  c                  C   sL  t t} t| t| t| }}}tttd tt d  tttd d  dttd d  td tt d  tdttd d  ksHJ t|tt| ttksTJ t|t| t| | ttt ttt t ksnJ ttd|  tttt| tdtt tt ksJ t|| tttt| tttd tt ksJ d S r  )	r  r  r  r  r  r0  r  r  r  r9  r  r	  r  r  r  r  test_SubstForTrig  s   l488r  c                  C   s   t t} t| t| t| }}}t|tttt| tttks$J t|tttt| ttttt ks:J ttd|  tttt| tdtt tt ksVJ t|| tttt| tttd tt kspJ d S r  )r  r  r  r  r  r1  r  r  r  r  test_SubstForHyperbolic  s   $,88r  c                  C   sj   t tt  } t| trJ t| td trJ t| tdd  ttd dt tt  dt gks3J d S r  )r  r  r  r4  r  rw  r  r  r  $test_SubstForFractionalPowerOfLinear  s   :r  c                  C   sL   t tt  } tt| tt tt| ksJ tt| tt| ks$J d S r  )r  r  r  r6  r  r  r  r  r  r  test_InverseFunctionOfLinear  s   "r  c                  C   s`   t t} tt}tt tttttrJ tt ttts!J t| |r(J t|s.J d S r  )r  r  r  r7  r  h)r  r	  r  r  r  test_InertTrigQ  s   r  c                  C   s   t } tdtdtd| td  td   d | tsJ tddtd| td  d   dtd| td  td   d | tsFJ d S )Nr  r   r   r!  r  )r  r<  r  r  funcr  r  r  test_PowerOfInertTrigSumQ  s   8Tr  c                   C   s   t ttt  tsJ t tttttd  trJ t td tr%J t tt	ttt  ts4J t t	tttt  tsCJ t t
tttt  trRJ d S rK  )r=  r  r  r  r   r	  r  r  r  r  r  r  r  r  r  test_PiecewiseLinearQ  s   ""r  c                  C   s8  t ttt  } tt gtdtsJ tt gtt|   t ts"J tt gtt|   t dd|    ts7J tt gtt| d   tsFJ tt gtt|   t| d   tsYJ tt gtt|   t tt| d    tspJ tt gtt|   t tt|   t	| d    tsJ tt
gtt|   t trJ d S rR  )r  r  r  r  r>  r  r  r	  r  r  r  r  r  r  r  test_KnownTrigIntegrandQ  s   *&.6"r  c                   C   *   t tttttt    t tsJ d S r  )r?  r  r  r  r  r  r  r  r  r  test_KnownSineIntegrandQ  r`  r  c                   C   r  r  )r@  r  r  r  r  r  r  r  r  r  test_KnownTangentIntegrandQ  r`  r  c                   C   r  r  )rA  r  r  r  r  r  r  r  r  r  test_KnownCotangentIntegrandQ  r`  r  c                   C   r  r  )rB  r  r  r  r  r  r  r  r  r  test_KnownSecantIntegrandQ  r`  r  c                	   C   s   t tttttttt     tsJ t tttttttt     ts*J t tttttttt     tr?J d S r  )	rC  r  r	  r  r  r  r  r  r  r  r  r  r  test_TryPureTanSubst  s   **.r  c                   C   s`   t tttr	J t tttsJ t tttt trJ t ttt  td tr.J d S r  )	rE  r  r  r  r  r  r  r  r  r  r  r  r  test_TryPureTanhSubst  s   "r  c                   C   s   t tttr	J t ttt d  trJ t dtttttd    tr)J t ttdt ttdt  tr>J t ttt	td  t  trOJ d S )Nr   r  r  )
rD  r  r  r  r  r	  r  r  r  r  r  r  r  r  test_TryTanhSubst  s
   &*&r  c                   C   s<   t ttt  ttt   tsJ t ttt  trJ d S r  )r   r  r  qr  r  r  r  r  r  test_GeneralizedBinomialQ  s   "r  c                   C   sT   t ddtd   dtd   trJ t ttt  ttdt t    tr(J d S r  )r   r  r  r  r	  r  r  r  r  r  test_GeneralizedTrinomialQ  s   &.r  c                   C   sx   t ttt  ttt   tdd  ttd tttd   d  dttt  ttt   t t tt  gks:J d S )Nr   r   r  )r   r  r  r  r	  r  r  r  r  r  r  /test_SubstForFractionalPowerOfQuotientOfLinears  s   xr  c                   C   st   t tttts
J t td tttsJ t ttdd  tttr&J t tttdd  ttts8J d S r  )r   r  r  r  r  r  r  r  test_SubstForFractionalPowerQ  s    (r  c                   C   sX   t tddks
J t tdtdtddksJ t tdtdtddks*J d S )Nr  r  r  r   r   r  )rF  r  r  r  r  r  test_AbsurdNumberGCD  s    $r  c                   C   s  t ttd tdt d tj ksJ t ttd tt ttd tdt d  ks1J t ttd tt tttdt d  tj ksNJ t ttd ttd  dtt d tdt d  dtdt  d  tdt d  ksJ t dtt tt dttd   tdt tdt  d ksJ t tttt  d t	dt dt t  d tj ksJ t tttt  t	ttt   tdt dt t  d ksJ d S )Nr   r  r   r!  @   r.  r  )
rN  r  r  r  rc  r  r  r  r  r  r  r  r  r  test_TrigReduce  s   *8:dH>Hr  c                   C   sL   t td d tsJ t td trJ t ttrJ t tdts$J d S r  )r^  r  r  r  r  r  r   test_FunctionOfDensePolynomialsQ  s   r  c                  C   rp  r  )r  r  r  rT  r  rq  r  r  r  test_PureFunctionOfSinQ  rs  r  c                  C   rp  r  )r  r  r  rV  r  rq  r  r  r  test_PureFunctionOfTanQ"  rs  r  c                   C   s0  t dt d dtdttdd   ksJ t dt d dtdttdd   ks,J t dt dtdt ks:J t dt d dtdttdd   ksPJ t dt d dtdttdd   ksfJ t ddt  d dtdt d d ks|J t dt d d dtdttdd   d ksJ d S )Nr   r   r  r.     r   )rb  r  r  r  r  r  r  test_PowerVariableSubst)  s   ,,,,,8r  c                   C   s   t tdddt tddt gksJ t dt d ddt tddgks&J t td ddt tddgks7J t tdddt tddt gksJJ d S )Nr   r   r  r  )ra  r  r  r  r  r  r  test_PowerVariableDegree2  s   &&"*r  c                   C   sZ   t td dtr
J t dt d dtrJ t dt d dtdtd  ddgks+J d S )Nr   r   r  r  )r`  r  r  r  r  r  test_PowerVariableExpn8  s   .r  c                   C   s   t td ttdtd   d ttd  tsJ t ttd td tr)J t tttd ts5J t tdt td tsCJ d S r=  )rR  r  r  r  r  r  r  r  r  r  test_FunctionOfQ=  s   6 r  c                   C   s   t dtttd ddtdttd d  dttd d   d ks%J t dtttt td ddtdttd d  ttd d  dttd  ttd d   dttd  ttd   dttd d   dttd d   d ks~J d S )Nr  r   r  r  r   )rH  r  r  r  r  r  r  r  test_ExpandTrigExpandC  s   Jr  c               
   C   sJ  ddl m}  tttt | tt | t t   d ks J ttt| tt d | t t d  ks9J tttttd  t| tt d | t t d   | ttd   | t td    | ttd  | t td    ks}J tttttd  | tt | t t  d  d | tt d  | t t d  ksJ ttttttt	d  ttt	d  t | tt t	d | t t t	d   | tt | t t  t	d  | ttt	d   | t tt	d    t	d| ttt	d  | t tt	d      dks#J d S )Nr   )r  r   r  )
r+  r  rL  r  r  r  r  r  r0   r  )r  r  r  r  test_TrigToExpG  s   42br  c                   C   s   t dtdt d  tdttd  d tdt d d  ks#J t dttd  tdt  tdtt d tdt d  ttd  ksLJ t ttd d ttdt d d tj ksfJ d S )Nr   r   rX  r   )rI  r  r  r  r  rc  r  r  r  r  test_ExpandTrigReduceO  s   FR8r  c                   C   s   t tdtdt  tdttd  ksJ t tdtdt d  tdttd d  ks2J t tdtdt d d  tdttd dt  d d  ksUJ d S )Nr   r   r  )rK  r  r  r  r  r  r  r  test_NormalizeTrigT  s   .6Jr  c                  C   sT   t t} t| }t| }tt| trJ t|| | tsJ tt|| ts(J d S r  )r  r  r  r  r]  r  r  r  r  test_FunctionOfTrigQY  r  r  c                   C   s  t ttd ttt  t  ttttd    tt td  ttt  t  ttttd     td ttt  t  ttd    dt ttt  td   ttd    ttt  td  ttd    kslJ t ttd tdt d td  dtd  d  tdtd  dtd   t t d dtd  d   d ksJ t ttt  ttd   t	td  ttt	td  tt t	td   ttd  t	td   ksJ t ttt  ttd   tttt  ttd   ksJ d S r  )
r   r  r  r  r;  r  r  r  r	  r  r  r  r  r  test_RationalFunctionExpanda  s   d"&
xj>r  c                   C   s$   t dddsJ t dddrJ d S rR  )rw  r  r  r  r  
test_SameQh  r9  r  c                   C   s6   t ttttgtttgtt tt tt gksJ d S r  )ru  r  r  r  r	  r  r%  zr  r  r  r  	test_Map2l  s   6r  c                   C   s   t tttd   tttd d gksJ t tttdgks J t ttdtgks+J t ttd tdtd gks<J t ttdd  tdttdd  gksSJ t ttd  tttd gksdJ t ttd  tdttd  gkswJ d S rz  )rv  r  r  r  r  r  r  r  test_ConstantFactoro  s   *"."*r  c                   C   s   t tttgtdddgksJ t ttd ttd td ttt td gdttd ttt gks8J t tttd ttt gdttd ttt gksUJ t tdtdtdgg dkshJ d S )Nr  r   r   r  r   )r   r  r   r   )ry  r  r  r  r  r  r  r  r  test_CommonFactorsx  s   R:*r  c                  C   s^   t ttt  } t| tt tttgksJ tttt  ttttgks&J tttr-J d S r  )r  r  r  r  r  )r;  r  r  r  test_FunctionOfLinear~  s    r  c                   C   sx   t tttt ttt tsJ t tttt   ts J t ttt  ts+J t ttttt   tr:J d S r  )r{  r  r  r  r  r  r  r  r  r  test_FunctionOfExponentialQ  s   &"r  c                   C   s   t tttt   tsJ d S r  )r|  r  r  r  r  r  r  r  test_FunctionOfExponential  r  r  c                   C   sL   t tttt   ttksJ t tdtttt    tdt ks$J d S r  )r}  r  r  r  r  r  r  r  r  "test_FunctionOfExponentialFunction     .r  c                   C   s   t ttd td ttd ksJ t ttttksJ t ttd d tr*J t tttt  d tttt  ks?J d S rH  )rO  r  r  r  r  r  r  r  r  r  test_FunctionOfTrig  s   $.r  c                   C   s   t ttd tsJ t ttsJ t td tsJ t ttd ts&J t ttd d ts3J t ttd d d trBJ d S rz  )rP  r  r  r  r  r  r  r  test_AlgebraicTrigFunctionQ  s   "r  c                   C   sX   t ttd td ttd ksJ t ttttksJ t ttd d tr*J d S rR  )rO  r  r  r  r  r  r  r  test_FunctionOfHyperbolic  s   $r  c                   C   s   t tttdks
J t td ttdksJ t td ttdks"J t ttd tr,J t td td d tr:J t td td d trHJ d S )Nr  r   g @r!  )rS  r  r  r  r  r  test_FunctionOfExpnQ  s    r  c                  C   rp  r  )r  r  r  rU  r  rq  r  r  r  test_PureFunctionOfCosQ  rs  r  c                  C   rp  r  )r  r  r  rW  r  rq  r  r  r  test_PureFunctionOfCotQ  rs  r  c                  C   r}  r  )r  r  rY  r  r  rI  r  r  r  test_FunctionOfSinQ  r  r  c                  C   sX   t t} ttt| | tsJ tt| | tsJ tt| tt|  | ts*J d S r  )r  r  rX  r  rI  r  r  r  test_FunctionOfCosQ  r  r  c                  C   r  r  )r  r  r  r  r[  r  r  r  r  r  test_FunctionOfTanQ  r  r  c                  C   s   t t} t| }t| }tt| tdksJ tt| | tdks"J tt| | tdks.J tt| | tdks:J t|d | tdksFJ tt| d | tdksTJ tt| t| d  | tdksfJ d S r  )r  r  r  r  r\  r  r  r  r  r  test_FunctionOfTanWeight  r  r  c                   C   sd   t ttd dtrJ t tddtsJ t tdt tts"J t tdt d tts0J d S r  )rZ  r  r  r  r  r  r  test_OddTrigPowerQ  s    r  c                   C   s>  t td ttt  d  tt tt   ddtrJ t tdtd  d tdtd   d tdt d dtd  dgksBJ t tdt d ttd dt dgksXJ t tdtd  d d ttd d dtd  dgksvJ t tdtd  d tdt dtd  dgksJ t dtt d trJ d S )Nr   r   Fr  r  )r_  r  r  r  r  r  r  r  r  r  r  test_FunctionOfLog  s   8L,<4r  c                   C   s~   t dt dtd d tdd    d tsJ t dt dtd  d  d tr,J t dtd  dt  d tr=J d S )Nr   r   r  r  r!  )rc  r  r  r  r  r  r  test_EulerIntegrandQ  s   2&&r  c                   C   s4   t tttd  trJ t ttt ttksJ d S r  )rf  r  r  r  r  r  r  test_Divides  r  r  c                   C   s`   t dtd  tsJ t dtd  d tsJ t td ts!J t tttd ts.J d S )Nr   r   r   )rg  r  r  r  r  r  r  r  test_EasyDQ  s   r  c                   C   sX   t tdts	J t td d tsJ t td d d tr!J t td ts*J d S r  )rh  r  r  r  r  r  r  test_ProductOfLinearPowersQ  s   r  c                  C   s   t d} t| d  d| d  tdtd  ksJ ttd dtks&J ttddt  tdddt  tdd  ksAJ ttd d dt  dtd ksTJ ttdtddksaJ ttdtdd	ksnJ d S )
Nr  r   r  r  r   r  iA  r!  r.  )r  ri  r  r  r  )r  r  r  r  test_Rt  s   .6&r  c                   C   s|   t tdtdddtdtd   dtdtd   ks!J t dddks*J t ddd	ks3J t dd
dks<J d S )Ni8  r   rX  r   r!  r  r5  Q   g      "@r  )rj  r  r  r  r  r  test_NthRoot  s   Br  c                   C   sT   t td rJ t td sJ t tsJ t tdd s J t ttr(J d S r  )rk  r  r  r  r  r  r  r  test_AtomBaseQ  s
   r  c                   C   sL   t td d r
J t td d sJ t dt d sJ t tr$J d S rH  )rl  r  r  r  r  r  test_SumBaseQ  s   r  c                   C   sN   t t d r	J t td sJ t td d rJ t td d s%J d S rH  )rm  r  r  r  r  r  test_NegSumBaseQ  s   r  c                  C   sd   t ddd} t| sJ t| d rJ t| d sJ t| d d s&J t| d d r0J d S )Nr  T)negativer   r   )r  rn  )r  r  r  r  test_AllNegTermQ!  s   r  c                   C   s@   t ttd s
J t ttd sJ t ttd rJ d S r  )rp  r  r  r  r  r  r  r  r  test_TrigSquareQ)  r  r  c                   C   sX   t tdttttdrJ t tdttdsJ t tdttdttds*J d S )N015)r  r  r?   r  r>   r  r  r  r  test_Inequality.  s   $r  c                   C   s8   t ttdt dtgksJ t ttdt rJ d S r$  )r  rw   r  r  r  r  r  r  test_SplitProduct3  r  r  c                   C   sL   t tttttdgksJ t ttttd tttdgks$J d S Nr   r   )r  r!   r  r  r  r  r  r  r  test_SplitSum7  r  r  c                   C   s   t ttttt  ksJ d S r  )r  r  r  r  r  r  r  r  test_Complex;  r  r  c                   C   s6  t tt tt  td ttt tt  d ksJ t ttdt ttdt  td tt tt tt  d  ks?J t ttdt ttdt	  ttdt
  td ttt tt	  tt
  d  kslJ t tttdtd   ttd   td tttttdd    d ksJ t tt tttd  ttd   td ttd ttt td   d  ksJ t tttd  tttd  ttd   td ttd tt ttd   d  ksJ t tttd  tttd   t ttttd  tttd   t ksJ d S )Nr  r   r   r   r  r!  r  )r  r  r	  r  r  r  r  r  r  r  r;  r  r  r9  r  r  r  r  test_SimpFixFactor>  s   6HZRV^Xr  c                   C   s   t tttttksJ t tt ttt ksJ t tttttdtt tt d ks3J t tttd  tttd   t	 ttttd  tttd   ksZJ d S r  )
r  r  r  r  r  r  r  r  r  r9  r  r  r  r  test_SimplifyAntiderivativeG  s   2Rr  c                   C   sP   t ttdt ttdt t td  tt tt tt  d  ks&J d S )Nr   r   )	r  r  r  r  r9  r  wr  r  r  r  r  r  test_FixSimplifyM  s   Pr  c                   C   sP   t tttd  tttd   t tt ksJ t td td ks&J d S r  )r  r  r  r  r  r9  r  r  r  r  test_TrigSimplifyAuxP  r\  r  c                   C   sL   t td d tttttksJ t td ttttttks$J d S r  )r  r  r  r  r  r  r  r  r  test_SubstForT  s   $(r  c                   C   s&   t ttjks	J t ddksJ d S r  )r  r  r  rc  r  r  r  r  test_FresnelSX     r  c                   C   s&   t ddksJ t ttjksJ d S r  )r  r  r  rc  r  r  r  r  test_FresnelC\  s   r  c                   C   s$   t ddksJ t tdksJ d S rR  )r  r  r  r  r  r  	test_Erfc`  r9  r  c                   C   s$   t ttu sJ t ddksJ d S r  )r  r  r  r  r  r  	test_Erfid  r9  r  c                   C   r  r  )r  rw  r  r  r  r  r  
test_Gammah  r  r  c                   C   s<   t tt sJ t ttt sJ t ttt  sJ d S r  )r  r  r%  r  r  r  r  r  r  r  test_ElementaryFunctionQk  s   r  c                  C   sN   ddl m}  | dtt  tksJ | ttt  | ttt ks%J d S )Nr   	Util_Partr  )r+  r  r  r  r,  r	  r  r  r  r  test_Util_Partp  s   (r  c                   C   s0   t g dddksJ t tt dtksJ d S )Nr  r  )r  r  r  r  r  r  r  	test_Partu     r  c                   C   s   t tttttksJ d S r  )r  r  r  r  r  r  r  r  test_PolyLogy  s   r  c                  C   sL   t t} tt| | tsJ ttt|  | tsJ tt| | tr$J d S r  )r  r  r  r  r  r  rI  r  r  r  test_PureFunctionOfCothQ|  s   r  c                   C   sH  t tttttd   tttd   tt tdd  tt	ttd    tttt tdd   ttttd   ttd    t	tt tdd   ttttd   ttd    td   kshJ t dt
 t t dt
 td   tt t  dt t t
t dt t    td ttt  ttd     tdt
 t t dt
 td   tt t  ttd   dt
 td  td  dt
 t td  t  dt
 td   dt td  t t  tt td   td	t
 t t td  dt
 td  t  dt td  td   tt td  t    td ttt  ttd      d
t
 t tt  dt t td   td t   ksLJ t td t	tt  d  tttttt  d     ttttttt     t	d  t	tt  d  td  dtttttt      t	 t	tt  d  td   tttttt     t	tt  d  td   ksJ t tttt  d  tt	ttt  t    ttd tt	ttt  t    t dt t tt	ttt  t    td   td tt	ttt  t    td   ksJ t ttd ttdtt   d  ttd ttd  dt t ttd   td tt  ksJJ t ttttttt    t  tt tttttt    t  t tttttt    t ttt   t  ksJ t ttt  td t
tt   ttt   ttttt  d  t tttt  d  t
t tt   td   tttt   t
t tt   tt tt   td   tt
t tt   tt tt  d  td   t
t tt  tt tt  d  td ttt     ksJ t td tdt tdd   ttdttdd   ks9J t ttttdd   ttttt ksSJ t tt	tt  d  ttttt     tttttt     t	 t	tt  d  t ttttt    t	tt  d  t  ksJ t tt t	tt  d  ttttt  t    tttttt  t   t	d  tt  dttttt  t    t	 t t tt   ttttt  t   td  td  tt   ksJ tt tdtdttd   td  ttd d	td d   tddtd d    tdtd	td d    tdtdtd d    tdtd	td d     dksZJ t td dt t d tt d   tdd	td  tt d   dd	td  t t d    dd	td  td  td     ddtd  tt d    ddtd  t t d    ksJ t ddt  d ddt   ttd t d dtd   ksJ t tttd   t	td   dtd   ttdtdd  t  dtdd  t	  ddtdd   t d  tdtdd  t  dtdd  t	  ddtdd   t d   tt t	 dt d   ksNJ t tttd   t	td   ttd   dtd   tttt  t	 tt  dt t d  ttt  t	 tt  dt t d   tt t	 t dt d   tt t	 t dt d   ksJ t tt	ttt    ddt  dtd    td
t dt	 t  dt	 t  dt d  dt dt	 t  dt	 t  dt d   ksJ t tttd  tttttd      tttd  td  t td td td t     tt ttttd    td t td td  td t      ksRJ tt td dtd  d
  tttdtd d   ttdtd d d    ttdtd d    ttdtd d d     dksJ tt dttd  d ttdtd	td d   tdtdttd td td    tdtd	ttd td td    tdtdttd td td    tdtd	ttd td td     dksJ tt td tttd   ttd   d  ttddt tttttd    t    ddt t ttttd    t     ks_J tt ddt  dtd   d
 ttdtdt d  td  t d   tdtdt d  ttt d  d    tdtdt d  ttt d  d     dksJ t ttttttt	tt  t  t    t  tt	 tttttt	tt  t  t    t  t tttttt	tt  t  t    t t	tt   t  ksJ t ttt	ttt   td   ttt	ttt    t ks6J tt tttt  t  tttt	tt   t   tt ttt  t  tttt	tt   t   t ttt  ttd  tttt	tt   t   t   dksJ tt ttttt   td  tttt   td  ttd t td tt t t   dt t tt tt   td tt t t d    ttt tt  d  td tt t t d     dksJ t tddt  td tt	dtdt  t    ttt   ttt	td t   td  t tt	td t   t t  td   tt	td t   tt d  td ttt     k	s^J t tt tt t  d ttt  d  tdtd  td  ttt  d  dt td  ttt    td  k	sJ tt td ddtd   d
  tdtdtd d   dtdtd d    dtdtd d     dk	sJ t tt d ttd dt t  td  k	sJ t ttt  td td  ttd td  dt t td   td t  k
sJ t dtd ttt  d   ttd td ttt  d   dtd td    dtd  td ttt     dt td t   k
sfJ t dt d t ttd dt  d dt  k
sJ t ddddtd     ddtd   dtd    tddtd  d  ddtd  d   k
sJ t tttd   t	td   ddtd    ttt tt	  dt t d  tt tt	  dt t d   tt t	 dt d   tt t	 dt d   ks
J t ttt  d ttt   ttttt   t ttt tt   td   tt tt  d td ttt     ksJJ t td tttttt	tt  t  t    t  tt	d tttttt	tt  t  t    t  td  dt	 tttttt	tt  t  t    t  t	tt   td   tttttt	tt  t  t    t t	tt  d  td   ksJ t tddt  d  tdddtd   d   td	td  tdtd  d  dtd  tdtd  d   dtd  tdtd  d   ttdtd  d   ks(J t ddt  td tt	ddt  t    ttt   ttt	td t   td d  t tt	td t   t t  td  td   tt	td t   t t d  td   tt	td t   tt d  td ttt     ksJ d S )Nr   r  r   r.  r   r`  r  r!  r  r  r  r  r   r  r  r7  rm  r  )r   r  r  r  r  r  r	  r;  r  r  r  r  Fr  r  r7   r  r  r  r  r  gr*   rw  r   r  r  r9  r  r  r  r  r  test_ExpandIntegrand  s\   RvpP 
l~ D4DD|x4X8h
 r  c                   C   s  t ttt ttt tt  ksJ t tttt tttttt t ks(J t dt tt tt dt tt t tt tt  ksFJ t dt tt tt dt tt t dt t dt t  kshJ t ttttt t ttt ttt t ksJ d S )Nr   r   r!  )r  r  r  r  r  r	  r  r  r  r  	test_Dist  s
   $,<D8r  c                   C   s&   t tttr	J t tt sJ d S r  )r  r  r  r  r  r  r  r  r  test_IntegralFreeQ  r  r  c                  C   s0   ddl m}  | tdsJ | tdrJ d S )Nr   OneQr  r   )r+  r   r  r  r  r  r  	test_OneQ  r  r  c                   C   s`   t tttrJ t ttt trJ t tt tttksJ t tt tt ttt ks.J d S r  )r  r  r  r%  r  r  r  r  r  test_DerivativeDivides  s   $r  c                  C   $   ddl m}  | tttksJ d S )Nr   LogIntegral)r+  r  r  r  r  r  r  r  test_LogIntegral  r  r  c                  C   r  )Nr   SinIntegral)r+  r  r  r  r  r  r  r  test_SinIntegral  r  r	  c                  C   r  )Nr   CosIntegral)r+  r  r  r  r
  r  r  r  test_CosIntegral  r  r  c                  C   r  )Nr   SinhIntegral)r+  r  r  r  r  r  r  r  test_SinhIntegral  r  r  c                  C   r  )Nr   CoshIntegral)r+  r  r  r  r  r  r  r  test_CoshIntegral  r  r  c                  C   r  )Nr   ExpIntegralEi)r+  r  r  r  r  r  r  r  test_ExpIntegralEi  r  r  c                  C   (   ddl m}  | tttttksJ d S )Nr   ExpIntegralE)r+  r  r  r  r  r  r  r  r  test_ExpIntegralE     r  c                  C   r  )Nr   LogGamma)r+  r  r  r  r  r  r  r  test_LogGamma  r  r  c                  C   s$   ddl m}  | tddksJ d S )Nr   	Factorialr!  rZ  )r+  r  r  r  r  r  r  test_Factorial  r  r   c                  C   r  )Nr   Zeta)r+  r"  r  r  r  r!  r  r  r  	test_Zeta  r  r#  c                  C   s8   ddl m}  | ttgtgttttgtgtksJ d S )Nr   HypergeometricPFQ)r+  r%  r  r  r	  r  r  r$  r  r  r  test_HypergeometricPFQ  s   ,r&  c                   C   s$   t tdtdtddksJ d S r  )r  r  r  r  r  r  r  test_PolyGamma     $r'  c                  C   s^   ddl m}  | ttdd| ddksJ | ttdtdd| dd	t  dks-J d S )
Nr   Ng      @r!  gR0C:?r   rK  g@g!yN%@)sympy.core.evalfr*  r  r  r  r)  r  r  r  test_ProductLog  s    2r,  c                   C   s   t tt t tt  tttt    ttt   ttt  ttt t tt  tttt    ttt  ttt    ksBJ t td tt tt t ksSJ d S r  )r4   r  r  r  r  r	  r  r  r  r  r  r  test_PolynomialQuotient  s   &r-  c                   C   sn   t tt t tt  tttt    ttt   ttt  tdks%J t td tt ttd ks5J d S r  )r  r  r  r  r  r	  r  r  r  r  r  r  test_PolynomialRemainder  s   J$r.  c                   C   s2   t tddks
J t tdtddksJ d S )Ng      @r.  g      /@r   r  )r  r  r  r  r  r  
test_Floor   s   r/  c                  C   s4   ddl m}  | tt tt  ttt  ksJ d S )Nr   Factor)r+  r1  r  r  r	  r0  r  r  r  test_Factor     (r2  c                  C   s*   ddl m}  | ttdtdiksJ d S )Nr   Ruler!  )r+  r5  r  r  r4  r  r  r  	test_Rule  s   r6  c                   C   sx   t tt t tt t  tttt  ttt   ksJ t tt tt  ttt tt  tt  tt  ks:J d S r  )r  r  r  r	  r  r  r  r  r  r  r  test_Distribute  rZ  r7  c                   C   s0   t tdtdsJ t tdtdrJ d S )Nr.  r!  r   r   )r  r  r  r  r  r  test_CoprimeQ  r  r8  c                  C   sZ   ddl m}  | ttd  tt  t ttd dt t  ks!J t| dt ts+J d S )Nr   Discriminantr   r  r  )r+  r:  r  r  r  r	  r  r9  r  r  r  test_Discriminant  s   6r;  c                   C   s$   t dt d tddgdksJ d S )Nr   r   g333333?r   )r  r  r  r  r  r  test_Sum_doit  r(  r<  c                   C   s.   t tttt  ttttt  ksJ d S r  )r9  r  r  r  r  r  r  r  r  test_DeactivateTrig  r  r=  c                  C   s0   ddl m}  | tdsJ | tdrJ d S )Nr   Negativer  )r+  r?  r  r>  r  r  r  test_Negative  r  r@  c                  C   s"   ddl m}  | dddksJ d S )Nr   Quotient   r!  r   )r+  rB  rA  r  r  r  test_Quotient$  s   rD  c                   C   sT   t ttt ttt ksJ t tttt tdtttt  ks(J d S rg  )	r  r  r  r  r  r  r  r  r  r  r  r  r  test_process_trig(  s    4rE  c                   C   s$   t ttdttdksJ d S )Nr!  )r  r  r  r  r  r  r  r  test_replace_pow_exp,  r(  rF  c                  C   s4   ddl m}  | t| t | t| t ksJ d S )Nr   rubi_unevaluated_expr)r+  rH  r  r  rG  r  r  r  test_rubi_unevaluated_expr/  r3  rI  c                   C   s   t ttts	J d S r  )
isinstancer  r  r  r  r  r  r  test_rubi_exp3  s   rK  c                   C   s   t ttttksJ d S r  )r  r  r  r  r  r  r  r  test_rubi_log7  s   rL  (  syssympy.externalr   r   disabledversion_infor+  r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   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  sympy.core.addr  sympy.core.exprr  sympy.core.numbersr  r  r  r  r  sympy.core.powerr  sympy.core.singletonr  sympy.core.symbolr  r  r  &sympy.functions.elementary.exponentialr  r  r  %sympy.functions.elementary.hyperbolicr  r  r  r  r  r  r  r  r  r  r  (sympy.functions.elementary.miscellaneousr  r  (sympy.functions.elementary.trigonometricr  r  r  r  r  r  r  r  r  r  r  r  r  'sympy.functions.special.error_functionsr  r  r  r  r  r  r  'sympy.functions.special.gamma_functionsr  r  r  sympy.functions.special.hyperr  &sympy.functions.special.zeta_functionsr  r  sympy.integrals.integralsr  sympy.simplify.simplifyr  r  r  r  r  r  r	  r  r  r;  r  r  r%  r  r  r  r  r  rw  r9  r  r  r  r   r  r  r
  r  r  r  r  r  r  r  r  r   r"  r#  r&  r(  r-  r/  r0  r1  r3  r4  r6  r8  r<  r>  r?  r@  rA  rB  rC  rD  rF  rI  rL  rM  rN  rP  rQ  rS  rV  r]  r_  ra  rc  re  rh  ri  rk  rm  rn  ro  rp  rr  rt  ru  rv  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/  r0  r1  r2  r3  r4  r5  r7  r8  r:  r<  r=  r>  r?  r@  rA  rB  rD  rE  rF  rG  rH  rJ  rL  rM  rN  rO  rP  rQ  rS  rU  rV  rW  rX  rY  r[  r]  r^  r_  ra  rb  rl  rn  ro  rr  rt  ru  rx  r{  r|  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r  r   r#  r&  r'  r,  r-  r.  r/  r2  r6  r7  r8  r;  r<  r=  r@  rD  rE  rF  rI  rK  rL  r  r  r  r  <module>   s2            d2"brB"`


















































































































			
	
				
		,