chebyshev.ipynb was getting too big, so we're starting a new one


In [1]:
import sys
from sympy import init_session
init_session()
from mpmath import mpf
%matplotlib inline


IPython console for SymPy 1.0.1.dev (Python 3.5.2-64-bit) (ground types: gmpy)

These commands were executed:
>>> from __future__ import division
>>> from sympy import *
>>> x, y, z, t = symbols('x y z t')
>>> k, m, n = symbols('k m n', integer=True)
>>> f, g, h = symbols('f g h', cls=Function)
>>> init_printing()

Documentation can be found at http://docs.sympy.org/dev

Now we try to mechanise the CRAM process


In [2]:
def bisect_roots(expr, bounds, eps=1e-7, division_cutoff=30, solver='bisect', **kwargs):
    """
    Numerically find all the roots of expr in bounds via bisection
    
    division_cutoff is the fraction of bounds to check for roots. 
    One should expect the roots to be no more than |bounds|/division_cutoff apart.
    """
    roots = []
    intervals = [bounds]
    var = expr.free_symbols.pop()
    N = 0
    while intervals:
        N += 1
        #print(intervals)
        b = intervals.pop()
        try:
            root = nsolve(expr, b, solver=solver, **kwargs)
        except ValueError:
            # No root found
            if (b[1] - b[0]) > (bounds[1] - bounds[0])/division_cutoff and sign(expr.evalf(subs={var: b[0]})) == sign(expr.evalf(subs={var: b[1]})):
                # The bisect method will only work if the interval has alternate signs.
                # If not, it will miss 2 roots, so try again with split intervals.
                intervals.append([b[0], (b[0] + b[1])/2])
                intervals.append([(b[0] + b[1])/2, b[1]])
                continue
        else:
            if root not in roots:
                roots.append(root)
                intervals.append([b[0], root - eps])
                intervals.append([root + eps, b[1]])
    
    print(N)
    return sorted(roots)

bisect_roots(sin(x), [-10, 13])


115
Out[2]:
$$\left [ -9.42477796076938, \quad -6.28318530717959, \quad -3.14159265358979, \quad 0, \quad 3.14159265358979, \quad 6.28318530717959, \quad 9.42477796076938, \quad 12.5663706143592\right ]$$

In [3]:
def nsolve_intervals(expr, bounds, division=30, warn=False, verbose=False, solver='bisect', **kwargs):
    """
    Divide bounds into division intervals and nsolve in each one
    """
    if verbose:
        warn = True
    roots = []
    L = bounds[1] - bounds[0]
    for i in range(division):
        interval = [bounds[0] + i*L/division, bounds[0] + (i + 1)*L/division]
        try:
            if verbose:
                print("Solving in interval", interval)
            root = nsolve(expr, interval, solver=solver, **kwargs)
        except ValueError:
            if verbose:
                print("No solution found")
            continue
        else:
            if interval[0] < root < interval[1]:
                if verbose:
                    print("Solution found:", root)
                roots.append(root)
            else:
                if warn:
                    print(root, "is not in", interval, 'discarding', file=sys.stderr)
            
    return roots
        
#nsolve_intervals(D, [-1, 0.99])

In [4]:
def general_rat_func(d, x, chebyshev=False):
    """
    Return a general rational function with numerator and denominator degree d
    
    Returns a tuple, (rational function, numerator coefficients, denominator coefficients)
    
    The constant coefficient in the denominator is always 1.
    """
    num_coeffs = symbols('p:%s' % (d+1))
    den_coeffs = symbols('q:%s' % (d+1))[1:]
    if chebyshev:
        num = Add(*(Mul(c, chebyshevt(i, x)) for i, c in enumerate(num_coeffs)))
        den = Add(*(Mul(c, chebyshevt(i, x)) for i, c in enumerate([1, *den_coeffs])))
        rat_func = num/den
    else:
        rat_func = Poly(reversed(num_coeffs), x)/Poly([*reversed(den_coeffs), 1], x)
    return rat_func, num_coeffs, den_coeffs

general_rat_func(8, x), general_rat_func(8, x, chebyshev=True)


Out[4]:
$$\left ( \left ( \frac{p_{0} + p_{1} x + p_{2} x^{2} + p_{3} x^{3} + p_{4} x^{4} + p_{5} x^{5} + p_{6} x^{6} + p_{7} x^{7} + p_{8} x^{8}}{q_{1} x + q_{2} x^{2} + q_{3} x^{3} + q_{4} x^{4} + q_{5} x^{5} + q_{6} x^{6} + q_{7} x^{7} + q_{8} x^{8} + 1}, \quad \left ( p_{0}, \quad p_{1}, \quad p_{2}, \quad p_{3}, \quad p_{4}, \quad p_{5}, \quad p_{6}, \quad p_{7}, \quad p_{8}\right ), \quad \left ( q_{1}, \quad q_{2}, \quad q_{3}, \quad q_{4}, \quad q_{5}, \quad q_{6}, \quad q_{7}, \quad q_{8}\right )\right ), \quad \left ( \frac{p_{0} + p_{1} x + p_{2} \left(2 x^{2} - 1\right) + p_{3} \left(4 x^{3} - 3 x\right) + p_{4} \left(8 x^{4} - 8 x^{2} + 1\right) + p_{5} \left(16 x^{5} - 20 x^{3} + 5 x\right) + p_{6} \left(32 x^{6} - 48 x^{4} + 18 x^{2} - 1\right) + p_{7} \left(64 x^{7} - 112 x^{5} + 56 x^{3} - 7 x\right) + p_{8} \left(128 x^{8} - 256 x^{6} + 160 x^{4} - 32 x^{2} + 1\right)}{q_{1} x + q_{2} \left(2 x^{2} - 1\right) + q_{3} \left(4 x^{3} - 3 x\right) + q_{4} \left(8 x^{4} - 8 x^{2} + 1\right) + q_{5} \left(16 x^{5} - 20 x^{3} + 5 x\right) + q_{6} \left(32 x^{6} - 48 x^{4} + 18 x^{2} - 1\right) + q_{7} \left(64 x^{7} - 112 x^{5} + 56 x^{3} - 7 x\right) + q_{8} \left(128 x^{8} - 256 x^{6} + 160 x^{4} - 32 x^{2} + 1\right) + 1}, \quad \left ( p_{0}, \quad p_{1}, \quad p_{2}, \quad p_{3}, \quad p_{4}, \quad p_{5}, \quad p_{6}, \quad p_{7}, \quad p_{8}\right ), \quad \left ( q_{1}, \quad q_{2}, \quad q_{3}, \quad q_{4}, \quad q_{5}, \quad q_{6}, \quad q_{7}, \quad q_{8}\right )\right )\right )$$

In [5]:
from sympy.utilities.decorator import conserve_mpmath_dps

@conserve_mpmath_dps
def CRAM_exp2(degree, prec=128, *, max_loops=10):
    #mpmath.mp.dps = prec


    epsilon = symbols("epsilon")
    i = symbols("i")
    #c = S(1)/2
    #c = 10
    c = degree*0.6
    
    r, num_coeffs, den_coeffs = general_rat_func(degree, t, chebyshev=True)
    E = exp(c*(t + 1)/(t - 1)) - r
    expr = E + (-1)**i*epsilon
    expr = expr*r.as_numer_denom()[1]
    expr = simplify(expr)

    points = [chebyshevt_root(2*(degree + 1) + 1, 2*(degree + 1) - j) for j in range(1, 2*(degree + 1) + 1)]
    points = [i.evalf(prec) for i in points]
    for iteration in range(max_loops):
        print('-'*80)
        print("Iteration %s:" % iteration)
        system = Tuple(*[expr.subs({i: j, t: points[j]}) for j in range(2*degree + 1)])
        system = system + Tuple(expr.replace(exp, lambda i: 0).subs({i: 2*degree + 1, t: 1}))
        #print(system)
        #print([*num_coeffs, *den_coeffs, epsilon])
        sol = dict(zip([*num_coeffs, *den_coeffs, epsilon], nsolve(system, [*num_coeffs, *den_coeffs, epsilon], [*[1]*(2*(degree + 1) - 1), 0], prec=prec)))
        print('sol', sol)
        print('system.subs(sol)', [i.evalf() for i in system.subs(sol)])
        D = diff(E.subs(sol), t)
        plot(E.subs(sol), (t, -1, 0.999), adaptive=False, nb_of_points=1000)
        plot(E.subs(sol), (t, -0.5, 0.5), adaptive=False, nb_of_points=1000)
        #plot(E.subs(sol), (t, 0.9, 1))
        # we can't use 1 because of the singularity
        print(E.subs(sol))
        points = [-1, *nsolve_intervals(D, [-1, 0.999999], maxsteps=10000, prec=prec, division=200, warn=True, tol=10**-(2*prec)), 1]
        #points2 = [-1, *nsolve_intervals(D, [-1, 0.999999], maxsteps=300, prec=prec, solver='illinois', verify=True), 1]
        #print('points', points)
        #print('points2', points2)
        print('D', D)
        print('[(i, D.subs(t, i)) for i in points]', [(i, D.subs(t, i)) for i in points])
        assert len(points) == 2*(degree + 1), len(points)
        Evals = [E.evalf(prec, subs={**sol, t: point}) for point in points[:-1]] + [-r.evalf(prec, subs={**sol, t: 1})]
        print('Evals', Evals)
        maxmin = N(max(map(abs, Evals)) - min(map(abs, Evals)))
        print('max - min', maxmin)
        print('epsilon', N(sol[epsilon]))
        if maxmin < 10**-prec:
            print("Converged in", iteration + 1, "iterations.")
            break
    else:
        print("!!!WARNING: DID NOT CONVERGE AFTER", max_loops, "ITERATIONS!!!", file=sys.stderr)
        
    #print(sol)
    #sol = {i: Rational(str(sol[i])) for i in sol}
    #print(sol)
    inv = solve(-c*(t + 1)/(t - 1) - y, t)[0].subs(y, t)
    n, d = together(r.subs(sol).subs(t, inv)).as_numer_denom() # simplify/cancel here will add degree to the numerator and denominator
    rat_func = (Poly(n)/Poly(d).TC())/(Poly(d)/Poly(d).TC())
    return rat_func.evalf(prec)

#D = CRAM_exp2()

rat_func = CRAM_exp2(15, 1000)
print(rat_func)
plot(rat_func - exp(-t), (t, 0, 100))


