> For the complete documentation index, see [llms.txt](https://arithmic-labs.gitbook.io/arithmic-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://arithmic-labs.gitbook.io/arithmic-documentation/gen-1.0-gen-2.0-vms-and-staking/gen-1.0-vm-and-its-limitations.md).

# Gen 1.0 VM and its Limitations

Most validity roll-ups today operate VMs built on the Gen 1.0 paradigm. Such VMs define algebraic sub-circuits for every instruction in their CPU, and the entire circuit for 1 cycle of the VM is composed of all such sub-circuits. The sub-circuits for non-algebraic operations such as Less Than, Range-Check, XOR, OR, AND etc. introduce significant overheads and are quite error-prone as they are mostly hand-designed. Additionally, they also impose restrictions on developers who have to tackle new coding paradigms arising from algebraizing non-algebraic constructs such as branches, and if-else functions.
