## stateful_normal 每个正态数 TC VREG:变换指令 77.2 条,其中 EUP vlog2.8x128.f32 1,vrsqrt.8x128.f32 1 vmul.8x128.f32 21,vsel.8x128 14.4531,vadd.8x128.f32 14,vlt.8x128.f32 10.5781,vsub.8x128.f32 3,vand.8x128.u32 3,veq.8x128.f32 3,vpop.8x128 2,vshrl.8x128.s32 1,vor.8x128.u32 1 65536 个样本:均值 -0.0053,标准差 0.9994,最小 -4.396,最大 4.219 落在 ±1σ、±2σ、±3σ 内:0.6851(0.6827),0.9540(0.9545),0.9974(0.9973) { va0: vlog2.8x128.f32 erf, v14 ; va1: vrng.8x128.u32 v7 } { va0: vand.8x128.u32 v14, 0x7fffffff, v8 ; va1: vadd.8x128.f32 v7, -1.0, v20 ; vst: vst.8x128 [vmem:0x218], v7 } { va0: vmul.8x128.f32 v24, -0.5, v23 ; va1: vadd.8x128.f32 v20, 1.0, v24 } { va0: vmul.8x128.f32 v10, 2.0, v7 ; va1: vshrl.8x128.s32 v7, v26, 0x9 } { va0: vmul.8x128.f32 v26, v20, v8 ; va1: vadd.8x128.f32 v27, 1.0, v24 } { va0: vor.8x128.u32 v10, 0x3f800000, v7 ; va1: vadd.8x128.f32 v15, -0.9999999403953552, v10 } { va0: vlt.8x128.f32 vm0, v14, 0.00044273430830799043 ; va1: vadd.8x128.f32 v16, -1.0, v10 } { va0: vmax.8x128.f32 v21, v15, -0.9999999403953552 ; va1: vrng.8x128.u32 v11 ; vr0: vpop.8x128 v15, erf } { va0: vmul.8x128.f32 v11, 0.6931471824645996, v15 ; va1: vsub.8x128.f32 v19, 0.0, v21 ; vst: vst.8x128 [vmem:0x220], v11 } { va0: vmul.8x128.f32 v25, 2.0, v16 ; va1: vsub.8x128.f32 v7, 0.0, v17 ; vst: vst.8x128 [vmem:0x248], v21 } { va0: vmul.8x128.f32 v4, v19, v21 ; va1: vsel.8x128 v10, vm0, v26, v11 } { va0: vmul.8x128.f32 v8, v27, v23 ; va1: vadd.8x128.f32 v20, -0.9999999403953552, v25 ; vst: vst.8x128 [vmem:0x260], v10 } ## Box–Muller 每个正态数 TC VREG:变换指令 120.9 条,其中 EUP vlog2.8x128.f32 0.5,vrsqrt.8x128.f32 0.5 vmul.8x128.f32 17,vsel.8x128 14.5,vshrl.8x128.s32 13.5,vand.8x128.u32 10.4766,vadd.8x128.s32 9,vor.8x128.u32 7.5,vcvt.8x128.f32.s32 7.5,vshll.8x128.s32 7,vcvt.8x128.s32.f32 6.67188,vadd.8x128.f32 4.79688 131072 个样本:均值 0.0017,标准差 0.9976,最小 -4.756,最大 4.152 落在 ±1σ、±2σ、±3σ 内:0.6838(0.6827),0.9551(0.9545),0.9971(0.9973) 两个输出的相关系数 0.0018