"""Float64 monomers — real f64 math."""

import math


def fadd(a: float, b: float) -> float:
    return a + b


def fsub(a: float, b: float) -> float:
    return a - b


def fmul(a: float, b: float) -> float:
    return a * b


def fdiv(a: float, b: float) -> float:
    if b == 0.0:
        raise ZeroDivisionError("fdiv: division by zero")
    return a / b


def fabs(a: float) -> float:
    return abs(a)


def fneg(a: float) -> float:
    return -a


def fsqrt(a: float) -> float:
    return math.sqrt(a)


def fmod_op(a: float, b: float) -> float:
    return math.fmod(a, b)
