Extraños problemas de precisión en R al calcular la probabilidad binomial acumulada

Me he estado encontrando con algunos problemas extraños al usar este código:

positions<-c(58256)
occurrencies<-c(30)
frequency<-c(11/5531777)
length<-c(4)

prob<-c(0)
for(i in 0:(occurrencies-1))
{
  pow<-frequency^i
  pow1<-(1-frequency)^(positions-i)
  bin<-choose(positions, i)
  prob<<-prob+(bin*pow*pow1)
}

Cada iteración de este bucle for debe calcular la probabilidad binomial de que,i&nbsp;el número de ocurrencias del evento ocurre dada la frecuencia. Cada iteración también resume el resultado. Esto debería resultar en laprob&nbsp;variable nunca superior a 1, pero después de 7 o más para las iteraciones de bucle, todo va al infierno yprob&nbsp;excede 1.

Pensé que podría ser una cuestión de dígitos de precisión, así que intenté usarRmpfr&nbsp;Pero en vano, el mismo problema persistió.

Me preguntaba si hay algún consejo o paquete para superar esta situación, o si me quedo con esto.