| 1 | == Random Floating Point == |

| 2 | |

| 3 | Generate uniformly random float with probability 1/2 in [0.5, 1.0), probability 1/4 in [0.25, 0.5), and so on… |

| 4 | |

| 5 | == Differential Privacy with Floating Point == |

| 6 | |

| 7 | Clamp, then add noise, then snap/bin, then clamp. |

| 8 | |

| 9 | Randomising the low bits after scaling doesn't necessarily work: snapping correctly hides the low bits. |

| 10 | |

| 11 | == Floating Point Distributions == |

| 12 | |

| 13 | Error of sqrt(), cos(), and ln(). |

| 14 | |

| 15 | Do a floating-point error analysis on the alternative Gaussian transforms, and then pick one. |

| 16 | |

| 17 | Use an argument similar to the one at the end of section 5.2 in: |

| 18 | https://www.microsoft.com/en-us/research/wp-content/uploads/2012/10/lsbs.pdf |

| 19 | |

| 20 | Use a numerical methods text for reference. |