I have a function that, while the maths itself is unimportant, at certain values it results in a very large number multiplying a very small number. E.g. 10^450000 * 10^-449998. As you can see, this should output the more-sensible number 10^2. However Mathematica is rounding the small number to zero thus the whole calculation breaks down. How can I prevent this? I've played with MinNumber and MachinePrecision but neither seem to fix the issue.
Thanks in advance!
Edit: Including the equation as requested:
Equation breaks down for $\sigma<0.01*\omega$ and generally unreliable below $\sigma<0.04*\omega$
Edit2: And the Mathematica code!
bessktot[ω0_, σ_] := BesselK[1, Sqrt[ω0/σ^2]/Sqrt[σ^2/ω0^3]] expcalctot[ω0_, σ_] := E^(ω0^2/σ^2); ω0 = 2 \[Pi] 10^12; σ[BWpc_] := BWpc/100 ω0; σt = σ bessktot[ω0, σt] expcalctot[ω0, σt] expcalctot[ω0, σt]*bessktot[ω0, σt]
Edit3: Thanks Bob Hanlon, (I can't comment back on your answer yet). Your answer works for certain values input to the bessel. The problem appears to be even more fundamental than I realised. It appears Mathematica can't calculate non-integer $BesselK[1,x]$ functions when $x>741$. Is there a way around this?