Contact

CUM_BIV_NORM_DIST Function (Gnumeric)

Financial Intermediate Gnumeric

Use Gnumeric CUM_BIV_NORM_DIST for joint normal probabilities, with standardization, correlation, native examples and quantified approximation limits.

Verification status: 20 selected reference, boundary and advanced-check expressions were recalculated with Gnumeric 1.12.57 ssconvert. Saved identities, the blank input and results were independently checked. Gnumeric 1.12.62 was source-checked only. How formula examples are checked

Approximation and endpoint limits: the tested results differ from mathematical bivariate-normal probabilities. The tested correlations +1 and −1 returned #NUM!, although their singular mathematical distributions have defined probabilities.

Quick answer: =CUM_BIV_NORM_DIST(0,0,0) gives 0.249999998808 in Gnumeric 1.12.57.

Availability and version history

  • Introduced: First introduction is unestablished; the exact function is present in Gnumeric 1.12.57 source.
  • Supported in: Gnumeric 1.12.62; no retirement is established.
  • Scope: Desktop Gnumeric with its Financial Derivatives plugin. English comma-separated formulas are shown.
  • Checked: October 14, 2026. Tables and the named advanced check use 1.12.57 ssconvert. Current 1.12.62 source was inspected; that release was not executed.

What CUM_BIV_NORM_DIST returns

CUM_BIV_NORM_DIST(a,b,correlation) approximates P(X≤a and Y≤b) for two standard-normal variables with the supplied correlation. The arguments are standardized thresholds, not means or standard deviations. A joint probability is generally not the product of the two marginal probabilities unless the correlation is zero. Although this function lives in the Financial Derivatives plugin, the calculation itself is a bivariate-normal probability. Versioned function help.

Syntax and arguments

=CUM_BIV_NORM_DIST(a,b,correlation)
Argument Meaning
a Standardized threshold for the first variable.
b Standardized threshold for the second variable.
correlation Correlation coefficient; use strictly between −1 and 1 for this nonsingular calculation.

All three arguments are required. The function has no upper-tail or log-probability flag.

Current worksheet implementation.

Reproducible examples

The native column comes from saved recalculated formulas. The separate reference column evaluates the stated mathematical model, preserving approximation differences. Results are rounded to twelve decimal places, or thirteen significant digits for small nonzero values; printed precision is not a universal accuracy guarantee.

Formula Gnumeric 1.12.57 result Independent mathematical reference
=CUM_BIV_NORM_DIST(0,0,0) 0.249999998808 0.25
=CUM_BIV_NORM_DIST(0,0,.5) 0.333333338345 0.333333333333
=CUM_BIV_NORM_DIST(0,0,-.5) 0.166666661655 0.166666666667
=CUM_BIV_NORM_DIST(1,1,0) 0.707860979098 0.707860981737
=CUM_BIV_NORM_DIST(-1,-1,.5) 0.062513896588 0.06251409471
=CUM_BIV_NORM_DIST(1,-1,.5) 0.154873078599 0.154872951859
=CUM_BIV_NORM_DIST(0,1,.5) 0.468743051706 0.468742952645
=CUM_BIV_NORM_DIST(1,0,-.5) 0.372601694363 0.372601793423

Practical worksheet

Suppose one normally modeled measurement has mean 100 and standard deviation 20, and another has mean 200 and standard deviation 20. Thresholds 80 and 180 both standardize to −1. For correlation 0.5, use =CUM_BIV_NORM_DIST((80-100)/20,(180-200)/20,0.5). Its equivalent direct native formula returns about 0.062513896588. Independent integration gives about 0.062514094710, a difference of about 0.000000198122.

For a worksheet, put the two standardized thresholds in A2 and B2 and the correlation in C2, then use =CUM_BIV_NORM_DIST(A2,B2,C2). Standard deviations must be positive and the joint-normal model must be justified separately.

Advanced interpretation and checks

At zero thresholds, the mathematical identity is 1/4 + ASIN(correlation)/(2*PI()). For correlation 0.5 the exact result is one third; the native approximation is 0.333333338345. The saved difference from the identity is about 5.011583648074E-9. At correlation zero and thresholds 1,1, the mathematical result is Phi(1)^2, about 0.707860981737.

The joint upper-tail probability follows inclusion–exclusion: 1-Phi(a)-Phi(b)+joint_CDF. At a = b = 0 and correlation 0.5 it is also one third mathematically. Using this relationship retains the approximation error in the joint CDF; it does not make that approximation exact. Small tail differences can be especially sensitive to subtraction.

The saved advanced-check result for =CUM_BIV_NORM_DIST(0,0,.5)-(1/4+ASIN(.5)/(2*PI())) was 5.011583648074E-9.

Boundaries and troubleshooting

The implementation uses a fixed five-by-five quadrature and symmetry transformations. The separate reference column records its approximation errors rather than rounding them away. At −5,−5 with zero correlation the native value is about 8.092490370006E-14; very small probabilities need particular care.

All four tested correlations ±1 and ±1.1 produced #NUM!. Mathematically, the two zero-threshold singular endpoint probabilities are 0.5 for +1 and 0 for −1; those are separate identities, not successful function outputs. Numeric text and empty cells were converted, while nonnumeric text produced #VALUE!. Validate −1 < correlation < 1 explicitly and do not assume the absence of an error guarantees the required numerical accuracy.

F5 is genuinely empty, rather than a cell containing an empty string.

Formula Gnumeric 1.12.57 result
=CUM_BIV_NORM_DIST(0,0,1) #NUM!
=CUM_BIV_NORM_DIST(0,0,-1) #NUM!
=CUM_BIV_NORM_DIST(0,0,1.1) #NUM!
=CUM_BIV_NORM_DIST(0,0,-1.1) #NUM!
=CUM_BIV_NORM_DIST(1,1,.9) 0.798179790772
=CUM_BIV_NORM_DIST(-5,-5,0) 8.092490370006E-14
=CUM_BIV_NORM_DIST("0",0,.5) 0.333333338345
=CUM_BIV_NORM_DIST("abc",0,.5) #VALUE!
=CUM_BIV_NORM_DIST(F5,0,.5) 0.333333338345
=CUM_BIV_NORM_DIST(0,0) #N/A
=CUM_BIV_NORM_DIST(0,0,.5,0) #N/A

Official evidence and checking scope

The complete callback differs only in spacing; its calculation helper is unchanged. Both stale and uncached SUM controls recalculated correctly. Native XML retains the function identities; secondary ODF export does not establish execution in another product. GUI entry, other locales and newer-release numerical behavior were not tested.