What do you think it's essential math a programmer should know?
I've learned higher algebra, calculus, some geometry which was eased by the already known algebra, number theory, probabilities, combinatorics, graph theory, statistics, formal language and automata theory, and that's mostly it. Most of my CS courses in university required some kind of math which we previously did.
I can't say I remember all I've learned but I can recall things if needed.
It was a thing that programming languages were explained in terms of formal language theory, plus some algebraic constructs. Now a days whenever I read about a programing language, I read about mostly category theory or functional theory and it mostly doesn't make sense.
So how hard or how many math domains should one learn to be able to understand all major CS theory?
It's called "Practical Math: A Tour of Mathematics in Production Software" (https://pmfpbook.org points to an announcement and mailing list)
The idea is to give a large swath of examples of math used to solve real problems, and collectively to give a good answer to your question. And to have the examples be appreciable by the average programmer, in the sense that they could reasonably expect to adapt the underlying ideas in their own work.