223#pragma CPROVER check push
224#pragma CPROVER check disable "float-div-by-zero"
225#pragma CPROVER check disable "float-overflow"
227#pragma CPROVER check pop
234#pragma CPROVER check push
235#pragma CPROVER check disable "float-div-by-zero"
236#pragma CPROVER check disable "float-overflow"
238#pragma CPROVER check pop
245#pragma CPROVER check push
246#pragma CPROVER check disable "float-div-by-zero"
247#pragma CPROVER check disable "float-overflow"
249#pragma CPROVER check pop
291#pragma CPROVER check push
292#pragma CPROVER check disable "float-div-by-zero"
293#pragma CPROVER check disable "float-overflow"
295#pragma CPROVER check pop
302#pragma CPROVER check push
303#pragma CPROVER check disable "float-div-by-zero"
304#pragma CPROVER check disable "float-overflow"
306#pragma CPROVER check pop
313#pragma CPROVER check push
314#pragma CPROVER check disable "float-div-by-zero"
315#pragma CPROVER check disable "float-overflow"
317#pragma CPROVER check pop
373#ifndef __CPROVER_MATH_H_INCLUDED
375#define __CPROVER_MATH_H_INCLUDED
390#ifndef __CPROVER_MATH_H_INCLUDED
392#define __CPROVER_MATH_H_INCLUDED
407#ifndef __CPROVER_MATH_H_INCLUDED
409#define __CPROVER_MATH_H_INCLUDED
424#ifndef __CPROVER_MATH_H_INCLUDED
426#define __CPROVER_MATH_H_INCLUDED
438#ifndef __CPROVER_MATH_H_INCLUDED
440#define __CPROVER_MATH_H_INCLUDED
452#ifndef __CPROVER_MATH_H_INCLUDED
454#define __CPROVER_MATH_H_INCLUDED
466#ifndef __CPROVER_MATH_H_INCLUDED
468#define __CPROVER_MATH_H_INCLUDED
624#pragma CPROVER check push
625#pragma CPROVER check disable "float-div-by-zero"
627#pragma CPROVER check pop
637#pragma CPROVER check push
638#pragma CPROVER check disable "float-div-by-zero"
640#pragma CPROVER check pop
659double nan(
const char *str) {
663#pragma CPROVER check push
664#pragma CPROVER check disable "float-div-by-zero"
666#pragma CPROVER check pop
675#pragma CPROVER check push
676#pragma CPROVER check disable "float-div-by-zero"
678#pragma CPROVER check pop
683long double nanl(
const char *str) {
687#pragma CPROVER check push
688#pragma CPROVER check disable "float-div-by-zero"
690#pragma CPROVER check pop
695#ifndef __CPROVER_LIMITS_H_INCLUDED
697#define __CPROVER_LIMITS_H_INCLUDED
718#pragma CPROVER check push
719#pragma CPROVER check disable "float-div-by-zero"
721#pragma CPROVER check pop
747#ifndef __CPROVER_LIMITS_H_INCLUDED
749#define __CPROVER_LIMITS_H_INCLUDED
770#pragma CPROVER check push
771#pragma CPROVER check disable "float-div-by-zero"
773#pragma CPROVER check pop
800#ifndef __CPROVER_LIMITS_H_INCLUDED
802#define __CPROVER_LIMITS_H_INCLUDED
821#pragma CPROVER check push
822#pragma CPROVER check disable "float-div-by-zero"
824#pragma CPROVER check pop
872#ifndef __CPROVER_MATH_H_INCLUDED
874#define __CPROVER_MATH_H_INCLUDED
877#ifndef __CPROVER_FENV_H_INCLUDED
879#define __CPROVER_FENV_H_INCLUDED
891#pragma CPROVER check push
892#pragma CPROVER check disable "float-div-by-zero"
894#pragma CPROVER check pop
908#pragma CPROVER check push
909#pragma CPROVER check disable "float-overflow"
915#pragma CPROVER check pop
932 return (
f -
lowerSquare == 0.0f) ? lower : upper;
break;
935 return (
f -
lowerSquare == 0.0f) ? lower : upper;
break;
965#ifndef __CPROVER_MATH_H_INCLUDED
967#define __CPROVER_MATH_H_INCLUDED
970#ifndef __CPROVER_FENV_H_INCLUDED
972#define __CPROVER_FENV_H_INCLUDED
984#pragma CPROVER check push
985#pragma CPROVER check disable "float-div-by-zero"
987#pragma CPROVER check pop
998#pragma CPROVER check push
999#pragma CPROVER check disable "float-overflow"
1003 double upper =
nextUp(lower);
1005#pragma CPROVER check pop
1015 return (d -
lowerSquare == 0.0f) ? lower : upper;
break;
1018 return (d -
lowerSquare == 0.0) ? lower : upper;
break;
1042#ifndef __CPROVER_MATH_H_INCLUDED
1044#define __CPROVER_MATH_H_INCLUDED
1047#ifndef __CPROVER_FENV_H_INCLUDED
1049#define __CPROVER_FENV_H_INCLUDED
1052long double nextUpl(
long double d);
1061#pragma CPROVER check push
1062#pragma CPROVER check disable "float-div-by-zero"
1064#pragma CPROVER check pop
1075#pragma CPROVER check push
1076#pragma CPROVER check disable "float-overflow"
1080 long double upper =
nextUpl(lower);
1082#pragma CPROVER check pop
1092 return (d -
lowerSquare == 0.0l) ? lower : upper;
break;
1095 return (d -
lowerSquare == 0.0l) ? lower : upper;
break;
1138#ifndef __CPROVER_MATH_H_INCLUDED
1140#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
1181#ifndef __CPROVER_MATH_H_INCLUDED
1183#define __CPROVER_MATH_H_INCLUDED
1191#ifndef __CPROVER_MATH_H_INCLUDED
1193#define __CPROVER_MATH_H_INCLUDED
1201#ifndef __CPROVER_MATH_H_INCLUDED
1203#define __CPROVER_MATH_H_INCLUDED
1220#ifndef __CPROVER_MATH_H_INCLUDED
1222#define __CPROVER_MATH_H_INCLUDED
1225double fdim(
double f,
double g) {
return ((
f >
g) ?
f -
g : +0.0); }
1230#ifndef __CPROVER_MATH_H_INCLUDED
1232#define __CPROVER_MATH_H_INCLUDED
1240#ifndef __CPROVER_MATH_H_INCLUDED
1242#define __CPROVER_MATH_H_INCLUDED
1245long double fdiml(
long double f,
long double g) {
return ((
f >
g) ?
f -
g : +0.0); }
1255#ifndef __CPROVER_MATH_H_INCLUDED
1257#define __CPROVER_MATH_H_INCLUDED
1260#ifndef __CPROVER_FENV_H_INCLUDED
1262#define __CPROVER_FENV_H_INCLUDED
1272#ifndef __CPROVER_MATH_H_INCLUDED
1274#define __CPROVER_MATH_H_INCLUDED
1277#ifndef __CPROVER_FENV_H_INCLUDED
1279#define __CPROVER_FENV_H_INCLUDED
1290#ifndef __CPROVER_MATH_H_INCLUDED
1292#define __CPROVER_MATH_H_INCLUDED
1295#ifndef __CPROVER_FENV_H_INCLUDED
1297#define __CPROVER_FENV_H_INCLUDED
1313#ifndef __CPROVER_MATH_H_INCLUDED
1315#define __CPROVER_MATH_H_INCLUDED
1318#ifndef __CPROVER_FENV_H_INCLUDED
1320#define __CPROVER_FENV_H_INCLUDED
1330#ifndef __CPROVER_MATH_H_INCLUDED
1332#define __CPROVER_MATH_H_INCLUDED
1335#ifndef __CPROVER_FENV_H_INCLUDED
1337#define __CPROVER_FENV_H_INCLUDED
1348#ifndef __CPROVER_MATH_H_INCLUDED
1350#define __CPROVER_MATH_H_INCLUDED
1353#ifndef __CPROVER_FENV_H_INCLUDED
1355#define __CPROVER_FENV_H_INCLUDED
1372#ifndef __CPROVER_MATH_H_INCLUDED
1374#define __CPROVER_MATH_H_INCLUDED
1377#ifndef __CPROVER_FENV_H_INCLUDED
1379#define __CPROVER_FENV_H_INCLUDED
1389#ifndef __CPROVER_MATH_H_INCLUDED
1391#define __CPROVER_MATH_H_INCLUDED
1394#ifndef __CPROVER_FENV_H_INCLUDED
1396#define __CPROVER_FENV_H_INCLUDED
1407#ifndef __CPROVER_MATH_H_INCLUDED
1409#define __CPROVER_MATH_H_INCLUDED
1412#ifndef __CPROVER_FENV_H_INCLUDED
1414#define __CPROVER_FENV_H_INCLUDED
1431#ifndef __CPROVER_MATH_H_INCLUDED
1433#define __CPROVER_MATH_H_INCLUDED
1436#ifndef __CPROVER_FENV_H_INCLUDED
1438#define __CPROVER_FENV_H_INCLUDED
1448#ifndef __CPROVER_MATH_H_INCLUDED
1450#define __CPROVER_MATH_H_INCLUDED
1453#ifndef __CPROVER_FENV_H_INCLUDED
1455#define __CPROVER_FENV_H_INCLUDED
1466#ifndef __CPROVER_MATH_H_INCLUDED
1468#define __CPROVER_MATH_H_INCLUDED
1471#ifndef __CPROVER_FENV_H_INCLUDED
1473#define __CPROVER_FENV_H_INCLUDED
1492#ifndef __CPROVER_MATH_H_INCLUDED
1494#define __CPROVER_MATH_H_INCLUDED
1497#ifndef __CPROVER_FENV_H_INCLUDED
1499#define __CPROVER_FENV_H_INCLUDED
1511#ifndef __CPROVER_MATH_H_INCLUDED
1513#define __CPROVER_MATH_H_INCLUDED
1516#ifndef __CPROVER_FENV_H_INCLUDED
1518#define __CPROVER_FENV_H_INCLUDED
1531#ifndef __CPROVER_MATH_H_INCLUDED
1533#define __CPROVER_MATH_H_INCLUDED
1536#ifndef __CPROVER_FENV_H_INCLUDED
1538#define __CPROVER_FENV_H_INCLUDED
1559#ifndef __CPROVER_MATH_H_INCLUDED
1561#define __CPROVER_MATH_H_INCLUDED
1564#ifndef __CPROVER_FENV_H_INCLUDED
1566#define __CPROVER_FENV_H_INCLUDED
1578#ifndef __CPROVER_MATH_H_INCLUDED
1580#define __CPROVER_MATH_H_INCLUDED
1583#ifndef __CPROVER_FENV_H_INCLUDED
1585#define __CPROVER_FENV_H_INCLUDED
1597#ifndef __CPROVER_MATH_H_INCLUDED
1599#define __CPROVER_MATH_H_INCLUDED
1602#ifndef __CPROVER_FENV_H_INCLUDED
1604#define __CPROVER_FENV_H_INCLUDED
1627#ifndef __CPROVER_MATH_H_INCLUDED
1629#define __CPROVER_MATH_H_INCLUDED
1632#ifndef __CPROVER_FENV_H_INCLUDED
1634#define __CPROVER_FENV_H_INCLUDED
1642 return (
long int)
rti;
1647#ifndef __CPROVER_MATH_H_INCLUDED
1649#define __CPROVER_MATH_H_INCLUDED
1652#ifndef __CPROVER_FENV_H_INCLUDED
1654#define __CPROVER_FENV_H_INCLUDED
1662 return (
long int)
rti;
1668#ifndef __CPROVER_MATH_H_INCLUDED
1670#define __CPROVER_MATH_H_INCLUDED
1673#ifndef __CPROVER_FENV_H_INCLUDED
1675#define __CPROVER_FENV_H_INCLUDED
1683 return (
long int)
rti;
1689#ifndef __CPROVER_MATH_H_INCLUDED
1691#define __CPROVER_MATH_H_INCLUDED
1694#ifndef __CPROVER_FENV_H_INCLUDED
1696#define __CPROVER_FENV_H_INCLUDED
1704 return (
long long int)
rti;
1709#ifndef __CPROVER_MATH_H_INCLUDED
1711#define __CPROVER_MATH_H_INCLUDED
1714#ifndef __CPROVER_FENV_H_INCLUDED
1716#define __CPROVER_FENV_H_INCLUDED
1724 return (
long long int)
rti;
1730#ifndef __CPROVER_MATH_H_INCLUDED
1732#define __CPROVER_MATH_H_INCLUDED
1735#ifndef __CPROVER_FENV_H_INCLUDED
1737#define __CPROVER_FENV_H_INCLUDED
1745 return (
long long int)
rti;
1760#ifndef __CPROVER_MATH_H_INCLUDED
1762#define __CPROVER_MATH_H_INCLUDED
1765#ifndef __CPROVER_FENV_H_INCLUDED
1767#define __CPROVER_FENV_H_INCLUDED
1773 return (
long int)
rti;
1778#ifndef __CPROVER_MATH_H_INCLUDED
1780#define __CPROVER_MATH_H_INCLUDED
1783#ifndef __CPROVER_FENV_H_INCLUDED
1785#define __CPROVER_FENV_H_INCLUDED
1791 return (
long int)
rti;
1797#ifndef __CPROVER_MATH_H_INCLUDED
1799#define __CPROVER_MATH_H_INCLUDED
1802#ifndef __CPROVER_FENV_H_INCLUDED
1804#define __CPROVER_FENV_H_INCLUDED
1810 return (
long int)
rti;
1816#ifndef __CPROVER_MATH_H_INCLUDED
1818#define __CPROVER_MATH_H_INCLUDED
1821#ifndef __CPROVER_FENV_H_INCLUDED
1823#define __CPROVER_FENV_H_INCLUDED
1829 return (
long long int)
rti;
1834#ifndef __CPROVER_MATH_H_INCLUDED
1836#define __CPROVER_MATH_H_INCLUDED
1839#ifndef __CPROVER_FENV_H_INCLUDED
1841#define __CPROVER_FENV_H_INCLUDED
1847 return (
long long int)
rti;
1853#ifndef __CPROVER_MATH_H_INCLUDED
1855#define __CPROVER_MATH_H_INCLUDED
1858#ifndef __CPROVER_FENV_H_INCLUDED
1860#define __CPROVER_FENV_H_INCLUDED
1866 return (
long long int)
rti;
1880#ifndef __CPROVER_MATH_H_INCLUDED
1882#define __CPROVER_MATH_H_INCLUDED
1885#ifndef __CPROVER_FENV_H_INCLUDED
1887#define __CPROVER_FENV_H_INCLUDED
1898#ifndef __CPROVER_MATH_H_INCLUDED
1900#define __CPROVER_MATH_H_INCLUDED
1903#ifndef __CPROVER_FENV_H_INCLUDED
1905#define __CPROVER_FENV_H_INCLUDED
1917#ifndef __CPROVER_MATH_H_INCLUDED
1919#define __CPROVER_MATH_H_INCLUDED
1922#ifndef __CPROVER_FENV_H_INCLUDED
1924#define __CPROVER_FENV_H_INCLUDED
1944 long double div =
x/
y;
1946 long double res = (-
y *
n) +
x;
1959 long double div =
x/
y;
1961 long double res = (-
y *
n) +
x;
1974 long double div =
x/
y;
1976 long double res = (-
y *
n) +
x;
1993#ifndef __CPROVER_MATH_H_INCLUDED
1995#define __CPROVER_MATH_H_INCLUDED
1998#ifndef __CPROVER_FENV_H_INCLUDED
2000#define __CPROVER_FENV_H_INCLUDED
2010#ifndef __CPROVER_MATH_H_INCLUDED
2012#define __CPROVER_MATH_H_INCLUDED
2015#ifndef __CPROVER_FENV_H_INCLUDED
2017#define __CPROVER_FENV_H_INCLUDED
2027#ifndef __CPROVER_MATH_H_INCLUDED
2029#define __CPROVER_MATH_H_INCLUDED
2032#ifndef __CPROVER_FENV_H_INCLUDED
2034#define __CPROVER_FENV_H_INCLUDED
2057#ifndef __CPROVER_MATH_H_INCLUDED
2059#define __CPROVER_MATH_H_INCLUDED
2062#ifndef __CPROVER_FENV_H_INCLUDED
2064#define __CPROVER_FENV_H_INCLUDED
2074#ifndef __CPROVER_MATH_H_INCLUDED
2076#define __CPROVER_MATH_H_INCLUDED
2079#ifndef __CPROVER_FENV_H_INCLUDED
2081#define __CPROVER_FENV_H_INCLUDED
2091#ifndef __CPROVER_MATH_H_INCLUDED
2093#define __CPROVER_MATH_H_INCLUDED
2096#ifndef __CPROVER_FENV_H_INCLUDED
2098#define __CPROVER_FENV_H_INCLUDED
2118#ifndef __CPROVER_MATH_H_INCLUDED
2120#define __CPROVER_MATH_H_INCLUDED
2123double fabs (
double d);
2133#ifndef __CPROVER_MATH_H_INCLUDED
2135#define __CPROVER_MATH_H_INCLUDED
2138float fabsf (
float d);
2148#ifndef __CPROVER_MATH_H_INCLUDED
2150#define __CPROVER_MATH_H_INCLUDED
2153long double fabsl (
long double d);
2163#ifndef __CPROVER_MATH_H_INCLUDED
2165# define __CPROVER_MATH_H_INCLUDED
2175#ifndef __CPROVER_MATH_H_INCLUDED
2177# define __CPROVER_MATH_H_INCLUDED
2182 return powf(2.0f,
x);
2187#ifndef __CPROVER_MATH_H_INCLUDED
2189# define __CPROVER_MATH_H_INCLUDED
2194 return powl(2.0l,
x);
2199#ifndef __CPROVER_MATH_H_INCLUDED
2201# define _USE_MATH_DEFINES
2204# define __CPROVER_MATH_H_INCLUDED
2207#ifndef __CPROVER_STDINT_H_INCLUDED
2209# define __CPROVER_STDINT_H_INCLUDED
2212#ifndef __CPROVER_ERRNO_H_INCLUDED
2214# define __CPROVER_ERRNO_H_INCLUDED
2226 else if(
x < -1024.0 *
M_LN2)
2231 else if(
x > 1024.0 *
M_LN2)
2234#pragma CPROVER check push
2235#pragma CPROVER check disable "float-overflow"
2237#pragma CPROVER check pop
2244 int32_t bias = (1 << 20) * ((1 << 10) - 1);
2260 "bit width of double is 2x bit width of int32_t");
2266#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
2267 union U u = {.i = {0, result}};
2269 union U u = {.i = {result, 0}};
2276#ifndef __CPROVER_MATH_H_INCLUDED
2278# define _USE_MATH_DEFINES
2281# define __CPROVER_MATH_H_INCLUDED
2284#ifndef __CPROVER_STDINT_H_INCLUDED
2286# define __CPROVER_STDINT_H_INCLUDED
2289#ifndef __CPROVER_ERRNO_H_INCLUDED
2291# define __CPROVER_ERRNO_H_INCLUDED
2303 else if(
x < -128.0f * (
float)
M_LN2)
2308 else if(
x > 128.0f * (
float)
M_LN2)
2311#pragma CPROVER check push
2312#pragma CPROVER check disable "float-overflow"
2314#pragma CPROVER check pop
2318 int32_t bias = (1 << 23) * ((1 << 7) - 1);
2334 "bit width of float and int32_t should match");
2340 union U u = {.i = result};
2346#ifndef __CPROVER_MATH_H_INCLUDED
2348# define _USE_MATH_DEFINES
2351# define __CPROVER_MATH_H_INCLUDED
2354#ifndef __CPROVER_FLOAT_H_INCLUDED
2356# define __CPROVER_FLOAT_H_INCLUDED
2359#ifndef __CPROVER_STDINT_H_INCLUDED
2361# define __CPROVER_STDINT_H_INCLUDED
2364#ifndef __CPROVER_ERRNO_H_INCLUDED
2366# define __CPROVER_ERRNO_H_INCLUDED
2378#if LDBL_MAX_EXP == DBL_MAX_EXP
2382 if(
x < -16384.0l *
M_LN2)
2387 else if(
x > 16384.0l *
M_LN2)
2390# pragma CPROVER check push
2391# pragma CPROVER check disable "float-overflow"
2393# pragma CPROVER check pop
2396 int32_t bias = (1 << 16) * ((1 << 14) - 1);
2412 "bit width of long double is a multiple of bit width of int32_t");
2418# if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
2429#ifndef __CPROVER_MATH_H_INCLUDED
2431# define _USE_MATH_DEFINES
2434# define __CPROVER_MATH_H_INCLUDED
2437#ifndef __CPROVER_STDINT_H_INCLUDED
2439# define __CPROVER_STDINT_H_INCLUDED
2442#ifndef __CPROVER_ERRNO_H_INCLUDED
2444# define __CPROVER_ERRNO_H_INCLUDED
2458#pragma CPROVER check push
2459#pragma CPROVER check disable "float-overflow"
2461#pragma CPROVER check pop
2466#pragma CPROVER check push
2467#pragma CPROVER check disable "float-div-by-zero"
2469#pragma CPROVER check pop
2478 "bit width of double is 2x bit width of int32_t");
2485 int32_t bias = (1 << 20) * ((1 << 10) - 1);
2488#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
2497#ifndef __CPROVER_MATH_H_INCLUDED
2499# define _USE_MATH_DEFINES
2502# define __CPROVER_MATH_H_INCLUDED
2505#ifndef __CPROVER_STDINT_H_INCLUDED
2507# define __CPROVER_STDINT_H_INCLUDED
2510#ifndef __CPROVER_ERRNO_H_INCLUDED
2512# define __CPROVER_ERRNO_H_INCLUDED
2526#pragma CPROVER check push
2527#pragma CPROVER check disable "float-overflow"
2529#pragma CPROVER check pop
2534#pragma CPROVER check push
2535#pragma CPROVER check disable "float-div-by-zero"
2537#pragma CPROVER check pop
2546 "bit width of float and int32_t should match");
2553 int32_t bias = (1 << 23) * ((1 << 7) - 1);
2556 return ((
float)
u.i - (
float)(bias +
exp_c)) * (
float)
M_LN2 / (
float)(1 << 23);
2561#ifndef __CPROVER_MATH_H_INCLUDED
2563# define _USE_MATH_DEFINES
2566# define __CPROVER_MATH_H_INCLUDED
2569#ifndef __CPROVER_STDINT_H_INCLUDED
2571# define __CPROVER_STDINT_H_INCLUDED
2574#ifndef __CPROVER_ERRNO_H_INCLUDED
2576# define __CPROVER_ERRNO_H_INCLUDED
2579#ifndef __CPROVER_FLOAT_H_INCLUDED
2581# define __CPROVER_FLOAT_H_INCLUDED
2595#pragma CPROVER check push
2596#pragma CPROVER check disable "float-overflow"
2598#pragma CPROVER check pop
2603#pragma CPROVER check push
2604#pragma CPROVER check disable "float-div-by-zero"
2606#pragma CPROVER check pop
2609#if LDBL_MAX_EXP == DBL_MAX_EXP
2618 "bit width of long double is a multiple of bit width of int32_t");
2624 int32_t bias = (1 << 16) * ((1 << 14) - 1);
2627# if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
2628 return ((
long double)
u.i[
sizeof(
long double) /
sizeof(
int32_t) - 1] -
2629 (
long double)(bias +
exp_c)) *
2633 (
long double)(1 << 16);
2640#ifndef __CPROVER_MATH_H_INCLUDED
2642# define _USE_MATH_DEFINES
2645# define __CPROVER_MATH_H_INCLUDED
2648#ifndef __CPROVER_STDINT_H_INCLUDED
2650# define __CPROVER_STDINT_H_INCLUDED
2653#ifndef __CPROVER_ERRNO_H_INCLUDED
2655# define __CPROVER_ERRNO_H_INCLUDED
2669#pragma CPROVER check push
2670#pragma CPROVER check disable "float-overflow"
2672#pragma CPROVER check pop
2677#pragma CPROVER check push
2678#pragma CPROVER check disable "float-div-by-zero"
2680#pragma CPROVER check pop
2689 "bit width of double is 2x bit width of int32_t");
2695 int32_t bias = (1 << 20) * ((1 << 10) - 1);
2698#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
2699 return ((
double)
u.i[1] - (
double)(bias +
exp_c)) / (
double)(1 << 20);
2701 return ((
double)
u.i[0] - (
double)(bias +
exp_c)) / (
double)(1 << 20);
2707#ifndef __CPROVER_MATH_H_INCLUDED
2709# define _USE_MATH_DEFINES
2712# define __CPROVER_MATH_H_INCLUDED
2715#ifndef __CPROVER_STDINT_H_INCLUDED
2717# define __CPROVER_STDINT_H_INCLUDED
2720#ifndef __CPROVER_ERRNO_H_INCLUDED
2722# define __CPROVER_ERRNO_H_INCLUDED
2736#pragma CPROVER check push
2737#pragma CPROVER check disable "float-overflow"
2739#pragma CPROVER check pop
2744#pragma CPROVER check push
2745#pragma CPROVER check disable "float-div-by-zero"
2747#pragma CPROVER check pop
2756 "bit width of float and int32_t should match");
2762 int32_t bias = (1 << 23) * ((1 << 7) - 1);
2765 return ((
float)
u.i - (
float)(bias +
exp_c)) / (
float)(1 << 23);
2770#ifndef __CPROVER_MATH_H_INCLUDED
2772# define _USE_MATH_DEFINES
2775# define __CPROVER_MATH_H_INCLUDED
2778#ifndef __CPROVER_STDINT_H_INCLUDED
2780# define __CPROVER_STDINT_H_INCLUDED
2783#ifndef __CPROVER_ERRNO_H_INCLUDED
2785# define __CPROVER_ERRNO_H_INCLUDED
2788#ifndef __CPROVER_FLOAT_H_INCLUDED
2790# define __CPROVER_FLOAT_H_INCLUDED
2804#pragma CPROVER check push
2805#pragma CPROVER check disable "float-overflow"
2807#pragma CPROVER check pop
2812#pragma CPROVER check push
2813#pragma CPROVER check disable "float-div-by-zero"
2815#pragma CPROVER check pop
2818#if LDBL_MAX_EXP == DBL_MAX_EXP
2827 "bit width of long double is a multiple of bit width of int32_t");
2833 int32_t bias = (1 << 16) * ((1 << 14) - 1);
2836# if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
2837 return ((
long double)
u.i[
sizeof(
long double) /
sizeof(
int32_t) - 1] -
2838 (
long double)(bias +
exp_c)) /
2841 return ((
long double)
u.i[0] - (
long double)(bias +
exp_c)) /
2842 (
long double)(1 << 16);
2849#ifndef __CPROVER_MATH_H_INCLUDED
2851# define _USE_MATH_DEFINES
2854# define __CPROVER_MATH_H_INCLUDED
2857#ifndef __CPROVER_STDINT_H_INCLUDED
2859# define __CPROVER_STDINT_H_INCLUDED
2862#ifndef __CPROVER_ERRNO_H_INCLUDED
2864# define __CPROVER_ERRNO_H_INCLUDED
2878#pragma CPROVER check push
2879#pragma CPROVER check disable "float-overflow"
2881#pragma CPROVER check pop
2886#pragma CPROVER check push
2887#pragma CPROVER check disable "float-div-by-zero"
2889#pragma CPROVER check pop
2898 "bit width of double is 2x bit width of int32_t");
2905 int32_t bias = (1 << 20) * ((1 << 10) - 1);
2908#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
2919#ifndef __CPROVER_MATH_H_INCLUDED
2921# define _USE_MATH_DEFINES
2924# define __CPROVER_MATH_H_INCLUDED
2927#ifndef __CPROVER_STDINT_H_INCLUDED
2929# define __CPROVER_STDINT_H_INCLUDED
2932#ifndef __CPROVER_ERRNO_H_INCLUDED
2934# define __CPROVER_ERRNO_H_INCLUDED
2948#pragma CPROVER check push
2949#pragma CPROVER check disable "float-overflow"
2951#pragma CPROVER check pop
2956#pragma CPROVER check push
2957#pragma CPROVER check disable "float-div-by-zero"
2959#pragma CPROVER check pop
2968 "bit width of float and int32_t should match");
2975 int32_t bias = (1 << 23) * ((1 << 7) - 1);
2984#ifndef __CPROVER_MATH_H_INCLUDED
2986# define _USE_MATH_DEFINES
2989# define __CPROVER_MATH_H_INCLUDED
2992#ifndef __CPROVER_STDINT_H_INCLUDED
2994# define __CPROVER_STDINT_H_INCLUDED
2997#ifndef __CPROVER_ERRNO_H_INCLUDED
2999# define __CPROVER_ERRNO_H_INCLUDED
3002#ifndef __CPROVER_FLOAT_H_INCLUDED
3004# define __CPROVER_FLOAT_H_INCLUDED
3018#pragma CPROVER check push
3019#pragma CPROVER check disable "float-overflow"
3021#pragma CPROVER check pop
3026#pragma CPROVER check push
3027#pragma CPROVER check disable "float-div-by-zero"
3029#pragma CPROVER check pop
3032#if LDBL_MAX_EXP == DBL_MAX_EXP
3041 "bit width of long double is a multiple of bit width of int32_t");
3047 int32_t bias = (1 << 16) * ((1 << 14) - 1);
3050# if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
3051 return ((
long double)
u.i[
sizeof(
long double) /
sizeof(
int32_t) - 1] -
3052 (
long double)(bias +
exp_c)) *
3055 return ((
long double)
u.i[0] - (
long double)(bias +
exp_c)) *
3063#ifndef __CPROVER_MATH_H_INCLUDED
3065# define __CPROVER_MATH_H_INCLUDED
3068#ifndef __CPROVER_STDINT_H_INCLUDED
3070# define __CPROVER_STDINT_H_INCLUDED
3073#ifndef __CPROVER_ERRNO_H_INCLUDED
3075# define __CPROVER_ERRNO_H_INCLUDED
3090#pragma CPROVER check push
3091#pragma CPROVER check disable "float-div-by-zero"
3093#pragma CPROVER check pop
3153#pragma CPROVER check push
3154#pragma CPROVER check disable "float-overflow"
3159#pragma CPROVER check pop
3162#pragma CPROVER check push
3163#pragma CPROVER check disable "float-div-by-zero"
3165#pragma CPROVER check pop
3173 "bit width of double is 2x bit width of int32_t");
3180 int32_t bias = (1 << 20) * ((1 << 10) - 1);
3183#pragma CPROVER check push
3184#pragma CPROVER check disable "signed-overflow"
3185#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
3190#pragma CPROVER check pop
3194#pragma CPROVER check push
3195#pragma CPROVER check disable "float-overflow"
3197#pragma CPROVER check pop
3199#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
3211#ifndef __CPROVER_MATH_H_INCLUDED
3213# define __CPROVER_MATH_H_INCLUDED
3216#ifndef __CPROVER_STDINT_H_INCLUDED
3218# define __CPROVER_STDINT_H_INCLUDED
3221#ifndef __CPROVER_ERRNO_H_INCLUDED
3223# define __CPROVER_ERRNO_H_INCLUDED
3238#pragma CPROVER check push
3239#pragma CPROVER check disable "float-div-by-zero"
3241#pragma CPROVER check pop
3301#pragma CPROVER check push
3302#pragma CPROVER check disable "float-overflow"
3310#pragma CPROVER check pop
3313#pragma CPROVER check push
3314#pragma CPROVER check disable "float-div-by-zero"
3316#pragma CPROVER check pop
3324 "bit width of float and int32_t should match");
3330 int32_t bias = (1 << 23) * ((1 << 7) - 1);
3333#pragma CPROVER check push
3334#pragma CPROVER check disable "signed-overflow"
3336#pragma CPROVER check pop
3340#pragma CPROVER check push
3341#pragma CPROVER check disable "float-overflow"
3343#pragma CPROVER check pop
3351#ifndef __CPROVER_MATH_H_INCLUDED
3353# define __CPROVER_MATH_H_INCLUDED
3356#ifndef __CPROVER_FLOAT_H_INCLUDED
3358# define __CPROVER_FLOAT_H_INCLUDED
3361#ifndef __CPROVER_STDINT_H_INCLUDED
3363# define __CPROVER_STDINT_H_INCLUDED
3366#ifndef __CPROVER_ERRNO_H_INCLUDED
3368# define __CPROVER_ERRNO_H_INCLUDED
3375long double powl(
long double x,
long double y)
3383#pragma CPROVER check push
3384#pragma CPROVER check disable "float-div-by-zero"
3386#pragma CPROVER check pop
3446#pragma CPROVER check push
3447#pragma CPROVER check disable "float-overflow"
3456#pragma CPROVER check pop
3459#pragma CPROVER check push
3460#pragma CPROVER check disable "float-div-by-zero"
3462#pragma CPROVER check pop
3464#if LDBL_MAX_EXP == DBL_MAX_EXP
3473 "bit width of long double is a multiple of bit width of int32_t");
3479# if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
3484 int32_t bias = (1 << 16) * ((1 << 14) - 1);
3487# pragma CPROVER check push
3488# pragma CPROVER check disable "signed-overflow"
3490# pragma CPROVER check pop
3494# pragma CPROVER check push
3495# pragma CPROVER check disable "float-overflow"
3497# pragma CPROVER check pop
3501# if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
3512#ifndef __CPROVER_MATH_H_INCLUDED
3514# define __CPROVER_MATH_H_INCLUDED
3517#ifndef __CPROVER_FENV_H_INCLUDED
3519# define __CPROVER_FENV_H_INCLUDED
3527#pragma CPROVER check push
3528#pragma CPROVER check disable "float-div-by-zero"
3541#pragma CPROVER check disable "float-overflow"
3550#pragma CPROVER check pop
3564#ifndef __CPROVER_MATH_H_INCLUDED
3566# define __CPROVER_MATH_H_INCLUDED
3569#ifndef __CPROVER_FENV_H_INCLUDED
3571# define __CPROVER_FENV_H_INCLUDED
3579#pragma CPROVER check push
3580#pragma CPROVER check disable "float-div-by-zero"
3593#pragma CPROVER check disable "float-overflow"
3602#pragma CPROVER check pop
3616#ifndef __CPROVER_MATH_H_INCLUDED
3618# define __CPROVER_MATH_H_INCLUDED
3621#ifndef __CPROVER_FENV_H_INCLUDED
3623# define __CPROVER_FENV_H_INCLUDED
3626#ifndef __CPROVER_FLOAT_H_INCLUDED
3628# define __CPROVER_FLOAT_H_INCLUDED
3633long double fmal(
long double x,
long double y,
long double z)
3636#pragma CPROVER check push
3637#pragma CPROVER check disable "float-div-by-zero"
3650#pragma CPROVER check disable "float-overflow"
3659#pragma CPROVER check pop
3661#if LDBL_MAX_EXP == DBL_MAX_EXP
3677#ifndef __CPROVER_MATH_H_INCLUDED
3679# define __CPROVER_MATH_H_INCLUDED
3682#ifndef __CPROVER_STDINT_H_INCLUDED
3684# define __CPROVER_STDINT_H_INCLUDED
3687#ifndef __CPROVER_ERRNO_H_INCLUDED
3689# define __CPROVER_ERRNO_H_INCLUDED
3738#pragma CPROVER check push
3739#pragma CPROVER check disable "float-overflow"
3744#pragma CPROVER check pop
3747#pragma CPROVER check push
3748#pragma CPROVER check disable "float-div-by-zero"
3750#pragma CPROVER check pop
3758 "bit width of double is 2x bit width of int32_t");
3765 int32_t bias = (1 << 20) * ((1 << 10) - 1);
3768#pragma CPROVER check push
3769#pragma CPROVER check disable "signed-overflow"
3770#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
3775#pragma CPROVER check pop
3779#pragma CPROVER check push
3780#pragma CPROVER check disable "float-overflow"
3782#pragma CPROVER check pop
3784#if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
3796#ifndef __CPROVER_MATH_H_INCLUDED
3798# define __CPROVER_MATH_H_INCLUDED
3801#ifndef __CPROVER_STDINT_H_INCLUDED
3803# define __CPROVER_STDINT_H_INCLUDED
3806#ifndef __CPROVER_ERRNO_H_INCLUDED
3808# define __CPROVER_ERRNO_H_INCLUDED
3857#pragma CPROVER check push
3858#pragma CPROVER check disable "float-overflow"
3865#pragma CPROVER check pop
3868#pragma CPROVER check push
3869#pragma CPROVER check disable "float-div-by-zero"
3871#pragma CPROVER check pop
3879 "bit width of float and int32_t should match");
3885 int32_t bias = (1 << 23) * ((1 << 7) - 1);
3888#pragma CPROVER check push
3889#pragma CPROVER check disable "signed-overflow"
3891#pragma CPROVER check pop
3895#pragma CPROVER check push
3896#pragma CPROVER check disable "float-overflow"
3898#pragma CPROVER check pop
3906#ifndef __CPROVER_MATH_H_INCLUDED
3908# define __CPROVER_MATH_H_INCLUDED
3911#ifndef __CPROVER_FLOAT_H_INCLUDED
3913# define __CPROVER_FLOAT_H_INCLUDED
3916#ifndef __CPROVER_STDINT_H_INCLUDED
3918# define __CPROVER_STDINT_H_INCLUDED
3921#ifndef __CPROVER_ERRNO_H_INCLUDED
3923# define __CPROVER_ERRNO_H_INCLUDED
3973#pragma CPROVER check push
3974#pragma CPROVER check disable "float-overflow"
3981#pragma CPROVER check pop
3984#pragma CPROVER check push
3985#pragma CPROVER check disable "float-div-by-zero"
3987#pragma CPROVER check pop
3989#if LDBL_MAX_EXP == DBL_MAX_EXP
3998 "bit width of long double is a multiple of bit width of int32_t");
4004# if !defined(__BYTE_ORDER__) || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
4009 int32_t bias = (1 << 16) * ((1 << 14) - 1);
4012# pragma CPROVER check push
4013# pragma CPROVER check disable "signed-overflow"
4015 (
long double)
y * (
long double)(exponent - (bias +
exp_c));
4016# pragma CPROVER check pop
4020# pragma CPROVER check push
4021# pragma CPROVER check disable "float-overflow"
4023# pragma CPROVER check pop
4027# 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