--------------------------------------------------------------------------------
Iteration 0:
sol {q8: 0.005463385229468977730916600742375623845455619952601565201040525051058109969563323965009036685360870472784376477376823488848737330928391857700842834654074997547465219088377825871978098214192580994355204805259920831722705520466099948464157135677702579093963916165947660008403217235774288796320172247040501899439680923765037743077591446080076737821800992364048418769345187681068584819497098413791534836516383744577860197658067093174331770270273187727962230631801278602050330594650620026697264234864479122596535167946652618975301853832135046863974760813814122856058895711861968519046031131766389873386568316317416325399805257406662547900325490791315243114844435284091310039666857518017321890777238762030731588318309564230528654477569101455866590324684700799623536739399857644789963621180301373074427282668364628659801241924111209843759361169563850351068560276246821245932851766944220220885685588268259640817222897139531991880441244782317384123683207757931508386417403387328250439321130363092076692605436603, q7: 0.004738895453174642158427477950393199271272242132553242078361853239267182235296343799713538755218281640177994024232805500200143873166383731805670408304538065298421531715247059299962271626163053282909483381440332816454186004451404258751180879032476102674125814266575452904882602819294185540221219834375762035245960591379090526267185080989991424175943130611006089643766021268289100905504230340363342110989535184755520824379451250696668423887467974717599735875046841376140010936255240758439457425747899543148466758491718386664270811968895517693168367346032619617961911211590401985644526962896472372461070659020654567388707753370207117663830189535524584753059195953568238185450922243516399092929614232878181841183103939381804923427111203303511068310245558895192540266214839197124688336295986421597192317809998264006272312465276832400662864505255003099384071731539269995794934600273248321963068889940175914629351380594892477592564770739243703105244624353246445876064423712995840850207671727930655003845147707, q9: 0.001152706284204982612579766956060937974171210474625021373215701768059371720217851202386862247379173250418369776219880624847306895563256062046517336657364247207870190891288499252704423925365367436696055074599041239688451298329208545486077286384986613844039403812596511400425133542389967221302859021769916141893658300630864211695898327100853213889894135673346344268422120456645021716665821250660499621079980152530276446958701065855461732846506704924475041581178985264851091301626847787851659615060848494994831082438640786407460490227032548126282363122424644029518614599011824500361692252877718515331659087234956521555731135008221155912366931948993004493591470339800070601182365166087708996005977863140789765293052978320069757774048171566721484664524962868037116199372941374965146217788366260518339459222647161836856232694501312276028764071886118914188777956335231799029583613586907389898530677504572686624223429665367902170989123409746506998185868761522360208133862568067627450132023070873633256918144395, q1: -1.148352362146599397012814987532118551475378188043441129932852984642568351057193012892767468659156188987162471858484202199551229978754184823514944255346933115937411120581465733675110544732113763796163403979445163308052745339776916961011157027773924716312940356754227723852458077213326611702146870259112037682604557322998613702275518421074684481637566044617094730256385531043195385335585281356062018043998647886477210636062780406636929531870244445871201117445700730017698626213778597574251930002375894611831369036304536320304639107297153356337680111008464006198124499084603714716765240575994075678883840678652382683272835991105650791599167055926372954228203504372794512106779231623928919754784786751622845771178466247883971886901436902273389082071219230513458603535792021450787092000908128552832379286577626263069373176893828456116231512946113975259912218484959960180943288504661203378082094873864760908332793427711452991975320335937050430595201688429465943774177313846385062120887487406948983147241829, p9: -0.009281138272582325322699749889615575027946622091219406920297339651461308861568800631658909243467332195764635300828972369355338014082419874380515351245751281598534801192436155116649450365361422611012328697344088482068734134265458262383541304136123800565514421459394759954073274419788822423954242855487026784269714799038180829386468922255593647513875217214393692659020134713617766379256669029812815427255379316372290462218097024598339689401629782878953765441748148930673332580348699425649310740800620519358177099514809250859863908039908016383345857129645056263514121749081907247437063710533870327473195085827204551870181198659297267490598889271773808506667362319596465430308100092100019058284872798388943669219202368580009071608236710846858276484763908137127404930928397743175869542393393295558278448281763964915990702553667407239377617575410702157684524418180970498781121522160300115192369271602936121489281048174461471315642835593813074368873886498278360195903658921914047052059772337793009241678302804, p10: 0.002685862341724177438460088137734625367797021311579690418985019784912665873416731986104204558192492072608767356602416959967274195248303194600635489386434093862227856202339683560464020863139479061038569613609930111195240279135041252623337857302050718760798498750253559935064345678121529434532246204473852380600263318839720167488217276853229228796350087332910346673024049285866599784066481479896471082561045847666143907663350741692771756638847257744696530097069647534709422117548161137649735314659551027044101082704371397739007787192456959640713402834904168509486379859083007978005233852259302902431873807574789016940354643451295410460406603657060694687490150211469196681304095487571642734252472579577889282523593895976456326045564725923482211865369388721845572638452542616984590305844947548089255317122061525234227649674640919257116444337912128800169643335795744269129658081911169722331824349212677604085605715026448395347060041351171703580266343277568772962980321072307660230007446241837727951315448116, p4: 0.4560098591358681516207660837054733440089498656033322916366741469597964606086747311495748053453504582626516032892901463317744075250007027256768724199287117661517991815316212496793606861159688484683632196180247515632105322470004987292259972274716841189650358461290206930083841141520839679943906369286257255812745645620179268057970424378565365117119861310771401362178061325013050936645538420302873086943932423234471846832490250481269772442736992531613891518012953105939860507966094191167929907603283532345022379416387310734779641425559188808029722926509968195090918847346178581857198506707576891574353890737798687932934911290076061343241103097721483646507280635143530532608854508260664201483947769963159038343691334481154933781962386570823921060577235751105088124787858365642634153850685007009387130824478998450413680490597605932852211064903517141292301894259658100583549367023978743790184097233159956755008042240781068792017741487603678425422006002179753252289625297911336260000260164255810969407013594, p7: -0.06701683181724890568626478527469166386992944664232640673967910369214037039232337800275527202319586546213684652698242775801245639240027059523754154307912712740015425387871755087864624126898596350408578250474727140835052536922299607058381129597590386195722950639760330794264263169253220743690676021864082467286077646918670337532082918805437180309168818440468113282113947337910282119251729609454252160909561663733523433788828639949786535965615971477248499155150475792111455288528821674307605701533973018273981799344972241425901301807181867917705271958976014409803124823917541833583838757510532802090632526139270927758887255094761666631731722352370492358121298074152216728930827364739890230983110955843776642120956893680568768312715234104266729979581298244983247724005842083455613532834363105313274289033768958708539563398905736616116517802357244267530461938705534168736076567753828772832721665011907090209267846426408776201324155640629099646952067142323313806827692428107425679956238494841312624422278172, p8: 0.02695531779474421551111416501486447022916338775842449062488546950512528028946860500110919368837087794607486594565076772061914042596687766129073632400693640639779431521129326802076439559052031286016188454850064547055161591998125718751403472610332164556325484270075309739407067698647824981252313444627317157907939636654779980064232427531003955069833522874629361395418274733109518086268573265505040232427736109076479095779737110715468393777842988541379526428479644193244353406242367523185327937598543645255856505896910731208039095543162134730068313597625012883717058009700693505213954350886002179326534305586526972617481383260144192640609488971852695345384796661398972747512479780546721715972351540241600118115860605268918936893855381730911395399821802364379163230927242305630326374258017185112706951044247718049226390841939800043605463092423555854995013450964089376338630425964318328095717298878319991604293730260619432976593614367004006774466118493865726158083245317034492989146867720594753030715888536, p13: -0.00001643262045945472647461342457779725958210705552736097121614725811728134969607272056326158595968457387551626550827053926611225198902134670047306180591118057026913202200102032179292868837083562887502575026584781325581092121128601694255649468387866894209782569085955836704007674702987506236367540830667811580351804453589133890427466407351707804864105729702382246992983081546145997348067117600462794207493284042756331181846952083829573197853471437502043645848623422441754249101317212329392724642780092143106083407782253885117963673865150195207839018853466922234352674388259326696454047759849789849762761653171404786823882520348029849194659104716207952945060117366598885980671167857780325910641497781826650957230276776563251672431937537381412595125011119678242384159357482340234562532334754783631977310467276782213568884070915057693131533849599338145778159620948457766661525379397689630185252526941727781005549790253611919881961600505250650384656539262045798657757501747888023838782720756075781646747718386, p6: 0.1445584213056228328291288587208050607203169934645495625021347464933729891713081430378356323673391423209160377368897206324910128988292395749654493959834314135798357147206245725096772244299259534855911573048804294085583322321911939923153807720366407020386456156399685623727548973362576998079211449139513073157338520206333569918079801941922009646146203584405231881225037089681319696024913417163441583828639228782864077053320497079347895619368234463921710013054207632209301246134676343642771349529736230483459741771919598158646081617785321971610675943335145713056288541406283031549760538432882252130662302487290042370740050929203170056394407954768083616087193490295067916438561672384978102173327797171429479800233606353566745660678771950038910856255171460705966571679119257409953659134810165015777217271021686447619470734088449934358610141525979075067784684876467781467283578817678717641558298084169182924777365452473570645781106417722369160279555376658898125663900855502187436020593992238180251076939977, q12: 0.00001719434486116499827595092367414783079474353940246196794490429446369423891876641904959710422935416757697508290757396642350950972844210073263789502227243773170679583757549720646747814656519958820743123942131583965704778272838526532240314214020509342944839390850958021298090852640467955158839123647292705506292402131864618579779863914591598678310988230568759937315399226629294486323950898409786462860608966853089070012455282690830643994511600902880584740364390057761446529319612199411190538484489006875173657918359040940822578255657675482016807773334991165399764987867639754707654160427444138534935869068250520817829220147870436099789119761864521512624259110336912863976221881919212247704300376161489818450802245406767224343532584789168040212430678288461480828943347412816268526351634191267500796900901671847905333428184444755763078308213128958029503894297271290590521513283248712453246258728691612849816417153929969004491203076338013265044545407890586704707354497129414304065352434305776528581361727772, p2: 0.8922500430729679842410862004401322317616608028934753400562045760888110257669889186610707347106052720336086213559266605309329471852358375927071193256388733787299703216243568599117723743603498176784545660016832630698802879603089420395986018657200174792088152249961728596788289726146674098579805155025070531895789117626546967250390372997380587564243986481601781608727961385287000651500823685735427738235494214121456073932895867703924001898139591241950681028620278809654128102527705845373880034671995695344387198987253839652516790156121832449781822510050610770875104676781433047774189989150294554084459214903794207439986791797444891608888046852104027971209915731979695714750870468925194874272955739187292907955608397455258165470303386685184709024976452377435308763889995115176395823100831198699006601500360354747267632666314491448849995092267540103648511928353743917420897495427866934681369205721538546887371401856074920623793879681933907835472903991402515253548396842780291232984864139345405139568890223, p5: -0.2732486698372423797618186530350415626611059883674898373047846748150681897100718064419410217555612324666339881755352816519095122534037846538690443738591343023090260779107101759758669062886656901149881867596193092208070654467286617193084748010494000907018588484893190275866779606041064737027725893766730502231817657389490305301692662290808540913801758964028748652606562096612333152206524129980154775394013530767539938496094164616108012616900167479397859231378901040150810916608243563490602322909161353292843685432536510013962932867906298512528820852446905383834736133387898560179894915912145826742506223908271966288032663192470565599190741315861869310354147210093020267454566481758081283195161338130453614634049958254797482739025987558131055594801539922900297826544164816646051363906979023631290765810924471596528168159946388482958098731243109803847390693216442453227999598004347041834258663674993296669797509375869074761876991061831944298813351180440306662779603731540694351639365968587051439271497157, epsilon: 0.0000000000000003868104904341161795227152767192343958742874596029170322827195112042801264632250873838621527773099511691875011517651037679382201801532909491605352265020893910946642325741413892302899874659662495855492422483558475009662299803177438704144004581693594718826151498694988657287253631180081814045047270417546136578414596825101266820055970848595299545130366462232519024615512451294139309512460243537747063177059111983629750964829297212657555334940501944395604257256061297500080981025351241674154812603817747589195329157421447256482402731886489907067910498550446833375379661637425592619308839083241881844834663039576642563066072420406534493230233492650729452841602102295102809264906540393505945857133211991309610729537610176134396811427774802378198412187205085197585820549115013093805317870943870734393881452562202163757910029208847786614466442694158278980552319005665197696462957952644565628777482529168435380309399940397987922254207835197332833618231753499030599159475354536951308789825463975860911636518641, q2: 1.218228072668408557455661513110346908877015046982799891557963919864420382982701186007631779569195683810560773204379658757533079562672104772342418251234570767858137512016915565410716026313305640649858797596168725403610799422357964506232832820807528672469202579313754801080819410031130150412239789296401809536690651684027462854782006531078331270728807699462915354679463868929470293625804703092020320449464735712345173711558009888087346189809546778180409823550065689494280531445349981790927258487109049992942466347963698893360073495203404445829270155512826232353472523831509427853028311589413443015652689438247219846221482504131566896121167377248788117721951758210362049695158791351678300187261432845774989218657919096726100997267900830351778305262190970335641555533750686678706461267820733287460337249570287593662367418255699060587747989097704269044491090813827899120872446559765128219342477908656188449363185805314471712776906441623542806076429487845370319800584858456966983198586108189648562232089991, p3: -0.6756212743375994555590731295380233148505425646440454233000742442860690054837555565907497112704403126495217583972478413506852537862652025570305992502381666146358490413256033328361560371828464618318585178981132894864387414187819844115067281219428282885328173962880146373258483815536299271738246212440082701003425817884246951390275487849166317817832125086333395225677311706783837111444591693592142858299258016792323327234183594889220071697781069623661439436911687218465928895292240239692619170234275157266112080253686625508800369298949473043515528765582731807999055153226007988656260270339686410404983120791862643458718781110037268489624275748796066545799284925337425145550523608880583300069715241506106486161959765462965335958715513666781879500717979425595700949931780885142121298168020919137984651598155845146316746530292156972301050489904909286121805923927853937659797069102448395830573552610042696116088264041147253736688348939790720607801237971325403365338958681122264716541648182703522074385057498, p15: -0.00000006775040400385666405861363010748585355385209742640732843749767755223711957984279787794537080564647085266507185678841777136630636094888391521631728873368786642548593043170050868273740224712809035712817464997277557499059306743347457327046501168865663856434019263765558997226471495332408523172133492337110814300081104298371028253115788041833109357084977552173909700027829543228779359192647930151081543207683948158347178812571240509876327293434630547152061763978746483478337884023659608634584743716745365963453521641801490833632199633926336595496937029936506400258897925309952035634090613386874188383302791669490855304730254843287282643922122058137268347260084145828330706924849564031650428581135146929136570387453216857795179432830651196356129232957789401256294599879241186902059035730292786027039586459149324722876557077497232121259830091691225166346678488822357793261748584309521366968202110034921429395531296343541680532087353185641869286417816463261134887470698374461939351131332862162585180988359803, q11: 0.00008685651930694648251018668518110950219199824794295957146594048632805724936717894429699515941398829516864178956097154346993463642764750657392834197716859308894203988641350905349745543452883888635444366499051556326943231958852517841651825021615211275329125802769559927740933660345439462754452632225622137980727087492271215299965230885711711944555479359161525527941815884161313782581725760584695041906979418346079696964974151891220814280982366911457033824818895995079451156349046223905018660290060691160122001796230640588231326108002083361094859513880507360562472233010005120040429242934611148479432086900913586155567312307026865132000548003031223494472066326875083672997131618014509046104935360531729921151298303774302492529473790065570410125747124716126505857826852867004147585843187633791424785838266730532709065146462694171222783055512498539454797762694273572027384104507279250137726286454731928182884138665184023906465442978995053823032811510289698104104456241507037648731859780480292232584498596772, q4: 0.3347990155297382583061263701897614281028626454797541562759132115294526378303565774845627667630912946960256507371754924668914001280843341034066775681900992540163927356930763624266771559554374198860448916073431167437300015084864284906160661304286546684725885813555738390694381036115461689216873675493301990065538494746983770826669599071356195981620196180163067865066855497562593064904215763922454505369718939535719992538003517153169548835186916122630898774437813702090711006309809246847369834951220190853659923717282266342677248068404115540971402356370612573781549779028605495415004551864657687072249348184015787870492037823005735426073674618764795185590363468022313518385565836491451711185417685409847271729447837303314804810829372051270923171506376418703576310925072767347623903325938145205643210666424399189270571417019008579122201145941310281079419199970319866610652905468060185897053298788590924180898831065158732574778657010603311965760119409613849985491105519932952034192894357535766457386329383, q15: 0.00000001152088308371057355017489299273716602569570185283584091732193621188199618434003364543586275064442350295889486313376192442370094280031804719767339896150947094996814367470890959992491868899353772232944607742664621581955229509055912771445372520629349720592344576057599148964871681271028130857869761249297850104659693706719664373306826811464787732226186871312119072437390838110818985797151283537770500750022564917516149707402156893977104244843314596809509018437182678492922689544437168110636043781102986579835991445383506933190633504789569329099184377210762985218841674858348922679693897639246131795584134208856459218618776570234975616619983364037558757320681204762508834457958198995858322784853977982216861345494237644819375846273013331790524535745374050810014222214559061502732046538206674919000881396896744861774100250278737310644103810701073751797122553152549705174372806062700094990004760816108722264691683274382872196983564271049909175622048160433391207714926549005534408194095737005499042638844612, q13: 0.000002410656736546815083724653045054624533620925940711948028156546967760444049305485730831869230984370375783795176338618193720687933965804676989935085582431879340004702028186051244812254596749454815780048532169964413159914380036197595852951664762414039466501970351257640550495866280854225807466996498626617569288252568908465142972184459564864255217168004049003496099385870857297721984839043319380251042275539347876113713230127229938211214450348126934857287761541209440690507923574600570600428411357708254736689899138961756790451701391782624033759074851967223125912790492267104760188785296885366067219695205140053597610420315350862309077100147566842218482200662978341241289816663269191717767046007477225815612237976061826210127384518262178582356703668025691784522965409802472227684261128213024297401584573672729501831079104169311863638741860198077880544286360485969527065809270132175087679779045319396964592279171952479549737857686888455557352368494191082315898903010809506838339696629929076248873182869085, q6: 0.05154013259380542556112211573339870568055062345021659681945188464799359741054370498672382140031113420161042834401302187930086605088393474123191426608305645693968436199350963345571565109061757056590779527677568537780869519189108544349534354440519933013283943704689546101004213449223100431148727269834137153831950901801724299924811929808778068484529569379857662366349560821168406579693693221248085590812330574842271626795729695739628849184922108148605567328458796764468078500432262027593236821555520078748174554192956763605190245907339310927405676260237546938675669600736282258999217177812906492825486844186968566195458684307258514039871173139937674446825809656827682335865443249030741812138893741486133708573896722247165594757680360839943876021901236232834938528150877959876703929000590694579925841789306344822798286511123654077115781992423887628842093358029900995797934119725749203382636708416004699649290085949418882693347270057044406391329559160447732319206640861633490367761781411434312701793732793, p14: 0.000001498404148577785397735830364044853840539893506530486617462741437308992976969311840270744520387842184253082515789166034006114655954120489862132729513661245352381408459752307040347589250235576891775776780596695604304534247755196560072036739196798935291083436420458068920458318102721597021282493460231732736741519243499628610719807459991552708178531237430115963596962429133204856982922515733728220242891289884568417042228082916479135731663019649840321221849236701127932330206937898165432496340356326698354978888412114229481524226220261540735749245015636856588646462094191715715737859592650140505844225634370649896385635867044594219111592972848727440658540769431395482906493470322398502875340762317532821888756400702716084275550198200321930277295392967011341312680840918845582606093723839017447419342878799380859290852012481939825469240665046151341886218164645555493456790696238253506269879525834343961783967765194570793088636038432378438720395326871825719351301385268511515752955186426243181288539656134, q5: -0.03205560840195828791940107062582933788640277083088444071091101585322630668427836156949160044561107777934090906043020261084030639087756283279636765783206274748180373147549806558353222393236268855562722390256194472198626016613655890671860586868034547460229969152220059515742325044269833631654252098366808482753610408730484998441131951583799075762568454459647441679236675295205331400561560729229635785687037381421546843850160435693238081683192616426647085957359897372480537308584423792331000798873402819800155985641938567373827358373766250055432833263542524722019390097543470940510388104345583256049669854516408449238161531846860092711292944271244621203340222203332967423682111674413508722959592409532532322116367984106446774521171516372759318731039070816498062161691177282977636514144998471019347192525051879888464886536328514858244616559801918296692787641253779155535274682525493229513217830635077492481598324417170744554458521861639283682958518337502745528974965816634140620095116071078949225197259186, q10: 0.0004120413594629924041427993828307600158986658960978376576467329812369984338438716174484460268856683954601495701631886604691059526519458799422270106268760121129622118409302840847944904987792607939385382487914817975467026937501651408621973181096104642755550294553282094297350484941094018390090897615326780930318733952780948446852942376213529613789558311742561745617020839567199448227484035645826904418663322512238051260938660039205356812114880192713563723270154041945603985812397367939624426931632299822290979209751482389492221875609367327300308748570755199271909434423946702788612254291612128070920306199333401341078787992329006292134066197209021872660904590527693451718498175060748592744301489223474322575674694899950742578681125578763037427896254464753116463483687813963390788932917362600623464590394477149163946712021197264358695699375498419701114236087383182083801195904936355775347996976320296474609768566959212323966326996218646178532158873261272521646515803068716253522981722443875158327539813326, p12: 0.0001188642419336033887211662956957125414764589533797398998464650491970641334720901861790296638091520798666158437332669158991508636553890672187485488302561490495409335489822862795886636059118345909819083068107187630725634914790617638052036167239708981082565002467262674987542265832156845873994335824632187798158198220730485140831011573531341076271041055122228495452713685725028845757230545188254626419730223887600605809345429382979437960374855571896229785948054658093122781052295210922400350903638408731012834164637917804028211332282823546306522847627558716178158019548658593034620384318830712541149821475966313269519287863451865893407801200899172212899084730133802125157172410018135532794158759030475215844802231471386249692660390333955043345475892496618909468904775037470499270145035197012222748047471006465930300392488700495164432242259545754768372887923189850174794654020964141496032682609593080823639786125374364938362038205305646059098751355560342907194448739774967866434710545583206520358383865110, p11: -0.0006365364936038485433458064305823597788572065845387026752174608606513996879685061683524780184547371886927396167924545511659945927015528962277698799448890039661866926141431126219230163218263895998263423601953564874203088018170304940341917684205211846873419384951125555749905547722252671993628646590279228901148101651727756868040200171373243608399064705600684446898363704949063410615517810609677774981636287133792326057358108092098219163059828143285076671952543885806265015722044005088887798403991527549403525212362407424705529478870982950739391234172732997351177983033254633326534398606875077195171843992858254301304688847530103889407430719763732243091509948946581948987802123169563260707442179394524381017611313985356556883202352826263123673579200977125808369328068816896384438309923088853976104680971428023263484319753713989357756362339293541746781387638282900092017563839289866965205118908283536264763006057548362904886292357608071368062264864889328249781110582191749685927473109679405860091683465747, p0: 0.5564204348698052234397526876482989470340679196501998860487688042529573073532607323266002385285016478933463791223781355314738410328188185311887086519736087401746296600292733738069328117451283815837663706709278651596600062702766239321732275436882677880786080451965905623982946616427791885160255869989923825163226265389818739240930993510759517037663595568468513511075104786173765930771666393679492804694656448635464794042509002080131673649846850698877821384205671628925671793864039293468077004427190491621152300940077257763063307881471973231337013588583400533540035789404702401836189558485719207342379606974768643209009285421974549447521209716757353742798292392231806639669416905487012799805081033829206041117625564754117932584535917361753033852642286459662694490439158889635955074310714358544846224986176712665915334922894228737078785327708332438637636163900578626450382454596784425024097862855521892129020403859632335615631114871227615206763753873040920479833148513737549188958251443739851982219477266, q3: -0.3731134357053760237745654648187879341824338651294727623942049673070920111014721515849780097481932356985116036747760146455654659932114027703042197247747322218258502268605704721479940223510467873623816792097816971893130078404149271374493071257614697063646177844582523115748335890870310723401216059033326130213331970781397931056409933397724991483037737108610388727190510814351440956736580718076102473574411273413877028749890809699410699296419696424494733567475869331772832202461027267399520760928447494477101011843118866091814494043317654062529241731764886239950783862979648191258367045512789745282613436506550877029474125516460039399944409478095706083875587195257404404955656037435266611052547165254788635153334238823962293861489843247777058518120573132986116922170184220587811248492603521295961223970941377956558534191761782395780144090208368649909042554099538104045139712603242976019357849675622978372051308296164042570371869210928874171585791692227802388667778221874960298823256481162032899351571594, q14: 0.0000002347882102004562688274130339771076213295143586354998635514589238188586639198883204729240766905742537332740678178730395052135359225940462615342826433677755559237083301960326461727925064074856079644034304315714936303399012343321986098806722069009225742337038033575210054109911402881225230433588481918108608923099690571254927095838861427473406478129878572281333036557396905623949234778467686231052482408204500980471496421404473719976003462711224626877072195751858859353958887765276735482258704504395869696509836352873374631933201995824856729714865565287129512401961630366269214323014053675565300426910773741828541870358586854559258679087653812328661440901501268090467573813816008465707519276873449818091273880690093925480963743036565590211457925807733908114988669062978755818164889061880574104487483509923295307863923250039241947637421049055015211177199376285804853406472078994267947373417264635275625221635675289589981649343325616066119217959359346360537057058806487529112194227355494121276080635188093, p1: -1.053179350037674803946518885670661514622550175188595866693075723568979659107290123997369424487985376609457893068097481398886370479586640029217524593063238583425216964290613092953327080291116912007655529520875576729330732924545647628554537254433180508514717059322348490438503667140520712780205981652638312392920858209982172116691225271542473218977591120133465831600879066801885752686047958634668917412829082580733577654820643117445185422778198198842368142621270998134173482277570921120033215169066269941390279123101235460360254362729861517750736597670255326575237278835342964863378837770850762609161346449197192106093651729919420026943968401927936748117291892990067010379659101295039889817054231107329020615621989888614654007036846308967150114544765532641187238969983743604108251441608452729420087007390518455250489137522105446510633252251215788635502397201180632151906522750632581800123856361102735557377175952136237273993235107893480774989822452924267148217746304676185956441278911207038983411401973}
system.subs(sol) [-1.47976954668070e-695, 1.35819881196768e-695, -1.19439216757163e-695, 1.00640877703610e-695, -8.12589913355924e-696, 6.28694262683339e-696, -4.66031625822048e-696, 3.30818557127089e-696, -2.24616635897871e-696, 1.45474540530115e-696, -8.93260478920015e-697, 5.12721788994528e-697, -2.65285839726661e-697, 1.09762044528062e-697, -1.36530313555404e-698, -4.72639901988211e-698, 9.08323827811874e-698, -1.31273685408595e-697, 1.82718761698760e-697, -2.63919966758718e-697, 4.04725815094436e-697, -6.54259670294478e-697, 1.08878878412023e-696, -1.81413926104755e-696, 2.95480451866273e-696, -4.62270300435377e-696, 6.86573718847399e-696, -9.60939854872084e-696, 1.26175955787283e-695, -1.55018322969946e-695, 1.77936852508406e-695, -1.92325202322386e-695]
-(-0.00111002261919918758393632571568104822462631276423425766911996194901585296719614440043225695527971177845006453730162143676606556341778651406690414245861274200351516148419298113425796959841694663241118801346515395502064587681683004740846329875150695036623814971617534918610558508979526181243652235138451223581492528812824510926899049071277393663706480272214817336525255959236260321021012343687595320003914693806626360177665167204513813746375632986884539379941027782385309087891843639027869036441055156075945222498579275625818229958802249098780621816298479720861841783608278254151828940609730546702472032938712938173312700495352418838838020047800521004601509218645251370302256735257094560621873318247286973569228033504998116219827497389201098821352780421550183130724421487606203335241405117006267016584546702536259609511157714651074721056222269033125423980360865510084800488805327198076407023370812152699216384759292586893837719194593556386388669504934070433996319922167184414328935757613671795605313287*t**15 + 0.01227492678514921797825192234225544266170280760549774637025477785443527046733260259549793911101720317340125196934484815057809126157615505295059132017591292192670849810229089927452745113792984589742716338664813039046274455761057022011012496750017687790455551115639250059639454189749532279834618642621835457938652564274895757901666271225079978539852789702750997378631621945921418840410124889070158022976544673438447240993245525179707991378345697149191144938894705564002164905523526177122301002019902831292398705387203976791264646119638254170725781516809712917419181747561853514332454578298995102387589639676436395119112902282931584296216963357677519387476598318199179596999450888108853555479152490522887691269243455665016238530722365703725283160385918575690803348144880718301270911978568923092925925686312452799931065968625205105024401952805807179273189920477639060239802938358377272336285307563494573493426393247392393698210642683804416999747851773399629292586094811964633704820888720378414111571686305*t**14 - 0.06314542857992960620025536563685364440596182657419207184213931193957495972812832192549849250856909542492688150699504844612303828421473665738677062279239783330918290655045555881036852157287918600056351803841831576447411124336441271892966485484887692295930096832509351194825841174763602364497751360646164144690394058853000499215030970495304942484477767840152118671288992165878028933854117402667122623877811337355083670178871358349005016858910384307553750721182684137480495239400888054838091250173300582877723053906439629846360845806146765450881289412681214518676647605779158695606421097058249674494001607869900488680700176487958691655681117738335821495710581163669344338195640788254110327655549970934636169930608551159335914456863037904761869051972619621267618776511667087077505625287886404983077751481915565435804613487626646369536558687125380170887001881051637349427606120992959732452268012712771418376670498031447222984623268689780827526595674173836827174688527451222404089920515125835132391558729685*t**13 + 0.2004717237319974771770668453869252356278281099024652025896686982650638987151765922104099645925832484599248660730236752344376493507202669786699583837488980267163521649577041531367369859246827816899531404950835704059904245974814965026715696644417802530433682162480220853612751457844884051998283243929078200349461558559820053156328507663408531714143604494361109604636560683786579516664612834370919599565707886102584163191803442528991145865283217241261700893002792827314697878167357807083113299944495090161944822292934270772834182373349233876004768410356851211770910424006149804886187982560650998439178008892256837683812028550395295195500922266317560231708717902657039462939287906303472418019435122730231358210734843916283687082726575943624922428492761574034811145128568488177060437839584357949663927230411883745279330727839792309998691464067673252882057994525639486895520406509129738557234126799406426091582747130112055971080519526631583084331028066892403681825885874946568661599886302274508754920065539*t**12 - 0.4393062031270750197156937090874051902562934286862199899821274072129981262661085725072307039757782125442744541716976622653012832427630476021652941046064009837222605433535503200219030929487543834451447218768204440540323629530944373683729196862980787584419790144263022659246703464270751296572818136926318432275923550208581785332502409122201559101379606308410461178660812190681777231117610557898242299682700322552341141059976728867187602223059134676320564126934267238743856057638750205086686854216559074979110772674819673568951698066424866814525421666811317252220760483681585346011999574621012232371920454513104380038537362812164783102125243116733583030330508418371432641834934886937724802524633594339427330401731844890675062431467011612727813201697937048273486410038275097355904562390507796816668194449510963515751075302627214792475347768974974140177305843148089564668863061331615885585412548863594948936039538571017506984479808645034290571048063177562175221773379793782182288604932804881210590761294933*t**11 + 0.7039327016762502397090567820377746512901558635651374542704999860329926302608828229922283113228958527471946677857176339435185458647560528358590072811070572338534512977680260339234928458063889356402712289214722641182348894532865137082579381926673712533165672416837740835271255928027532064654311482127720670922354870848560135764114242739043818500340359517978016392876715310534445378943288143298520768447521298724787449346037077434059036298614192675458667733991853106241916317328006090278996216324596252682411312878606482305185555824787674672838029045953264911475373987560747246451649834478124400650718260540176053959184225646029277402305646015518986953196100081275385223665667484844483085635586260263206677479214000241127342440763323403360402667743494343820754069233911825896073221219567297358893821739629150433446780380986544262957492007248776865010773128425634981745900238666472689025976018893952515969166758385625192347848550111690610909364002684353867364823244841070628973221585391670417820018501154*t**10 - 0.8521538077960929239371860486366414652485117296076489232984397057516377129665287288261681026235309164975549131235687792485294436870309397322524677073400859839251853404312370053501139926419181222274627211383123120102207436590514492840843847895782066343696830377094623230821856475239931292577049034265665191670145674070437844460558925072693018587752401080117205413335003503101526618093885485210019092690629033305373728212383761582384713575726884883694407489802643399916830138305066951818901519799754389188746454502684556571303374707663616075451507756953429086583978996673972666486688096478297372446483675052663889967255286788053378794707788189551700562791755610226097975598029764701586133342338306420204918983350766355330945082797355429249134140184133551980271522522610598506169305977159322582461931914650591032293926243107043988601987767488576414139771913835562142618426846574319435079654551553467530170224735926183127660884588370142661401271389811387101294806656580062304496211223082303677701029860976*t**9 + 0.7936894170516082155432626212655711340042983025615537711458827021830651184167167625315703811659165022836864784521326991819854122399347254048966648036555078306209368392181641005361955757843352339873694536006209904145522529883633445307550388410771429619191483997618878083659787388593136399744975651711741450771602597069178723835461679678416647527634551317631578000939580505103270585154730967779517330179764136175687261134444730694800452819127385267204289081926928705723572769125432603618556003280006045353360837636615024961963763619896291064659383504309467162552742437315836619177382135675278060708292565910572459436081060670974541044122641542678007930509370420782316928577572172773096066348196204187368091156317300275195841258845106385818294633358201721683663804871176025063772400177605174493949098957758686967242818802368351218528966664962117780059123356586336463814309257635605631870388336683325556309877758300699106434212442544655717048284228538544422063717307296905456679309531887839222603115453447*t**8 - 0.5735162862530631589100288712439881617547181006482069730975504887201787558426898288966649376736038009624853645718417502465139118145226286286609792320171365186215930499599491342479528055203297237433970377194489214289758399169881514979542981007301967123672417510783202184193995825544351041859539469670349896192336616201919955699059883119247952529150642036107483217507251682162370644235075179374792695201137695832122079311680066018004945488729928096328035789471923483302177767402751704143858249156254935547571492427586477535549162504761522541255873656451930665470893336792310325342852449885058240397759834329157425856951837792170624206625173267289425751756404810800972365567267026865863618778062257507939518088986190842652028196479717500202834795489966031033722843076748559769587024437280771631574096567175422021693314098312641103459257963395423966602647216890543422262816734553598951398898796548010996294398657244571292299953091736724301078621297521321871707470381467856776288310504394280537431624520136*t**7 + 0.3215614921962754706074346378147382125971508228746206864082125886979748291679935798911206060633066864234687812570973663899323937354165117178057755501267571251350955748261909733035090333788481010193396929253678905445515732880860984479456543046707517763649546549469149871866543481833186320603257069369086108588186826575558938560411024403649282838086384498410033367039081398253014596905422652666146729188214561734222834213313311366236893113466801907669848649584099508751546727487120658222355123676479883645956079788986373900273366720860217767624316912351696986233519789822151808230885424262020255967766679234151830882963144689386769522031260695204521959664922314642344288857348778059123580529049524183454589628700128029332238518271550224326048359216362353410219274962669873932600718263490563174356767348991738744022610970981538692334835850959699904592996020496047621296680992450882423484671191599304642281382422111300085475505291385219007506486117342724791851359494242409502106618020581747433034046389939*t**6 - 0.1387743638341406117215487247673153591272620694048221723920649623138179242571977132675136806446630090774706886618386080503954183520816081169285244947963078087597407358228216297733930725653284309470706306880473784037707674191724719856196891072765421855558299860753632073947149204242969213795292775424211351513676337492357960086363772436578278982319021452264778933981777341714769241756586923249806371589171062360123123399702446944851790393020001971088556131359310107120602451308576233887567295031765495254241614186688442535406951484608629183435955740492577228863133165789927952393327925977872977439288233219782800434617761136491659058030812806324118292475648327713465044366469807181979647333222463154216696667583790790413920451948322772192693823561722935261171465501993458214544924192082079221824784683180717254273596886395524486433014549017083369449546904608507342831213819890867631907187896195182712366948616846040577060107590642316061745442901759644660518738116022889130173905293783462133609926151129*t**5 + 0.0452770264057096225843045047031851310619757230650633782334416136032800727235588645411176461845880875687630989579574286207445688015720257089819813362989181250400772312142688335222860745403351255075024483550967739784505695157430605457581984588008687200657139292755326060866795747803179386518664286969699720216476589850555141152745775693071781457312251596916194104298034001902530606581142578501575759541223399051865078550953290290201502144722003951292137422667256779081547425232715786439033442776899542891985823137592886901246812921982450883907388199680419113895669405383199358529769603426134621254306847462514319807115438980289881554005882815340814941774357331201265466854177130645980248107596653490968698515885744220774905056646015706565669771798874274784752795906294859330810015363052599237613390385814283057865152591961073404485759657500030358718842106907096075828344540220528905419995536120673701513675351027850183764388767691655997504165252674725257427768937792469687295484189215508956408193558848*t**4 - 0.01081218463345722553796839789478732048119348981144887722004131551546267916610478859873413023179336229870672697939432896821368216340988390451169401491654776513564327242820917900884137135799522271688065090863736251066973711614385299271854899308844232584642834646385211589474734075059328287929826733808433299891046734572213405780167791428720581148532271038343973056305808098136024579379571936902627610774988496585553586121432698351973131242388932614887694949421589001651713468302916700053532710099666869122682333517572856095627113361050445345702714882931726262691842780532035195727992166625027028705066675989932848143123383404721673704384813002794466535520769920419461128933023112403692248531376891788722054604043585627700956337068954058409478788905554993264374274345861807143551148449600091570817407546703621309134589445442039967167883704694643608834630705314816420376864479063498992724523222433222530724710208737465043832481567046342384795976521198076957931701003624506758835785385734212109918599621153*t**3 + 0.001784362401936900988768452707622118164119085551884007909923243580256159857720301231756836321007007882196214568595523057653819533962931266362154012363453831542150941824916742881159967912810947862089009709618818718233875611194781006696260634437719555272792892573106808987029405586611576244615018391833919573104767309626290199969123426477155015936852210784880502498528309006465421958225262018664664096425987942666303793066790122646898350337768620182976083466494908493010817838688079539532193841899490086564425647674710934106538370334815958430751572403723839751415274395470596381320005117128482602997606943903655167712130227429400027656722387551476766155606438178926977506907750034118602344734432564783503348215465130201763225806180751885545642866825718475640752524378727165885853864889927064793209404082590065422614554033913039154786289913970297727171221855111265866408871662478234857072315133317339907021765199260397849909631021887127787927923902363093341331774831671817368621082204065407017249260259807*t**2 - 0.0001820043238574437962422388941517060578007069290671655101899782274787556358397259739456517172172382086851364634267877458559660292946217455747489506260171921159823786897390640580395169389539067134616022361855014732832858225345261417004454805349976026515143066882759829952846846767233862862937222115320347037646171963903532829444385231935363069388517462985208688186042228243390880828967188738462233066302702386050631658268783675368968638215574080131541373556735613166224083583816370429632038846510469654783842961335277402929218588690534447844314615777628861065071851282039045510589176217111693944858742358197107034275232102677841318009610775547740969380401985248584553306991224145706475920991262045486162931468106157825439281358988446936355945320713895493172861961293124632169982072595719303459180809322555679649189151838296429473666947676983897684010330321258062002496237925614704685153361082535333182812370911834562646309741839663436694904679663220081351871087406511049624579873604417673613226267984331*t + 0.000008650917887621666281219535296511110042274402225284746233080658542122580185395666612424845374841912621784669117729210341299453472453502611999601001260514356377816365389309497692589814863891701297314447309761671256552922854509131621070582189338751771604811450275180243935005417407730212883602841962053837842638668249375531669612643352181371260237397011466139192849867810447912786506154286595322620891989238535788202904623998656331698953006917670813577615096852806128753036673226850213699438223579785750166373569228649182730530553627242547310074829847419558867497587012085098824363989903069274603805202401049519411737738168543423615342613939207332816454129156526701935515377093137131686286104706932369831773968445793437451435092456316147649601932328879476393214406831536746992437720820349187595282652004494614398208450503977427795057453445999196640038241001991770817729526653941103857792649301407957547494111538479171269378312728502255278879632606176988908993316026906222784484677977211967308459350077824)/(0.0001887581484435140370460654467930057281649983791568624175894026028954746254842271112468211753065582346724785334375835553697579162468404108852866809685853711720442780659664307748851698678004701220426456445325581715999875448027637207484736098337799126582218497353412770445664045762594452489597533816830849597611474442169089498109225905047903908220479384569957775888281421149160765826330052662948283188428836970360858459680607693855092087594751286635412699575807480100442804534549605856232466094130959133212403288384116337759339533934247230388796103683622114074982550200087918874918410481892140862333885045487790422783785003532672984050270180743639136267994204085882894474375918713234814276050704757526064105628457758957272065386533705042805595399365220844847127301676333566366076185048197816187291044080675626781530685850056683209759299683452639234944405591085137436957692405453127835631623800121112530558470853876748897807537871701688171193339163706054068154720135657890667574385206455509809631459483013*t**15 + 0.001923385017962137754234167574340465633931381625942014882213551503924090174831725121314194036249184286582981163564015939626709286277890426974488843414468817354127018640965899437447516212490122100444392902095433675819744470911649371012142466718932357728122501557104812076326839421240299708771195684387314572429803266515972036276911195281386214586883996526412868023547819545087139213130520728560478193588801127203202249868414544871404342036653035214337697542759922777582763120857314701707066330730001096455380857940273868498479679074979722632982417871083216496559686967596047740373413112771023094109725305849305941500197754351254944709908606003059639452386509838819711036468278074135107599791614730090980371563061324943754005498295554531501226332821695617527798717696392196766240677119492566306396146491329163516202125926432147003504575323385868460996361729053331335910581927112104302488303423189217792181563945197232112967142052344681364863352307176538551957142574274583848709511049620784149365256346085*t**14 + 0.009166206936232576944013433447069970609092568731317905057368956619088748980389417886311756962712387679188630541892041788843345591598284416130949056913445835881493216760075950492931607824034003967775157620771081092803056007617901399806913981990173233186460134051221506777707051125405989223785742477063056964700379606435664663823107831984720023786840375370984154064978994100556182065026951687575902073499795305015239847010373248631253601540594195436895688330344988831402268754505461741092179987622063336446830593729143729153937843675398916646478631712299453145620333531293091519638860645332906587956664668195738127268362235352379648960950886654921050802596089027079638895198083233146220620301432342644666708116078289631179657247036662492421234783462275416731733328189925838857316164188086366451922748883510139996426092816906245189804549278076587285605244835893604644002420118416466220774516044582832768010548918113575399048438383606980898717799165816902890363886681404031009499002943768680136772759725645*t**13 + 0.02848217071279843432932790517446312774887493300544505826341656479791148569372258828897519033484519019460453572223742744665399342187680580603169805366331161379607331011123763081432893742181332929726380317752082175226475337954225058173913646962376809146188196917775343391775672410244267267232606740119900776536408422778148638692242378735108918075494497420575847813695879296014609266855757688246508570771083720605294598054473860116167381046930086774419354126304865323288524954265724248520749600477985696596268116520219992830172379910676484248878473535182780964922804714267600932145025965935737636610255994729809555389173648815713901719649260197469184046147379526410646560538516844599395638480105223199305057195927129328961553630330204130120925841541541302978008124781764178849757731155001317634393401774658737279452116847491608351557773857303052083075248915642937161819355529604126598377431678244196889160474950429545281659484182019612689109055687848133078055662109124936147677512918090955878256789097347*t**12 + 0.05791217787839676215427270242789962567397255565359050012924349440639063693598539041205256914815946588028800287360158261735815820384673218284234390579559885814525531440928172971918271227197992155577618864053701023516384497112346623173035971533751977469467189580564663243464573574802802418199290937262051273893661209726786953108468431554990329517118782173428811498632824035590878935200509834259573654618848486075725405438620350895715984976845050629562579497525011709560687708629240328568894053617632970502645930577996615708391478485193739356765842602904513707474228347694218501350394367434449657761879763261761085443524185049154844677953136329822198510965070143148733558242480130528706822990016173419274621859870080324047982284882837440628950262347127185161092353863100524325726400419220951634814830230196931987706278553394331809802916287697034084097977810355754102440187912860739105066674303273125799852029944975866829111251462988243036467751375027947621012046510944347399154679429313355370458315123687*t**11 + 0.1145794116169971494559227404068983466005074067882124962822880178210404781775390666392043161797594122618422673890699711635933584264603713089077299830507919617468351137020990059213095746510039691584626892180084360558927223831477945785960571837853256501198324459887493075869657574683815189620395802461813087055324196207305103617784458769165645882976479083579127542966623832974903669668300577752545293863932945974611738222985704798731351535404991259203363528682939271187663597168975336871892311292072987673201134141339909300114854591403654578343662191253969799498956814498406332892228536735836342850629348869579344592763610149009426076371062945354426594684453745172982246510377262257026548800182827685137132954016537119915725132921675423659753082740589624455333314144649189410076675796018116520219568917880333013121085588539688485360543201546703993328746128707399858630491297341675245260922691208845966321732571771160548947907963230959284049145474284665977523754974521834921105159325516795219091514700535*t**10 + 0.08980710831516003268698054948461601896640604553963849028307672035760724260685974486310198568521186855064142884450356345360744775875602080631603079338326535221678503246373069952133922347452954289900475305552010313490939921321843785592241086526427018532520054609728194228352225677405585112027266752480653745398458350141114468246741139726068439338078833020611970914131250683393351922677330843495230980687145728510310470651066158993854818330768737275540951188477495485196584470217343825314062867763852050590750190613197599982789240195355587901110622820079981379114202503750723732208061853428046082584879618546974029443914242496099719663934880080692762020469391457790729114654999345713586404695560761106569141171402189106585203925701135588398081935522969227462100276727632071285215715406856235133871810220904053967570123512004919937404797464185003099621391011214269019836932995279586052777018683841973509612503565901616391531761678497147147321538409462649023084829584816682633269380976643959775411530967516*t**9 + 0.2844365738495830758318336070831121854599570053174630300482842580128837393042966876036487665643892446791101054095587497895803503617359037601403981098136679760980604363277654166503330194656228915838188192903076075614575962928695175096164721906206448368688403038051606785133420263772749391569018935208322127016267556721903329071056598599722840043693565028606888075356448203097672029460736112433239373377703729263765557786125072728836120472243899971519806262153060878823727972096984265818368834638912895533701795258421755724802097966080202062615293013866397670735505334019893272404787425084044467229012848116118818008983826692794886681757599051617389287399465998977158463076362953555920702583217053842855755936425845710914714963757492436705838751429823236654471837528734781839356743008131283001854440457064816848984881579857010580768719855519888213058183580784811749237423515268210615546658000491639445732691512475419572127651455933774054671362186510466862084703736105289740487105213413068412161673750174*t**8 - 0.1398177477554041292355633714795657025506579590719370816036932947525073054666973588204646348015721225096342890165623331905875735270934991263570876760095204847407154659775001987430560055385094724509523424417296649307316136556301359131072412446914700070684869537530057102489473105580605080909660302169518739686746911889531501328114667632640945598576872453608587093319872899523184737745683094632150550400608737579805088160286750738986841973762202526549023702699039694883713964019672662895640033374605008416413795467994009893888780876689454623308917757168240879633118837997165742245906115551250837418838536377526224207357972039763897787509702250856534521836936728829045413061626229111954044261934863983403519690360797683976496800980052662955282321347577373547947905875414634001565634126931428220298361333549867893665780627695168690176776306728611254838870982876204336621627844684406585455828273385653313117339463655872134358887553475859532863789002144047693575023197218130420886475541335502612511848590112*t**7 + 0.6527283023554173502373134135665608980805942720381276729221819688477648808596232995203616916250216423173447926720066406115565899600202574447540415166001280184294547251094053094820890053098399132295754027442460677023876343936579115597166589038657073332530793542693004257687094508091634096038068925459728583991193345870298465317073959800927241272477454777014183861227103645615672147786160125938271110532679334880666095367341768645577341676136624940033963644849640190571834926029786766889447648203890791392791024996218774708849722512377309069557826240619206511966842258066168716830479897305926608028086857377499582622132714819021564834140972490959911158355514144772120367796737119974429431192498681386133956034400093323885956069677002746650948543707022997538805059052357290724926758298364842452398600298283429200468538102243300651241828275875304604139688231963051035240565801876751683352268955705817037656459693819879899584777752752545312909281002970497591161847355002881639308416114429512646761321190777*t**6 - 0.6457339880805640622974105996677304341617336398332838814758354301041543146292423446978606861417449345754843009357201462287881805238047256861159566948124967415509536457673180259332110251522523804044696713680350893823702579892024479492756706668499348047133413926280433469637539608169062693314886789629953189848295220011977036444157049793192670653754742479519252653845674423394067212259598224791361954529679206343992371126550738280947965755044099964446535470261339176048384910423604165744311843048245999264243766643212625639232381678880028806055162997450669673151408648462488914968602613533322129452209199577619431125665488772855078515528666536368008468748818838466521580718828352408482431935968386765597771414599237323850427368596462930207768900463870599958888847692531945934546960976169327613568733010190019271305789175511887142992723781176203079077821438799126975546219803675048762890226439231981301216410048772823316361414059906140827291055479297437735630109192837588853898337673263573600307779926289*t**5 + 0.927865954434869397926963164211757434187243966788479561269076964563381838836075375050986188393674513687150349603818890426649035817574887654243331130959725883997862956526157273381248214517685330107156485433495251081882213158337452029936599880319754280356882912598333199491456461417365663447818157750958791733670988500108677013305118622240178480304320322161503295049312954023506785571748468221457176801818689447415644530182391488690719534589917778880872166312654006958788733019706990581604299032192550086700925214487503357777272229418866305251975072655807982004445622314048272046743304546582725060958836538899933097790960298519125926877932281635523977864671334918666303184499911882488549651064331400060786647023946652984409004701761615787828010606812251416844427084910650355787191911743002206107056415591416005184137568869485702208323613869652852208450876060944758062088970177012418814887255555214903779847896079488880037837244105308981082153670840229727938471080176615991769557677967706913630757344005*t**4 - 0.7060507766192042259649203212923382367460037543341536990450483587518178648251728650943877507196889304099873920394987358883755398469207261678077337153587482251089243631999350603422707778580528970714196052571072895639408071647273033438331955341526396252294547999575533661035518539853282417101801675857844077577366548827380586888808944354787474617015790147718892104300023929211956864103460668381641362757700568734534841779533653036917507779269016816569675211503499357699350035816724137317137663038733898896057031159875763153804004137139670574129394605870676322204783673193162725383761348652179827004698598638863081481879275036467546122681219320179422553017860311967408721888029956171631371754986891007532483025474557166313037943500746018723616696687199477073181686072486607564539687866476872096031953203861189208094320503382537372487677733832932842971578096046054867992925927219253355713770625525580123120857949633211510503884134960939879306439116227699738125552076666940074328673646992911562374253287303*t**3 + 0.530345164832146806218795513262088245651062366123276089402390852358243082325416622775758692706999166537135136824991678963025076285541699574073954486952198937950266458701740822280988413811962203513904598284659030471214991217334323214960900033054958185811703071643161800728646748421353185818854603080716608080062466940226890411320303979492988733026514893033516172911093298977564931135870785986816661328855300272307454407276830727664805665466781001205452365050750656011235905640806046050501494462205786795392176246476078983443179455729140299212641158464991094390379009872092753376289718964926310283115235153888130534705360657481368595307010335862448402822413779049251466980139753477967566414418039087099978659152960869715029338479406328245967125690449773896373469201991497404889294924550633216554057603350109050520240091587926758973425224342936863056227610353651986408393327140618766997861923562873121807036584034516654428777408382719171687823279122973178714406566701381077345169059500392972870279323255*t**2 - 0.2130122646426879752520252749239067769541205415913636409937578888178307035396228739350752666942396171141352510512591161429113874186798813570882107691358057522760047285087148685301191327394797302776159484872693769663141769172296157363623636671953361165287089280849049840096441811263740966760298123829561882701210339987874197301035395994473686673786617076164371845937977128114735415522611191951690054550273263638387167669290296080217741203835243796653682193811831106726085102776287086770664707701650405915444825372553472598276200630863070451095816014079677287496075543388615173559341550718445173266093081395913204228704006695179825173644008366801974832471018800187200759609452033766761373927734658030760893878537661273148092680288997363587448911517114741425704381029798415506885455115165580002687608849560624096634599673857251962056757178412731160784717825736120387250795706608034524366146405181173015994706612845840652251911730755218863777948344682698931692353239456581991456711815898480531654900859092*t + 0.07009911369418122515812366621620084809802734312828522190997255192239964435308598536849688063221234235450191790483620275182109018899726007427733723563930008460922474105934400652125039162098632097329443212685802926464992716378046428161364284425201697319582961191024925024922022536511429258433673591771957698215352801249020318733422034168800465847322345526243742361121951286605596953274466707428236009739175283423895699882415664554805073326347865895957339861033791286932824609202655131705053549313345707447398465700641960695259110807118948546225230972539154150784012001596895825881988682439751165843123063427388049548916605889020232984643051315199169447767896920815676324556523725669319133252956419430161657467937187042745762818664085419055948018300776564190257745884545453602687794968317512493440374306867151692963597694647618359464011614422827523476095349344866494518610945185857067762509602223953956652568449012259420829804220045761561889527784008631284277159294709109533175954257317579787050666262802) + exp((9.0*t + 9.0)/(t - 1))
D (9.0/(t - 1) - (9.0*t + 9.0)/(t - 1)**2)*exp((9.0*t + 9.0)/(t - 1)) - (-0.01665033928798781375904488573521572336939469146351386503679942923523779450794216600648385432919567667675096805952432155149098345126679771100356213687919113005272742226289471701386954397625419948616782020197730932530968815225245071112694948127260425549357224574263023779158377634692892718654783527076768353722387932192367663903485736069160904955597204083222260047878839388543904815315185155313929800058720407099395402664977508067707206195634494803268090699115416735779636318377654585418035546615827341139178337478689134387273449382033736481709327244477195812927626754124173812277434109145958200537080494080694072599690507430286282582570300717007815069022638279678770554533851028856418409328099773709304603538420502574971743297412460838016482320291706323252746960866322314093050028621076755094005248768200538043894142667365719766120815843334035496881359705412982651272007332079907971146105350562182290488245771389388803407565787918903345795830042574011056509944798832507766214934036364205076934079699305*t**14 + 0.1718489749920890516955269127915761972638393064769684491835668899620937865426564363369711475542408444276175275708278741080932776620661707413082784824627809069739189734320725898433843159310178425639802874130738254664784238065479830815417495450024762906637771561894950083495235865649345191768466099670569641114113589984854061062332779715111969955793905583851396330084270724289986376574174844698221232167162542813826137390543735251591187929683976008867602914452587789603030867732936647971221402827863963809358187542085567507770504567493555839016094123533598084386854446586594920065436409618593143342625495547010953166758063196104218014703748700748527142467237645478851435799231243352394977670813486732042767776940837931022733943011311985215396424540286005967124687402833005621779276769996492330096295960837433919903492356075287147034162733928130050982465888668694684335724113701728181270799430588892402890796950546349351177494899757326183799646992482759481009620532736750487186749244208529779756200360828*t**13 - 0.8208905715390848806033197532790973772775037454644969339478110552144744764656681850314804026113982405240494595909356297995994976947915765460280180963011718330193777851559222645347907804474294180073257344994381049381634461637373653460856431130353999984709125882262156553273593527192683073847076768840013388097512276508900648979540261643896425229821098192197754272675689815641437614010352623467259411041154738561608771232532765853706521916583499599819875937537489378724643811221154471289518625225290757741039970078371518800269099547990795086145676236485578874279641887512906304288347426175724576842202090230870635284910229434346299152385453059836567944423755512770147639654333024730343425952214962215027020909791116507136688793921949276190429767564405507647904409465167213200757312874252326478001076926490235066545997533914640280397526293262994222153102445367128554255887957290847652187948416526602843889671647440881389880010249296715075784574376425987875327095085686589125316896669663585672109026348591*t**12 + 2.405660684783969726124802144643102827533937318829582431076024379180766784582119106524919575110998981519098392876284102813251792208643203744039500604986776320596225979492449837640843831096193380279437685941002844871885095169777958032058835973301363036520418594976265024335301749413860862397939892714893840419353870271784063787594209196090238056972325393233331525563872820543895419997535401245103519478849463323100995830164131034789375038339860689514041071603351392777637453800829368499735959933394108194333786751521124927401018848019080651205722092428221454125092508807379765863425579072781198127013610670708205220574434260474354234601106719581072278050461483188447355527145487564166901623322147276277629852881812699540424499271891132349906914191313888841773374154282185812472525407501229539596712676494260494335196873407750771998429756881207903458469593430767384274624487810955686268680952159287711309899296556134467165296623431957899701197233680270884418191063049935882393919863562729410505904078647*t**11 - 4.832368234397825216872630799961457092819227715548419889803401479342979388927194297579537743733560337987018995888674284918314115670393523623818235150670410820944865976889053520240934022436298217896591940645024884594355992484038811052102116549278866342861769158689324925171373810697826426230099950618950275503515905229439963865752650034421715011517566939251507296526893409749954954229371613688066529650970354807575255165974401753906362445365048143952620539627693962618241663402625225595355539638214982477021849942301640925846867873067353495977963833492448977442836532049743880613199532083113455609112499964414818042391099093381261412337767428406941333363559260208575906018428375631497282777096953773370063441905029379742568674613712774000594521867730753100835051042102607091495018629558576498335013894462059867326182832889936271722882545872471554195036427462898521135749367464777474143953803749954443829643492428119257682927789509537719628152869495318392743950717773160400517465426085369331649837424426*t**10 + 7.039327016762502397090567820377746512901558635651374542704999860329926302608828229922283113228958527471946677857176339435185458647560528358590072811070572338534512977680260339234928458063889356402712289214722641182348894532865137082579381926673712533165672416837740835271255928027532064654311482127720670922354870848560135764114242739043818500340359517978016392876715310534445378943288143298520768447521298724787449346037077434059036298614192675458667733991853106241916317328006090278996216324596252682411312878606482305185555824787674672838029045953264911475373987560747246451649834478124400650718260540176053959184225646029277402305646015518986953196100081275385223665667484844483085635586260263206677479214000241127342440763323403360402667743494343820754069233911825896073221219567297358893821739629150433446780380986544262957492007248776865010773128425634981745900238666472689025976018893952515969166758385625192347848550111690610909364002684353867364823244841070628973221585391670417820018501154*t**9 - 7.669384270164836315434674437729773187236605566468840309685957351764739416698758559435512923611778248477994218112119013236764993183278457590272209366060773855326668063881133048151025933777263100047164490244810808091986692931463043556759463106203859709327147339385160907739670827715938163319344130839098672503131106663394060014503032565423716728977160972105484872001503152791373956284496936689017183421566129974836355391145385424146242218154196395324966740822379059925147124474560256637011367819778950269871809052416100914173037236897254467906356981258086177925581097006575399838019286830467635201835307547397500970529758109248040915237009370596530506512580049203488178038226788231427520008104475778184427085015689719797850574517619886324220726165720196782244370270349538655552375379443390324215738723185531929064533618796339589741788990739718772725794722452005928356584161916887491571689096398120777153202262333564814894796129533128395261144250830248391165325990922056074046590100774073309930926874878*t**8 + 6.349515336412865724346100970124569072034386420492430169167061617464520947333734100252563049327332018269491827617061593455883297919477803239173318429244062644967494713745312804289564606274681871898955628804967923316418023906906756246040310728617143695353187198095102466927829910874509119795980521369393160617282077655342979068369343742733318022107641054105262400751664404082616468123784774223613864143811308940549808907555784555840362255301908213763431265541542964578858215300346082894844802624004836282688670109292019969571010895917032851727506803447573730042193949852669295341905708540222448566634052728457967548864848536779632835298113234142406344407496336625853542862057738218476853078556963349894472925053840220156673007076085108654635706686561377346931043896940820051017920142084139595159279166206949573794255041894680974823173331969694224047298685269069171051447406108484505496310669346660445047902206640559285147369954035724573638627382830835537650973845837524365343447625510271378082492362758*t**7 - 4.014614003771442112370202098707917132283026704537448811682853421041251290898828802276654563715226606737397552002892251725597382701658400400626854624119955630351151349719643939735669638642308066203779264036142450002830879418917060485680086705111376986570692257548241528935797077881045729301677628769244927334635631341343968989341918183473566770405449425275238252255076177513659450964552625562354886640796387082485455518176046212603461842110949667429625052630346438311524437181926192900700774409378454883300044699310534274884413753333065778879111559516351465829625335754617227739996714919540768278431884030410198099866286454519436944637621287102598026229483367560680655897086918806104533144643580255557662662290333589856419737535802250141984356842976221723605990153723991838710917106096540142101867597022795415185319868818848772421480574376796776621853051823380395583971714187519265979229157583607697406079060071199904609967164215707010755034908264925310195229267027499743401817353075996376202137164095*t**6 + 1.929368953177652823644607826888429275582904937247724118449275532187848975007961479346723636379840118540812687542584198339594362412499070306834653300760542750810573448957145839821054200273088606116038157552207343267309439728516590687673925828024510658189727929681489923119926089099911792361954241621451665152912095945335363136246614642189569702851830699046020020223448838951808758143253591599688037512928737040533700527987986819742135868080081144601909189750459705250928036492272394933413074205887930187573647873391824340164020032516130660574590147411018191740111873893291084938531254557212153580660007540491098529777886813632061713218756417122713175798953388785406573314409266835474148317429714510072753777220076817599343110962930134595629015529817412046131564977601924359560430958094337904614060409395043246413566582588923215400901510575819942755797612297628572778008595470529454090802714959582785368829453266780051285303174831131404503891670405634875110815696545445701263970812349048459820427833963*t**5 - 0.6938718191707030586077436238365767956363103470241108619603248115690896212859885663375684032233150453873534433091930402519770917604080405846426224739815390437987036791141081488669653628266421547353531534402368920188538370958623599280984455363827109277791499303768160369735746021214846068976463877121056757568381687461789800431818862182891394911595107261323894669908886708573846208782934616249031857945855311800615616998512234724258951965100009855442780656796550535603012256542881169437836475158827476271208070933442212677034757423043145917179778702462886144315665828949639761966639629889364887196441166098914002173088805682458295290154064031620591462378241638567325221832349035909898236666112315771083483337918953952069602259741613860963469117808614676305857327509967291072724620960410396109123923415903586271367984431977622432165072745085416847247734523042536714156069099454338159535939480975913561834743084230202885300537953211580308727214508798223302593690580114445650869526468917310668049630755645*t**4 + 0.1811081056228384903372180188127405242479028922602535129337664544131202908942354581644705847383523502750523958318297144829782752062881028359279253451956725001603089248570753340891442981613405020300097934203870959138022780629722421830327938352034748802628557171021304243467182991212717546074657147878798880865906359402220564610983102772287125829249006387664776417192136007610122426324570314006303038164893596207460314203813161160806008578888015805168549690669027116326189700930863145756133771107598171567943292550371547604987251687929803535629552798721676455582677621532797434119078413704538485017227389850057279228461755921159526216023531261363259767097429324805061867416708522583920992430386613963874794063542976883099620226584062826262679087195497099139011183625179437323240061452210396950453561543257132231460610367844293617943038630000121434875368427628384303313378160882115621679982144482694806054701404111400735057555070766623990016661010698901029711075751169878749181936756862035825632774235392*t**3 - 0.03243655390037167661390519368436196144358046943434663166012394654638803749831436579620239069538008689612018093818298690464104649022965171353508204474964329540692981728462753702652411407398566815064195272591208753200921134843155897815564697926532697753928503939155634768424202225177984863789480201425299899673140203716640217340503374286161743445596813115031919168917424294408073738138715810707882832324965489756660758364298095055919393727166797844663084848264767004955140404908750100160598130299000607368047000552718568286881340083151336037108144648795178788075528341596105587183976499875081086115200027969798544429370150214165021113154439008383399606562309761258383386799069337211076745594130675366166163812130756883102869011206862175228436366716664979793122823037585421430653445348800274712452222640110863927403768336326119901503651114083930826503892115944449261130593437190496978173569667299667592174130626212395131497444701139027154387929563594230873795103010873520276507356157202636329755798863461*t**2 + 0.003568724803873801977536905415244236328238171103768015819846487160512319715440602463513672642014015764392429137191046115307639067925862532724308024726907663084301883649833485762319935825621895724178019419237637436467751222389562013392521268875439110545585785146213617974058811173223152489230036783667839146209534619252580399938246852954310031873704421569761004997056618012930843916450524037329328192851975885332607586133580245293796700675537240365952166932989816986021635677376159079064387683798980173128851295349421868213076740669631916861503144807447679502830548790941192762640010234256965205995213887807310335424260454858800055313444775102953532311212876357853955013815500068237204689468865129567006696430930260403526451612361503771091285733651436951281505048757454331771707729779854129586418808165180130845229108067826078309572579827940595454342443710222531732817743324956469714144630266634679814043530398520795699819262043774255575855847804726186682663549663343634737242164408130814034498520519615*t - 0.0001820043238574437962422388941517060578007069290671655101899782274787556358397259739456517172172382086851364634267877458559660292946217455747489506260171921159823786897390640580395169389539067134616022361855014732832858225345261417004454805349976026515143066882759829952846846767233862862937222115320347037646171963903532829444385231935363069388517462985208688186042228243390880828967188738462233066302702386050631658268783675368968638215574080131541373556735613166224083583816370429632038846510469654783842961335277402929218588690534447844314615777628861065071851282039045510589176217111693944858742358197107034275232102677841318009610775547740969380401985248584553306991224145706475920991262045486162931468106157825439281358988446936355945320713895493172861961293124632169982072595719303459180809322555679649189151838296429473666947676983897684010330321258062002496237925614704685153361082535333182812370911834562646309741839663436694904679663220081351871087406511049624579873604417673613226267984331)/(0.0001887581484435140370460654467930057281649983791568624175894026028954746254842271112468211753065582346724785334375835553697579162468404108852866809685853711720442780659664307748851698678004701220426456445325581715999875448027637207484736098337799126582218497353412770445664045762594452489597533816830849597611474442169089498109225905047903908220479384569957775888281421149160765826330052662948283188428836970360858459680607693855092087594751286635412699575807480100442804534549605856232466094130959133212403288384116337759339533934247230388796103683622114074982550200087918874918410481892140862333885045487790422783785003532672984050270180743639136267994204085882894474375918713234814276050704757526064105628457758957272065386533705042805595399365220844847127301676333566366076185048197816187291044080675626781530685850056683209759299683452639234944405591085137436957692405453127835631623800121112530558470853876748897807537871701688171193339163706054068154720135657890667574385206455509809631459483013*t**15 + 0.001923385017962137754234167574340465633931381625942014882213551503924090174831725121314194036249184286582981163564015939626709286277890426974488843414468817354127018640965899437447516212490122100444392902095433675819744470911649371012142466718932357728122501557104812076326839421240299708771195684387314572429803266515972036276911195281386214586883996526412868023547819545087139213130520728560478193588801127203202249868414544871404342036653035214337697542759922777582763120857314701707066330730001096455380857940273868498479679074979722632982417871083216496559686967596047740373413112771023094109725305849305941500197754351254944709908606003059639452386509838819711036468278074135107599791614730090980371563061324943754005498295554531501226332821695617527798717696392196766240677119492566306396146491329163516202125926432147003504575323385868460996361729053331335910581927112104302488303423189217792181563945197232112967142052344681364863352307176538551957142574274583848709511049620784149365256346085*t**14 + 0.009166206936232576944013433447069970609092568731317905057368956619088748980389417886311756962712387679188630541892041788843345591598284416130949056913445835881493216760075950492931607824034003967775157620771081092803056007617901399806913981990173233186460134051221506777707051125405989223785742477063056964700379606435664663823107831984720023786840375370984154064978994100556182065026951687575902073499795305015239847010373248631253601540594195436895688330344988831402268754505461741092179987622063336446830593729143729153937843675398916646478631712299453145620333531293091519638860645332906587956664668195738127268362235352379648960950886654921050802596089027079638895198083233146220620301432342644666708116078289631179657247036662492421234783462275416731733328189925838857316164188086366451922748883510139996426092816906245189804549278076587285605244835893604644002420118416466220774516044582832768010548918113575399048438383606980898717799165816902890363886681404031009499002943768680136772759725645*t**13 + 0.02848217071279843432932790517446312774887493300544505826341656479791148569372258828897519033484519019460453572223742744665399342187680580603169805366331161379607331011123763081432893742181332929726380317752082175226475337954225058173913646962376809146188196917775343391775672410244267267232606740119900776536408422778148638692242378735108918075494497420575847813695879296014609266855757688246508570771083720605294598054473860116167381046930086774419354126304865323288524954265724248520749600477985696596268116520219992830172379910676484248878473535182780964922804714267600932145025965935737636610255994729809555389173648815713901719649260197469184046147379526410646560538516844599395638480105223199305057195927129328961553630330204130120925841541541302978008124781764178849757731155001317634393401774658737279452116847491608351557773857303052083075248915642937161819355529604126598377431678244196889160474950429545281659484182019612689109055687848133078055662109124936147677512918090955878256789097347*t**12 + 0.05791217787839676215427270242789962567397255565359050012924349440639063693598539041205256914815946588028800287360158261735815820384673218284234390579559885814525531440928172971918271227197992155577618864053701023516384497112346623173035971533751977469467189580564663243464573574802802418199290937262051273893661209726786953108468431554990329517118782173428811498632824035590878935200509834259573654618848486075725405438620350895715984976845050629562579497525011709560687708629240328568894053617632970502645930577996615708391478485193739356765842602904513707474228347694218501350394367434449657761879763261761085443524185049154844677953136329822198510965070143148733558242480130528706822990016173419274621859870080324047982284882837440628950262347127185161092353863100524325726400419220951634814830230196931987706278553394331809802916287697034084097977810355754102440187912860739105066674303273125799852029944975866829111251462988243036467751375027947621012046510944347399154679429313355370458315123687*t**11 + 0.1145794116169971494559227404068983466005074067882124962822880178210404781775390666392043161797594122618422673890699711635933584264603713089077299830507919617468351137020990059213095746510039691584626892180084360558927223831477945785960571837853256501198324459887493075869657574683815189620395802461813087055324196207305103617784458769165645882976479083579127542966623832974903669668300577752545293863932945974611738222985704798731351535404991259203363528682939271187663597168975336871892311292072987673201134141339909300114854591403654578343662191253969799498956814498406332892228536735836342850629348869579344592763610149009426076371062945354426594684453745172982246510377262257026548800182827685137132954016537119915725132921675423659753082740589624455333314144649189410076675796018116520219568917880333013121085588539688485360543201546703993328746128707399858630491297341675245260922691208845966321732571771160548947907963230959284049145474284665977523754974521834921105159325516795219091514700535*t**10 + 0.08980710831516003268698054948461601896640604553963849028307672035760724260685974486310198568521186855064142884450356345360744775875602080631603079338326535221678503246373069952133922347452954289900475305552010313490939921321843785592241086526427018532520054609728194228352225677405585112027266752480653745398458350141114468246741139726068439338078833020611970914131250683393351922677330843495230980687145728510310470651066158993854818330768737275540951188477495485196584470217343825314062867763852050590750190613197599982789240195355587901110622820079981379114202503750723732208061853428046082584879618546974029443914242496099719663934880080692762020469391457790729114654999345713586404695560761106569141171402189106585203925701135588398081935522969227462100276727632071285215715406856235133871810220904053967570123512004919937404797464185003099621391011214269019836932995279586052777018683841973509612503565901616391531761678497147147321538409462649023084829584816682633269380976643959775411530967516*t**9 + 0.2844365738495830758318336070831121854599570053174630300482842580128837393042966876036487665643892446791101054095587497895803503617359037601403981098136679760980604363277654166503330194656228915838188192903076075614575962928695175096164721906206448368688403038051606785133420263772749391569018935208322127016267556721903329071056598599722840043693565028606888075356448203097672029460736112433239373377703729263765557786125072728836120472243899971519806262153060878823727972096984265818368834638912895533701795258421755724802097966080202062615293013866397670735505334019893272404787425084044467229012848116118818008983826692794886681757599051617389287399465998977158463076362953555920702583217053842855755936425845710914714963757492436705838751429823236654471837528734781839356743008131283001854440457064816848984881579857010580768719855519888213058183580784811749237423515268210615546658000491639445732691512475419572127651455933774054671362186510466862084703736105289740487105213413068412161673750174*t**8 - 0.1398177477554041292355633714795657025506579590719370816036932947525073054666973588204646348015721225096342890165623331905875735270934991263570876760095204847407154659775001987430560055385094724509523424417296649307316136556301359131072412446914700070684869537530057102489473105580605080909660302169518739686746911889531501328114667632640945598576872453608587093319872899523184737745683094632150550400608737579805088160286750738986841973762202526549023702699039694883713964019672662895640033374605008416413795467994009893888780876689454623308917757168240879633118837997165742245906115551250837418838536377526224207357972039763897787509702250856534521836936728829045413061626229111954044261934863983403519690360797683976496800980052662955282321347577373547947905875414634001565634126931428220298361333549867893665780627695168690176776306728611254838870982876204336621627844684406585455828273385653313117339463655872134358887553475859532863789002144047693575023197218130420886475541335502612511848590112*t**7 + 0.6527283023554173502373134135665608980805942720381276729221819688477648808596232995203616916250216423173447926720066406115565899600202574447540415166001280184294547251094053094820890053098399132295754027442460677023876343936579115597166589038657073332530793542693004257687094508091634096038068925459728583991193345870298465317073959800927241272477454777014183861227103645615672147786160125938271110532679334880666095367341768645577341676136624940033963644849640190571834926029786766889447648203890791392791024996218774708849722512377309069557826240619206511966842258066168716830479897305926608028086857377499582622132714819021564834140972490959911158355514144772120367796737119974429431192498681386133956034400093323885956069677002746650948543707022997538805059052357290724926758298364842452398600298283429200468538102243300651241828275875304604139688231963051035240565801876751683352268955705817037656459693819879899584777752752545312909281002970497591161847355002881639308416114429512646761321190777*t**6 - 0.6457339880805640622974105996677304341617336398332838814758354301041543146292423446978606861417449345754843009357201462287881805238047256861159566948124967415509536457673180259332110251522523804044696713680350893823702579892024479492756706668499348047133413926280433469637539608169062693314886789629953189848295220011977036444157049793192670653754742479519252653845674423394067212259598224791361954529679206343992371126550738280947965755044099964446535470261339176048384910423604165744311843048245999264243766643212625639232381678880028806055162997450669673151408648462488914968602613533322129452209199577619431125665488772855078515528666536368008468748818838466521580718828352408482431935968386765597771414599237323850427368596462930207768900463870599958888847692531945934546960976169327613568733010190019271305789175511887142992723781176203079077821438799126975546219803675048762890226439231981301216410048772823316361414059906140827291055479297437735630109192837588853898337673263573600307779926289*t**5 + 0.927865954434869397926963164211757434187243966788479561269076964563381838836075375050986188393674513687150349603818890426649035817574887654243331130959725883997862956526157273381248214517685330107156485433495251081882213158337452029936599880319754280356882912598333199491456461417365663447818157750958791733670988500108677013305118622240178480304320322161503295049312954023506785571748468221457176801818689447415644530182391488690719534589917778880872166312654006958788733019706990581604299032192550086700925214487503357777272229418866305251975072655807982004445622314048272046743304546582725060958836538899933097790960298519125926877932281635523977864671334918666303184499911882488549651064331400060786647023946652984409004701761615787828010606812251416844427084910650355787191911743002206107056415591416005184137568869485702208323613869652852208450876060944758062088970177012418814887255555214903779847896079488880037837244105308981082153670840229727938471080176615991769557677967706913630757344005*t**4 - 0.7060507766192042259649203212923382367460037543341536990450483587518178648251728650943877507196889304099873920394987358883755398469207261678077337153587482251089243631999350603422707778580528970714196052571072895639408071647273033438331955341526396252294547999575533661035518539853282417101801675857844077577366548827380586888808944354787474617015790147718892104300023929211956864103460668381641362757700568734534841779533653036917507779269016816569675211503499357699350035816724137317137663038733898896057031159875763153804004137139670574129394605870676322204783673193162725383761348652179827004698598638863081481879275036467546122681219320179422553017860311967408721888029956171631371754986891007532483025474557166313037943500746018723616696687199477073181686072486607564539687866476872096031953203861189208094320503382537372487677733832932842971578096046054867992925927219253355713770625525580123120857949633211510503884134960939879306439116227699738125552076666940074328673646992911562374253287303*t**3 + 0.530345164832146806218795513262088245651062366123276089402390852358243082325416622775758692706999166537135136824991678963025076285541699574073954486952198937950266458701740822280988413811962203513904598284659030471214991217334323214960900033054958185811703071643161800728646748421353185818854603080716608080062466940226890411320303979492988733026514893033516172911093298977564931135870785986816661328855300272307454407276830727664805665466781001205452365050750656011235905640806046050501494462205786795392176246476078983443179455729140299212641158464991094390379009872092753376289718964926310283115235153888130534705360657481368595307010335862448402822413779049251466980139753477967566414418039087099978659152960869715029338479406328245967125690449773896373469201991497404889294924550633216554057603350109050520240091587926758973425224342936863056227610353651986408393327140618766997861923562873121807036584034516654428777408382719171687823279122973178714406566701381077345169059500392972870279323255*t**2 - 0.2130122646426879752520252749239067769541205415913636409937578888178307035396228739350752666942396171141352510512591161429113874186798813570882107691358057522760047285087148685301191327394797302776159484872693769663141769172296157363623636671953361165287089280849049840096441811263740966760298123829561882701210339987874197301035395994473686673786617076164371845937977128114735415522611191951690054550273263638387167669290296080217741203835243796653682193811831106726085102776287086770664707701650405915444825372553472598276200630863070451095816014079677287496075543388615173559341550718445173266093081395913204228704006695179825173644008366801974832471018800187200759609452033766761373927734658030760893878537661273148092680288997363587448911517114741425704381029798415506885455115165580002687608849560624096634599673857251962056757178412731160784717825736120387250795706608034524366146405181173015994706612845840652251911730755218863777948344682698931692353239456581991456711815898480531654900859092*t + 0.07009911369418122515812366621620084809802734312828522190997255192239964435308598536849688063221234235450191790483620275182109018899726007427733723563930008460922474105934400652125039162098632097329443212685802926464992716378046428161364284425201697319582961191024925024922022536511429258433673591771957698215352801249020318733422034168800465847322345526243742361121951286605596953274466707428236009739175283423895699882415664554805073326347865895957339861033791286932824609202655131705053549313345707447398465700641960695259110807118948546225230972539154150784012001596895825881988682439751165843123063427388049548916605889020232984643051315199169447767896920815676324556523725669319133252956419430161657467937187042745762818664085419055948018300776564190257745884545453602687794968317512493440374306867151692963597694647618359464011614422827523476095349344866494518610945185857067762509602223953956652568449012259420829804220045761561889527784008631284277159294709109533175954257317579787050666262802) - (-0.00283137222665271055569098170189508592247497568735293626384103904343211938226340666870231762959837352008717800156375333054636874370260616327930021452878056758066417098949646162327754801700705183063968466798837257399981317204145581122710414750669868987332774603011915566849606864389167873439630072524627439641721166325363424716383885757185586233071907685493666383242213172374114873949507899442242478264325545554128768952091154078263813139212692995311904936371122015066420680182440878434869914119643869981860493257617450663900930090137084558319415552543317111247382530013187831237761572283821129350082756823168563417567750529900947607540527111545870440199130612882434171156387806985222141407605713628909615844268663843590809807980055756420839309904783126727069095251450034954911427757229672428093656612101344017229602877508502481463894952517895885241660838662770615543653860817969175344743570018166879583770628081512334671130680755253225679000874555908110223208020348683600136157780968326471444718922452*t**14 - 0.0269273902514699285592783460407665188750393427631882083509897210549372624476441516983987165074885800121617362898962231547739300078904659776428438078025634429577782609735225921242652269748617094062215006293360714614764225927630911941699945340650530081937150217994673690685757518973641959227967395814224040140172457312236085078767567339394070042163759513697801523296694736312199489838272901998466947102432157808448314981578036281996607885131424930007277655986389188861586836920024058238989286302200153503753320111638341589787155070497161168617538501951650309518356175463446683652277835787943233175361542818902831810027685609175692259387204840428349523334111377434759545105558930378915063970826062212737252018828585492125560769761377634410171686595037386453891820477494907547273694796728959282895460508786082892268297629700500580490640545274021584539490642067466387027481469795694602348362479246490490905418952327612495815399887328255391080869323004715397273999960398441738819331546946909780911135888452*t**13 - 0.1191606901710235002721746348119096179182033935071327657457964360481537367450624325220528405152610398294521970445965432549634926907776974097023377398747958664594118178809873564081109017124420515810770490700240542064397280990327181974898817658722520314239817426658795881101916646302778599092146522018197405411049348836636406297004018158013603092289248798227940028447269233072303668453503719384867269554973389651981180111348522322062968200277245406796439482944848548082294938085710026341983398390868233738087977184788684790011919677801859164042222122598928908930643359068101897553051883893277856434366406865445956544887090595809354364923615265139736604337491573520353056375750820309008680639186204543806672055090177652053355442114766124014760521850095804175125332664690359051451101344451227638749957354856318199535392066197811874674591406149956347128681828666168603720314615394140608700687085795768259841371359354764801876296989868907516833313891556197375747305268582524031234870382689928417780458764333*t**12 - 0.3417860485535812119519348620935575329864991960653406991609987775749378283246710594677022840181422823352544286668491293598479210625216696723803766439597393655528797213348515697719472490617599515671656381302498610271770405545070069808696376354852170975425836301330412070130806892293120720679128088143880931843690107333778366430690854482130701690593396904691017376435055155217531120226909225895810284925300464726353517665368632139400857256316104129303224951565838387946229945118869098224899520573582835915521739824263991396206855892811781098654168242219337157907365657121121118574031159122885163932307193675771466467008378578856682063579112236963020855376855431692775872646220213519274766176126267839166068635112555194753864356396244956145111009849849563573609749738117014619709277386001581161272082129590484735342540216989930021869328628763662499690298698771524594183226635524951918052918013893036266992569940515454337991381018423535226930866825417759693666794530949923377213015501709147053908146916816*t**11 - 0.6370339566623643836969997267068958824136981121894955014216784384702970062958392945325782606297541246831680316096174087909397402423140540112657829637515874395978084585020990269110098349917791371135380750459071125868022946823581285490339568687127175216413908538621129567811030932283082660019220030988256401283027330699465648419315274710489362468830660390771692648496106439149966828720560817685531020080733334683297945982482385985287583474529555692518837447277512880516756479492164361425783458979396267552910523635796277279230626333713113292442426863194965078221651182463640351485433804177894623538067739587937193987876603554070329145748449962804418362061577157463606914066728143581577505289017790761202084045857088356452780513371121184691845288581839903677201589249410576758299040461143046798296313253216625186476906408733764990783207916466737492507775591391329512684206704146813015573341733600438379837232939473453512022376609287067340114526512530742383113251162038782139070147372244690907504146636056*t**10 - 1.145794116169971494559227404068983466005074067882124962822880178210404781775390666392043161797594122618422673890699711635933584264603713089077299830507919617468351137020990059213095746510039691584626892180084360558927223831477945785960571837853256501198324459887493075869657574683815189620395802461813087055324196207305103617784458769165645882976479083579127542966623832974903669668300577752545293863932945974611738222985704798731351535404991259203363528682939271187663597168975336871892311292072987673201134141339909300114854591403654578343662191253969799498956814498406332892228536735836342850629348869579344592763610149009426076371062945354426594684453745172982246510377262257026548800182827685137132954016537119915725132921675423659753082740589624455333314144649189410076675796018116520219568917880333013121085588539688485360543201546703993328746128707399858630491297341675245260922691208845966321732571771160548947907963230959284049145474284665977523754974521834921105159325516795219091514700535*t**9 - 0.8082639748364402941828249453615441706976544098567464125476904832184651834617377037679178711669068169557728596005320710824670298288041872568442771404493881699510652921735762956920530112707658860910427774996809282141845929189659407033016977873784316679268049148755374805517003109665026600824540077232588370858612515127003021422067025753461595404270949718550773822718125615054016730409597759145707882618431155659279423585959543094469336497691863547986856069629745936676926023195609442782656580987466845531675171551877839984510316175820029110999560538071983241202782253375651358987255668085241474326391656692276626499522818246489747697541392072623485818422452312011656203189499411142227764226004684995912227054261970195926683533131022029558273741970672304715890249054868864156694143866170611620484629198813648570813111160804427943664317717766502789659251910092842117853239695751627447499316815457776158651253209311454752378585510647432432589384568516384120776346626335014369942442878979563797870377870764*t**8 - 2.275492590796664606654668856664897483679656042539704240386274064103069914434373500829190132515113957432880843276469998316642802893887230081123184878509343808784483490622123333202664155724983132670550554322460860491660770342956140076931777524965158694950722430441285428106736211018199513255215148166657701613014045377522663256845278879778272034954852022885510460285158562478137623568588889946591498702162983411012446228900058183068896377795119977215845009722448703058982377677587412654695067711130316426961436206737404579841678372864161650092234411093118136588404267215914617923829940067235573783210278492895054407187061354235909345406079241293911429919572799181726770461090362844736562066573643074284604749140676568731771971005993949364671001143858589323577470022987825471485394406505026401483552365651853479187905263885608464614975884415910570446546864627849399389938812214568492437326400393311556586153209980335657702121164747019243737089749208373489667762988884231792389684170730454729729339000139*t**7 + 0.9787242342878289046489436003569599178546057135035595712258530632675511382668815117432524436110048575674400231159363323341130146896544938844996137320666433931850082618425013912013920387695663071566663970921076545151212955894109513917506887128402900494794086762710399717426311739064235566367622115186631177807228383226720509296802673428486619190038107175260109653239110296662293164219781662425053852804261163058635617122007255172907893816335417685843165918893277864185997748137708640269480233622235058914896568275958069257221466136826182363162424300177686157431831865980160195721342808858755861931869754642683569451505804278347284512567915755995741652858557101803317891431383603783678309833544047883824637832525583787835477606860368640686976249433041614835635341127902438010959438888519997542088529334849075255660464393866180831237434147100278783872096880133430356351394912790846098190797913699573191821376245591104940512212874331016730046523015008333855025162380526912946205328789348518287582940130785*t**6 - 3.916369814132504101423880481399365388483565632228766037533091813086589285157739797122170149750129853904068756032039843669339539760121544668524249099600768110576728350656431856892534031859039479377452416465476406214325806361947469358299953423194243999518476125615802554612256704854980457622841355275837150394716007522179079190244375880556344763486472866208510316736262187369403288671696075562962666319607600928399657220405061187346405005681974964020378186909784114343100955617872060133668588922334474835674614997731264825309833507426385441734695744371523907180105354839701230098287938383555964816852114426499749573279628891412938900484583494575946695013308486863272220678042271984657658715499208831680373620640055994331573641806201647990569126224213798523283035431414374434956054979018905471439160178970057520281122861345980390745096965525182762483812939177830621144339481126051010011361373423490222593875816291927939750866651651527187745568601782298554697108413001728983585049668657707588056792714466*t**5 + 3.228669940402820311487052998338652170808668199166419407379177150520771573146211723489303430708724672877421504678600731143940902619023628430579783474062483707754768228836590129666055125761261902022348356840175446911851289946012239746378353334249674023566706963140216734818769804084531346657443394814976594924147610005988518222078524896596335326877371239759626326922837211697033606129799112395680977264839603171996185563275369140473982877522049982223267735130669588024192455211802082872155921524122999632121883321606312819616190839440014403027581498725334836575704324231244457484301306766661064726104599788809715562832744386427539257764333268184004234374409419233260790359414176204241215967984193382798885707299618661925213684298231465103884450231935299979444423846265972967273480488084663806784366505095009635652894587755943571496361890588101539538910719399563487773109901837524381445113219615990650608205024386411658180707029953070413645527739648718867815054596418794426949168836631786800153889963144*t**4 - 3.71146381773947759170785265684702973674897586715391824507630785825352735534430150020394475357469805474860139841527556170659614327029955061697332452383890353599145182610462909352499285807074132042862594173398100432752885263334980811974639952127901712142753165039333279796582584566946265379127263100383516693468395400043470805322047448896071392121728128864601318019725181609402714228699387288582870720727475778966257812072956595476287813835967111552348866525061602783515493207882796232641719612877020034680370085795001343110908891767546522100790029062323192801778248925619308818697321818633090024383534615559973239116384119407650370751172912654209591145868533967466521273799964752995419860425732560024314658809578661193763601880704646315131204242724900566737770833964260142314876764697200882442822566236566402073655027547794280883329445547861140883380350424377903224835588070804967525954902222085961511939158431795552015134897642123592432861468336091891175388432070646396707823071187082765452302937602*t**3 + 2.11815232985761267789476096387701471023801126300246109713514507625545359447551859528316325215906679122996217611849620766512661954076217850342320114607624467532677308959980518102681233357415869121425881577132186869182242149418191003149958660245791887568836439987266009831065556195598472513054050275735322327320996464821417606664268330643624238510473704431566763129000717876358705923103820051449240882731017062036045253386009591107525233378070504497090256345104980730980501074501724119514129891162016966881710934796272894614120124114190117223881838176120289666143510195794881761512840459565394810140957959165892444456378251094026383680436579605382676590535809359022261656640898685148941152649606730225974490764236714989391138305022380561708500900615984312195450582174598226936190635994306162880958596115835676242829615101476121174630332014987985289147342881381646039787777816577600671413118765767403693625738488996345315116524048828196379193173486830992143766562300008202229860209409787346871227598619*t**2 - 1.06069032966429361243759102652417649130212473224655217880478170471648616465083324555151738541399833307427027364998335792605015257108339914814790897390439787590053291740348164456197682762392440702780919656931806094242998243466864642992180006610991637162340614328632360145729349684270637163770920616143321616012493388045378082264060795898597746605302978606703234582218659795512986227174157197363332265771060054461490881455366145532961133093356200241090473010150131202247181128161209210100298892441157359078435249295215796688635891145828059842528231692998218878075801974418550675257943792985262056623047030777626106941072131496273719061402067172489680564482755809850293396027950695593513282883607817419995731830592173943005867695881265649193425138089954779274693840398299480977858984910126643310811520670021810104048018317585351794685044868587372611245522070730397281678665428123753399572384712574624361407316806903330885755481676543834337564655824594635742881313340276215469033811900078594574055864651*t + 0.2130122646426879752520252749239067769541205415913636409937578888178307035396228739350752666942396171141352510512591161429113874186798813570882107691358057522760047285087148685301191327394797302776159484872693769663141769172296157363623636671953361165287089280849049840096441811263740966760298123829561882701210339987874197301035395994473686673786617076164371845937977128114735415522611191951690054550273263638387167669290296080217741203835243796653682193811831106726085102776287086770664707701650405915444825372553472598276200630863070451095816014079677287496075543388615173559341550718445173266093081395913204228704006695179825173644008366801974832471018800187200759609452033766761373927734658030760893878537661273148092680288997363587448911517114741425704381029798415506885455115165580002687608849560624096634599673857251962056757178412731160784717825736120387250795706608034524366146405181173015994706612845840652251911730755218863777948344682698931692353239456581991456711815898480531654900859092)*(-0.00111002261919918758393632571568104822462631276423425766911996194901585296719614440043225695527971177845006453730162143676606556341778651406690414245861274200351516148419298113425796959841694663241118801346515395502064587681683004740846329875150695036623814971617534918610558508979526181243652235138451223581492528812824510926899049071277393663706480272214817336525255959236260321021012343687595320003914693806626360177665167204513813746375632986884539379941027782385309087891843639027869036441055156075945222498579275625818229958802249098780621816298479720861841783608278254151828940609730546702472032938712938173312700495352418838838020047800521004601509218645251370302256735257094560621873318247286973569228033504998116219827497389201098821352780421550183130724421487606203335241405117006267016584546702536259609511157714651074721056222269033125423980360865510084800488805327198076407023370812152699216384759292586893837719194593556386388669504934070433996319922167184414328935757613671795605313287*t**15 + 0.01227492678514921797825192234225544266170280760549774637025477785443527046733260259549793911101720317340125196934484815057809126157615505295059132017591292192670849810229089927452745113792984589742716338664813039046274455761057022011012496750017687790455551115639250059639454189749532279834618642621835457938652564274895757901666271225079978539852789702750997378631621945921418840410124889070158022976544673438447240993245525179707991378345697149191144938894705564002164905523526177122301002019902831292398705387203976791264646119638254170725781516809712917419181747561853514332454578298995102387589639676436395119112902282931584296216963357677519387476598318199179596999450888108853555479152490522887691269243455665016238530722365703725283160385918575690803348144880718301270911978568923092925925686312452799931065968625205105024401952805807179273189920477639060239802938358377272336285307563494573493426393247392393698210642683804416999747851773399629292586094811964633704820888720378414111571686305*t**14 - 0.06314542857992960620025536563685364440596182657419207184213931193957495972812832192549849250856909542492688150699504844612303828421473665738677062279239783330918290655045555881036852157287918600056351803841831576447411124336441271892966485484887692295930096832509351194825841174763602364497751360646164144690394058853000499215030970495304942484477767840152118671288992165878028933854117402667122623877811337355083670178871358349005016858910384307553750721182684137480495239400888054838091250173300582877723053906439629846360845806146765450881289412681214518676647605779158695606421097058249674494001607869900488680700176487958691655681117738335821495710581163669344338195640788254110327655549970934636169930608551159335914456863037904761869051972619621267618776511667087077505625287886404983077751481915565435804613487626646369536558687125380170887001881051637349427606120992959732452268012712771418376670498031447222984623268689780827526595674173836827174688527451222404089920515125835132391558729685*t**13 + 0.2004717237319974771770668453869252356278281099024652025896686982650638987151765922104099645925832484599248660730236752344376493507202669786699583837488980267163521649577041531367369859246827816899531404950835704059904245974814965026715696644417802530433682162480220853612751457844884051998283243929078200349461558559820053156328507663408531714143604494361109604636560683786579516664612834370919599565707886102584163191803442528991145865283217241261700893002792827314697878167357807083113299944495090161944822292934270772834182373349233876004768410356851211770910424006149804886187982560650998439178008892256837683812028550395295195500922266317560231708717902657039462939287906303472418019435122730231358210734843916283687082726575943624922428492761574034811145128568488177060437839584357949663927230411883745279330727839792309998691464067673252882057994525639486895520406509129738557234126799406426091582747130112055971080519526631583084331028066892403681825885874946568661599886302274508754920065539*t**12 - 0.4393062031270750197156937090874051902562934286862199899821274072129981262661085725072307039757782125442744541716976622653012832427630476021652941046064009837222605433535503200219030929487543834451447218768204440540323629530944373683729196862980787584419790144263022659246703464270751296572818136926318432275923550208581785332502409122201559101379606308410461178660812190681777231117610557898242299682700322552341141059976728867187602223059134676320564126934267238743856057638750205086686854216559074979110772674819673568951698066424866814525421666811317252220760483681585346011999574621012232371920454513104380038537362812164783102125243116733583030330508418371432641834934886937724802524633594339427330401731844890675062431467011612727813201697937048273486410038275097355904562390507796816668194449510963515751075302627214792475347768974974140177305843148089564668863061331615885585412548863594948936039538571017506984479808645034290571048063177562175221773379793782182288604932804881210590761294933*t**11 + 0.7039327016762502397090567820377746512901558635651374542704999860329926302608828229922283113228958527471946677857176339435185458647560528358590072811070572338534512977680260339234928458063889356402712289214722641182348894532865137082579381926673712533165672416837740835271255928027532064654311482127720670922354870848560135764114242739043818500340359517978016392876715310534445378943288143298520768447521298724787449346037077434059036298614192675458667733991853106241916317328006090278996216324596252682411312878606482305185555824787674672838029045953264911475373987560747246451649834478124400650718260540176053959184225646029277402305646015518986953196100081275385223665667484844483085635586260263206677479214000241127342440763323403360402667743494343820754069233911825896073221219567297358893821739629150433446780380986544262957492007248776865010773128425634981745900238666472689025976018893952515969166758385625192347848550111690610909364002684353867364823244841070628973221585391670417820018501154*t**10 - 0.8521538077960929239371860486366414652485117296076489232984397057516377129665287288261681026235309164975549131235687792485294436870309397322524677073400859839251853404312370053501139926419181222274627211383123120102207436590514492840843847895782066343696830377094623230821856475239931292577049034265665191670145674070437844460558925072693018587752401080117205413335003503101526618093885485210019092690629033305373728212383761582384713575726884883694407489802643399916830138305066951818901519799754389188746454502684556571303374707663616075451507756953429086583978996673972666486688096478297372446483675052663889967255286788053378794707788189551700562791755610226097975598029764701586133342338306420204918983350766355330945082797355429249134140184133551980271522522610598506169305977159322582461931914650591032293926243107043988601987767488576414139771913835562142618426846574319435079654551553467530170224735926183127660884588370142661401271389811387101294806656580062304496211223082303677701029860976*t**9 + 0.7936894170516082155432626212655711340042983025615537711458827021830651184167167625315703811659165022836864784521326991819854122399347254048966648036555078306209368392181641005361955757843352339873694536006209904145522529883633445307550388410771429619191483997618878083659787388593136399744975651711741450771602597069178723835461679678416647527634551317631578000939580505103270585154730967779517330179764136175687261134444730694800452819127385267204289081926928705723572769125432603618556003280006045353360837636615024961963763619896291064659383504309467162552742437315836619177382135675278060708292565910572459436081060670974541044122641542678007930509370420782316928577572172773096066348196204187368091156317300275195841258845106385818294633358201721683663804871176025063772400177605174493949098957758686967242818802368351218528966664962117780059123356586336463814309257635605631870388336683325556309877758300699106434212442544655717048284228538544422063717307296905456679309531887839222603115453447*t**8 - 0.5735162862530631589100288712439881617547181006482069730975504887201787558426898288966649376736038009624853645718417502465139118145226286286609792320171365186215930499599491342479528055203297237433970377194489214289758399169881514979542981007301967123672417510783202184193995825544351041859539469670349896192336616201919955699059883119247952529150642036107483217507251682162370644235075179374792695201137695832122079311680066018004945488729928096328035789471923483302177767402751704143858249156254935547571492427586477535549162504761522541255873656451930665470893336792310325342852449885058240397759834329157425856951837792170624206625173267289425751756404810800972365567267026865863618778062257507939518088986190842652028196479717500202834795489966031033722843076748559769587024437280771631574096567175422021693314098312641103459257963395423966602647216890543422262816734553598951398898796548010996294398657244571292299953091736724301078621297521321871707470381467856776288310504394280537431624520136*t**7 + 0.3215614921962754706074346378147382125971508228746206864082125886979748291679935798911206060633066864234687812570973663899323937354165117178057755501267571251350955748261909733035090333788481010193396929253678905445515732880860984479456543046707517763649546549469149871866543481833186320603257069369086108588186826575558938560411024403649282838086384498410033367039081398253014596905422652666146729188214561734222834213313311366236893113466801907669848649584099508751546727487120658222355123676479883645956079788986373900273366720860217767624316912351696986233519789822151808230885424262020255967766679234151830882963144689386769522031260695204521959664922314642344288857348778059123580529049524183454589628700128029332238518271550224326048359216362353410219274962669873932600718263490563174356767348991738744022610970981538692334835850959699904592996020496047621296680992450882423484671191599304642281382422111300085475505291385219007506486117342724791851359494242409502106618020581747433034046389939*t**6 - 0.1387743638341406117215487247673153591272620694048221723920649623138179242571977132675136806446630090774706886618386080503954183520816081169285244947963078087597407358228216297733930725653284309470706306880473784037707674191724719856196891072765421855558299860753632073947149204242969213795292775424211351513676337492357960086363772436578278982319021452264778933981777341714769241756586923249806371589171062360123123399702446944851790393020001971088556131359310107120602451308576233887567295031765495254241614186688442535406951484608629183435955740492577228863133165789927952393327925977872977439288233219782800434617761136491659058030812806324118292475648327713465044366469807181979647333222463154216696667583790790413920451948322772192693823561722935261171465501993458214544924192082079221824784683180717254273596886395524486433014549017083369449546904608507342831213819890867631907187896195182712366948616846040577060107590642316061745442901759644660518738116022889130173905293783462133609926151129*t**5 + 0.0452770264057096225843045047031851310619757230650633782334416136032800727235588645411176461845880875687630989579574286207445688015720257089819813362989181250400772312142688335222860745403351255075024483550967739784505695157430605457581984588008687200657139292755326060866795747803179386518664286969699720216476589850555141152745775693071781457312251596916194104298034001902530606581142578501575759541223399051865078550953290290201502144722003951292137422667256779081547425232715786439033442776899542891985823137592886901246812921982450883907388199680419113895669405383199358529769603426134621254306847462514319807115438980289881554005882815340814941774357331201265466854177130645980248107596653490968698515885744220774905056646015706565669771798874274784752795906294859330810015363052599237613390385814283057865152591961073404485759657500030358718842106907096075828344540220528905419995536120673701513675351027850183764388767691655997504165252674725257427768937792469687295484189215508956408193558848*t**4 - 0.01081218463345722553796839789478732048119348981144887722004131551546267916610478859873413023179336229870672697939432896821368216340988390451169401491654776513564327242820917900884137135799522271688065090863736251066973711614385299271854899308844232584642834646385211589474734075059328287929826733808433299891046734572213405780167791428720581148532271038343973056305808098136024579379571936902627610774988496585553586121432698351973131242388932614887694949421589001651713468302916700053532710099666869122682333517572856095627113361050445345702714882931726262691842780532035195727992166625027028705066675989932848143123383404721673704384813002794466535520769920419461128933023112403692248531376891788722054604043585627700956337068954058409478788905554993264374274345861807143551148449600091570817407546703621309134589445442039967167883704694643608834630705314816420376864479063498992724523222433222530724710208737465043832481567046342384795976521198076957931701003624506758835785385734212109918599621153*t**3 + 0.001784362401936900988768452707622118164119085551884007909923243580256159857720301231756836321007007882196214568595523057653819533962931266362154012363453831542150941824916742881159967912810947862089009709618818718233875611194781006696260634437719555272792892573106808987029405586611576244615018391833919573104767309626290199969123426477155015936852210784880502498528309006465421958225262018664664096425987942666303793066790122646898350337768620182976083466494908493010817838688079539532193841899490086564425647674710934106538370334815958430751572403723839751415274395470596381320005117128482602997606943903655167712130227429400027656722387551476766155606438178926977506907750034118602344734432564783503348215465130201763225806180751885545642866825718475640752524378727165885853864889927064793209404082590065422614554033913039154786289913970297727171221855111265866408871662478234857072315133317339907021765199260397849909631021887127787927923902363093341331774831671817368621082204065407017249260259807*t**2 - 0.0001820043238574437962422388941517060578007069290671655101899782274787556358397259739456517172172382086851364634267877458559660292946217455747489506260171921159823786897390640580395169389539067134616022361855014732832858225345261417004454805349976026515143066882759829952846846767233862862937222115320347037646171963903532829444385231935363069388517462985208688186042228243390880828967188738462233066302702386050631658268783675368968638215574080131541373556735613166224083583816370429632038846510469654783842961335277402929218588690534447844314615777628861065071851282039045510589176217111693944858742358197107034275232102677841318009610775547740969380401985248584553306991224145706475920991262045486162931468106157825439281358988446936355945320713895493172861961293124632169982072595719303459180809322555679649189151838296429473666947676983897684010330321258062002496237925614704685153361082535333182812370911834562646309741839663436694904679663220081351871087406511049624579873604417673613226267984331*t + 0.000008650917887621666281219535296511110042274402225284746233080658542122580185395666612424845374841912621784669117729210341299453472453502611999601001260514356377816365389309497692589814863891701297314447309761671256552922854509131621070582189338751771604811450275180243935005417407730212883602841962053837842638668249375531669612643352181371260237397011466139192849867810447912786506154286595322620891989238535788202904623998656331698953006917670813577615096852806128753036673226850213699438223579785750166373569228649182730530553627242547310074829847419558867497587012085098824363989903069274603805202401049519411737738168543423615342613939207332816454129156526701935515377093137131686286104706932369831773968445793437451435092456316147649601932328879476393214406831536746992437720820349187595282652004494614398208450503977427795057453445999196640038241001991770817729526653941103857792649301407957547494111538479171269378312728502255278879632606176988908993316026906222784484677977211967308459350077824)/(0.0001887581484435140370460654467930057281649983791568624175894026028954746254842271112468211753065582346724785334375835553697579162468404108852866809685853711720442780659664307748851698678004701220426456445325581715999875448027637207484736098337799126582218497353412770445664045762594452489597533816830849597611474442169089498109225905047903908220479384569957775888281421149160765826330052662948283188428836970360858459680607693855092087594751286635412699575807480100442804534549605856232466094130959133212403288384116337759339533934247230388796103683622114074982550200087918874918410481892140862333885045487790422783785003532672984050270180743639136267994204085882894474375918713234814276050704757526064105628457758957272065386533705042805595399365220844847127301676333566366076185048197816187291044080675626781530685850056683209759299683452639234944405591085137436957692405453127835631623800121112530558470853876748897807537871701688171193339163706054068154720135657890667574385206455509809631459483013*t**15 + 0.001923385017962137754234167574340465633931381625942014882213551503924090174831725121314194036249184286582981163564015939626709286277890426974488843414468817354127018640965899437447516212490122100444392902095433675819744470911649371012142466718932357728122501557104812076326839421240299708771195684387314572429803266515972036276911195281386214586883996526412868023547819545087139213130520728560478193588801127203202249868414544871404342036653035214337697542759922777582763120857314701707066330730001096455380857940273868498479679074979722632982417871083216496559686967596047740373413112771023094109725305849305941500197754351254944709908606003059639452386509838819711036468278074135107599791614730090980371563061324943754005498295554531501226332821695617527798717696392196766240677119492566306396146491329163516202125926432147003504575323385868460996361729053331335910581927112104302488303423189217792181563945197232112967142052344681364863352307176538551957142574274583848709511049620784149365256346085*t**14 + 0.009166206936232576944013433447069970609092568731317905057368956619088748980389417886311756962712387679188630541892041788843345591598284416130949056913445835881493216760075950492931607824034003967775157620771081092803056007617901399806913981990173233186460134051221506777707051125405989223785742477063056964700379606435664663823107831984720023786840375370984154064978994100556182065026951687575902073499795305015239847010373248631253601540594195436895688330344988831402268754505461741092179987622063336446830593729143729153937843675398916646478631712299453145620333531293091519638860645332906587956664668195738127268362235352379648960950886654921050802596089027079638895198083233146220620301432342644666708116078289631179657247036662492421234783462275416731733328189925838857316164188086366451922748883510139996426092816906245189804549278076587285605244835893604644002420118416466220774516044582832768010548918113575399048438383606980898717799165816902890363886681404031009499002943768680136772759725645*t**13 + 0.02848217071279843432932790517446312774887493300544505826341656479791148569372258828897519033484519019460453572223742744665399342187680580603169805366331161379607331011123763081432893742181332929726380317752082175226475337954225058173913646962376809146188196917775343391775672410244267267232606740119900776536408422778148638692242378735108918075494497420575847813695879296014609266855757688246508570771083720605294598054473860116167381046930086774419354126304865323288524954265724248520749600477985696596268116520219992830172379910676484248878473535182780964922804714267600932145025965935737636610255994729809555389173648815713901719649260197469184046147379526410646560538516844599395638480105223199305057195927129328961553630330204130120925841541541302978008124781764178849757731155001317634393401774658737279452116847491608351557773857303052083075248915642937161819355529604126598377431678244196889160474950429545281659484182019612689109055687848133078055662109124936147677512918090955878256789097347*t**12 + 0.05791217787839676215427270242789962567397255565359050012924349440639063693598539041205256914815946588028800287360158261735815820384673218284234390579559885814525531440928172971918271227197992155577618864053701023516384497112346623173035971533751977469467189580564663243464573574802802418199290937262051273893661209726786953108468431554990329517118782173428811498632824035590878935200509834259573654618848486075725405438620350895715984976845050629562579497525011709560687708629240328568894053617632970502645930577996615708391478485193739356765842602904513707474228347694218501350394367434449657761879763261761085443524185049154844677953136329822198510965070143148733558242480130528706822990016173419274621859870080324047982284882837440628950262347127185161092353863100524325726400419220951634814830230196931987706278553394331809802916287697034084097977810355754102440187912860739105066674303273125799852029944975866829111251462988243036467751375027947621012046510944347399154679429313355370458315123687*t**11 + 0.1145794116169971494559227404068983466005074067882124962822880178210404781775390666392043161797594122618422673890699711635933584264603713089077299830507919617468351137020990059213095746510039691584626892180084360558927223831477945785960571837853256501198324459887493075869657574683815189620395802461813087055324196207305103617784458769165645882976479083579127542966623832974903669668300577752545293863932945974611738222985704798731351535404991259203363528682939271187663597168975336871892311292072987673201134141339909300114854591403654578343662191253969799498956814498406332892228536735836342850629348869579344592763610149009426076371062945354426594684453745172982246510377262257026548800182827685137132954016537119915725132921675423659753082740589624455333314144649189410076675796018116520219568917880333013121085588539688485360543201546703993328746128707399858630491297341675245260922691208845966321732571771160548947907963230959284049145474284665977523754974521834921105159325516795219091514700535*t**10 + 0.08980710831516003268698054948461601896640604553963849028307672035760724260685974486310198568521186855064142884450356345360744775875602080631603079338326535221678503246373069952133922347452954289900475305552010313490939921321843785592241086526427018532520054609728194228352225677405585112027266752480653745398458350141114468246741139726068439338078833020611970914131250683393351922677330843495230980687145728510310470651066158993854818330768737275540951188477495485196584470217343825314062867763852050590750190613197599982789240195355587901110622820079981379114202503750723732208061853428046082584879618546974029443914242496099719663934880080692762020469391457790729114654999345713586404695560761106569141171402189106585203925701135588398081935522969227462100276727632071285215715406856235133871810220904053967570123512004919937404797464185003099621391011214269019836932995279586052777018683841973509612503565901616391531761678497147147321538409462649023084829584816682633269380976643959775411530967516*t**9 + 0.2844365738495830758318336070831121854599570053174630300482842580128837393042966876036487665643892446791101054095587497895803503617359037601403981098136679760980604363277654166503330194656228915838188192903076075614575962928695175096164721906206448368688403038051606785133420263772749391569018935208322127016267556721903329071056598599722840043693565028606888075356448203097672029460736112433239373377703729263765557786125072728836120472243899971519806262153060878823727972096984265818368834638912895533701795258421755724802097966080202062615293013866397670735505334019893272404787425084044467229012848116118818008983826692794886681757599051617389287399465998977158463076362953555920702583217053842855755936425845710914714963757492436705838751429823236654471837528734781839356743008131283001854440457064816848984881579857010580768719855519888213058183580784811749237423515268210615546658000491639445732691512475419572127651455933774054671362186510466862084703736105289740487105213413068412161673750174*t**8 - 0.1398177477554041292355633714795657025506579590719370816036932947525073054666973588204646348015721225096342890165623331905875735270934991263570876760095204847407154659775001987430560055385094724509523424417296649307316136556301359131072412446914700070684869537530057102489473105580605080909660302169518739686746911889531501328114667632640945598576872453608587093319872899523184737745683094632150550400608737579805088160286750738986841973762202526549023702699039694883713964019672662895640033374605008416413795467994009893888780876689454623308917757168240879633118837997165742245906115551250837418838536377526224207357972039763897787509702250856534521836936728829045413061626229111954044261934863983403519690360797683976496800980052662955282321347577373547947905875414634001565634126931428220298361333549867893665780627695168690176776306728611254838870982876204336621627844684406585455828273385653313117339463655872134358887553475859532863789002144047693575023197218130420886475541335502612511848590112*t**7 + 0.6527283023554173502373134135665608980805942720381276729221819688477648808596232995203616916250216423173447926720066406115565899600202574447540415166001280184294547251094053094820890053098399132295754027442460677023876343936579115597166589038657073332530793542693004257687094508091634096038068925459728583991193345870298465317073959800927241272477454777014183861227103645615672147786160125938271110532679334880666095367341768645577341676136624940033963644849640190571834926029786766889447648203890791392791024996218774708849722512377309069557826240619206511966842258066168716830479897305926608028086857377499582622132714819021564834140972490959911158355514144772120367796737119974429431192498681386133956034400093323885956069677002746650948543707022997538805059052357290724926758298364842452398600298283429200468538102243300651241828275875304604139688231963051035240565801876751683352268955705817037656459693819879899584777752752545312909281002970497591161847355002881639308416114429512646761321190777*t**6 - 0.6457339880805640622974105996677304341617336398332838814758354301041543146292423446978606861417449345754843009357201462287881805238047256861159566948124967415509536457673180259332110251522523804044696713680350893823702579892024479492756706668499348047133413926280433469637539608169062693314886789629953189848295220011977036444157049793192670653754742479519252653845674423394067212259598224791361954529679206343992371126550738280947965755044099964446535470261339176048384910423604165744311843048245999264243766643212625639232381678880028806055162997450669673151408648462488914968602613533322129452209199577619431125665488772855078515528666536368008468748818838466521580718828352408482431935968386765597771414599237323850427368596462930207768900463870599958888847692531945934546960976169327613568733010190019271305789175511887142992723781176203079077821438799126975546219803675048762890226439231981301216410048772823316361414059906140827291055479297437735630109192837588853898337673263573600307779926289*t**5 + 0.927865954434869397926963164211757434187243966788479561269076964563381838836075375050986188393674513687150349603818890426649035817574887654243331130959725883997862956526157273381248214517685330107156485433495251081882213158337452029936599880319754280356882912598333199491456461417365663447818157750958791733670988500108677013305118622240178480304320322161503295049312954023506785571748468221457176801818689447415644530182391488690719534589917778880872166312654006958788733019706990581604299032192550086700925214487503357777272229418866305251975072655807982004445622314048272046743304546582725060958836538899933097790960298519125926877932281635523977864671334918666303184499911882488549651064331400060786647023946652984409004701761615787828010606812251416844427084910650355787191911743002206107056415591416005184137568869485702208323613869652852208450876060944758062088970177012418814887255555214903779847896079488880037837244105308981082153670840229727938471080176615991769557677967706913630757344005*t**4 - 0.7060507766192042259649203212923382367460037543341536990450483587518178648251728650943877507196889304099873920394987358883755398469207261678077337153587482251089243631999350603422707778580528970714196052571072895639408071647273033438331955341526396252294547999575533661035518539853282417101801675857844077577366548827380586888808944354787474617015790147718892104300023929211956864103460668381641362757700568734534841779533653036917507779269016816569675211503499357699350035816724137317137663038733898896057031159875763153804004137139670574129394605870676322204783673193162725383761348652179827004698598638863081481879275036467546122681219320179422553017860311967408721888029956171631371754986891007532483025474557166313037943500746018723616696687199477073181686072486607564539687866476872096031953203861189208094320503382537372487677733832932842971578096046054867992925927219253355713770625525580123120857949633211510503884134960939879306439116227699738125552076666940074328673646992911562374253287303*t**3 + 0.530345164832146806218795513262088245651062366123276089402390852358243082325416622775758692706999166537135136824991678963025076285541699574073954486952198937950266458701740822280988413811962203513904598284659030471214991217334323214960900033054958185811703071643161800728646748421353185818854603080716608080062466940226890411320303979492988733026514893033516172911093298977564931135870785986816661328855300272307454407276830727664805665466781001205452365050750656011235905640806046050501494462205786795392176246476078983443179455729140299212641158464991094390379009872092753376289718964926310283115235153888130534705360657481368595307010335862448402822413779049251466980139753477967566414418039087099978659152960869715029338479406328245967125690449773896373469201991497404889294924550633216554057603350109050520240091587926758973425224342936863056227610353651986408393327140618766997861923562873121807036584034516654428777408382719171687823279122973178714406566701381077345169059500392972870279323255*t**2 - 0.2130122646426879752520252749239067769541205415913636409937578888178307035396228739350752666942396171141352510512591161429113874186798813570882107691358057522760047285087148685301191327394797302776159484872693769663141769172296157363623636671953361165287089280849049840096441811263740966760298123829561882701210339987874197301035395994473686673786617076164371845937977128114735415522611191951690054550273263638387167669290296080217741203835243796653682193811831106726085102776287086770664707701650405915444825372553472598276200630863070451095816014079677287496075543388615173559341550718445173266093081395913204228704006695179825173644008366801974832471018800187200759609452033766761373927734658030760893878537661273148092680288997363587448911517114741425704381029798415506885455115165580002687608849560624096634599673857251962056757178412731160784717825736120387250795706608034524366146405181173015994706612845840652251911730755218863777948344682698931692353239456581991456711815898480531654900859092*t + 0.07009911369418122515812366621620084809802734312828522190997255192239964435308598536849688063221234235450191790483620275182109018899726007427733723563930008460922474105934400652125039162098632097329443212685802926464992716378046428161364284425201697319582961191024925024922022536511429258433673591771957698215352801249020318733422034168800465847322345526243742361121951286605596953274466707428236009739175283423895699882415664554805073326347865895957339861033791286932824609202655131705053549313345707447398465700641960695259110807118948546225230972539154150784012001596895825881988682439751165843123063427388049548916605889020232984643051315199169447767896920815676324556523725669319133252956419430161657467937187042745762818664085419055948018300776564190257745884545453602687794968317512493440374306867151692963597694647618359464011614422827523476095349344866494518610945185857067762509602223953956652568449012259420829804220045761561889527784008631284277159294709109533175954257317579787050666262802)**2
[(i, D.subs(t, i)) for i in points] [(-1, 0.000000000001959709317811580788223871972730080581342721718844702756237703402563932892546969233308038723898312207917322002045057097312966115876820530425927414154323780987726848130313513620690396353383100008250128438521847809109686744300203528698505053760209716180736182262566065423361773194648355084484226390711155443815657400439104121496884158689071122728948713085604085375113034197833803724030435076316358761168891146059272497610872943147607061988986722709940316868456292387769828962488489458476947025857208789950089638912098709455974701353126614234097547866885550369219648441937036908955667766677487192324257996938561533916875531644697128086805649228327291555389494639769755440241294454044016491596025315492457615990165112963894175561563663750459759712941005879064814496536485811217536125717791484449105891187068847258720267026818949232182758016649991420659503506333628173721807900008106380322045953496795179455811591254197849143573327033260421620141169532871783615107019114148791856444363234446585355974143600), (-0.9814923093151319817992705019655088963931019900609807918341778359718703586984764321036881838633002930015169801928052583972554777352247196745140749803688415788566287495602385842868186144089296263179658425163934713885608015406172923540054161330391553051698605999978449436199566392005038566733376509087365007965158627441671971762784517072394233888736756014321220369987902311491634242589709256947600816077731588938955684554430074317519451545508593110181845619763877578161804865073059928293782916923221929197979549516621074675722376632168836693662432999763886545495778517203811688520763374118399682205907052366850173746161328735296987906635737143597148955552438665047984463045602365970944091356267292140639413609237146456697534094751374812444141269433184945576235540238635618091763947530213426537985117821872998145028885015002301699179014468892528894316558094760295410432435728047369056464139154515765440307296472609603157006577158843011788483215011677551182304378907570832582604459775987035983695551608703, 2.378452118639963614641313097264996797107289998869019402541746381503217335082853503971471383237784162342476885649234167460370654637431552643125037836324547334324748935085271516521336663019162432281635642763985426498559229902376551274598484377206742868354874675808553168056949674242406175478766062598808337386040723688642281066175188592029868918884373908005999995405055418729606103505666215742368945305924346590816231789385921376943137293774937244558089025576044555708012198291212437026056489588996686193016355262467281137111202301562873948120313871421170323008851286471688820129766568791394277235261172112041806775317099114254508567283387442564694102349708194857213748367621524329115661425426255097419299831180265432088775826701241230999716627338884414061999405921593519434517340054694341888155864809469552101497352428435029361940680241161800485624059843091984881349822606173735846069384668570850276725493009405486365561010501286180029859118089436903873172334378917799058908516450404845679544439138353e-1000), (-0.9543403754743148979487962629431347283994988192917189525587948832528097372179531690171820386147575216581880702440701286157057247237512438797718666497714720950957200260438749113623483989674890706752152284231116692175236101163304287548588298111190385194264259154926080966171306635075534116279111209742789099903443911538862176769122816415133381628671899405237701638003677119884962270259761171183563326805604687166795335270459034680749629451580443914180017653153617340172765669341836158606881407670938942163476042454142266130980708122699113415841524650053256865207072705324289297995473740768639060103670515458878325863888613547190113774430324333525954060864253880762896620053303450121322379788253023924393543112695499395829086771343684949599204781115579957436736355401358211568838856441911424496544972933300969326545622085980435729911717956371680383265264999644569683322022025868440453959266191230116086372425960091418756706923419423178127196351924569411552445996804269235924986573528927364620119948620498, 9.513808474559854458565252389059987188429159995476077610166985526012869340331414015885885532951136649369907542596936669841482618549726210572500151345298189337298995740341086066085346652076649729126542571055941705994236919609506205098393937508826971473419498703234212672227798696969624701915064250395233349544162894754569124264700754368119475675537495632023999981620221674918424414022664862969475781223697386363264927157543685507772549175099748978232356102304178222832048793164849748104225958355986744772065421049869124548444809206251495792481255485684681292035405145886755280519066275165577108941044688448167227101268396457018034269133549770258776409398832779428854993470486097316462645701705020389677199324721061728355103306804964923998866509355537656247997623686374077738069360218777367552623459237878208405989409713740117447762720964647201942496239372367939525399290424694943384277538674283401106901972037621945462244042005144720119436472357747615492689337515671196235634065801619382718177756553412e-1001), (-0.9162443646183684973080903571278830701833472248006497407757193875961214547453625094046163592921682433475059904352019696582569690583564389745666288099104588368186900301948878144933787136067792260916658364847083687143887201489091870187801984179404421035831656463204359079017430154540994881651924681073443187081074190437335620437890130560991138131672490641475905651532823839237183021857910219120060772207083131368143004970533171829150109752456044954231238841021750447052510027092637705173255610796277612535443971937315831709319025336925877627251570411256739440462937385042500834002714076751126520990860727034622511305678012463962332400389455802667644876519562421298031632683534829085956475170470312119838313224815826091254052191873283982387011478383944409517632422418198036709171649179315975205375563611207730773228031916859708805660135342035786471256917535711523108594196878018364884675972499015800696407421387181445498311274428062701746976920143200028233474625095632206170955989404800894574416018296365, 0), (-0.8678349064749044145083485801080012849645099448481543138188994226858298325336017191384453923947936981153411405219071363239544893716753426412422097001715607579612588527054507441278297820927790747679337500146926129787061593138233853489300557643044740616400309661511682591314299714968891617285269807293983787840952477661014231699575106510590812693771571315221160181970142337424096848845210793928791860819704107656674035017014221935746917217755755826645729779670326014257072265522683984870788218441194128982325711920270181912910361544314342780758822055399550384667528667127067982728379000832812918404781244252875202764612642732553536060577782643466986081942657816964074759344667880633703697569282829645633102660976468892324448661086785049745836047764572800161348940790591064512701457156691912694924250014812831387187851178295484939982842220934465248137531362776453487996073515134554062779774341522590360583270222142638407799248715326038594464883649543555643159354614707065014030129408013674502984486767557, 9.513808474559854458565252389059987188429159995476077610166985526012869340331414015885885532951136649369907542596936669841482618549726210572500151345298189337298995740341086066085346652076649729126542571055941705994236919609506205098393937508826971473419498703234212672227798696969624701915064250395233349544162894754569124264700754368119475675537495632023999981620221674918424414022664862969475781223697386363264927157543685507772549175099748978232356102304178222832048793164849748104225958355986744772065421049869124548444809206251495792481255485684681292035405145886755280519066275165577108941044688448167227101268396457018034269133549770258776409398832779428854993470486097316462645701705020389677199324721061728355103306804964923998866509355537656247997623686374077738069360218777367552623459237878208405989409713740117447762720964647201942496239372367939525399290424694943384277538674283401106901972037621945462244042005144720119436472357747615492689337515671196235634065801619382718177756553412e-1001), (-0.8100022199084441404636026430644826465349912572938282479213940754210789249617948845780646752870980085559220981665568300381148324730604043143115408563345709938039521205718487131284924438262650477105782670800173304007768881015206622901489902089023533169577634046899234271257456534682878706731468166963747320846522193639063572151476563394130522471736370541768236838128490985209302056088412980108895510921284051481301423767967080625017699410628664228358588573369218071443472317007175612619492068807825687789033730210893164824798034815608242891645572144372378973904814217204104599278026560692439595944868472387385065275267766399097793960096336101570863825164052038026607969123848800748288963758368941329620941914522972471596588922902615488382727952162474144232749222291215977614082482144732046053912613552584606335424643184046967166932463549992887757408096917891511123709106018419303005110070282137522181214439685827287201706626598687808605830386496051794608314006800696889937105242481756983583956433992128, 1.427071271183978168784787858358998078264373999321411641525047828901930401049712102382882829942670497405486131389540500476222392782458931585875022701794728400594849361051162909912801997811497459368981385658391255899135537941425930764759090626324045721012924805485131900834169804545443705287259637559285002431624434213185368639705113155217921351330624344803599997243033251237763662103399729445421367183554607954489739073631552826165882376264962346734853415345626733424807318974727462215633893753398011715809813157480368682266721380937724368872188322852702193805310771883013292077859941274836566341156703267225084065190259468552705140370032465538816461409824916914328249020572914597469396855255753058451579898708159259253265496020744738599829976403330648437199643552956111660710404032816605132893518885681731260898411457061017617164408144697080291374435905855190928809893563704241507641630801142510166035295805643291819336606300771708017915470853662142323903400627350679435345109870242907407726663483011e-1000), (-0.7437969275215392098682660615148146057605069173255105510733268728852356920542143691789148083243185447466620759469257419984821697467201379758801021446289277855256511885026841258090799274646261932112886749569226863825950910944523259939424901433149120927574462894591932407800061352843232951748688687119733053690307493051643808265057340992782299985837413748704940684821899219496187991718917337109007592435597975854097478699486874850188032480576144460075631064206736348009801574511008871014392288101370043998020996776270287058299180232073544776144381239353919028324359947534443720104066122532122249291322411368723901406289785485425757044442284018818326536863360171004234395884218256465288804353262873122136347138274083279922897425944644200316656670384150902442732569138879745634002571926096738340856023043862921790365869585175241982325981573280004675016899264744983843342459881894983300141264878664017919257774653831106330786677007799658389719227307627515701776229778754813960684116006773709721813229162423, 4.756904237279927229282626194529993594214579997738038805083492763006434670165707007942942766475568324684953771298468334920741309274863105286250075672649094668649497870170543033042673326038324864563271285527970852997118459804753102549196968754413485736709749351617106336113899348484812350957532125197616674772081447377284562132350377184059737837768747816011999990810110837459212207011332431484737890611848693181632463578771842753886274587549874489116178051152089111416024396582424874052112979177993372386032710524934562274222404603125747896240627742842340646017702572943377640259533137582788554470522344224083613550634198228509017134566774885129388204699416389714427496735243048658231322850852510194838599662360530864177551653402482461999433254677768828123998811843187038869034680109388683776311729618939104202994704856870058723881360482323600971248119686183969762699645212347471692138769337141700553450986018810972731122021002572360059718236178873807746344668757835598117817032900809691359088878276706e-1001), (-0.6703629643386855613439515751259386015490898463716785249852648528367711626258579923836317714833359388789324679520222263380498464843406125397080187402073738789978306396025088974451826657858426482514273081924740775864864183527374415074840557599255255169860617021819785029832420578839119422166046504529588795203230738723647334712163074654296289173118020400661099502531103864010127514022420631671932676538150354486454197398032734249620805797592078949673097349897263419445578308577709624255355202474457120398853316943354904934445662874222848260366932341240252374216511157683348790766318431371508371109589266656913086677909062549300761840475234330429539736345388964814069167754878779548777915666661589594120847939537877116284064074476014193137890056319166053327379994867546114948789118879727985636851311002540740232453991273222442474781009458450128822045120808367061880370242364566544800973136338947228225362686888484061414515550962350050947758593979828404402475554145761021292358572513603837653636637632793, 0), (-0.5908733983277294372301943715823995545007374772430728380955669498391562946530288837808506683707809793812025812622810335797405896599358006344438028362901368348703501067694107111003085741192240804884993361803607874604800926413432737379394541287166019625548222235087134265118622476473009458346905308808714654591522102807726914613095900560904607129830072497708824222948897628080594906162539524114231370127061161467302174164030094275339347230270679681844987038710955684180460273519380819630192112623131683150109096491133524197935090921449822232856916145888328589497725033658972170520142446901208072221919030791596636715190464857479445824516515993969336420401929957914933001722891020362379040354188443540461687100684717604445260295176494981635797779942817399935485918103322122600601765795068830060333572840309721703786393632696009851344225346037266384511375178766319031346467263308117369893760154707724467996588009102192566620153380425078911622200185783635701626555580108656158033732991970872827913832134200, -4.162291207619936325622297920213744394937757498020783954448056167630630336394993631950074920666122284099334549886159793055648645615505217125468816213567957835068310636399225153912339160283534256492862374836974496372478652329158964730547347660111800019621030682664968044099661929924210807087840609547914590425571266455123991865806580036052270608047654339010499991958846982776810681134915877549145654285367606533928405631425362409650490264106140177976655794758077972489021347009621764795598856780744200837778621709317741989944604027735029409210549274987048065265489751325455435227091495384939985161707051196073161856804923449945389992745928024488214679111989341000124059643337667575952407494495946420483774704565464506155357696727172154249504097843047724608498960362788659010405345095715098304272763416571716177620366749761301383396190422033150849842104725410973542362189560804037730621423169998987984269612766459601139731768377250815052253456656514581778051585163106148353089903788208479939202768492117e-1001), (-0.5064681120038399436751447278455812176483096627274858427578232908802169775947320519154223979950715657156769554529541497105614174519926951821047570073262528686426469391384234814788865774582682254234915302129116208075579276833969121160516705327143598417193701186254080428129655042450695557251374764038910714377173677323483943759039576586025718826594609661844568311684836317618408329044317795588633344037964635182502321525041543945845687533890650915823955632612631251133049128008302052812271714783937696318913609601833793120416298500676955356340401768582481330094835085320751753015093469827150732336948470425854945454970869893322618493283806750915244154280633172941763279162599353221367568121753110089832931170666222901566294335346370974928641209706572212216236678337424445474970208440500136779169664915905068296659922301824669780730999174272882282316989734567770318214321596374369496614291341174392973221815596805856863139214459474881543584005216605317160499201768844579640641837500433376439225989285102, 5.946130296599909036603282743162491992768224997172548506354365953758043337707133759928678458094460405856192214123085418650926636593578881607812594590811368335811872337713178791303341657547906080704089106909963566246398074755941378186496210943016857170887186689521382920142374185606015438696915156497020843465101809221605702665437971480074672297210934770014999988512638546824015258764165539355922363264810866477040579473464803442357843234437343111395222563940111389270030495728031092565141223972491715482540888156168202842778005753907184870300784678552925807522128216179222050324416421978485693088152930280104516938292747785636271418208468606411735255874270487143034370919053810822789153563565637743548249577950663580221939566753103077499291568347211035154998514803983798586293350136735854720389662023673880253743381071087573404851700602904501214060149607729962203374556515434339615173461671427125691813732523513715913902526253215450074647795223592259682930835947294497647271291126012114198861097845882e-1002), (-0.4182025062196601842673746368531391162909936760774056104703732520334665218562385433647067184531142313171036246391494533878005998367908784269676733253102135986093672213482455870616968107815811467938937177676364652096513044505285272032435934571947765342759184825772245159152912422009331137707621896781026337667182260448095964367139354094740162893025444712880444517298302369403687762333230097812207799276017838744442322400653822939062109328552127480958278805827632157251894164456490790474779660010017341594112762597677713350837870447019237644763041473594122510605890454724054354986654905723370970932853418762268923354899022610518636086166104275767261383490496148816267307568073898758254374445060538124493083993146667575673698382921907229076107281697471358809134090236369643369027951264347306914722348842018637349336463984557507969489803244471734704953563008649418216962822826871097514331005379253381273784186861129123514417360801932276335077435367120730489161804368757576101233471286452485663664793001188, 1.486532574149977259150820685790622998192056249293137126588591488439510834426783439982169614523615101464048053530771354662731659148394720401953148647702842083952968084428294697825835414386976520176022276727490891561599518688985344546624052735754214292721796672380345730035593546401503859674228789124255210866275452305401425666359492870018668074302733692503749997128159636706003814691041384838980590816202716619260144868366200860589460808609335777848805640985027847317507623932007773141285305993122928870635222039042050710694501438476796217575196169638231451880532054044805512581104105494621423272038232570026129234573186946409067854552117151602933813968567621785758592729763452705697288390891409435887062394487665895055484891688275769374822892086802758788749628700995949646573337534183963680097415505918470063435845267771893351212925150726125303515037401932490550843639128858584903793365417856781422953433130878428978475631563303862518661948805898064920732708986823624411817822781503028549715274461470e-1002), (-0.3270218706615600499722041291968094077973733003078569916772968347444837529579978568190870816898571666211156668852527969616000257299103938791497654974681343149717560901221022888093199017854361417253426309527336588787483620438628048242507768245020743750494639214862567696368584255165707473988358974841331718578199680200497060671733833164245604782346009275661794880436263182261034968184647891237997855328346459346611716719180600947753883342646717359039542270958160515777068755237729028180172783142136277298556775903485738772194086376794921747445709858985098882372984032367676197253210104006549510250889499972068866382022951850725826887363543474188478736617125105252800648620273775485354576201457439829604898342943598349251021399508921118087751958142986970863866633650548736970758626823117041065831757070241493877343662607805007500881831507438234719400777027253437491000551633870897730114048512202016226282276129741033767624196573615441148769833120344363772274954747665967114381704630877112817377285262161, -2.229798861224965888726231028685934497288084373939705689882887232659266251640175159973254421785422652196072080296157031994097488722592080602929722971554263125929452126642442046738753121580464780264033415091236337342399278033478016819936079103631321439082695008570518595053390319602255789511343183686382816299413178458102138499539239305028002111454100538755624995692239455059005722036562077258470886224304074928890217302549301290884191212914003666773208461477541770976261435898011659711927958989684393305952833058563076066041752157715194326362794254457347177820798081067208268871656158241932134908057348855039193851859780419613601781828175727404400720952851432678637889094645179058545932586337114153830593591731498842583227337532413654062234338130204138183124443051493924469860006301275945520146123258877705095153767901657840026819387726089187955272556102898735826265458693287877355690048126785172134430149696317643467713447344955793777992923208847097381099063480235436617726734172254542824572911692205e-1002), (-0.2337720802866916160848895259266895876294105135536363149899024290822785257807712507524636912683328686750025302009227671921310771473409133868114819283915074230252540217625021376546605141771298445040635056379412325854754656549591869425909054648573302242533139324282611082044808886213676928928240635022026740980379119468688919437914217252428169199445804148469203634901195315078632955454167604398583225115832853057573323625545209419809470187478060181861129109429505249836664694901769385091557909834913773025279299107630901165444081188929347669166036847744456889261952329743544651224404824367238059136796080623713976650546247327061470174663258297050634432498137997081864010259631396653562633874583205565049900414635195846803115992200868439638160891777340242165037658951724697184809571135204189185302558104351155763400657534365421412069618596865089793367139428383848456997525438114156321927601604499861369998320885796522278661600496148300714255296105458242569486684894612583801888831740134733478189319306593, -1.114899430612482944363115514342967248644042186969852844941443616329633125820087579986627210892711326098036040148078515997048744361296040301464861485777131562964726063321221023369376560790232390132016707545618168671199639016739008409968039551815660719541347504285259297526695159801127894755671591843191408149706589229051069249769619652514001055727050269377812497846119727529502861018281038629235443112152037464445108651274650645442095606457001833386604230738770885488130717949005829855963979494842196652976416529281538033020876078857597163181397127228673588910399040533604134435828079120966067454028674427519596925929890209806800890914087863702200360476425716339318944547322589529272966293168557076915296795865749421291613668766206827031117169065102069091562221525746962234930003150637972760073061629438852547576883950828920013409693863044593977636278051449367913132729346643938677845024063392586067215074848158821733856723672477896888996461604423548690549531740117718308863367086127271412286455846102e-1002), (-0.1392412777763675804997198901395455273066542455040060079006487924829280911233920219931704035194205813746426861146221773341096678061926516848410405588464613473350904030099248604859004894992837574620236619802855682496827457563660313873977794847896561273056124642579272159798246434712607823237768652022911815637191315966906586324484090963153626536047075046108965762874835341469809725905007371851509827892182606610611744628110268977622114896920511424438378745225283092331503486378136835578483062455313506483276730226001254153375970535799339717572746247066425231382845230203178616591006287678100911293874139416703913544359491401586875570904304791100713070377643560380764828818621976605911657471591094896391635349662292619739435218371305800439199139352420034708381041503438204647048742498651747865556916401510418840249485830065485487526325903866094200743890749935991303911352445872660523068583709655053512721144106735056359754784526936876032646960460390413423218479338346184850521558693769573179410017201503, -4.645414294218678934846314643095696869350175779041053520589348401373471357583698249944280045386297192075150167283660483321036434838733501256103589524071381512353025263838420930705735669959301625550069614773409036129998495903079201708200164799231919664755614601188580406361229832504699561481964966013297533957110788454379455207373415218808337732196042789074218741025498864706261920909504327621814346300633489435187952713644377689342065026904174305777517628078212022867211324787524291066516581228509152720735068872006408470920316995239988179922488030119473287126662668890017226815950329670691947725119476781331653858041209207528337045475366098759168168651773818080495602280510789705304026221535654487147069982773955922048390286525861779296321537771258621214842589690612342645541679794324886500304423455995218948237016461787166722540391096019141573484491881039032971386372277683077824354266930802441946729478533995090557736348635324570370818590018431452877289715583823826286930696192196964217860232692095e-1003), (0.05051778642359619662962774173555029828845470747021835489501288551427348106723162490473969848353076215833915974712977241238642689322140800459401494860079230976432898799437436466212110306075632282019083726252833228443572385652655192386513612809527015003953018473960575966584235907672500876738559142110482743614286667174398155977944072508806246461746015137033539151154066108924245652890785477344927135382442276101332993550047890550992040550457171767604834855029034261850083278302390309364287360716121617843347255345222753900009933037137470288681019981037278215566192691947426312542375452172076452913746676423318556814645237721952232097791191792591713868246063151629594905816585444280881780817461318373028581619777604876706775823484453390910114093391639436638213986692359825330032143402035983373184534091632419428913962814613813200145011785154234323655591386889558835720842358078196706167166779526472697893203725008355851687326260746031844299126129557416899799272013018647647012151046730950849387816753918, -6.097106261162016101985787969063102141022105709991382745773519776802681156828603953051867559569515064598634594559804384358860320725837720398635961250343688234963345658787927471551278066821583383534466369390099359920623025872791452242012716298991894559991744164060011783349114155162418174445079017892453013318707909846373034959677607474685943273507306160659912097595967259926968771193724430003631329519581454883684187936658245717261460347811728776332991886852653280013214863783625632024803012862418262945964777894508411118082916056252484486148265539531808689353744752918147610195934807692783181389219313275497795688679087084880942372186418004621408221355453136230650477993170411488211534415765546514380529352390817147688512251065193585326422018324776940344480898968928699722273454730051413531649555785993724869561084106095656323334263313525123315198395593863730774944613614459039644464975346678205055082440575868556357028957583863498611699399399191281901442751703768772001596538752258515535941555408375e-1004), (1, nan)]
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-5-2b9cfe95a3f6> in <module>()
     64 #D = CRAM_exp2()
     65 
