Sample Output: numerator: 218705771505300617649929640861541703712912889721423825611369834440490833433694463191774 10339000963705410329813528974794149028917796716909528358808344846743188026.335842416468 811397934167281782098090127033581814271708569400601328616984193260382932770387188042899 011550894245553293461838921611078461617347606684150327638383700337990394156866919077627 982478343592801936061817807688568941504122768184467076490085337826063199991559227379758 372114094335929328941299838217365270172326535210162582977479158783239709014794285875292 631555236178335246013656297975051588700684768403541023195036481891450259071165536628948 260971757483733990554190175128640641832831829300867817168439267108510045199013199185147 500254269817081568109294251764229261657751778622241710414955498620086505926041669295421 742119523636180161632297653091372254124577566138184421784877430704105285817913486193962 161495507937288053699039378006674483273529742432126440239964763498659922373666181492732 751289211181146725709762481463525898507351263049205890159740486437164985151098402011553 402802193447837576587046088366626941267521 denominator: 150000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000 c = 77 pi = 0.1 #<-- Rounded or something Revised Code: my $numerator = Math::BigFloat->new($rho)->bpow(Math::BigFloat->new($c[$i])); my $denominator = Math::BigFloat->new(Factorial($c[$i], \@fact))->bmul($G); printf("numerator: %s\n", $numerator ); printf("denominator: %s\n", $denominator ); $pi[$i][$c[$i]] = $numerator->copy()->bdiv($denominator); #$pi[$i][$c[$i]] = (Math::BigFloat->new($rho)->bpow(Math::BigFloat->new($c[$i])))->bdiv(Math::BigFloat->new(Factorial($c[$i], \@fact))->bmul($G) ); printf("c = $c[$i] pi = $pi[$i][$c[$i]]\n");