I have something of a math/computational/calculational problem.

I would like to calculate the value of (2^128)! however I know that number is astronomical so I'd rather know it's size in bits. I think the size in bits also might be too astronomical so if that is the case I'd like to know the size in bits of the size in bits.

That is, log2(log2((2^128)!)).

I know any strategy that actually tries to compute the factorial of 2^128 will fail so I'm looking for a creative way such as using the

Gamma() function.

Is there a reasonable way to do this?

Edit: I should have read the whole Wikipedia article more slowly. There is an ln(gamma(z)) approximation when z is large. The log2() of (2^128)! is roughly 4.3 * 10^40 and the log2() of that is only about 135.

In GP/PARI calculator syntax:

? (2^128) + 1

%1 = 340282366920938463463374607431768211457

? (((%1 - (1/2))*log(%1)) - %1 + ((1/2)*log(2*Pi)))/log(2)

%2 = 4.3065219282621326757565580404980237829 E40

? log(%2)/log(2)

%3 = 134.98364697279917304390801670742496091