---> 66 rat_func = CRAM_exp2(15, 1000)
     67 print(rat_func)
     68 plot(rat_func - exp(-t), (t, 0, 100))

/Users/aaronmeurer/Documents/python/sympy/sympy/sympy/utilities/decorator.py in func_wrapper(*args, **kwargs)
     89         dps = mpmath.mp.dps
     90         try:
---> 91             return func(*args, **kwargs)
     92         finally:
     93             mpmath.mp.dps = dps

<ipython-input-5-2b9cfe95a3f6> in CRAM_exp2(degree, prec, max_loops)
     42         print('D', D)
     43         print('[(i, D.subs(t, i)) for i in points]', [(i, D.subs(t, i)) for i in points])
---> 44         assert len(points) == 2*(degree + 1), len(points)
     45         Evals = [E.evalf(prec, subs={**sol, t: point}) for point in points[:-1]] + [-r.evalf(prec, subs={**sol, t: 1})]
     46         print('Evals', Evals)

AssertionError: 16

In [ ]:
!say done

In [ ]:
correct_rat_func2 = (9.92641e-1 + -1.88332e-1*t + 4.21096e-3*t**2)/(1 + 6.69295e-1*t + 5.72258e-1*t**2)
plot(correct_rat_func2 - exp(-t), (t, 0, 100))

