ベイリー＝ボールウェイン＝プラウフの公式
(実際、恒等式
ln  a a − 1 = ∑ k = 1 ∞ 1 a k ⋅ k {\displaystyle \ln {\frac {a}{a-1}}=\sum _{k=1}^{\infty }{\frac {1}{a^{k}\cdot k}}}
は a > 1 に対して成り立つ)
プラウフは、逆三角関数の冪級数にも触発された(P 表記は b が整数でない場合にも一般化できる)。
arctan  1 b = 1 b − 1 b 3 3 + 1 b 5 5 − ⋯ = 1 b ∑ k = 0 ∞ [ 1 b 4 k ( 1 4 k + 1 + − b − 2 4 k + 3 ) ] = 1 b P ( 1 , b 4 , 4 , [ 1 , 0 , − b − 2 , 0 ] ) {\displaystyle {\begin{aligned}\arctan {\frac {1}{b}}&={\frac {1}{b}}-{\frac {1}{b^{3}3}}+{\frac {1}{b^{5}5}}-\cdots \\&={\frac {1}{b}}\sum _{k=0}^{\infty }\left[{\frac {1}{b^{4k}}}\left({\frac {1}{4k+1}}+{\frac {-b^{-2}}{4k+3}}\right)\right]\\&={\frac {1}{b}}P\left(1,b^{4},4,\left[1,0,-b^{-2},0\right]\right)\end{aligned}}}
前述の通り、右辺の2つ目の和に関しては適当な精度で値が収束したと見なされるまで計算すればよいが、1つ目の和は n 回の冪剰余が必要となる。冪剰余の計算のビット計算量は、M(j) を j ビット整数の乗算に必要な計算量として、O(log n ⋅ M(log n)) で行える。従って全体の計算量は O(n ⋅ log n ⋅ M(log n)) となる。乗算の計算量は乗算アルゴリズムに依存するが、筆算と同じ方法なら M(j) = O(j) であり、この場合のBBPアルゴリズムのビット計算量は O(n ⋅ (log n))) となる。乗算をショーンハーゲ・ストラッセン法で行えばビット計算量は M(j) = O(j ⋅ log j ⋅ log(log j)) となり、この場合のBBPアルゴリズムのビット計算量は以下の通り:
O ( n ⋅ ( log  n ) 2 ⋅ log  ( log  n ) ⋅ log  ( log  ( log  n ) ) ) {\displaystyle O(n\cdot (\log n)^{2}\cdot \log(\log n)\cdot \log(\log(\log n)))}
これは(ショーンハーゲ・ストラッセン法で乗算を実装した場合の)π を n 桁計算するアルゴリズムよりはわずかに遅く、BBPアルゴリズムのビット計算量は log(log(log n)) 倍だけ大きい。
BBPアルゴリズムの結果は n 桁目以降の値も含んでおり、n − 1 桁目ないし n + 1 桁目の計算結果と比較することで計算結果が正しいことを検証できる。