> For the complete documentation index, see [llms.txt](https://docs.fairmath.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fairmath.xyz/fhe-computer/operating-system/execution-graph-and-tasks/atomic-and-composite-instructions.md).

# Atomic and Composite Instructions

Instructions in a task are categorized into two types: **atomic** and **composite**.

1. **Atomic Instructions**\
   These are simple, indivisible operations that can be directly executed by the system’s Instruction Set Architecture (ISA). For example:
   * `arith.mul` (multiplication of two ciphertexts).\
     Atomic instructions require no further breakdown and are ready to be executed as-is.
2. **Composite Instructions**\
   These are higher-level operations that consist of multiple atomic instructions. For example:

   * `polycircuit.relu` (a non-linear activation function).\
     A composite instruction like `RELU` might be implemented as a sequence of comparisons, multiplications, and additions.

   The orchestration layer can **unroll** composite instructions into their atomic components when:

   * No system actor is available to execute the composite instruction directly.
   * Breaking the composite instruction down allows better parallel execution or resource usage.
