# Summary

- [Introduction](./intro/intro.md)
  - [Prerequisites](./intro/prelim.md)
  - [Why is a compiler needed for FHE?](./intro/why.md)
- [Sunscreen's FHE compiler](./compiler/compiler.md)
  - [Features](./compiler/features.md)
  - [Who should use it?](./compiler/who.md)
  - [Performance](./compiler/performance.md)
- [Getting started](./getting_started/getting_started.md)
  - [Installation](./getting_started/installation.md)
  - [My first FHE program](./getting_started/example.md)
- [What's in an FHE program?](./fhe_programs/fhe_programs.md)
  - [Types](./fhe_programs/types/types.md)
    - [Signed](./fhe_programs/types/signed.md)
    - [Fractional](./fhe_programs/types/fractional.md)
    - [Rational](./fhe_programs/types/rational.md)
  - [How to write an FHE program](./fhe_programs/writing_an_fhe_program/writing_an_fhe_program.md)
    - [Factoring FHE programs](./fhe_programs/factoring_fhe_programs.md)
    - [Limitations](./fhe_programs/writing_an_fhe_program/limitations.md)
  - [Troubleshooting](./troubleshooting.md)
- [Runtime](./fhe_programs/runtime/runtime.md)
  - [Key generation](./fhe_programs/runtime/key_generation.md)
  - [Encryption](./fhe_programs/runtime/encryption.md)
  - [Running FHE programs](./fhe_programs/runtime/running_fhe_programs.md)
  - [Decryption](./fhe_programs/runtime/decryption.md)
  - [Serialization](./fhe_programs/runtime/serialization.md)
- [From toy programs to real life](./fhe_programs/programs_to_apps.md)
  - [Unified parameters](./fhe_programs/parameter_sharing.md)
  - [Chaining](./fhe_programs/chaining.md)
- [Applications](./fhe_programs/apps.md)
  - [AMMs & private token swaps](./fhe_programs/example.md)
  - [Private information retrieval](./fhe_programs/pir_intro.md)
     - [Take 1](./fhe_programs/pir_simple.md)
     - [Take 2](./fhe_programs/pir_matrix.md)
  - [Genomics & private tests](./fhe_programs/private_tests.md)
- [FAQ](./advanced/faq.md)
- [Advanced topics](./advanced/advanced.md)
    - [Why the BFV scheme?](./advanced/bfv.md)
    - [Writing even better FHE programs](./advanced/good_fhe_programs.md)
      - [Plaintext modulus](./advanced/plain_modulus/plain_modulus.md)
      - [Noise](./advanced/noise_margin.md)
      - [Pruning public keys](./advanced/pruning_keys.md)
    - [WASM support](./advanced/wasm.md)
    - [Funky math: carryless arithmetic](./advanced/carryless_arithmetic.md)
    - [Batching]()