In [ ]:
#plot(rat_func - correct_rat_func2, (t, 0, 100))

In [ ]:
plot((correct_rat_func2 - exp(-t))/correct_rat_func2, (t, 20, 100))

In [ ]:
nsolve(D, (-1, -0.39506511254484362 - 1e-20), solver='bisect', tol=1e-20)

In [ ]:
#import mpmath
#mpmath.findroot?

In [ ]:
plot(sin(x), (x, -10, 13))

In [ ]:
nsolve(sin(x), [-10, -0.1], solver='bisect')

In [ ]:
bisect_roots(D, [-1, 0.9], solver='bisect')

In [ ]:
plot(D, (t, -1, 1))

In [ ]:
nsolve(D, [mpf('0.2069106899549174') + 1e-4, 0.999], solver='ridder')

In [ ]:
intervals = [[i/30, (i+1)/30] for i in range(-30, 29)]

In [ ]:
def catch_ValueError(f):
    try:
        return f()
    except ValueError:
        pass

In [ ]:
[catch_ValueError(lambda: nsolve(D, b, solver='bisect')) for b in intervals]

In [ ]:
sin(x).evalf(subs={x: mpf('9.9999999999999995e-8')})

In [ ]:
nsolve(D, (-1, 0), solver='bisect')

In [ ]:
D

