I need to calculate a double of integral a large expression numerically. But, I found a strange error. The code:

[code]
def doubleIntegral():
def f2(theta):
def f1(phi):
return theta*phi/pi
return numerical_integral(f1,0,2*pi)[0]
return numerical_integral(f2,0,pi)
[\code]

works. but

[code] a = theta*phi/pi # Suppose this is a huge expression that came out of previous calculations

def doubleIntegral(): def f2(theta): def f1(phi): return a return numerical_integral(f1,0,2*pi)[0] return numerical_integral(f2,0,pi) [\code]

doesn't work [code] unable to simplify to float approximation unable to simplify to float approximation . . . [/code] . What is going on? And how can I fix this?