# Version v5.3.1
import numpy

FEATURES = ('mchi1', 'mchipm1')

def predict(X):
    mchi1 = numpy.asarray(X['mchi1'], dtype=float)
    mchipm1 = numpy.asarray(X['mchipm1'], dtype=float)
    return numpy.broadcast_to(numpy.asarray(3.6322438444330944*(-mchi1/(mchi1 + mchi1*mchi1**3/(0.5774483375750383*mchipm1*(((-mchipm1 - 14.795608864368942)/((-0.3435829975042779*(mchi1 - (mchipm1 - 26.511043125521514)**3/(26.51100404304678*(-mchi1**2 + 26.51100404304678/mchi1)))**2/((-(-mchipm1 + 0.3931877450400627*mchipm1)/(mchipm1 + mchipm1) - 0.2705410605789888)*(-mchipm1**2/((-mchipm1**3/(-mchi1 - 0.11680481477984564)**2 + mchipm1)*(mchipm1 - 26.511043125521514)**2) - mchipm1/(-mchi1/((mchi1 + 2.3899686946410124)/(mchi1*(mchi1 - mchipm1**3/(mchi1 - (-0.22520722404711024))**2))) + mchipm1**3/((-0.032661962896898496)*mchi1*mchipm1**2)) - 1.8207158965500432)*(-mchipm1 + 26.510897968433977/1.873434606670587 - mchipm1**3/(mchipm1*(mchipm1/(((mchipm1 + mchipm1)*(-mchipm1 - 0.08350758927590293*mchipm1 + 0.38892152913013806)**3/(mchi1*mchipm1*(mchi1 - mchipm1/((mchipm1 - (1.985318701882745e-5*mchipm1**4)/mchipm1 - mchipm1**2/mchi1**2)/mchipm1))**3))))) - (-1)*0.04055972416108172*mchipm1**3/(mchi1**3*(-0.2705410605789888 - (mchipm1**2 - (-0.1104726882190656))/(mchipm1*(mchi1 - mchipm1/(mchipm1*(-mchipm1 - 14.795608864368942)))**3))**3)))))))*mchi1**2)) - 0.43571094061567045 - 26.510897968433977/mchipm1 - (-1)*0.05460589627929759/(15.27941857975087/mchi1)), dtype=float), (len(X),)).copy()
