Calcular o número do flutuador grande rapidamente como 0,4 ^ 100000000 ,, alguma idéia?

Ehm ... eu tenho um problema, eu tenho um certo cálculo de que o resultado está acima de 10 ^ -308 (o maior valor em .net duplo) de qualquer maneira que resolvi esse problema através de uma biblioteca chamada BIGFLOAThttp: //www.fractal-landscapes.co.uk/bigint.htm ,

O que quer que eu precise calcular algo como 0,4 ^ (1000 ou 100000000), o problema leva muito, muito tempo. Ainda não estudei programação paralela ou distribuída, mas preciso de uma solução que seja rápida e compreensível para mim. para entregar este projeto nas próximas 6 horas !! : D

Aqui está o código:

private BigFloat getBlocking(double k)
    {
        double p1, p2;
        BigFloat p3;
        p3 = new BigFloat(pp);
        p1 = this.P / (double)(k / (double)this.N);
        p2 = Math.Pow((1 - p1), 2);
        p3= new BigFloat(1-p2,pp);
        p3.Pow((int)k);
        return p3;

    }

onde K é 1000, N é 1001

questionAnswers(2)

yourAnswerToTheQuestion