I am looking at a memory hierarchy question from this link
The question asks to calculate AMAT (average memory access time)

The following is the formula given :

I also saw a presentation from stanford at this link2
The formula there is :

From searching on the web, my understanding is that AMAT at any level is :
AMAT = hit time + local miss rate X miss penalty
So for the formula from stanford, it must be because :
AMAT = hit time (L1) + local miss rate (L1) X miss penalty (L1)
= hit time (L1) + local miss rate (L1) X [ hit time (L2) + local miss rate (L2) X miss penalty (L2) ]
= hit time (L1) + local miss rate (L1) X hit time (L1) + **global miss rate (L2)** X miss penalty (L2)
(a) is the L2 miss rate in stanford's formula the global miss rate for L2 cache ?
(b) Why is the formula for the question from first link multiplying hit time with hit rate for L1 ?
(c) Why in the first formula, TLB miss penalty is added with TLB hit time (when in formulas for caches, miss rate is just multiplied with miss penalty) ?
(d) If the formula from first link is wrong, what is the right formula to calculate AMAT in case of such a question ?
Thanks.