final static void divComplexFloat(int sa, final PyMultiarray a, int sb, final PyMultiarray b, int sr, final PyMultiarray r, final int d) {
        final int dsa = a.strides[d], dsb = b.strides[d], dsr = r.strides[d], finalSr = sr
                + r.dimensions[d] * r.strides[d];
        if (d == r.dimensions.length - 1) {
            final float[] aData = (float[]) a.data, bData = (float[]) b.data;
            final float[] rData = (float[]) r.data;
            for (; sr != finalSr; sa += dsa, sb += dsb, sr += dsr) {
                final float den = bData[sb] * bData[sb] + bData[sb + 1]
                        * bData[sb + 1];
                final float re = (aData[sa] * bData[sb] + aData[sa + 1]
                        * bData[sb + 1])
                        / den;
                rData[sr + 1] = (-aData[sa] * bData[sb + 1] + aData[sa + 1]
                        * bData[sb])
                        / den;
                rData[sr] = re;
            }
        } else {
            for (; sr != finalSr; sa += dsa, sb += dsb, sr += dsr) {
                PyMultiarray.divComplexFloat(sa, a, sb, b, sr, r, d + 1);
            }
        }
    }