In [ ]:
import mpmath
try:
    mpmath.mp.dps = 128
    print(nsolve(D, (-1, 0), solver='bisect', maxsteps=300))
finally:
    mpmath.mp.dps = 15

In [ ]:
chebyshevt(2, x)

In [ ]:
0.9999999999999999

In [ ]:
0.99999999999999999

In [ ]:
exp(-(-t - 1)/(2*t - 2))

In [ ]:
solve((0.57224957904836676579778131095824616229041363386436155632065723326613208320645433529158968043480368460271370103317310738469165646*t**2 + 0.66930154271086975944415360267931286108869186534800442869820775970713699218292282609079303557228276229468949430966691265928683428*t + 1.0))

In [ ]:
[1, 2, 3][:-1]

In [ ]:
plot((t + 1)/(t - 1)*(-1/2), (t, -1, 1))

In [ ]:
solve(y - -(-t - 1)/(2*t - 2), t)

In [ ]:
exp(-(-t - 1)/(2*t - 2)).evalf(subs={t: 0})

In [ ]:
len('42109959068982')

In [ ]:
@conserve_mpmath_dps
def test_increased_dps():
    # Issue 8564
    import mpmath
    mpmath.mp.dps = 128
    x = Symbol('x')
    e1 = x**2 - pi
    q = nsolve(e1, x, 3.0)

    assert abs(sqrt(pi).evalf(128) - q) < 1e-128

