I rephrase my question:
1) given arbitrary inputs, does the SHA-256 function really generate outputs that are evenly distributed?
2) given block headers** as inputs, does the SHA-256 function really generate outputs that are evenly distributed?
**block header = Version (4 bytes) + Previous Block Hash (32 bytes) + Merkle Root (32 bytes) + Timestamp (4 bytes) + Difficulty Target (4 bytes) + Nonce (4 bytes) = 80 byte = 640 bit --> fixed length
block hash = block header hash = SHA256(SHA256(Block_Header))
But we assume that the output of the hash function is evenly distributed (so we can calculate target and difficulty for proof-of-work algorithm).
How can we know for sure the output is evenly distributed?
I did a few million hashes of number sequences and other random stuff, for playing cards and dice simulations. It looked evenly distributed.
In your case, what were your inputs? What kind of number sequences? Fixed length (more or less than 256 bit) or not?