258#pragma CPROVER check push
259#pragma CPROVER check disable "float-div-by-zero"
260#pragma CPROVER check disable "float-overflow"
262#pragma CPROVER check pop
269#pragma CPROVER check push
270#pragma CPROVER check disable "float-div-by-zero"
271#pragma CPROVER check disable "float-overflow"
273#pragma CPROVER check pop
280#pragma CPROVER check push
281#pragma CPROVER check disable "float-div-by-zero"
282#pragma CPROVER check disable "float-overflow"
284#pragma CPROVER check pop
340#ifndef __CPROVER_MATH_H_INCLUDED
342#define __CPROVER_MATH_H_INCLUDED
357#ifndef __CPROVER_MATH_H_INCLUDED
359#define __CPROVER_MATH_H_INCLUDED
374#ifndef __CPROVER_MATH_H_INCLUDED
376#define __CPROVER_MATH_H_INCLUDED
391#ifndef __CPROVER_MATH_H_INCLUDED
393#define __CPROVER_MATH_H_INCLUDED
405#ifndef __CPROVER_MATH_H_INCLUDED
407#define __CPROVER_MATH_H_INCLUDED
419#ifndef __CPROVER_MATH_H_INCLUDED
421#define __CPROVER_MATH_H_INCLUDED
433#ifndef __CPROVER_MATH_H_INCLUDED
435#define __CPROVER_MATH_H_INCLUDED
591#pragma CPROVER check push
592#pragma CPROVER check disable "float-div-by-zero"
594#pragma CPROVER check pop
604#pragma CPROVER check push
605#pragma CPROVER check disable "float-div-by-zero"
607#pragma CPROVER check pop
626double nan(
const char *str) {
630#pragma CPROVER check push
631#pragma CPROVER check disable "float-div-by-zero"
633#pragma CPROVER check pop
642#pragma CPROVER check push
643#pragma CPROVER check disable "float-div-by-zero"
645#pragma CPROVER check pop
650long double nanl(
const char *str) {
654#pragma CPROVER check push
655#pragma CPROVER check disable "float-div-by-zero"
657#pragma CPROVER check pop
662#ifndef __CPROVER_LIMITS_H_INCLUDED
664#define __CPROVER_LIMITS_H_INCLUDED
685#pragma CPROVER check push
686#pragma CPROVER check disable "float-div-by-zero"
688#pragma CPROVER check pop
714#ifndef __CPROVER_LIMITS_H_INCLUDED
716#define __CPROVER_LIMITS_H_INCLUDED
737#pragma CPROVER check push
738#pragma CPROVER check disable "float-div-by-zero"
740#pragma CPROVER check pop
767#ifndef __CPROVER_LIMITS_H_INCLUDED
769#define __CPROVER_LIMITS_H_INCLUDED
788#pragma CPROVER check push
789#pragma CPROVER check disable "float-div-by-zero"
791#pragma CPROVER check pop
839#ifndef __CPROVER_MATH_H_INCLUDED
841#define __CPROVER_MATH_H_INCLUDED
844#ifndef __CPROVER_FENV_H_INCLUDED
846#define __CPROVER_FENV_H_INCLUDED
858#pragma CPROVER check push
859#pragma CPROVER check disable "float-div-by-zero"
861#pragma CPROVER check pop
875#pragma CPROVER check push
876#pragma CPROVER check disable "float-overflow"
882#pragma CPROVER check pop
899 return (
f -
lowerSquare == 0.0f) ? lower : upper;
break;
902 return (
f -
lowerSquare == 0.0f) ? lower : upper;
break;
932#ifndef __CPROVER_MATH_H_INCLUDED
934#define __CPROVER_MATH_H_INCLUDED
937#ifndef __CPROVER_FENV_H_INCLUDED
939#define __CPROVER_FENV_H_INCLUDED
951#pragma CPROVER check push
952#pragma CPROVER check disable "float-div-by-zero"
954#pragma CPROVER check pop
965#pragma CPROVER check push
966#pragma CPROVER check disable "float-overflow"
970 double upper =
nextUp(lower);
972#pragma CPROVER check pop
982 return (d -
lowerSquare == 0.0f) ? lower : upper;
break;
985 return (d -
lowerSquare == 0.0) ? lower : upper;
break;
1009#ifndef __CPROVER_MATH_H_INCLUDED
1011#define __CPROVER_MATH_H_INCLUDED
1014#ifndef __CPROVER_FENV_H_INCLUDED
1016#define __CPROVER_FENV_H_INCLUDED
1019long double nextUpl(
long double d);
1028#pragma CPROVER check push
1029#pragma CPROVER check disable "float-div-by-zero"
1031#pragma CPROVER check pop
1042#pragma CPROVER check push
1043#pragma CPROVER check disable "float-overflow"
1047 long double upper =
nextUpl(lower);
1049#pragma CPROVER check pop
1059 return (d -
lowerSquare == 0.0l) ? lower : upper;
break;
1062 return (d -
lowerSquare == 0.0l) ? lower : upper;
break;
1105#ifndef __CPROVER_MATH_H_INCLUDED
1107#define __CPROVER_MATH_H_INCLUDED
1115#ifndef __CPROVER_MATH_H_INCLUDED
1117#define __CPROVER_MATH_H_INCLUDED
1125#ifndef __CPROVER_MATH_H_INCLUDED
1127#define __CPROVER_MATH_H_INCLUDED
1148#ifndef __CPROVER_MATH_H_INCLUDED
1150#define __CPROVER_MATH_H_INCLUDED
1158#ifndef __CPROVER_MATH_H_INCLUDED
1160#define __CPROVER_MATH_H_INCLUDED
1168#ifndef __CPROVER_MATH_H_INCLUDED
1170#define __CPROVER_MATH_H_INCLUDED
1187#ifndef __CPROVER_MATH_H_INCLUDED
1189#define __CPROVER_MATH_H_INCLUDED
1192double fdim(
double f,
double g) {
return ((
f >
g) ?
f -
g : +0.0); }
1197#ifndef __CPROVER_MATH_H_INCLUDED
1199#define __CPROVER_MATH_H_INCLUDED
1207#ifndef __CPROVER_MATH_H_INCLUDED
1209#define __CPROVER_MATH_H_INCLUDED
1212long double fdiml(
long double f,
long double g) {
return ((
f >
g) ?
f -
g : +0.0); }
1222#ifndef __CPROVER_MATH_H_INCLUDED
1224#define __CPROVER_MATH_H_INCLUDED
1227#ifndef __CPROVER_FENV_H_INCLUDED
1229#define __CPROVER_FENV_H_INCLUDED
1239#ifndef __CPROVER_MATH_H_INCLUDED
1241#define __CPROVER_MATH_H_INCLUDED
1244#ifndef __CPROVER_FENV_H_INCLUDED
1246#define __CPROVER_FENV_H_INCLUDED
1257#ifndef __CPROVER_MATH_H_INCLUDED
1259#define __CPROVER_MATH_H_INCLUDED
1262#ifndef __CPROVER_FENV_H_INCLUDED
1264#define __CPROVER_FENV_H_INCLUDED
1280#ifndef __CPROVER_MATH_H_INCLUDED
1282#define __CPROVER_MATH_H_INCLUDED
1285#ifndef __CPROVER_FENV_H_INCLUDED
1287#define __CPROVER_FENV_H_INCLUDED
1297#ifndef __CPROVER_MATH_H_INCLUDED
1299#define __CPROVER_MATH_H_INCLUDED
1302#ifndef __CPROVER_FENV_H_INCLUDED
1304#define __CPROVER_FENV_H_INCLUDED
1315#ifndef __CPROVER_MATH_H_INCLUDED
1317#define __CPROVER_MATH_H_INCLUDED
1320#ifndef __CPROVER_FENV_H_INCLUDED
1322#define __CPROVER_FENV_H_INCLUDED
1339#ifndef __CPROVER_MATH_H_INCLUDED
1341#define __CPROVER_MATH_H_INCLUDED
1344#ifndef __CPROVER_FENV_H_INCLUDED
1346#define __CPROVER_FENV_H_INCLUDED
1356#ifndef __CPROVER_MATH_H_INCLUDED
1358#define __CPROVER_MATH_H_INCLUDED
1361#ifndef __CPROVER_FENV_H_INCLUDED
1363#define __CPROVER_FENV_H_INCLUDED
1374#ifndef __CPROVER_MATH_H_INCLUDED
1376#define __CPROVER_MATH_H_INCLUDED
1379#ifndef __CPROVER_FENV_H_INCLUDED
1381#define __CPROVER_FENV_H_INCLUDED
1398#ifndef __CPROVER_MATH_H_INCLUDED
1400#define __CPROVER_MATH_H_INCLUDED
1403#ifndef __CPROVER_FENV_H_INCLUDED
1405#define __CPROVER_FENV_H_INCLUDED
1415#ifndef __CPROVER_MATH_H_INCLUDED
1417#define __CPROVER_MATH_H_INCLUDED
1420#ifndef __CPROVER_FENV_H_INCLUDED
1422#define __CPROVER_FENV_H_INCLUDED
1433#ifndef __CPROVER_MATH_H_INCLUDED
1435#define __CPROVER_MATH_H_INCLUDED
1438#ifndef __CPROVER_FENV_H_INCLUDED
1440#define __CPROVER_FENV_H_INCLUDED
1459#ifndef __CPROVER_MATH_H_INCLUDED
1461#define __CPROVER_MATH_H_INCLUDED
1464#ifndef __CPROVER_FENV_H_INCLUDED
1466#define __CPROVER_FENV_H_INCLUDED
1478#ifndef __CPROVER_MATH_H_INCLUDED
1480#define __CPROVER_MATH_H_INCLUDED
1483#ifndef __CPROVER_FENV_H_INCLUDED
1485#define __CPROVER_FENV_H_INCLUDED
1498#ifndef __CPROVER_MATH_H_INCLUDED
1500#define __CPROVER_MATH_H_INCLUDED
1503#ifndef __CPROVER_FENV_H_INCLUDED
1505#define __CPROVER_FENV_H_INCLUDED
1526#ifndef __CPROVER_MATH_H_INCLUDED
1528#define __CPROVER_MATH_H_INCLUDED
1531#ifndef __CPROVER_FENV_H_INCLUDED
1533#define __CPROVER_FENV_H_INCLUDED
1545#ifndef __CPROVER_MATH_H_INCLUDED
1547#define __CPROVER_MATH_H_INCLUDED
1550#ifndef __CPROVER_FENV_H_INCLUDED
1552#define __CPROVER_FENV_H_INCLUDED
1564#ifndef __CPROVER_MATH_H_INCLUDED
1566#define __CPROVER_MATH_H_INCLUDED
1569#ifndef __CPROVER_FENV_H_INCLUDED
1571#define __CPROVER_FENV_H_INCLUDED
1594#ifndef __CPROVER_MATH_H_INCLUDED
1596#define __CPROVER_MATH_H_INCLUDED
1599#ifndef __CPROVER_FENV_H_INCLUDED
1601#define __CPROVER_FENV_H_INCLUDED
1609 return (
long int)
rti;
1614#ifndef __CPROVER_MATH_H_INCLUDED
1616#define __CPROVER_MATH_H_INCLUDED
1619#ifndef __CPROVER_FENV_H_INCLUDED
1621#define __CPROVER_FENV_H_INCLUDED
1629 return (
long int)
rti;
1635#ifndef __CPROVER_MATH_H_INCLUDED
1637#define __CPROVER_MATH_H_INCLUDED
1640#ifndef __CPROVER_FENV_H_INCLUDED
1642#define __CPROVER_FENV_H_INCLUDED
1650 return (
long int)
rti;
1656#ifndef __CPROVER_MATH_H_INCLUDED
1658#define __CPROVER_MATH_H_INCLUDED
1661#ifndef __CPROVER_FENV_H_INCLUDED
1663#define __CPROVER_FENV_H_INCLUDED
1671 return (
long long int)
rti;
1676#ifndef __CPROVER_MATH_H_INCLUDED
1678#define __CPROVER_MATH_H_INCLUDED
1681#ifndef __CPROVER_FENV_H_INCLUDED
1683#define __CPROVER_FENV_H_INCLUDED
1691 return (
long long int)
rti;
1697#ifndef __CPROVER_MATH_H_INCLUDED
1699#define __CPROVER_MATH_H_INCLUDED
1702#ifndef __CPROVER_FENV_H_INCLUDED
1704#define __CPROVER_FENV_H_INCLUDED
1712 return (
long long int)
rti;
1727#ifndef __CPROVER_MATH_H_INCLUDED
1729#define __CPROVER_MATH_H_INCLUDED
1732#ifndef __CPROVER_FENV_H_INCLUDED
1734#define __CPROVER_FENV_H_INCLUDED
1740 return (
long int)
rti;
1745#ifndef __CPROVER_MATH_H_INCLUDED
1747#define __CPROVER_MATH_H_INCLUDED
1750#ifndef __CPROVER_FENV_H_INCLUDED
1752#define __CPROVER_FENV_H_INCLUDED
1758 return (
long int)
rti;
1764#ifndef __CPROVER_MATH_H_INCLUDED
1766#define __CPROVER_MATH_H_INCLUDED
1769#ifndef __CPROVER_FENV_H_INCLUDED
1771#define __CPROVER_FENV_H_INCLUDED
1777 return (
long int)
rti;
1783#ifndef __CPROVER_MATH_H_INCLUDED
1785#define __CPROVER_MATH_H_INCLUDED
1788#ifndef __CPROVER_FENV_H_INCLUDED
1790#define __CPROVER_FENV_H_INCLUDED
1796 return (
long long int)
rti;
1801#ifndef __CPROVER_MATH_H_INCLUDED
1803#define __CPROVER_MATH_H_INCLUDED
1806#ifndef __CPROVER_FENV_H_INCLUDED
1808#define __CPROVER_FENV_H_INCLUDED
1814 return (
long long int)
rti;
1820#ifndef __CPROVER_MATH_H_INCLUDED
1822#define __CPROVER_MATH_H_INCLUDED
1825#ifndef __CPROVER_FENV_H_INCLUDED
1827#define __CPROVER_FENV_H_INCLUDED
1833 return (
long long int)
rti;
1847#ifndef __CPROVER_MATH_H_INCLUDED
1849#define __CPROVER_MATH_H_INCLUDED
1852#ifndef __CPROVER_FENV_H_INCLUDED
1854#define __CPROVER_FENV_H_INCLUDED
1865#ifndef __CPROVER_MATH_H_INCLUDED
1867#define __CPROVER_MATH_H_INCLUDED
1870#ifndef __CPROVER_FENV_H_INCLUDED
1872#define __CPROVER_FENV_H_INCLUDED
1884#ifndef __CPROVER_MATH_H_INCLUDED
1886#define __CPROVER_MATH_H_INCLUDED
1889#ifndef __CPROVER_FENV_H_INCLUDED
1891#define __CPROVER_FENV_H_INCLUDED
1911 long double div =
x/
y;
1913 long double res = (-
y *
n) +
x;
1926 long double div =
x/
y;
1928 long double res = (-
y *
n) +
x;
1941 long double div =
x/
y;
1943 long double res = (-
y *
n) +
x;
1960#ifndef __CPROVER_MATH_H_INCLUDED
1962#define __CPROVER_MATH_H_INCLUDED
1965#ifndef __CPROVER_FENV_H_INCLUDED
1967#define __CPROVER_FENV_H_INCLUDED
1977#ifndef __CPROVER_MATH_H_INCLUDED
1979#define __CPROVER_MATH_H_INCLUDED
1982#ifndef __CPROVER_FENV_H_INCLUDED
1984#define __CPROVER_FENV_H_INCLUDED
1994#ifndef __CPROVER_MATH_H_INCLUDED
1996#define __CPROVER_MATH_H_INCLUDED
1999#ifndef __CPROVER_FENV_H_INCLUDED
2001#define __CPROVER_FENV_H_INCLUDED
2024#ifndef __CPROVER_MATH_H_INCLUDED
2026#define __CPROVER_MATH_H_INCLUDED
2029#ifndef __CPROVER_FENV_H_INCLUDED
2031#define __CPROVER_FENV_H_INCLUDED
2041#ifndef __CPROVER_MATH_H_INCLUDED
2043#define __CPROVER_MATH_H_INCLUDED
2046#ifndef __CPROVER_FENV_H_INCLUDED
2048#define __CPROVER_FENV_H_INCLUDED
2058#ifndef __CPROVER_MATH_H_INCLUDED
2060#define __CPROVER_MATH_H_INCLUDED
2063#ifndef __CPROVER_FENV_H_INCLUDED
2065#define __CPROVER_FENV_H_INCLUDED
2085#ifndef __CPROVER_MATH_H_INCLUDED
2087#define __CPROVER_MATH_H_INCLUDED
2090double fabs (
double d);
2100#ifndef __CPROVER_MATH_H_INCLUDED
2102#define __CPROVER_MATH_H_INCLUDED
2105float fabsf (
float d);
2115#ifndef __CPROVER_MATH_H_INCLUDED
2117#define __CPROVER_MATH_H_INCLUDED
2120long double fabsl (
long double d);
2130#ifndef __CPROVER_MATH_H_INCLUDED
2132# define __CPROVER_MATH_H_INCLUDED
2142#ifndef __CPROVER_MATH_H_INCLUDED
2144# define __CPROVER_MATH_H_INCLUDED
2149 return powf(2.0f,
x);
2154#ifndef __CPROVER_MATH_H_INCLUDED
2156# define __CPROVER_MATH_H_INCLUDED
2161 return powl(2.0l,
x);
2166#ifndef __CPROVER_MATH_H_INCLUDED
2168# define _USE_MATH_DEFINES
2171# define __CPROVER_MATH_H_INCLUDED
2174#ifndef __CPROVER_STDINT_H_INCLUDED
2176# define __CPROVER_STDINT_H_INCLUDED
2179#ifndef __CPROVER_ERRNO_H_INCLUDED
2181# define __CPROVER_ERRNO_H_INCLUDED
2193 else if(
x < -1024.0 *
M_LN2)
2198 else if(
x > 1024.0 *
M_LN2)
2201#pragma CPROVER check push
2202#pragma CPROVER check disable "float-overflow"
2204#pragma CPROVER check pop
2211 int32_t bias = (1 << 20) * ((1 << 10) - 1);
2227 "bit width of double is 2x bit width of int32_t");
2233#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
2234 union U u = {.i = {0, result}};
2236 union U u = {.i = {result, 0}};
2243#ifndef __CPROVER_MATH_H_INCLUDED
2245# define _USE_MATH_DEFINES
2248# define __CPROVER_MATH_H_INCLUDED
2251#ifndef __CPROVER_STDINT_H_INCLUDED
2253# define __CPROVER_STDINT_H_INCLUDED
2256#ifndef __CPROVER_ERRNO_H_INCLUDED
2258# define __CPROVER_ERRNO_H_INCLUDED
2270 else if(
x < -128.0f * (
float)
M_LN2)
2275 else if(
x > 128.0f * (
float)
M_LN2)
2278#pragma CPROVER check push
2279#pragma CPROVER check disable "float-overflow"
2281#pragma CPROVER check pop
2285 int32_t bias = (1 << 23) * ((1 << 7) - 1);
2301 "bit width of float and int32_t should match");
2307 union U u = {.i = result};
2313#ifndef __CPROVER_MATH_H_INCLUDED
2315# define _USE_MATH_DEFINES
2318# define __CPROVER_MATH_H_INCLUDED
2321#ifndef __CPROVER_FLOAT_H_INCLUDED
2323# define __CPROVER_FLOAT_H_INCLUDED
2326#ifndef __CPROVER_STDINT_H_INCLUDED
2328# define __CPROVER_STDINT_H_INCLUDED
2331#ifndef __CPROVER_ERRNO_H_INCLUDED
2333# define __CPROVER_ERRNO_H_INCLUDED
2345#if LDBL_MAX_EXP == DBL_MAX_EXP
2349 if(
x < -16384.0l *
M_LN2)
2354 else if(
x > 16384.0l *
M_LN2)
2357# pragma CPROVER check push
2358# pragma CPROVER check disable "float-overflow"
2360# pragma CPROVER check pop
2363 int32_t bias = (1 << 16) * ((1 << 14) - 1);
2379 "bit width of long double is a multiple of bit width of int32_t");
2385# if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
2396#ifndef __CPROVER_MATH_H_INCLUDED
2398# define _USE_MATH_DEFINES
2401# define __CPROVER_MATH_H_INCLUDED
2404#ifndef __CPROVER_STDINT_H_INCLUDED
2406# define __CPROVER_STDINT_H_INCLUDED
2409#ifndef __CPROVER_ERRNO_H_INCLUDED
2411# define __CPROVER_ERRNO_H_INCLUDED
2425#pragma CPROVER check push
2426#pragma CPROVER check disable "float-overflow"
2428#pragma CPROVER check pop
2433#pragma CPROVER check push
2434#pragma CPROVER check disable "float-div-by-zero"
2436#pragma CPROVER check pop
2445 "bit width of double is 2x bit width of int32_t");
2452 int32_t bias = (1 << 20) * ((1 << 10) - 1);
2455#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
2464#ifndef __CPROVER_MATH_H_INCLUDED
2466# define _USE_MATH_DEFINES
2469# define __CPROVER_MATH_H_INCLUDED
2472#ifndef __CPROVER_STDINT_H_INCLUDED
2474# define __CPROVER_STDINT_H_INCLUDED
2477#ifndef __CPROVER_ERRNO_H_INCLUDED
2479# define __CPROVER_ERRNO_H_INCLUDED
2493#pragma CPROVER check push
2494#pragma CPROVER check disable "float-overflow"
2496#pragma CPROVER check pop
2501#pragma CPROVER check push
2502#pragma CPROVER check disable "float-div-by-zero"
2504#pragma CPROVER check pop
2513 "bit width of float and int32_t should match");
2520 int32_t bias = (1 << 23) * ((1 << 7) - 1);
2523 return ((
float)
u.i - (
float)(bias +
exp_c)) * (
float)
M_LN2 / (
float)(1 << 23);
2528#ifndef __CPROVER_MATH_H_INCLUDED
2530# define _USE_MATH_DEFINES
2533# define __CPROVER_MATH_H_INCLUDED
2536#ifndef __CPROVER_STDINT_H_INCLUDED
2538# define __CPROVER_STDINT_H_INCLUDED
2541#ifndef __CPROVER_ERRNO_H_INCLUDED
2543# define __CPROVER_ERRNO_H_INCLUDED
2546#ifndef __CPROVER_FLOAT_H_INCLUDED
2548# define __CPROVER_FLOAT_H_INCLUDED
2562#pragma CPROVER check push
2563#pragma CPROVER check disable "float-overflow"
2565#pragma CPROVER check pop
2570#pragma CPROVER check push
2571#pragma CPROVER check disable "float-div-by-zero"
2573#pragma CPROVER check pop
2576#if LDBL_MAX_EXP == DBL_MAX_EXP
2585 "bit width of long double is a multiple of bit width of int32_t");
2591 int32_t bias = (1 << 16) * ((1 << 14) - 1);
2594# if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
2595 return ((
long double)
u.i[
sizeof(
long double) /
sizeof(
int32_t) - 1] -
2596 (
long double)(bias +
exp_c)) *
2600 (
long double)(1 << 16);
2607#ifndef __CPROVER_MATH_H_INCLUDED
2609# define _USE_MATH_DEFINES
2612# define __CPROVER_MATH_H_INCLUDED
2615#ifndef __CPROVER_STDINT_H_INCLUDED
2617# define __CPROVER_STDINT_H_INCLUDED
2620#ifndef __CPROVER_ERRNO_H_INCLUDED
2622# define __CPROVER_ERRNO_H_INCLUDED
2636#pragma CPROVER check push
2637#pragma CPROVER check disable "float-overflow"
2639#pragma CPROVER check pop
2644#pragma CPROVER check push
2645#pragma CPROVER check disable "float-div-by-zero"
2647#pragma CPROVER check pop
2656 "bit width of double is 2x bit width of int32_t");
2662 int32_t bias = (1 << 20) * ((1 << 10) - 1);
2665#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
2666 return ((
double)
u.i[1] - (
double)(bias +
exp_c)) / (
double)(1 << 20);
2668 return ((
double)
u.i[0] - (
double)(bias +
exp_c)) / (
double)(1 << 20);
2674#ifndef __CPROVER_MATH_H_INCLUDED
2676# define _USE_MATH_DEFINES
2679# define __CPROVER_MATH_H_INCLUDED
2682#ifndef __CPROVER_STDINT_H_INCLUDED
2684# define __CPROVER_STDINT_H_INCLUDED
2687#ifndef __CPROVER_ERRNO_H_INCLUDED
2689# define __CPROVER_ERRNO_H_INCLUDED
2703#pragma CPROVER check push
2704#pragma CPROVER check disable "float-overflow"
2706#pragma CPROVER check pop
2711#pragma CPROVER check push
2712#pragma CPROVER check disable "float-div-by-zero"
2714#pragma CPROVER check pop
2723 "bit width of float and int32_t should match");
2729 int32_t bias = (1 << 23) * ((1 << 7) - 1);
2732 return ((
float)
u.i - (
float)(bias +
exp_c)) / (
float)(1 << 23);
2737#ifndef __CPROVER_MATH_H_INCLUDED
2739# define _USE_MATH_DEFINES
2742# define __CPROVER_MATH_H_INCLUDED
2745#ifndef __CPROVER_STDINT_H_INCLUDED
2747# define __CPROVER_STDINT_H_INCLUDED
2750#ifndef __CPROVER_ERRNO_H_INCLUDED
2752# define __CPROVER_ERRNO_H_INCLUDED
2755#ifndef __CPROVER_FLOAT_H_INCLUDED
2757# define __CPROVER_FLOAT_H_INCLUDED
2771#pragma CPROVER check push
2772#pragma CPROVER check disable "float-overflow"
2774#pragma CPROVER check pop
2779#pragma CPROVER check push
2780#pragma CPROVER check disable "float-div-by-zero"
2782#pragma CPROVER check pop
2785#if LDBL_MAX_EXP == DBL_MAX_EXP
2794 "bit width of long double is a multiple of bit width of int32_t");
2800 int32_t bias = (1 << 16) * ((1 << 14) - 1);
2803# if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
2804 return ((
long double)
u.i[
sizeof(
long double) /
sizeof(
int32_t) - 1] -
2805 (
long double)(bias +
exp_c)) /
2808 return ((
long double)
u.i[0] - (
long double)(bias +
exp_c)) /
2809 (
long double)(1 << 16);
2816#ifndef __CPROVER_MATH_H_INCLUDED
2818# define _USE_MATH_DEFINES
2821# define __CPROVER_MATH_H_INCLUDED
2824#ifndef __CPROVER_STDINT_H_INCLUDED
2826# define __CPROVER_STDINT_H_INCLUDED
2829#ifndef __CPROVER_ERRNO_H_INCLUDED
2831# define __CPROVER_ERRNO_H_INCLUDED
2845#pragma CPROVER check push
2846#pragma CPROVER check disable "float-overflow"
2848#pragma CPROVER check pop
2853#pragma CPROVER check push
2854#pragma CPROVER check disable "float-div-by-zero"
2856#pragma CPROVER check pop
2865 "bit width of double is 2x bit width of int32_t");
2872 int32_t bias = (1 << 20) * ((1 << 10) - 1);
2875#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
2886#ifndef __CPROVER_MATH_H_INCLUDED
2888# define _USE_MATH_DEFINES
2891# define __CPROVER_MATH_H_INCLUDED
2894#ifndef __CPROVER_STDINT_H_INCLUDED
2896# define __CPROVER_STDINT_H_INCLUDED
2899#ifndef __CPROVER_ERRNO_H_INCLUDED
2901# define __CPROVER_ERRNO_H_INCLUDED
2915#pragma CPROVER check push
2916#pragma CPROVER check disable "float-overflow"
2918#pragma CPROVER check pop
2923#pragma CPROVER check push
2924#pragma CPROVER check disable "float-div-by-zero"
2926#pragma CPROVER check pop
2935 "bit width of float and int32_t should match");
2942 int32_t bias = (1 << 23) * ((1 << 7) - 1);
2951#ifndef __CPROVER_MATH_H_INCLUDED
2953# define _USE_MATH_DEFINES
2956# define __CPROVER_MATH_H_INCLUDED
2959#ifndef __CPROVER_STDINT_H_INCLUDED
2961# define __CPROVER_STDINT_H_INCLUDED
2964#ifndef __CPROVER_ERRNO_H_INCLUDED
2966# define __CPROVER_ERRNO_H_INCLUDED
2969#ifndef __CPROVER_FLOAT_H_INCLUDED
2971# define __CPROVER_FLOAT_H_INCLUDED
2985#pragma CPROVER check push
2986#pragma CPROVER check disable "float-overflow"
2988#pragma CPROVER check pop
2993#pragma CPROVER check push
2994#pragma CPROVER check disable "float-div-by-zero"
2996#pragma CPROVER check pop
2999#if LDBL_MAX_EXP == DBL_MAX_EXP
3008 "bit width of long double is a multiple of bit width of int32_t");
3014 int32_t bias = (1 << 16) * ((1 << 14) - 1);
3017# if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
3018 return ((
long double)
u.i[
sizeof(
long double) /
sizeof(
int32_t) - 1] -
3019 (
long double)(bias +
exp_c)) *
3022 return ((
long double)
u.i[0] - (
long double)(bias +
exp_c)) *
3030#ifndef __CPROVER_MATH_H_INCLUDED
3032# define __CPROVER_MATH_H_INCLUDED
3035#ifndef __CPROVER_STDINT_H_INCLUDED
3037# define __CPROVER_STDINT_H_INCLUDED
3040#ifndef __CPROVER_ERRNO_H_INCLUDED
3042# define __CPROVER_ERRNO_H_INCLUDED
3057#pragma CPROVER check push
3058#pragma CPROVER check disable "float-div-by-zero"
3060#pragma CPROVER check pop
3120#pragma CPROVER check push
3121#pragma CPROVER check disable "float-overflow"
3126#pragma CPROVER check pop
3129#pragma CPROVER check push
3130#pragma CPROVER check disable "float-div-by-zero"
3132#pragma CPROVER check pop
3140 "bit width of double is 2x bit width of int32_t");
3147 int32_t bias = (1 << 20) * ((1 << 10) - 1);
3150#pragma CPROVER check push
3151#pragma CPROVER check disable "signed-overflow"
3152#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
3157#pragma CPROVER check pop
3161#pragma CPROVER check push
3162#pragma CPROVER check disable "float-overflow"
3164#pragma CPROVER check pop
3166#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
3178#ifndef __CPROVER_MATH_H_INCLUDED
3180# define __CPROVER_MATH_H_INCLUDED
3183#ifndef __CPROVER_STDINT_H_INCLUDED
3185# define __CPROVER_STDINT_H_INCLUDED
3188#ifndef __CPROVER_ERRNO_H_INCLUDED
3190# define __CPROVER_ERRNO_H_INCLUDED
3205#pragma CPROVER check push
3206#pragma CPROVER check disable "float-div-by-zero"
3208#pragma CPROVER check pop
3268#pragma CPROVER check push
3269#pragma CPROVER check disable "float-overflow"
3277#pragma CPROVER check pop
3280#pragma CPROVER check push
3281#pragma CPROVER check disable "float-div-by-zero"
3283#pragma CPROVER check pop
3291 "bit width of float and int32_t should match");
3297 int32_t bias = (1 << 23) * ((1 << 7) - 1);
3300#pragma CPROVER check push
3301#pragma CPROVER check disable "signed-overflow"
3303#pragma CPROVER check pop
3307#pragma CPROVER check push
3308#pragma CPROVER check disable "float-overflow"
3310#pragma CPROVER check pop
3318#ifndef __CPROVER_MATH_H_INCLUDED
3320# define __CPROVER_MATH_H_INCLUDED
3323#ifndef __CPROVER_FLOAT_H_INCLUDED
3325# define __CPROVER_FLOAT_H_INCLUDED
3328#ifndef __CPROVER_STDINT_H_INCLUDED
3330# define __CPROVER_STDINT_H_INCLUDED
3333#ifndef __CPROVER_ERRNO_H_INCLUDED
3335# define __CPROVER_ERRNO_H_INCLUDED
3342long double powl(
long double x,
long double y)
3350#pragma CPROVER check push
3351#pragma CPROVER check disable "float-div-by-zero"
3353#pragma CPROVER check pop
3413#pragma CPROVER check push
3414#pragma CPROVER check disable "float-overflow"
3423#pragma CPROVER check pop
3426#pragma CPROVER check push
3427#pragma CPROVER check disable "float-div-by-zero"
3429#pragma CPROVER check pop
3431#if LDBL_MAX_EXP == DBL_MAX_EXP
3440 "bit width of long double is a multiple of bit width of int32_t");
3446# if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
3451 int32_t bias = (1 << 16) * ((1 << 14) - 1);
3454# pragma CPROVER check push
3455# pragma CPROVER check disable "signed-overflow"
3457# pragma CPROVER check pop
3461# pragma CPROVER check push
3462# pragma CPROVER check disable "float-overflow"
3464# pragma CPROVER check pop
3468# if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
3479#ifndef __CPROVER_MATH_H_INCLUDED
3481# define __CPROVER_MATH_H_INCLUDED
3484#ifndef __CPROVER_FENV_H_INCLUDED
3486# define __CPROVER_FENV_H_INCLUDED
3494#pragma CPROVER check push
3495#pragma CPROVER check disable "float-div-by-zero"
3508#pragma CPROVER check disable "float-overflow"
3517#pragma CPROVER check pop
3531#ifndef __CPROVER_MATH_H_INCLUDED
3533# define __CPROVER_MATH_H_INCLUDED
3536#ifndef __CPROVER_FENV_H_INCLUDED
3538# define __CPROVER_FENV_H_INCLUDED
3546#pragma CPROVER check push
3547#pragma CPROVER check disable "float-div-by-zero"
3560#pragma CPROVER check disable "float-overflow"
3569#pragma CPROVER check pop
3583#ifndef __CPROVER_MATH_H_INCLUDED
3585# define __CPROVER_MATH_H_INCLUDED
3588#ifndef __CPROVER_FENV_H_INCLUDED
3590# define __CPROVER_FENV_H_INCLUDED
3593#ifndef __CPROVER_FLOAT_H_INCLUDED
3595# define __CPROVER_FLOAT_H_INCLUDED
3600long double fmal(
long double x,
long double y,
long double z)
3603#pragma CPROVER check push
3604#pragma CPROVER check disable "float-div-by-zero"
3617#pragma CPROVER check disable "float-overflow"
3626#pragma CPROVER check pop
3628#if LDBL_MAX_EXP == DBL_MAX_EXP
3644#ifndef __CPROVER_MATH_H_INCLUDED
3646# define __CPROVER_MATH_H_INCLUDED
3649#ifndef __CPROVER_STDINT_H_INCLUDED
3651# define __CPROVER_STDINT_H_INCLUDED
3654#ifndef __CPROVER_ERRNO_H_INCLUDED
3656# define __CPROVER_ERRNO_H_INCLUDED
3705#pragma CPROVER check push
3706#pragma CPROVER check disable "float-overflow"
3711#pragma CPROVER check pop
3714#pragma CPROVER check push
3715#pragma CPROVER check disable "float-div-by-zero"
3717#pragma CPROVER check pop
3725 "bit width of double is 2x bit width of int32_t");
3732 int32_t bias = (1 << 20) * ((1 << 10) - 1);
3735#pragma CPROVER check push
3736#pragma CPROVER check disable "signed-overflow"
3737#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
3742#pragma CPROVER check pop
3746#pragma CPROVER check push
3747#pragma CPROVER check disable "float-overflow"
3749#pragma CPROVER check pop
3751#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
3763#ifndef __CPROVER_MATH_H_INCLUDED
3765# define __CPROVER_MATH_H_INCLUDED
3768#ifndef __CPROVER_STDINT_H_INCLUDED
3770# define __CPROVER_STDINT_H_INCLUDED
3773#ifndef __CPROVER_ERRNO_H_INCLUDED
3775# define __CPROVER_ERRNO_H_INCLUDED
3824#pragma CPROVER check push
3825#pragma CPROVER check disable "float-overflow"
3832#pragma CPROVER check pop
3835#pragma CPROVER check push
3836#pragma CPROVER check disable "float-div-by-zero"
3838#pragma CPROVER check pop
3846 "bit width of float and int32_t should match");
3852 int32_t bias = (1 << 23) * ((1 << 7) - 1);
3855#pragma CPROVER check push
3856#pragma CPROVER check disable "signed-overflow"
3858#pragma CPROVER check pop
3862#pragma CPROVER check push
3863#pragma CPROVER check disable "float-overflow"
3865#pragma CPROVER check pop
3873#ifndef __CPROVER_MATH_H_INCLUDED
3875# define __CPROVER_MATH_H_INCLUDED
3878#ifndef __CPROVER_FLOAT_H_INCLUDED
3880# define __CPROVER_FLOAT_H_INCLUDED
3883#ifndef __CPROVER_STDINT_H_INCLUDED
3885# define __CPROVER_STDINT_H_INCLUDED
3888#ifndef __CPROVER_ERRNO_H_INCLUDED
3890# define __CPROVER_ERRNO_H_INCLUDED
3940#pragma CPROVER check push
3941#pragma CPROVER check disable "float-overflow"
3948#pragma CPROVER check pop
3951#pragma CPROVER check push
3952#pragma CPROVER check disable "float-div-by-zero"
3954#pragma CPROVER check pop
3956#if LDBL_MAX_EXP == DBL_MAX_EXP
3965 "bit width of long double is a multiple of bit width of int32_t");
3971# if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
3976 int32_t bias = (1 << 16) * ((1 << 14) - 1);
3979# pragma CPROVER check push
3980# pragma CPROVER check disable "signed-overflow"
3982 (
long double)
y * (
long double)(exponent - (bias +
exp_c));
3983# pragma CPROVER check pop
3987# pragma CPROVER check push
3988# pragma CPROVER check disable "float-overflow"
3990# pragma CPROVER check pop
3994# if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
int feraiseexcept(int excepts)
long int lroundf(float x)
int __fpclassifyl(long double f)
float __builtin_fabsf(float f)
float fminf(float f, float g)
float __VERIFIER_nondet_float(void)
double fmax(double f, double g)
long long int llrintl(long double x)
long double floorl(long double x)
long double __VERIFIER_nondet_long_double(void)
long double sqrtl(long double d)
double nan(const char *str)
long double powl(long double x, long double y)
long double fminl(long double f, long double g)
long long int llrintf(float x)
float __builtin_powif(float x, int y)
float remainderf(float x, float y)
int __CPROVER_islessf(float f, float g)
int isinfl(long double ld)
long long int llround(double x)
int __CPROVER_isgreaterd(double f, double g)
float fmaxf(float f, float g)
float __sort_of_CPROVER_remainderf(int rounding_mode, float x, float y)
long double exp2l(long double x)
int __fpclassifyf(float f)
long double nearbyintl(long double x)
int __builtin_isnan(double d)
double __builtin_powi(double x, int y)
float fdimf(float f, float g)
double __sort_of_CPROVER_remainder(int rounding_mode, double x, double y)
double fmod(double x, double y)
int __CPROVER_isgreaterequalf(float f, float g)
int __builtin_isinfl(long double ld)
long int lround(double x)
double __builtin_huge_val(void)
long double fmaxl(long double f, long double g)
double __builtin_nan(const char *str)
double nearbyint(double x)
long long int llrint(double x)
long double roundl(long double x)
long double cosl(long double x)
int32_t __VERIFIER_nondet_int32_t(void)
double __builtin_inf(void)
int __CPROVER_isunorderedd(double f, double g)
int __CPROVER_islessgreaterd(double f, double g)
int __isinfl(long double ld)
long long int llroundf(float x)
long long int llroundl(long double x)
int __CPROVER_islessgreaterf(float f, float g)
int __CPROVER_isgreaterequald(double f, double g)
int __CPROVER_islessd(double f, double g)
int __CPROVER_isgreaterf(float f, float g)
long double truncl(long double x)
int __CPROVER_islessequald(double f, double g)
int __CPROVER_rounding_mode
long double __sort_of_CPROVER_remainderl(int rounding_mode, long double x, long double y)
long double __builtin_fabsl(long double d)
float __builtin_inff(void)
long double log2l(long double x)
double pow(double x, double y)
float fmaf(float x, float y, float z)
int __CPROVER_islessequalf(float f, float g)
long double fmodl(long double x, long double y)
float __builtin_nanf(const char *str)
int isnanl(long double ld)
int __builtin_isinff(float f)
double fmin(double f, double g)
short _ldclass(long double ld)
float nearbyintf(float x)
long double modfl(long double x, long double *iptr)
int _ldsign(long double ld)
long double remainderl(long double x, long double y)
long double fabsl(long double d)
int __finitel(long double ld)
int __fpclassifyd(double d)
float powf(float x, float y)
long int lrintl(long double x)
double fma(double x, double y, double z)
double __VERIFIER_nondet_double(void)
float nanf(const char *str)
float modff(float x, float *iptr)
double copysign(double x, double y)
double __builtin_fabs(double d)
int __isnanl(long double ld)
long double nextUpl(long double d)
long double ceill(long double x)
int __fpclassify(double d)
long double fdiml(long double f, long double g)
long double copysignl(long double x, long double y)
long double log10l(long double x)
int __builtin_isinf(double d)
long double __builtin_powil(long double x, int y)
long double sinl(long double x)
float __builtin_huge_valf(void)
long double expl(long double x)
long double rintl(long double x)
float fmodf(float x, float y)
long double fmal(long double x, long double y, long double z)
int __CPROVER_isunorderedf(float f, float g)
long double __builtin_huge_vall(void)
long double nanl(const char *str)
long double logl(long double x)
double remainder(double x, double y)
float copysignf(float x, float y)
long double __builtin_infl(void)
long int lroundl(long double x)
int __builtin_isnanf(float f)
double modf(double x, double *iptr)
double fdim(double f, double g)
__CPROVER_bitvector[CHAR_BIT *sizeof(double)] bv
__CPROVER_bitvector[CHAR_BIT *sizeof(float)] bv
__CPROVER_bitvector[CHAR_BIT *sizeof(long double)] bv