test_increased_dps()

In [ ]:
@conserve_mpmath_dps
def test_mpf_subs():
    import mpmath
    mpmath.mp.dps = 128
    a = mpf('1') + mpf('1e-100')
    print(a)
    print(x.subs(x, a))
    print(Float(a))

test_mpf_subs()

In [ ]:
@conserve_mpmath_dps
def test_increased_dps2():
    # Issue 8564
    import mpmath
    mpmath.mp.dps = 128
    x = Symbol('x')
    e1 = x**2 - pi
    q = nsolve(e1, x, 3.0)
    print((x**2).subs(x, q))
    print(pi.evalf(128))

test_increased_dps2()

In [ ]:
p0, p1, p2, q1, q2, epsilon = symbols("p0, p1, p2, q1, q2, epsilon")
r = (p0 + p1*t + p2*t**2)/(1 + q1*t + q2*t**2)
mpf = lambda i: Float(i, 128)
sol = {q1: mpf('-1.1598158896958144389688907541448290768017556418690225475316113676987123000368036156835800708110657203943382445749046292411027838124'), epsilon: mpf('-0.0073586701695804955713909885597251540212160797660122172060482127633180200310633941837926800633336626154349676612971775593725674790502'), p1: mpf('-1.3420582608178928401767377898250826050312440510776128093723998679786607122879166676244905769597498693757444204486264349423147412592'), q2: mpf('0.54706937851182403348832181267224373295821044378627516587652817178767445252898045643900602804552389487580236216086250141313671452195'), p2: mpf('0.73617861351264467252445532341623038921509966014009367227031009417645097851179620934054146565716699654528814524660644163951335402577'), p0: mpf('0.6087293180014645115203537929174427433501475052521283394857491045045741371996335477254671722188240766010031663167379415577767292914')}
other_rat_func ="(0.0042109959068981902319228224147959051043334784348885130731594832554304543920692286150512328715813585751529478908147308247510818304*t**2 - 0.1883335019892743246297189560004799477752569428797900790843481507588522143198473107264222704579544281038255097909548061885535647*t + 0.99264132983041950442860901144027484597878392023398778279395178723668197996893660581620731993666633738456503233870282244062743252)/(0.57224957904836377040707255710162720198078512465710225748045909842276672878045476079146532782980255617241659394936652703249328588*t**2 + 0.66930154271087159949217750010925437712785181665997133501826390508750116474339450131113420220623360917322211168993495402213680723*t + 1.0)"

n, d = together(r.subs(sol).subs(t, (2*t - 1)/(2*t + 1))).as_numer_denom() # simplify/cancel here will add degree to the numerator and denominator
rat_func = (Poly(n)/Poly(d).TC())/(Poly(d)/Poly(d).TC())
print(rat_func)
print(other_rat_func)
del mpf

In [ ]:
import sys
print('test', file=sys.stderr)

In [ ]:
10**-10

In [ ]:
D = (-2*(t + 1)/(2*t - 2)**2 + 1/(2*t - 2))*exp((t + 1)/(2*t - 2)) - (-0.46319625019273218908*t**13 + 11.076239035694458023*t**12 - 75.38527286719552296*t**11 + 242.00660160608425014*t**10 - 389.01043643289017999*t**9 + 165.53549638768474282*t**8 + 538.42392697795239075*t**7 - 1160.0181368287938552*t**6 + 1064.6133061016735644*t**5 - 435.60064981285300771*t**4 - 47.836952574354747137*t**3 + 134.72356135348252232*t**2 - 56.370239030181725748*t + 8.3057523340557002803)*(0.054548679300092563818*t**14 - 1.3501921589697942721*t**13 + 9.0345240868201266233*t**12 - 27.90433797500592764*t**11 + 40.52259728739627843*t**10 - 2.2008514365998888364*t**9 - 97.728246570230795738*t**8 + 181.14960511639832727*t**7 - 159.50642335868838789*t**6 + 56.243320662736403761*t**5 + 26.808952900880779959*t**4 - 41.915371037748377236*t**3 + 21.829567246295711762*t**2 - 5.6442241022971821787*t + 0.6065306597126334236)/(0.033085446442338013506*t**14 - 0.85201838736111215565*t**13 + 6.28210607226629358*t**12 - 22.000600146007659103*t**11 + 38.901043643289017999*t**10 - 18.392832931964971424*t**9 - 67.302990872244048844*t**8 + 165.71687668982769361*t**7 - 177.43555101694559406*t**6 + 87.120129962570601541*t**5 + 11.959238143588686784*t**4 - 44.907853784494174105*t**3 + 28.185119515090862874*t**2 - 8.3057523340557002803*t + 1)**2 - (0.76368151020129589345*t**13 - 17.552498066607325537*t**12 + 108.41428904184151948*t**11 - 306.94771772506520404*t**10 + 405.2259728739627843*t**9 - 19.807662929398999527*t**8 - 781.82597256184636591*t**7 + 1268.0472358147882909*t**6 - 957.03854015213032735*t**5 + 281.2166033136820188*t**4 + 107.23581160352311984*t**3 - 125.74611311324513171*t**2 + 43.659134492591423524*t - 5.6442241022971821787)/(0.033085446442338013506*t**14 - 0.85201838736111215565*t**13 + 6.28210607226629358*t**12 - 22.000600146007659103*t**11 + 38.901043643289017999*t**10 - 18.392832931964971424*t**9 - 67.302990872244048844*t**8 + 165.71687668982769361*t**7 - 177.43555101694559406*t**6 + 87.120129962570601541*t**5 + 11.959238143588686784*t**4 - 44.907853784494174105*t**3 + 28.185119515090862874*t**2 - 8.3057523340557002803*t + 1)

In [ ]:
sols = nsolve_intervals(D, [-1, 0.999999], division=100)
print(sols)
print(len(sols))

In [ ]:
!say done

In [ ]:
[D.subs(t, s) for s in sols]

