---
name: "fdimf"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/fdim"
---

# fdimf(3)

positive difference functions

Part of [fdim(3)](/fdim/3.md).

## NAME

**fdim**, **fdimf**, **fdiml** – positive difference functions

## LIBRARY

Math Library (libm, -lm)

## SYNOPSIS

**#include \<math.h\>**

*double*\

**fdim**(*double x*, *double y*);

*float*\

**fdimf**(*float x*, *float y*);

*long* *double*\

**fdiml**(*long double x*, *long double y*);

## DESCRIPTION

The **fdim**(), **fdimf**(), and **fdiml**() functions return the positive difference between *x* and *y*. That is, if *x-**y* is positive, then *x-**y* is returned. If either *x* or *y* is an , then an  is returned. Otherwise, the result is +0.0.

Overflow or underflow may occur if the exact result is not representable in the return type. No other exceptions are raised.

## SEE ALSO

[fabs(3)](/fabs/3.md), [fmax(3)](/fmax/3.md), [fmin(3)](/fmin/3.md), [math(3)](/math/3.md)

## STANDARDS

The **fdim**(), **fdimf**(), and **fdiml**() functions conform to ISO/IEC 9899:1999 (“ISO C99”).

## HISTORY

These routines first appeared in FreeBSD 5.3.
