> ## Documentation Index
> Fetch the complete documentation index at: https://voltaire.tevm.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Arithmetic

> Auto-generated API documentation

[**@tevm/voltaire**](../../index.mdx)

***

[@tevm/voltaire](../../index.mdx) / [evm](../index.mdx) / Arithmetic

# Arithmetic

## Functions

### add()

> **add**(`frame`): [`EvmError`](../index.mdx#evmerror) | `null`

Defined in: [src/evm/arithmetic/0x01\_ADD.js:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/evm/arithmetic/0x01_ADD.js#L7)

ADD opcode (0x01) - Addition with overflow wrapping

#### Parameters

##### frame

[`BrandedFrame`](../index.mdx#brandedframe)

Frame instance

#### Returns

[`EvmError`](../index.mdx#evmerror) | `null`

Error if any

***

### addmod()

> **addmod**(`frame`): [`EvmError`](../index.mdx#evmerror) | `null`

Defined in: [src/evm/arithmetic/0x08\_ADDMOD.js:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/evm/arithmetic/0x08_ADDMOD.js#L7)

ADDMOD opcode (0x08) - Addition modulo n (mod by zero returns 0)

#### Parameters

##### frame

[`BrandedFrame`](../index.mdx#brandedframe)

Frame instance

#### Returns

[`EvmError`](../index.mdx#evmerror) | `null`

Error if any

***

### div()

> **div**(`frame`): [`EvmError`](../index.mdx#evmerror) | `null`

Defined in: [src/evm/arithmetic/0x04\_DIV.js:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/evm/arithmetic/0x04_DIV.js#L7)

DIV opcode (0x04) - Integer division (division by zero returns 0)

#### Parameters

##### frame

[`BrandedFrame`](../index.mdx#brandedframe)

Frame instance

#### Returns

[`EvmError`](../index.mdx#evmerror) | `null`

Error if any

***

### exp()

> **exp**(`frame`): [`EvmError`](../index.mdx#evmerror) | `null`

Defined in: [src/evm/arithmetic/0x0a\_EXP.js:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/evm/arithmetic/0x0a_EXP.js#L7)

EXP opcode (0x0a) - Exponential operation

#### Parameters

##### frame

[`BrandedFrame`](../index.mdx#brandedframe)

Frame instance

#### Returns

[`EvmError`](../index.mdx#evmerror) | `null`

Error if any

***

### mod()

> **mod**(`frame`): [`EvmError`](../index.mdx#evmerror) | `null`

Defined in: [src/evm/arithmetic/0x06\_MOD.js:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/evm/arithmetic/0x06_MOD.js#L7)

MOD opcode (0x06) - Modulo operation (mod by zero returns 0)

#### Parameters

##### frame

[`BrandedFrame`](../index.mdx#brandedframe)

Frame instance

#### Returns

[`EvmError`](../index.mdx#evmerror) | `null`

Error if any

***

### mul()

> **mul**(`frame`): [`EvmError`](../index.mdx#evmerror) | `null`

Defined in: [src/evm/arithmetic/0x02\_MUL.js:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/evm/arithmetic/0x02_MUL.js#L7)

MUL opcode (0x02) - Multiplication with overflow wrapping

#### Parameters

##### frame

[`BrandedFrame`](../index.mdx#brandedframe)

Frame instance

#### Returns

[`EvmError`](../index.mdx#evmerror) | `null`

Error if any

***

### mulmod()

> **mulmod**(`frame`): [`EvmError`](../index.mdx#evmerror) | `null`

Defined in: [src/evm/arithmetic/0x09\_MULMOD.js:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/evm/arithmetic/0x09_MULMOD.js#L7)

MULMOD opcode (0x09) - Multiplication modulo n (mod by zero returns 0)

#### Parameters

##### frame

[`BrandedFrame`](../index.mdx#brandedframe)

Frame instance

#### Returns

[`EvmError`](../index.mdx#evmerror) | `null`

Error if any

***

### sdiv()

> **sdiv**(`frame`): [`EvmError`](../index.mdx#evmerror) | `null`

Defined in: [src/evm/arithmetic/0x05\_SDIV.js:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/evm/arithmetic/0x05_SDIV.js#L7)

SDIV opcode (0x05) - Signed integer division

#### Parameters

##### frame

[`BrandedFrame`](../index.mdx#brandedframe)

Frame instance

#### Returns

[`EvmError`](../index.mdx#evmerror) | `null`

Error if any

***

### signextend()

> **signextend**(`frame`): [`EvmError`](../index.mdx#evmerror) | `null`

Defined in: [src/evm/arithmetic/0x0b\_SIGNEXTEND.js:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/evm/arithmetic/0x0b_SIGNEXTEND.js#L7)

SIGNEXTEND opcode (0x0b) - Sign extension

#### Parameters

##### frame

[`BrandedFrame`](../index.mdx#brandedframe)

Frame instance

#### Returns

[`EvmError`](../index.mdx#evmerror) | `null`

Error if any

***

### smod()

> **smod**(`frame`): [`EvmError`](../index.mdx#evmerror) | `null`

Defined in: [src/evm/arithmetic/0x07\_SMOD.js:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/evm/arithmetic/0x07_SMOD.js#L7)

SMOD opcode (0x07) - Signed modulo operation

#### Parameters

##### frame

[`BrandedFrame`](../index.mdx#brandedframe)

Frame instance

#### Returns

[`EvmError`](../index.mdx#evmerror) | `null`

Error if any

***

### sub()

> **sub**(`frame`): [`EvmError`](../index.mdx#evmerror) | `null`

Defined in: [src/evm/arithmetic/0x03\_SUB.js:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/evm/arithmetic/0x03_SUB.js#L7)

SUB opcode (0x03) - Subtraction with underflow wrapping

#### Parameters

##### frame

[`BrandedFrame`](../index.mdx#brandedframe)

Frame instance

#### Returns

[`EvmError`](../index.mdx#evmerror) | `null`

Error if any