In [ ]:
E = S("exp((t + 1)/(2*t - 2)) - (0.041232283944696212177*t**14 + 1.3765734756274427394*t**13 - 11.423548266294669551*t**12 + 34.897781468305479785*t**11 - 48.170553853698286848*t**10 + 13.655351758955469199*t**9 + 46.6129883570929947*t**8 - 56.479130360958931409*t**7 + 5.525098125593180923*t**6 + 31.467377104584776578*t**5 - 18.246029053439227394*t**4 - 5.9943769501854388096*t**3 + 10.340721799222326113*t**2 - 4.2100165484624456618*t + 0.6065306597126334236)/(0.025008644382436209356*t**14 + 0.80992537393279613982*t**13 - 7.7761706067212429946*t**12 + 27.673671566138794968*t**11 - 47.057239733847679512*t**10 + 28.109557440827452275*t**9 + 30.919259146443448213*t**8 - 61.83483011093278413*t**7 + 22.957457767970616141*t**6 + 26.975517392632053618*t**5 - 26.389699317234955361*t**4 - 1.0791378811026364212*t**3 + 11.607824151320777869*t**2 - 5.9411438334495710432*t + 1)")

In [ ]:
plot(E, (t, 0.7, 0.8), adaptive=False, nb_of_points=10000)

In [ ]:
chebyshevt(1, 1)

In [ ]:
[*enumerate(['a', 'b', 'c'])]

In [ ]:
system = S("Tuple(-p0 + 0.98846832432811139916*p1 - 0.050649168838712711749*p10 - 0.10116832198743217456*p11 + 0.25065253225872053539*p12 - 0.39435585511331859613*p13 + 0.5289640103269624416*p14 - 0.95413925640004885148*p2 + 0.89780453957074165714*p3 - 0.82076344120727632636*p4 + 0.72479278722911995887*p5 - 0.61210598254766284416*p6 + 0.48530196253108102515*p7 - 0.34730525284482028541*p8 + 0.20129852008866007873*p9 + (epsilon + 0.99710456213012649629)*(-0.98846832432811139916*q1 + 0.050649168838712711749*q10 + 0.10116832198743217456*q11 - 0.25065253225872053539*q12 + 0.39435585511331859613*q13 - 0.5289640103269624416*q14 + 0.95413925640004885148*q2 - 0.89780453957074165714*q3 + 0.82076344120727632636*q4 - 0.72479278722911995887*q5 + 0.61210598254766284416*q6 - 0.48530196253108102515*q7 + 0.34730525284482028541*q8 - 0.20129852008866007873*q9 + 1), -p0 + 0.96807711886620430515*p1 + 0.82076344120727632615*p10 - 0.93775213214708045842*p11 + 0.99486932339189514118*p12 - 0.98846832432811142281*p13 + 0.91895781162023063016*p14 - 0.87434661614458211883*p2 + 0.72479278722911995886*p3 - 0.52896401032696245737*p4 + 0.29936312297335795401*p5 - 0.050649168838712712237*p6 - 0.20129852008866007919*p7 + 0.44039415155763430936*p8 - 0.65137248272222220705*p9 + (-epsilon + 0.99192262841900652865)*(-0.96807711886620430515*q1 - 0.82076344120727632615*q10 + 0.93775213214708045842*q11 - 0.99486932339189514118*q12 + 0.98846832432811142281*q13 - 0.91895781162023063016*q14 + 0.87434661614458211883*q2 - 0.72479278722911995886*q3 + 0.52896401032696245737*q4 - 0.29936312297335795401*q5 + 0.050649168838712712237*q6 + 0.20129852008866007919*q7 - 0.44039415155763430936*q8 + 0.65137248272222220705*q9 + 1), -p0 + 0.93775213214708045843*p1 + 0.91895781162023062755*p10 - 0.72479278722911995726*p11 + 0.44039415155763430437*p12 - 0.10116832198743218276*p13 - 0.2506525322587205562*p14 - 0.75875812269279090192*p2 + 0.48530196253108102522*p3 - 0.15142777750457666366*p4 - 0.20129852008866007914*p5 + 0.52896401032696245735*p6 - 0.79077573693769858208*p7 + 0.95413925640004885141*p8 - 0.99871650717105280743*p9 + (epsilon + 0.98406642835075986461)*(-0.93775213214708045843*q1 - 0.91895781162023062755*q10 + 0.72479278722911995726*q11 - 0.44039415155763430437*q12 + 0.10116832198743218276*q13 + 0.2506525322587205562*q14 + 0.75875812269279090192*q2 - 0.48530196253108102522*q3 + 0.15142777750457666366*q4 + 0.20129852008866007914*q5 - 0.52896401032696245735*q6 + 0.79077573693769858208*q7 - 0.95413925640004885141*q8 + 0.99871650717105280743*q9 + 1), -p0 + 0.89780453957074165714*p1 + 0.15142777750457666382*p10 + 0.29936312297335795208*p11 - 0.68896691907568656868*p12 + 0.93775213214708046506*p13 - 0.99486932339189512731*p14 - 0.61210598254766284415*p2 + 0.20129852008866007914*p3 + 0.25065253225872053932*p4 - 0.65137248272222220746*p5 + 0.91895781162023062913*p6 - 0.99871650717105280713*p7 + 0.87434661614458211861*p8 - 0.57126821509479227908*p9 + (-epsilon + 0.97343458335469763991)*(-0.89780453957074165714*q1 - 0.15142777750457666382*q10 - 0.29936312297335795208*q11 + 0.68896691907568656868*q12 - 0.93775213214708046506*q13 + 0.99486932339189512731*q14 + 0.61210598254766284415*q2 - 0.20129852008866007914*q3 - 0.25065253225872053932*q4 + 0.65137248272222220746*q5 - 0.91895781162023062913*q6 + 0.99871650717105280713*q7 - 0.87434661614458211861*q8 + 0.57126821509479227908*q9 + 1), -p0 + 0.84864425749475095046*p1 - 0.7587581226927909016*p10 + 0.98846832432811139721*p11 - 0.91895781162023063016*p12 + 0.57126821509479228581*p13 - 0.050649168838712711749*p14 - 0.44039415155763430952*p2 - 0.10116832198743217778*p3 + 0.61210598254766284414*p4 - 0.93775213214708045842*p5 + 0.97952994125249449394*p6 - 0.72479278722911995886*p7 + 0.25065253225872053918*p8 + 0.29936312297335795414*p9 + (epsilon + 0.9598896419605118508)*(-0.84864425749475095046*q1 + 0.7587581226927909016*q10 - 0.98846832432811139721*q11 + 0.91895781162023063016*q12 - 0.57126821509479228581*q13 + 0.050649168838712711749*q14 + 0.44039415155763430952*q2 + 0.10116832198743217778*q3 - 0.61210598254766284414*q4 + 0.93775213214708045842*q5 - 0.97952994125249449394*q6 + 0.72479278722911995886*q7 - 0.25065253225872053918*q8 - 0.29936312297335795414*q9 + 1), -p0 + 0.79077573693769858208*p1 - 0.95413925640004885152*p10 + 0.57126821509479227959*p11 + 0.050649168838712713483*p12 - 0.65137248272222220499*p13 + 0.97952994125249449528*p14 - 0.25065253225872053932*p2 - 0.3943558551133185801*p3 + 0.87434661614458211883*p4 - 0.98846832432811139917*p5 + 0.6889669190756865678*p6 - 0.10116832198743217778*p7 - 0.52896401032696245732*p8 + 0.93775213214708045842*p9 + (-epsilon + 0.94325632448977341962)*(-0.79077573693769858208*q1 + 0.95413925640004885152*q10 - 0.57126821509479227959*q11 - 0.050649168838712713483*q12 + 0.65137248272222220499*q13 - 0.97952994125249449528*q14 + 0.25065253225872053932*q2 + 0.3943558551133185801*q3 - 0.87434661614458211883*q4 + 0.98846832432811139917*q5 - 0.6889669190756865678*q6 + 0.10116832198743217778*q7 + 0.52896401032696245732*q8 - 0.93775213214708045842*q9 + 1), -p0 + 0.72479278722911995887*p1 - 0.25065253225872053951*p10 - 0.48530196253108102528*p11 + 0.95413925640004885152*p12 - 0.8978045395707416562*p13 + 0.34730525284482029018*p14 - 0.050649168838712712279*p2 - 0.65137248272222220745*p3 + 0.99486932339189514632*p4 - 0.79077573693769858208*p5 + 0.15142777750457666365*p6 + 0.57126821509479227918*p7 - 0.97952994125249449387*p8 + 0.84864425749475095033*p9 + (epsilon + 0.92331964820666129003)*(-0.72479278722911995887*q1 + 0.25065253225872053951*q10 + 0.48530196253108102528*q11 - 0.95413925640004885152*q12 + 0.8978045395707416562*q13 - 0.34730525284482029018*q14 + 0.050649168838712712279*q2 + 0.65137248272222220745*q3 - 0.99486932339189514632*q4 + 0.79077573693769858208*q5 - 0.15142777750457666365*q6 - 0.57126821509479227918*q7 + 0.97952994125249449387*q8 - 0.84864425749475095033*q9 + 1), -p0 + 0.65137248272222220745*p1 + 0.68896691907568656781*p10 - 0.9987165071710528071*p11 + 0.61210598254766284418*p12 + 0.20129852008866007835*p13 - 0.87434661614458211807*p14 + 0.15142777750457666366*p2 - 0.84864425749475095047*p3 + 0.95413925640004885148*p4 - 0.3943558551133185801*p5 - 0.44039415155763430951*p6 + 0.96807711886620430516*p7 - 0.82076344120727632634*p8 + 0.1011683219874321778*p9 + (-epsilon + 0.89982327219932776296)*(-0.65137248272222220745*q1 - 0.68896691907568656781*q10 + 0.9987165071710528071*q11 - 0.61210598254766284418*q12 - 0.20129852008866007835*q13 + 0.87434661614458211807*q14 - 0.15142777750457666366*q2 + 0.84864425749475095047*q3 - 0.95413925640004885148*q4 + 0.3943558551133185801*q5 + 0.44039415155763430951*q6 - 0.96807711886620430516*q7 + 0.82076344120727632634*q8 - 0.1011683219874321778*q9 + 1), -p0 + 0.57126821509479227916*p1 + 0.97952994125249449398*p10 - 0.39435585511331858023*p11 - 0.52896401032696245754*p12 + 0.99871650717105280716*p13 - 0.61210598254766284397*p14 + 0.34730525284482028554*p2 - 0.96807711886620430515*p3 + 0.75875812269279090191*p4 + 0.10116832198743217779*p5 - 0.87434661614458211882*p6 + 0.89780453957074165714*p7 - 0.15142777750457666369*p8 - 0.72479278722911995884*p9 + (epsilon + 0.8724686291509901109)*(-0.57126821509479227916*q1 - 0.97952994125249449398*q10 + 0.39435585511331858023*q11 + 0.52896401032696245754*q12 - 0.99871650717105280716*q13 + 0.61210598254766284397*q14 - 0.34730525284482028554*q2 + 0.96807711886620430515*q3 - 0.75875812269279090191*q4 - 0.10116832198743217779*q5 + 0.87434661614458211882*q6 - 0.89780453957074165714*q7 + 0.15142777750457666369*q8 + 0.72479278722911995884*q9 + 1), -p0 + 0.48530196253108102521*p1 + 0.34730525284482028554*p10 + 0.65137248272222220744*p11 - 0.97952994125249449395*p12 + 0.29936312297335795411*p13 + 0.68896691907568656803*p14 + 0.52896401032696245737*p2 - 0.99871650717105280715*p3 + 0.44039415155763430952*p4 + 0.57126821509479227916*p5 - 0.99486932339189514632*p6 + 0.3943558551133185801*p7 + 0.61210598254766284416*p8 - 0.98846832432811139917*p9 + (-epsilon + 0.84091577660137237175)*(-0.48530196253108102521*q1 - 0.34730525284482028554*q10 - 0.65137248272222220744*q11 + 0.97952994125249449395*q12 - 0.29936312297335795411*q13 - 0.68896691907568656803*q14 - 0.52896401032696245737*q2 + 0.99871650717105280715*q3 - 0.44039415155763430952*q4 - 0.57126821509479227916*q5 + 0.99486932339189514632*q6 - 0.3943558551133185801*q7 - 0.61210598254766284416*q8 + 0.98846832432811139917*q9 + 1), -p0 + 0.3943558551133185801*p1 - 0.61210598254766284414*p10 + 0.96807711886620430514*p11 - 0.15142777750457666367*p12 - 0.84864425749475095045*p13 + 0.82076344120727632639*p14 + 0.6889669190756865678*p2 - 0.93775213214708045843*p3 + 0.050649168838712712278*p4 + 0.89780453957074165714*p5 - 0.75875812269279090191*p6 - 0.29936312297335795401*p7 + 0.99486932339189514632*p8 - 0.48530196253108102521*p9 + (epsilon + 0.80478747993180621938)*(-0.3943558551133185801*q1 + 0.61210598254766284414*q10 - 0.96807711886620430514*q11 + 0.15142777750457666367*q12 + 0.84864425749475095045*q13 - 0.82076344120727632639*q14 - 0.6889669190756865678*q2 + 0.93775213214708045843*q3 - 0.050649168838712712278*q4 - 0.89780453957074165714*q5 + 0.75875812269279090191*q6 + 0.29936312297335795401*q7 - 0.99486932339189514632*q8 + 0.48530196253108102521*q9 + 1), -p0 + 0.29936312297335795401*p1 - 0.99486932339189514632*p10 + 0.20129852008866007913*p11 + 0.87434661614458211883*p12 - 0.72479278722911995887*p13 - 0.44039415155763430949*p14 + 0.82076344120727632636*p2 - 0.79077573693769858208*p3 - 0.34730525284482028554*p4 + 0.99871650717105280715*p5 - 0.25065253225872053931*p6 - 0.84864425749475095047*p7 + 0.75875812269279090191*p8 + 0.39435585511331858011*p9 + (-epsilon + 0.76367894724544165258)*(-0.29936312297335795401*q1 + 0.99486932339189514632*q10 - 0.20129852008866007913*q11 - 0.87434661614458211883*q12 + 0.72479278722911995887*q13 + 0.44039415155763430949*q14 - 0.82076344120727632636*q2 + 0.79077573693769858208*q3 + 0.34730525284482028554*q4 - 0.99871650717105280715*q5 + 0.25065253225872053931*q6 + 0.84864425749475095047*q7 - 0.75875812269279090191*q8 - 0.39435585511331858011*q9 + 1), -p0 + 0.20129852008866007914*p1 - 0.44039415155763430952*p10 - 0.79077573693769858208*p11 + 0.75875812269279090191*p12 + 0.48530196253108102521*p13 - 0.95413925640004885148*p14 + 0.91895781162023062913*p2 - 0.57126821509479227916*p3 - 0.6889669190756865678*p4 + 0.84864425749475095046*p5 + 0.34730525284482028554*p6 - 0.98846832432811139916*p7 + 0.050649168838712712279*p8 + 0.96807711886620430515*p9 + (epsilon + 0.71717703508602379371)*(-0.20129852008866007914*q1 + 0.44039415155763430952*q10 + 0.79077573693769858208*q11 - 0.75875812269279090191*q12 - 0.48530196253108102521*q13 + 0.95413925640004885148*q14 - 0.91895781162023062913*q2 + 0.57126821509479227916*q3 + 0.6889669190756865678*q4 - 0.84864425749475095046*q5 - 0.34730525284482028554*q6 + 0.98846832432811139916*q7 - 0.050649168838712712279*q8 - 0.96807711886620430515*q9 + 1), -p0 + 0.10116832198743217779*p1 + 0.52896401032696245737*p10 - 0.89780453957074165714*p11 - 0.34730525284482028554*p12 + 0.96807711886620430515*p13 + 0.15142777750457666366*p14 + 0.97952994125249449394*p2 - 0.29936312297335795401*p3 - 0.91895781162023062913*p4 + 0.48530196253108102521*p5 + 0.82076344120727632636*p6 - 0.65137248272222220745*p7 - 0.6889669190756865678*p8 + 0.79077573693769858208*p9 + (-epsilon + 0.66489484531991716168)*(-0.10116832198743217779*q1 - 0.52896401032696245737*q10 + 0.89780453957074165714*q11 + 0.34730525284482028554*q12 - 0.96807711886620430515*q13 - 0.15142777750457666366*q14 - 0.97952994125249449394*q2 + 0.29936312297335795401*q3 + 0.91895781162023062913*q4 - 0.48530196253108102521*q5 - 0.82076344120727632636*q6 + 0.65137248272222220745*q7 + 0.6889669190756865678*q8 - 0.79077573693769858208*q9 + 1), -p0 + p10 - p12 + p14 + p2 - p4 + p6 - p8 + (epsilon + exp(-1/2))*(-q10 + q12 - q14 - q2 + q4 - q6 + q8 + 1), -p0 - 0.10116832198743217779*p1 + 0.52896401032696245737*p10 + 0.89780453957074165714*p11 - 0.34730525284482028554*p12 - 0.96807711886620430515*p13 + 0.15142777750457666366*p14 + 0.97952994125249449394*p2 + 0.29936312297335795401*p3 - 0.91895781162023062913*p4 - 0.48530196253108102521*p5 + 0.82076344120727632636*p6 + 0.65137248272222220745*p7 - 0.6889669190756865678*p8 - 0.79077573693769858208*p9 + (-epsilon + 0.54196418516113069989)*(0.10116832198743217779*q1 - 0.52896401032696245737*q10 - 0.89780453957074165714*q11 + 0.34730525284482028554*q12 + 0.96807711886620430515*q13 - 0.15142777750457666366*q14 - 0.97952994125249449394*q2 - 0.29936312297335795401*q3 + 0.91895781162023062913*q4 + 0.48530196253108102521*q5 - 0.82076344120727632636*q6 - 0.65137248272222220745*q7 + 0.6889669190756865678*q8 + 0.79077573693769858208*q9 + 1), -p0 - 0.20129852008866007914*p1 - 0.44039415155763430952*p10 + 0.79077573693769858208*p11 + 0.75875812269279090191*p12 - 0.48530196253108102521*p13 - 0.95413925640004885148*p14 + 0.91895781162023062913*p2 + 0.57126821509479227916*p3 - 0.6889669190756865678*p4 - 0.84864425749475095046*p5 + 0.34730525284482028554*p6 + 0.98846832432811139916*p7 + 0.050649168838712712279*p8 - 0.96807711886620430515*p9 + (epsilon + 0.47140756707585578791)*(0.20129852008866007914*q1 + 0.44039415155763430952*q10 - 0.79077573693769858208*q11 - 0.75875812269279090191*q12 + 0.48530196253108102521*q13 + 0.95413925640004885148*q14 - 0.91895781162023062913*q2 - 0.57126821509479227916*q3 + 0.6889669190756865678*q4 + 0.84864425749475095046*q5 - 0.34730525284482028554*q6 - 0.98846832432811139916*q7 - 0.050649168838712712279*q8 + 0.96807711886620430515*q9 + 1), -p0 - 0.29936312297335795401*p1 - 0.99486932339189514632*p10 - 0.20129852008866007913*p11 + 0.87434661614458211883*p12 + 0.72479278722911995887*p13 - 0.44039415155763430949*p14 + 0.82076344120727632636*p2 + 0.79077573693769858208*p3 - 0.34730525284482028554*p4 - 0.99871650717105280715*p5 - 0.25065253225872053931*p6 + 0.84864425749475095047*p7 + 0.75875812269279090191*p8 - 0.39435585511331858011*p9 + (-epsilon + 0.39563118171972868313)*(0.29936312297335795401*q1 + 0.99486932339189514632*q10 + 0.20129852008866007913*q11 - 0.87434661614458211883*q12 - 0.72479278722911995887*q13 + 0.44039415155763430949*q14 - 0.82076344120727632636*q2 - 0.79077573693769858208*q3 + 0.34730525284482028554*q4 + 0.99871650717105280715*q5 + 0.25065253225872053931*q6 - 0.84864425749475095047*q7 - 0.75875812269279090191*q8 + 0.39435585511331858011*q9 + 1), -p0 - 0.3943558551133185801*p1 - 0.61210598254766284414*p10 - 0.96807711886620430514*p11 - 0.15142777750457666367*p12 + 0.84864425749475095045*p13 + 0.82076344120727632639*p14 + 0.6889669190756865678*p2 + 0.93775213214708045843*p3 + 0.050649168838712712278*p4 - 0.89780453957074165714*p5 - 0.75875812269279090191*p6 + 0.29936312297335795401*p7 + 0.99486932339189514632*p8 + 0.48530196253108102521*p9 + (epsilon + 0.3162777185489854716)*(0.3943558551133185801*q1 + 0.61210598254766284414*q10 + 0.96807711886620430514*q11 + 0.15142777750457666367*q12 - 0.84864425749475095045*q13 - 0.82076344120727632639*q14 - 0.6889669190756865678*q2 - 0.93775213214708045843*q3 - 0.050649168838712712278*q4 + 0.89780453957074165714*q5 + 0.75875812269279090191*q6 - 0.29936312297335795401*q7 - 0.99486932339189514632*q8 - 0.48530196253108102521*q9 + 1), -p0 - 0.48530196253108102521*p1 + 0.34730525284482028554*p10 - 0.65137248272222220744*p11 - 0.97952994125249449395*p12 - 0.29936312297335795411*p13 + 0.68896691907568656803*p14 + 0.52896401032696245737*p2 + 0.99871650717105280715*p3 + 0.44039415155763430952*p4 - 0.57126821509479227916*p5 - 0.99486932339189514632*p6 - 0.3943558551133185801*p7 + 0.61210598254766284416*p8 + 0.98846832432811139917*p9 + (-epsilon + 0.23624479246104157387)*(0.48530196253108102521*q1 - 0.34730525284482028554*q10 + 0.65137248272222220744*q11 + 0.97952994125249449395*q12 + 0.29936312297335795411*q13 - 0.68896691907568656803*q14 - 0.52896401032696245737*q2 - 0.99871650717105280715*q3 - 0.44039415155763430952*q4 + 0.57126821509479227916*q5 + 0.99486932339189514632*q6 + 0.3943558551133185801*q7 - 0.61210598254766284416*q8 - 0.98846832432811139917*q9 + 1), -p0 - 0.57126821509479227916*p1 + 0.97952994125249449398*p10 + 0.39435585511331858023*p11 - 0.52896401032696245754*p12 - 0.99871650717105280716*p13 - 0.61210598254766284397*p14 + 0.34730525284482028554*p2 + 0.96807711886620430515*p3 + 0.75875812269279090191*p4 - 0.10116832198743217779*p5 - 0.87434661614458211882*p6 - 0.89780453957074165714*p7 - 0.15142777750457666369*p8 + 0.72479278722911995884*p9 + (epsilon + 0.1600193379721607684)*(0.57126821509479227916*q1 - 0.97952994125249449398*q10 - 0.39435585511331858023*q11 + 0.52896401032696245754*q12 + 0.99871650717105280716*q13 + 0.61210598254766284397*q14 - 0.34730525284482028554*q2 - 0.96807711886620430515*q3 - 0.75875812269279090191*q4 + 0.10116832198743217779*q5 + 0.87434661614458211882*q6 + 0.89780453957074165714*q7 + 0.15142777750457666369*q8 - 0.72479278722911995884*q9 + 1), -p0 - 0.65137248272222220745*p1 + 0.68896691907568656781*p10 + 0.9987165071710528071*p11 + 0.61210598254766284418*p12 - 0.20129852008866007835*p13 - 0.87434661614458211807*p14 + 0.15142777750457666366*p2 + 0.84864425749475095047*p3 + 0.95413925640004885148*p4 + 0.3943558551133185801*p5 - 0.44039415155763430951*p6 - 0.96807711886620430516*p7 - 0.82076344120727632634*p8 - 0.1011683219874321778*p9 + (-epsilon + 0.093631266675993090694)*(0.65137248272222220745*q1 - 0.68896691907568656781*q10 - 0.9987165071710528071*q11 - 0.61210598254766284418*q12 + 0.20129852008866007835*q13 + 0.87434661614458211807*q14 - 0.15142777750457666366*q2 - 0.84864425749475095047*q3 - 0.95413925640004885148*q4 - 0.3943558551133185801*q5 + 0.44039415155763430951*q6 + 0.96807711886620430516*q7 + 0.82076344120727632634*q8 + 0.1011683219874321778*q9 + 1), -p0 - 0.72479278722911995887*p1 - 0.25065253225872053951*p10 + 0.48530196253108102528*p11 + 0.95413925640004885152*p12 + 0.8978045395707416562*p13 + 0.34730525284482029018*p14 - 0.050649168838712712279*p2 + 0.65137248272222220745*p3 + 0.99486932339189514632*p4 + 0.79077573693769858208*p5 + 0.15142777750457666365*p6 - 0.57126821509479227918*p7 - 0.97952994125249449387*p8 - 0.84864425749475095033*p9 + (epsilon + 0.0435595768207820696)*(0.72479278722911995887*q1 + 0.25065253225872053951*q10 - 0.48530196253108102528*q11 - 0.95413925640004885152*q12 - 0.8978045395707416562*q13 - 0.34730525284482029018*q14 + 0.050649168838712712279*q2 - 0.65137248272222220745*q3 - 0.99486932339189514632*q4 - 0.79077573693769858208*q5 - 0.15142777750457666365*q6 + 0.57126821509479227918*q7 + 0.97952994125249449387*q8 + 0.84864425749475095033*q9 + 1), -p0 - 0.79077573693769858208*p1 - 0.95413925640004885152*p10 - 0.57126821509479227959*p11 + 0.050649168838712713483*p12 + 0.65137248272222220499*p13 + 0.97952994125249449528*p14 - 0.25065253225872053932*p2 + 0.3943558551133185801*p3 + 0.87434661614458211883*p4 + 0.98846832432811139917*p5 + 0.6889669190756865678*p6 + 0.10116832198743217778*p7 - 0.52896401032696245732*p8 - 0.93775213214708045842*p9 + (-epsilon + 0.013848748820747408312)*(0.79077573693769858208*q1 + 0.95413925640004885152*q10 + 0.57126821509479227959*q11 - 0.050649168838712713483*q12 - 0.65137248272222220499*q13 - 0.97952994125249449528*q14 + 0.25065253225872053932*q2 - 0.3943558551133185801*q3 - 0.87434661614458211883*q4 - 0.98846832432811139917*q5 - 0.6889669190756865678*q6 - 0.10116832198743217778*q7 + 0.52896401032696245732*q8 + 0.93775213214708045842*q9 + 1), -p0 - 0.84864425749475095046*p1 - 0.7587581226927909016*p10 - 0.98846832432811139721*p11 - 0.91895781162023063016*p12 - 0.57126821509479228581*p13 - 0.050649168838712711749*p14 - 0.44039415155763430952*p2 + 0.10116832198743217778*p3 + 0.61210598254766284414*p4 + 0.93775213214708045842*p5 + 0.97952994125249449394*p6 + 0.72479278722911995886*p7 + 0.25065253225872053918*p8 - 0.29936312297335795414*p9 + (epsilon + 0.0022273312261039493487)*(0.84864425749475095046*q1 + 0.7587581226927909016*q10 + 0.98846832432811139721*q11 + 0.91895781162023063016*q12 + 0.57126821509479228581*q13 + 0.050649168838712711749*q14 + 0.44039415155763430952*q2 - 0.10116832198743217778*q3 - 0.61210598254766284414*q4 - 0.93775213214708045842*q5 - 0.97952994125249449394*q6 - 0.72479278722911995886*q7 - 0.25065253225872053918*q8 + 0.29936312297335795414*q9 + 1), -p0 - 0.89780453957074165714*p1 + 0.15142777750457666382*p10 - 0.29936312297335795208*p11 - 0.68896691907568656868*p12 - 0.93775213214708046506*p13 - 0.99486932339189512731*p14 - 0.61210598254766284415*p2 - 0.20129852008866007914*p3 + 0.25065253225872053932*p4 + 0.65137248272222220746*p5 + 0.91895781162023062913*p6 + 0.99871650717105280713*p7 + 0.87434661614458211861*p8 + 0.57126821509479227908*p9 + (-epsilon + 0.000092790113933967817733)*(0.89780453957074165714*q1 - 0.15142777750457666382*q10 + 0.29936312297335795208*q11 + 0.68896691907568656868*q12 + 0.93775213214708046506*q13 + 0.99486932339189512731*q14 + 0.61210598254766284415*q2 + 0.20129852008866007914*q3 - 0.25065253225872053932*q4 - 0.65137248272222220746*q5 - 0.91895781162023062913*q6 - 0.99871650717105280713*q7 - 0.87434661614458211861*q8 - 0.57126821509479227908*q9 + 1), -p0 - 0.93775213214708045843*p1 + 0.91895781162023062755*p10 + 0.72479278722911995726*p11 + 0.44039415155763430437*p12 + 0.10116832198743218276*p13 - 0.2506525322587205562*p14 - 0.75875812269279090192*p2 - 0.48530196253108102522*p3 - 0.15142777750457666366*p4 + 0.20129852008866007914*p5 + 0.52896401032696245735*p6 + 0.79077573693769858208*p7 + 0.95413925640004885141*p8 + 0.99871650717105280743*p9 + (epsilon + 1.7389619963042768938e-7)*(0.93775213214708045843*q1 - 0.91895781162023062755*q10 - 0.72479278722911995726*q11 - 0.44039415155763430437*q12 - 0.10116832198743218276*q13 + 0.2506525322587205562*q14 + 0.75875812269279090192*q2 + 0.48530196253108102522*q3 + 0.15142777750457666366*q4 - 0.20129852008866007914*q5 - 0.52896401032696245735*q6 - 0.79077573693769858208*q7 - 0.95413925640004885141*q8 - 0.99871650717105280743*q9 + 1), -p0 - 0.96807711886620430515*p1 + 0.82076344120727632615*p10 + 0.93775213214708045842*p11 + 0.99486932339189514118*p12 + 0.98846832432811142281*p13 + 0.91895781162023063016*p14 - 0.87434661614458211883*p2 - 0.72479278722911995886*p3 - 0.52896401032696245737*p4 - 0.29936312297335795401*p5 - 0.050649168838712712237*p6 + 0.20129852008866007919*p7 + 0.44039415155763430936*p8 + 0.65137248272222220705*p9 + (-epsilon + 4.0988152678429733251e-14)*(0.96807711886620430515*q1 - 0.82076344120727632615*q10 - 0.93775213214708045842*q11 - 0.99486932339189514118*q12 - 0.98846832432811142281*q13 - 0.91895781162023063016*q14 + 0.87434661614458211883*q2 + 0.72479278722911995886*q3 + 0.52896401032696245737*q4 + 0.29936312297335795401*q5 + 0.050649168838712712237*q6 - 0.20129852008866007919*q7 - 0.44039415155763430936*q8 - 0.65137248272222220705*q9 + 1), -p0 - 0.98846832432811139916*p1 - 0.050649168838712711749*p10 + 0.10116832198743217456*p11 + 0.25065253225872053539*p12 + 0.39435585511331859613*p13 + 0.5289640103269624416*p14 - 0.95413925640004885148*p2 - 0.89780453957074165714*p3 - 0.82076344120727632636*p4 - 0.72479278722911995887*p5 - 0.61210598254766284416*p6 - 0.48530196253108102515*p7 - 0.34730525284482028541*p8 - 0.20129852008866007873*p9 + (epsilon + 3.5986813119484602573e-38)*(0.98846832432811139916*q1 + 0.050649168838712711749*q10 - 0.10116832198743217456*q11 - 0.25065253225872053539*q12 - 0.39435585511331859613*q13 - 0.5289640103269624416*q14 + 0.95413925640004885148*q2 + 0.89780453957074165714*q3 + 0.82076344120727632636*q4 + 0.72479278722911995887*q5 + 0.61210598254766284416*q6 + 0.48530196253108102515*q7 + 0.34730525284482028541*q8 + 0.20129852008866007873*q9 + 1), -epsilon*(q1 + q10 + q11 + q12 + q13 + q14 + q2 + q3 + q4 + q5 + q6 + q7 + q8 + q9 + 1) - p0 - p1 - p10 - p11 - p12 - p13 - p14 - p2 - p3 - p4 - p5 - p6 - p7 - p8 - p9)")
vars = S("[p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12, q13, q14, epsilon]")

