It’s easy to swap out the limited use of printed in this program, which just prints strings and integers, with a short loop and a syscall. Like I said, nobody needs libc; it’s just convenient to use.
Even the AMD64 instruction names alone for fabsf, sqrtf, powf, fmodf, will add up to more than a dozen characters. That's before you implement rand and printf. I'm skeptical.
Who needs libc ;)