Sarah laughed at God and He did not mind When God told Abraham that he was to have a son the following year, bible recorded it that Sarah laughed in her heart


  Genesis 18:12-15
  
  12 Sarah laughed to herself, saying, “After I have become old, shall I
  have pleasure, my lord being old also?”
  
  13 And the LORD said to Abraham, “Why did Sarah laugh, saying, ‘Shall I
  indeed bear a child, when I am so old?’
  
  14 “Is anything too difficult for the LORD? At the appointed time I
  will return to you, at this time next year, and Sarah will have a
  son.”
  
  15 Sarah denied it however, saying, “I did not laugh”; for she was
  afraid. And He said, “No, but you did laugh.”


I can see here that Sarah committed two [great] sins. 1) She mocked God  2) She called God a liar by denying she laughed.

My question is why God chose to overlook her sins and did not punish her for that?
God did not punish Sarah because:


God promised to bless Sarah, not curse her.
Sarah and Abraham seem to have laughed in a sort of prophesy, because the name of their son would sound the same as the Hebrew word for laughter.
God is merciful! Directly after this He allows Abraham to ask Him, repeatedly, not to destroy Sodom if there are any righteous people there (first 50 righteous people, then 45, 40, 30, 20, 10) and each time God agrees to have mercy, if that many righteous people should be found.


There are three instances of laughter. Here are the the relevant passages, and the notes:


  Genesis 17
  17:16 I will bless her, and I will give you a son by her. Her also will I bless; she will give rise to nations, and rulers of peoples will issue from her. 17 Abraham fell face down and laughed* as he said to himself, “Can a child be born to a man who is a hundred years old? Can Sarah give birth at ninety?” 18 So Abraham said to God, “If only Ishmael could live in your favor!” 19 God replied: Even so, your wife Sarah is to bear you a son, and you shall call him Isaac. It is with him that I will maintain my covenant as an everlasting covenant and with his descendants after him.
  
  
  [17:17] Laughed: yishaq, which is also the Hebrew form of the name “Isaac”; similar explanations of the name are given in Gn 18:12 and 21:6.
  
  
  Genesis 18
  18:12
  So Sarah laughed* to herself and said, “Now that I am worn out and my husband is old, am I still to have sexual pleasure?”
  13
  But the LORD said to Abraham: “Why did Sarah laugh and say, ‘Will I really bear a child, old as I am?’
  14
  Is anything too marvelous for the LORD to do? At the appointed time, about this time next year, I will return to you, and Sarah will have a son.”
  15
  Sarah lied, saying, “I did not laugh,” because she was afraid. But he said, “Yes, you did.”
  
  
  [18:12] Sarah laughed: a play on the verb “laugh,” which prefigures the name of Isaac; see note on 17:17.
  
  
  Genesis 21
  21:5
  Abraham was a hundred years old when his son Isaac was born to him.
  6
  Sarah then said, “God has given me cause to laugh,* and all who hear of it will laugh with me.
  
  
  [21:6] Laugh: for the third time (cf. 17:17 and 18:12) there is laughter, playing on the similarity in Hebrew between the pronunciation of the name Isaac and words associated with laughter.