In [ ]:
sol = dict(zip(vars, nsolve(system, vars, [1]*len(vars), solver='secant')))
sol

In [ ]:
print(system.subs(sol))

In [ ]:
plot(exp((t + 1)/(t - 1)), (t, -1, 1))

In [ ]:
plot(exp(10*(t + 1)/(t - 1)), (t, -1, 1))

In [ ]:
r = S("(0.0011875196369021855177*t**14 - 0.011420090831167348621*t**13 + 0.050741761684873561064*t**12 - 0.13809510690997622664*t**11 + 0.25723786667078296754*t**10 - 0.34703482945300861262*t**9 + 0.34976856562058063458*t**8 - 0.26762758451401203127*t**7 + 0.15627145956034238656*t**6 - 0.069319897634892213306*t**5 + 0.023002511830763159929*t**4 - 0.0055388208662975187897*t**3 + 0.00091518140765965519386*t**2 - 0.00009291001238164753822*t + 4.3738099008807505585e-6)/(0.00089586291474760584255*t**14 + 0.0089336931214819976007*t**13 + 0.042095909802441250189*t**12 + 0.12482069131842848916*t**11 + 0.26604814866002116766*t**10 + 0.42347046743527135243*t**9 + 0.57833691404471361527*t**8 + 0.54769996073689544827*t**7 + 0.68765070665076017993*t**6 + 0.2278059784921081907*t**5 + 0.6501516075867275978*t**4 - 0.14644874880736715755*t**3 + 0.42333407306668857903*t**2 - 0.11968772580151045925*t + 0.096339574212779644172)").subs(t, solve(10*(t + 1)/(t - 1) - y, t)[0].subs(y, t))
n, d = together(r).as_numer_denom() # simplify/cancel here will add degree to the numerator and denominator
rat_func = (Poly(n)/Poly(d).TC())/(Poly(d)/Poly(d).TC())
rat_func

In [ ]:
D = S("(10/(t - 1) - (10*t + 10)/(t - 1)**2)*exp((10*t + 10)/(t - 1)) - (-0.011109949473020816773*t**13 - 0.10498117392496721903*t**12 - 0.4662693207692269047*t**11 - 1.2944463271987387573*t**10 - 2.560791476062548363*t**9 - 3.7445986907826045347*t**8 - 4.6175581668981299287*t**7 - 3.9202376055011740667*t**6 - 4.1853692405031723697*t**5 - 1.2730163279308121306*t**4 - 2.6093036740226881464*t**3 + 0.37572825889837415047*t**2 - 0.84260381473372911342*t + 0.11395040244406088625)*(0.0011012754893812472661*t**14 - 0.010681747521049671358*t**13 + 0.047852308718456039572*t**12 - 0.13125412233037760452*t**11 + 0.24631294936212648611*t**10 - 0.33462134384239723802*t**9 + 0.3394635962011490975*t**8 - 0.2613214567551016616*t**7 + 0.15344584617039959246*t**6 - 0.068417469219647235265*t**5 + 0.022810045726230519721*t**4 - 0.0055160290938826628221*t**3 + 0.00091495897212439435512*t**2 - 0.00009321390565315082022*t + 4.402028268659469097e-6)/(0.00079356781950148691235*t**14 + 0.0080754749173051706947*t**13 + 0.038855776730768908725*t**12 + 0.11767693883624897794*t**11 + 0.2560791476062548363*t**10 + 0.41606652119806717052*t**9 + 0.57719477086226624108*t**8 + 0.56003394364302486668*t**7 + 0.69756154008386206162*t**6 + 0.25460326558616242613*t**5 + 0.65232591850567203661*t**4 - 0.12524275296612471682*t**3 + 0.42130190736686455671*t**2 - 0.11395040244406088625*t + 0.096961125131689425859)**2 - (0.015417856851337461725*t**13 - 0.13886271777364572765*t**12 + 0.57422770462147247487*t**11 - 1.4437953456341536497*t**10 + 2.4631294936212648611*t**9 - 3.0115920945815751422*t**8 + 2.71570876960919278*t**7 - 1.8292501972857116312*t**6 + 0.92067507702239755476*t**5 - 0.34208734609823617633*t**4 + 0.091240182904922078882*t**3 - 0.016548087281647988466*t**2 + 0.0018299179442487887102*t - 0.00009321390565315082022)/(0.00079356781950148691235*t**14 + 0.0080754749173051706947*t**13 + 0.038855776730768908725*t**12 + 0.11767693883624897794*t**11 + 0.2560791476062548363*t**10 + 0.41606652119806717052*t**9 + 0.57719477086226624108*t**8 + 0.56003394364302486668*t**7 + 0.69756154008386206162*t**6 + 0.25460326558616242613*t**5 + 0.65232591850567203661*t**4 - 0.12524275296612471682*t**3 + 0.42130190736686455671*t**2 - 0.11395040244406088625*t + 0.096961125131689425859)")

In [ ]:
D.subs(t, Float("-5.0000000006988898296e-7"))

In [ ]:
interval = [-5.00000000069889e-07, 0.019999489999999787]
sol = nsolve(D, interval, solver='bisect', prec=20)
sol

In [ ]:
D.subs(t, sol)

In [ ]:
interval[0] < sol < interval[1]

In [ ]:
interval[0]

In [ ]:
import mpmath
mpmath.mp.dps = 20
f = lambdify(t, D, 'mpmath')
sol = mpmath.findroot(f, [0.57999921, 0.5999991999999998] , solver='bisect')
sol

In [ ]:
f(sol)

In [ ]:
plot(-exp(-t) + S("(0.00421099590689821779984639140604*t**2 + 0.188333501989274148910007547496*t + 0.992641329830419396033230547887)/(0.572249579048364881552280260776*t**2 - 0.669301542710871251180032333275*t + 1.0)"), (t, 0, 100))

In [ ]:
rat_func

In [ ]:
plot(rat_func - exp(-t), (t, 0, 100))

In [ ]:
plot(rat_func - S("(0.00421099590689821779984639140604*t**2 + 0.188333501989274148910007547496*t + 0.992641329830419396033230547887)/(0.572249579048364881552280260776*t**2 - 0.669301542710871251180032333275*t + 1.0)"), (t, 0, 100))

In [ ]:
rat_func

In [ ]:
S("(0.00421099590689821779984639140604*t**2 + 0.188333501989274148910007547496*t + 0.992641329830419396033230547887)/(0.572249579048364881552280260776*t**2 - 0.669301542710871251180032333275*t + 1.0)")

In [ ]:
rat_func == S("(0.00421099590689821779984639140604*t**2 + 0.188333501989274148910007547496*t + 0.992641329830419396033230547887)/(0.572249579048364881552280260776*t**2 - 0.669301542710871251180032333275*t + 1.0)")

In [ ]:
str(rat_func) == "(0.00421099590689821779984639140604*t**2 + 0.188333501989274148910007547496*t + 0.992641329830419396033230547887)/(0.572249579048364881552280260776*t**2 - 0.669301542710871251180032333275*t + 1.0)"

In [ ]:
plot(rat_func)

In [ ]:
plot(S("(0.00421099590689821779984639140604*t**2 + 0.188333501989274148910007547496*t + 0.992641329830419396033230547887)/(0.572249579048364881552280260776*t**2 - 0.669301542710871251180032333275*t + 1.0)"))

In [ ]:
good_rat_func = S("(0.00421099590689821779984639140604*t**2 + 0.188333501989274148910007547496*t + 0.992641329830419396033230547887)/(0.572249579048364881552280260776*t**2 - 0.669301542710871251180032333275*t + 1.0)")

In [ ]:
plot(rat_func - exp(-t), (t, 0, 100))

In [ ]:
plot(good_rat_func - exp(-t), (t, 0, 100))

In [ ]:
plot(-exp(-t) + good_rat_func, (t, 0, 100))

In [ ]:
plot(-exp(-t) - S("(0.00421099590689821779984639140604*t**2 + 0.188333501989274148910007547496*t + 0.992641329830419396033230547887)/(0.572249579048364881552280260776*t**2 - 0.669301542710871251180032333275*t + 1.0)"), (t, 0, 100))

In [ ]:
plot(-exp(-t) + S(srepr(rat_func)), (t, 0, 100))

In [ ]:
plot(-exp(-t) + S(str(rat_func)), (t, 0, 100))

In [ ]:
plot(rat_func - exp(-t), (t, 0, 100), adaptive=False, nb_of_points=1000)

In [ ]:
import numpy
import matplotlib.pyplot as plt
vals = numpy.linspace(0, 100, 1000)
plt.plot(vals, lambdify(t, rat_func.subs(t, -t) - exp(-t), 'numpy')(vals))

In [ ]:
degree = 14
points = [chebyshevt_root(2*(degree + 1) + 1, 2*(degree + 1) - j) for j in range(1, 2*(degree + 1) + 1)]
[i.evalf() for i in points]
c = symbols('c', positive=True)
len(points)
solve(sqrt(c*(1 + points[degree])/(1 - points[degree])*c*(1 + points[degree+1])/(1 - points[degree+1])) - c, c)

In [ ]:
sqrt(c*(1 + points[degree])/(1 - points[degree])*c*(1 + points[degree+1])/(1 - points[degree+1])) - c

In [ ]:
E = S("exp((10.8*t + 10.8)/(t - 1)) - (0.000292923440172061376307712067378*t**18 - 0.00382369712669093978523377528192*t**17 + 0.0235117968300681682735465482247*t**16 - 0.0904961683900329437749507666096*t**15 + 0.244347315405413563336773282433*t**14 - 0.491533156343580993021894164578*t**13 + 0.763512364001241488427664101087*t**12 - 0.936481460181764203042245859202*t**11 + 0.919553635779126092586969716435*t**10 - 0.728338033009921941415427470583*t**9 + 0.466494241057100272722298949598*t**8 - 0.241066390548087834899533957827*t**7 + 0.0997744318509568132657709953788*t**6 - 0.0326299433259599107384290896079*t**5 + 0.00824748059197329933751330243673*t**4 - 0.00155480878299504771864337728231*t**3 + 0.000205891550849325966892424491264*t**2 - 0.0000170923433737289258328111955236*t + 0.000000669545506459572399276839032838)/(0.0000256271908755749476501555060643*t**18 + 0.00029976157640698698493412804827*t**17 + 0.0016792592359715410041296380456*t**16 + 0.00593759917905712411027230635685*t**15 + 0.0156202804404542365771258126305*t**14 + 0.0289577506063902781990988819345*t**13 + 0.0560418346810373552008650596658*t**12 + 0.0418316309497562848580964550569*t**11 + 0.151260111256952231777215316531*t**10 - 0.0963027347150387933031292538397*t**9 + 0.434868911821397452965639691116*t**8 - 0.535112011457860838676364996918*t**7 + 0.885545060524724480506124658926*t**6 - 0.910515237881500396140647664512*t**5 + 0.901052413999683103211771128713*t**4 - 0.618793687227890880788897623539*t**3 + 0.360336843257148540488631327245*t**2 - 0.128932571601980421778511686416*t + 0.0328216571239099274214356723826)")

In [ ]:
plot(E, (t, -1, 1))

In [ ]:
E.replace(exp, lambda x: 0)

In [ ]:
c = 10.8
prec = 30
r = -E.replace(exp, lambda x: 0)
inv = solve(-c*(t + 1)/(t - 1) - y, t)[0].subs(y, t)
n, d = together(r.subs(t, inv)).as_numer_denom() # simplify/cancel here will add degree to the numerator and denominator
rat_func = (Poly(n)/Poly(d).TC())/(Poly(d)/Poly(d).TC())
rat_func

In [ ]:
inv = solve(-c*(t + 1)/(t - 1) - y, t)[0].subs(y, t)
n, d = together(r.subs(t, inv.evalf(prec))).as_numer_denom() # simplify/cancel here will add degree to the numerator and denominator
rat_func = expand(n/d.subs(t, 0))/expand(d/d.subs(t, 0))
rat_func

In [ ]:
r.subs(t, inv)

In [ ]:
master_rat_func = S("(0.000000000000000000000000000000000000076480564016753411391758926810678059166246681879403496152487645239211280144217888827074664937622241433057155411729238059005620362*t**18 - 0.00000000000000000000000000000000144349696189967720280773581225860550659908207558078615762681841828055896712976164458203824215880891842340327527192908591610821*t**17 + 0.0000000000000000000000000000044910880325416024060232183011837489287970058235258370172770028208341880031097425649152413600814540715147042236183237457793362906*t**16 - 0.0000000000000000000000000055904194675876842224749371778659158365295791811734393172655086431051636828145602210004215923885798770655051649836756001927074635*t**15 + 0.0000000000000000000000036534617094118107737307644008627750110509773097939005142805165889454907972711014257711631906543393485730765556180421132890852392*t**14 - 0.000000000000000000001452005752480375025477783595297687855428318333130316532815795944869337169252966327504293176967865458909941895728922083075100905*t**13 + 0.00000000000000000038258486902246032408006621010963716586950687991236057815854665336890002346614805976419029288917692940037303895895123632103288712*t**12 - 0.000000000000000070617682439427615900771877450592882868606546484110524383009238796767626116906296729855457707191810570035340443853799274578659569*t**11 + 0.0000000000000094758123346723567170908152172735939652157451575834910841031916583217101183394528014444063348758109776739928297123459805390104553*t**10 - 0.00000000000094773868840452502508269303119154845985934338599523295887294825053761377691930897288612488861758600642472630646115958140782655741*t**9 + 0.000000000071794537029977599630049677051557682902685713470170819790111653928229512768189817446726011375388897055644123749103346310180957703*t**8 - 0.0000000041548085790436606814151882639426540923873459207739075135022708664862920165014122761594444148444999444676937908166192319430948739*t**7 + 0.00000018396482187290156607582394998664929895412165041697075842037042924223322317897465358352879794796218422276896933375527141853756368*t**6 - 0.0000061940471597289213538311760411627015047318480396138859471763151560132556207793110081461448458843840327989497213331241784911809188*t**5 + 0.00015609017337127813834188030193516319436098147682156485822323423924211374867515035340573616843723433765654338888756861271039524759*t**4 - 0.0028562580858878094323585065185801663096872149540312530171997790387127408262872701820963659684205263711498876442924046259043818741*t**3 + 0.035908020274519704107157835421234360862435489836434974542107322036865342386568144753587976535805549361943459578492579177565909169*t**2 - 0.27789748837786198960284734868450774184090800132807427206186974905648882760573987089502539075626928473970338728172474858726571638*t + 1.0)/(0.000000000000000000031040251435758559612107016726409522805133890008185285868034602477549411378597769320246238650254246564453320307940208743427452132*t**18 + 0.00000000000000000033278408185195783331139523007623347013904881323415039608612228753896462298159222572181471639107826698580483779471762583452979632*t**17 + 0.000000000000000036787450097487433810641016956456458321996969855733085703659877884336499129663780877438684132168500286553243353222376638553979316*t**16 + 0.00000000000000086471483697461572289931466729671519305573126608639342123901368411795553895792792034205116888738244515155185481746831557263871812*t**15 + 0.000000000000028542945098191436824578047622161061818620141667875379414297168053758179023344405243390741611910581146082198383107320705069583298*t**14 + 0.00000000000069925714572325319966132548491379676104543251464498742295512527923847731544663020484057497681632084412599937152698907579711598455*t**13 + 0.000000000016023022340045153918478559722974792676358615762326800442501765171455792601242697969576723610509994457322049182740923202818976629*t**12 + 0.00000000032288400362818264475862911376930287544499616030122169108718711417899107361671375705975465433486011408164287643509933657504241192*t**11 + 0.0000000058031481469953025925067093526070113494249880473036061932865265507723402865048713484792246133690205685646178264769891316933338782*t**10 + 0.000000092334736432550055237788885523966859751018477031256929995376082333113413768260370819988748007438778907195512402675485670731415463*t**9 + 0.0000012926132501100766989333427587529904458908220243641974136275253050146198705426564792856481298765046890202380566214250561052101974*t**8 + 0.000015764526871377686388685138109739710158659275647616228857451800259851474387813943355076456887413075988332171386231137024453368698*t**7 + 0.00016523598870223734044973391186293737035539948649029834978809577442020543781821653294313415106131238369918759029115415865449394346*t**6 + 0.0014607084457312565069881359757159810508484208317079191023373636723638109071771404868435318582711990519471832277113738367820431404*t**5 + 0.010604260828765659024101011711311726965939177316289266086487560938209634069089784251192671810661317429692738097439733970455088636*t**4 + 0.060769684666293428066362095643979446983198257906551701462685569300225217899448253566777035915490895538454676999338813585125899174*t**3 + 0.25801053189666603350610238873105407999382491457750647353754793173734492220703368984743001028426676940884044469045936407185268167*t**2 + 0.72210251162213748406312012324555238365117862900849998495383644968647977930578316078230461402023282743548534135417525983920899434*t + 1.0)")

In [ ]:
smichr_nsolve_rat_func = S("(0.000000000000000000000000000000000000076480564016753411391758926810678059166246681879403496152487645239211280144217888827074664937622241433057155411729238059005620362*t**18 - 0.00000000000000000000000000000000144349696189967720280773581225860550659908207558078615762681841828055896712976164458203824215880891842340327527192908591610821*t**17 + 0.0000000000000000000000000000044910880325416024060232183011837489287970058235258370172770028208341880031097425649152413600814540715147042236183237457793362906*t**16 - 0.0000000000000000000000000055904194675876842224749371778659158365295791811734393172655086431051636828145602210004215923885798770655051649836756001927074635*t**15 + 0.0000000000000000000000036534617094118107737307644008627750110509773097939005142805165889454907972711014257711631906543393485730765556180421132890852392*t**14 - 0.000000000000000000001452005752480375025477783595297687855428318333130316532815795944869337169252966327504293176967865458909941895728922083075100905*t**13 + 0.00000000000000000038258486902246032408006621010963716586950687991236057815854665336890002346614805976419029288917692940037303895895123632103288712*t**12 - 0.000000000000000070617682439427615900771877450592882868606546484110524383009238796767626116906296729855457707191810570035340443853799274578659569*t**11 + 0.0000000000000094758123346723567170908152172735939652157451575834910841031916583217101183394528014444063348758109776739928297123459805390104553*t**10 - 0.00000000000094773868840452502508269303119154845985934338599523295887294825053761377691930897288612488861758600642472630646115958140782655741*t**9 + 0.000000000071794537029977599630049677051557682902685713470170819790111653928229512768189817446726011375388897055644123749103346310180957703*t**8 - 0.0000000041548085790436606814151882639426540923873459207739075135022708664862920165014122761594444148444999444676937908166192319430948739*t**7 + 0.00000018396482187290156607582394998664929895412165041697075842037042924223322317897465358352879794796218422276896933375527141853756368*t**6 - 0.0000061940471597289213538311760411627015047318480396138859471763151560132556207793110081461448458843840327989497213331241784911809188*t**5 + 0.00015609017337127813834188030193516319436098147682156485822323423924211374867515035340573616843723433765654338888756861271039524759*t**4 - 0.0028562580858878094323585065185801663096872149540312530171997790387127408262872701820963659684205263711498876442924046259043818741*t**3 + 0.035908020274519704107157835421234360862435489836434974542107322036865342386568144753587976535805549361943459578492579177565909169*t**2 - 0.27789748837786198960284734868450774184090800132807427206186974905648882760573987089502539075626928473970338728172474858726571638*t + 1.0)/(0.000000000000000000031040251435758559612107016726409522805133890008185285868034602477549411378597769320246238650254246564453320307940208743427452132*t**18 + 0.00000000000000000033278408185195783331139523007623347013904881323415039608612228753896462298159222572181471639107826698580483779471762583452979632*t**17 + 0.000000000000000036787450097487433810641016956456458321996969855733085703659877884336499129663780877438684132168500286553243353222376638553979316*t**16 + 0.00000000000000086471483697461572289931466729671519305573126608639342123901368411795553895792792034205116888738244515155185481746831557263871812*t**15 + 0.000000000000028542945098191436824578047622161061818620141667875379414297168053758179023344405243390741611910581146082198383107320705069583298*t**14 + 0.00000000000069925714572325319966132548491379676104543251464498742295512527923847731544663020484057497681632084412599937152698907579711598455*t**13 + 0.000000000016023022340045153918478559722974792676358615762326800442501765171455792601242697969576723610509994457322049182740923202818976629*t**12 + 0.00000000032288400362818264475862911376930287544499616030122169108718711417899107361671375705975465433486011408164287643509933657504241192*t**11 + 0.0000000058031481469953025925067093526070113494249880473036061932865265507723402865048713484792246133690205685646178264769891316933338782*t**10 + 0.000000092334736432550055237788885523966859751018477031256929995376082333113413768260370819988748007438778907195512402675485670731415463*t**9 + 0.0000012926132501100766989333427587529904458908220243641974136275253050146198705426564792856481298765046890202380566214250561052101974*t**8 + 0.000015764526871377686388685138109739710158659275647616228857451800259851474387813943355076456887413075988332171386231137024453368698*t**7 + 0.00016523598870223734044973391186293737035539948649029834978809577442020543781821653294313415106131238369918759029115415865449394346*t**6 + 0.0014607084457312565069881359757159810508484208317079191023373636723638109071771404868435318582711990519471832277113738367820431404*t**5 + 0.010604260828765659024101011711311726965939177316289266086487560938209634069089784251192671810661317429692738097439733970455088636*t**4 + 0.060769684666293428066362095643979446983198257906551701462685569300225217899448253566777035915490895538454676999338813585125899174*t**3 + 0.25801053189666603350610238873105407999382491457750647353754793173734492220703368984743001028426676940884044469045936407185268167*t**2 + 0.72210251162213748406312012324555238365117862900849998495383644968647977930578316078230461402023282743548534135417525983920899434*t + 1.0)")

In [ ]:
master_rat_func == smichr_nsolve_rat_func

In [ ]: