kfrlib / kfr

Fast, modern C++ DSP framework, FFT, Sample Rate Conversion, FIR/IIR/Biquad Filters (SSE, AVX, AVX-512, ARM NEON)
https://www.kfrlib.com
GNU General Public License v2.0
1.65k stars 253 forks source link

Jetson Xavier clang 10 fail tests #112

Closed mipac closed 7 months ago

mipac commented 3 years ago

with clang 10, build is ok, but the tests fail the log is following

lscpu :

Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              8
On-line CPU(s) list: 0-7
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           4
Vendor ID:           Nvidia
Model:               0
Model name:          ARMv8 Processor rev 0 (v8l)
Stepping:            0x0
CPU max MHz:         2265,6001
CPU min MHz:         115,2000
BogoMIPS:            62.50
L1d cache:           64K
L1i cache:           128K
L2 cache:            2048K
L3 cache:            4096K
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp

log all_tests:

KFR 4.2.0 neon64 64-bit (clang-10.0.0/linux) +in +ve running on neon64
[----RUN----] test_basic...
[--SUCCESS--] 20 subtests of 20
[----RUN----] test_gen_expj...
[--SUCCESS--] 1 subtests of 1
[----RUN----] complex_vector...
[--SUCCESS--] 14 subtests of 14
[----RUN----] complex_cast...
[--SUCCESS--] 16 subtests of 16
[----RUN----] complex_math...
[--SUCCESS--] 32 subtests of 32
[----RUN----] complex_read_write...
[--SUCCESS--] 3 subtests of 3
[----RUN----] complex_shuffle...
[--SUCCESS--] 1 subtests of 1
[----RUN----] complex_basic_expressions...
[--SUCCESS--] 12 subtests of 12
[----RUN----] complex_functions...
[--SUCCESS--] 7 subtests of 7
[----RUN----] complex_function_expressions...
[--SUCCESS--] 12 subtests of 12
[----RUN----] static_tests...
[--SUCCESS--] 0 subtests of 0
[----RUN----] ebu_stereo_1_and_2...
[---ERROR---] 12 subtests of 24
    type = double, sample_rate = 44100:
    [fail]    std::abs(M - refM) < 0.05f | inf < 0.05
    type = double, sample_rate = 44100:
    [fail]    std::abs(S - refS) < 0.05f | inf < 0.05
    type = double, sample_rate = 44100:
    [fail]    std::abs(I - refI) < 0.05f | inf < 0.05
    type = double, sample_rate = 44100:
    [fail]    std::abs(M - refM) < 0.05f | inf < 0.05
    type = double, sample_rate = 44100:
    [fail]    std::abs(S - refS) < 0.05f | inf < 0.05
    type = double, sample_rate = 44100:
    [fail]    std::abs(I - refI) < 0.05f | inf < 0.05
    type = double, sample_rate = 48000:
    [fail]    std::abs(M - refM) < 0.05f | inf < 0.05
    type = double, sample_rate = 48000:
    [fail]    std::abs(S - refS) < 0.05f | inf < 0.05
    type = double, sample_rate = 48000:
    [fail]    std::abs(I - refI) < 0.05f | inf < 0.05
    type = double, sample_rate = 48000:
    [fail]    std::abs(M - refM) < 0.05f | inf < 0.05
    type = double, sample_rate = 48000:
    [fail]    std::abs(S - refS) < 0.05f | inf < 0.05
    type = double, sample_rate = 48000:
    [fail]    std::abs(I - refI) < 0.05f | inf < 0.05
[----RUN----] ebu_stereo_3_4_and_5...
[---ERROR---] 4 subtests of 8
    type = double, sample_rate = 44100:
    [fail]    std::abs(I - refI) < 0.05f | inf < 0.05
    type = double, sample_rate = 44100:
    [fail]    std::abs(I - refI) < 0.05f | inf < 0.05
    type = double, sample_rate = 48000:
    [fail]    std::abs(I - refI) < 0.05f | inf < 0.05
    type = double, sample_rate = 48000:
    [fail]    std::abs(I - refI) < 0.05f | inf < 0.05
[----RUN----] ebu_multichannel_6...
[---ERROR---] 2 subtests of 4
    type = double, sample_rate = 44100:
    [fail]    std::abs(I - refI) < 0.05f | inf < 0.05
    type = double, sample_rate = 48000:
    [fail]    std::abs(I - refI) < 0.05f | inf < 0.05
[----RUN----] ebu_stereo_9...
[---ERROR---] 2 subtests of 4
    type = double, sample_rate = 44100:
    [fail]    std::abs(S - refS) < 0.05f | inf < 0.05
    type = double, sample_rate = 48000:
    [fail]    std::abs(S - refS) < 0.05f | inf < 0.05
[----RUN----] ebu_stereo_12...
[---ERROR---] 2 subtests of 4
    type = double, sample_rate = 44100:
    [fail]    std::abs(M - refM) < 0.05f | inf < 0.05
    type = double, sample_rate = 48000:
    [fail]    std::abs(M - refM) < 0.05f | inf < 0.05
[----RUN----] ebu_lra_1_2_3_and_4...
[---ERROR---] 8 subtests of 16
    type = double, sample_rate = 44100:
    [fail]    std::abs((RH - RL) - refLRA) < 0.05f | 10 < 0.05
    type = double, sample_rate = 44100:
    [fail]    std::abs((RH - RL) - refLRA) < 0.05f | 5 < 0.05
    type = double, sample_rate = 44100:
    [fail]    std::abs((RH - RL) - refLRA) < 0.05f | 20 < 0.05
    type = double, sample_rate = 44100:
    [fail]    std::abs((RH - RL) - refLRA) < 0.05f | 15 < 0.05
    type = double, sample_rate = 48000:
    [fail]    std::abs((RH - RL) - refLRA) < 0.05f | 10 < 0.05
    type = double, sample_rate = 48000:
    [fail]    std::abs((RH - RL) - refLRA) < 0.05f | 5 < 0.05
    type = double, sample_rate = 48000:
    [fail]    std::abs((RH - RL) - refLRA) < 0.05f | 20 < 0.05
    type = double, sample_rate = 48000:
    [fail]    std::abs((RH - RL) - refLRA) < 0.05f | 15 < 0.05
[----RUN----] note_to_hertz...
[--SUCCESS--] 4 subtests of 4
[----RUN----] hertz_to_note...
[--SUCCESS--] 4 subtests of 4
[----RUN----] amp_to_dB...
[--SUCCESS--] 7 subtests of 7
[----RUN----] dB_to_amp...
[--SUCCESS--] 4 subtests of 4
[----RUN----] delay...
[--SUCCESS--] 32 subtests of 32
[----RUN----] fracdelay...
[---ERROR---] 3 subtests of 4
    [fail]    rms(b - univector<double>({ 0.5, 1.5, 2.5, 3.5, 4.5 })) < constants<double>::epsilon * 5 | 0.67082 < 1.11022e-15
    [fail]    rms(b - univector<double>({ 0.9, 1.9, 2.9, 3.9, 4.9 })) < constants<double>::epsilon * 5 | 0.134164 < 1.11022e-15
    [fail]    rms(b - univector<double>({ 0, 1, 2, 3, 4 })) < constants<double>::epsilon * 5 | 1.34164 < 1.11022e-15
[----RUN----] mixdown...
[--SUCCESS--] 37 subtests of 37
[----RUN----] mixdown_stereo...
[---ERROR---] 16 subtests of 18
    i = 0 width = 1:
    [fail]    mid                    |         0 ==       100
    i = 1 width = 2:
    [fail]    mid                    |         2         4 ==       103       106
    i = 3 width = 4:
    [fail]    mid                    |         6         8        10        12 ==       109       112       115       118
    i = 7 width = 8:
    [fail]    mid                    |        14        16        18        20        22        24        26        28 ==       121       124       127       130       133       136       139       142
    i = 15 width = 1:
    [fail]    mid                    |        30 ==       145
    i = 16 width = 2:
    [fail]    mid                    |        32        34 ==       148       151
    i = 18 width = 2:
    [fail]    mid                    |        36        38 ==       154       157
    i = 20 width = 1:
    [fail]    mid                    |        40 ==       160
    i = 0 width = 1:
    [fail]    side                   |         0 ==      -100
    i = 1 width = 2:
    [fail]    side                   |         2         4 ==      -101      -102
    i = 3 width = 4:
    [fail]    side                   |         6         8        10        12 ==      -103      -104      -105      -106
    i = 7 width = 8:
    [fail]    side                   |        14        16        18        20        22        24        26        28 ==      -107      -108      -109      -110      -111      -112      -113      -114
    i = 15 width = 1:
    [fail]    side                   |        30 ==      -115
    i = 16 width = 2:
    [fail]    side                   |        32        34 ==      -116      -117
    i = 18 width = 2:
    [fail]    side                   |        36        38 ==      -118      -119
    i = 20 width = 1:
    [fail]    side                   |        40 ==      -120
[----RUN----] phasor...
[--SUCCESS--] 1 subtests of 1
[----RUN----] fir...
[---ERROR---] 197 subtests of 343
    type = double; i = 1 width = 2:
    [fail]    fir(data, taps)        |         4     -11.5 ==        -2     -17.5
    type = double; i = 3 width = 4:
    [fail]    fir(data, taps)        |       -29    28.125      -7.5        82 ==      96.5   217.062    -202.5   50.0312
    type = double; i = 7 width = 8:
    [fail]    fir(data, taps)        |       -78    853.25        18     -15.5     -50.5      1047       121     96.25 ==   52.4375   633.125  -179.531     75.75      70.5   656.094  -153.812   93.8125
    type = double; i = 15 width = 1:
    [fail]    fir(data, taps)        |       -25 ==   93.4688
    type = double; i = 16 width = 2:
    [fail]    fir(data, taps)        |   439.625     148.5 ==   681.812   -135.75
    type = double; i = 18 width = 4:
    [fail]    fir(data, taps)        |       226        78    919.25       174 ==   116.781   119.188   699.875  -112.781
    type = double; i = 22 width = 8:
    [fail]    fir(data, taps)        |        -2     105.5      1191       277    162.25       131   453.125     304.5 ==     142.5    137.25   722.844  -87.0625   160.562   160.219   748.562       -69
    type = double; i = 30 width = 1:
    [fail]    fir(data, taps)        |       370 ==   183.531
    type = double; i = 31 width = 2:
    [fail]    fir(data, taps)        |       234    985.25 ==   185.938   766.625
    type = double; i = 33 width = 4:
    [fail]    fir(data, taps)        |       330      11.5     261.5      1335 ==  -46.0312    209.25       204   789.594
    type = double; i = 37 width = 8:
    [fail]    fir(data, taps)        |       433    228.25       287   466.625     460.5       514       390   1051.25 ==  -20.3125   227.312   226.969   815.312     -2.25   250.281   252.688   833.375
    type = double; i = 45 width = 1:
    [fail]    fir(data, taps)        |       486 ==   20.7188
    type = double; i = 46 width = 2:
    [fail]    fir(data, taps)        |        25     417.5 ==       276    270.75
    type = double; i = 48 width = 4:
    [fail]    fir(data, taps)        |      1479       589    294.25       443 ==   856.344   46.4375   294.062   293.719
    type = double; i = 52 width = 8:
    [fail]    fir(data, taps)        |   480.125     616.5       658       546   1117.25       642      38.5     573.5 ==   882.062      64.5   317.031   319.438   900.125   87.4688    342.75     337.5
    type = double; i = 60 width = 1:
    [fail]    fir(data, taps)        |      1623 ==   923.094
    type = double; i = 61 width = 2:
    [fail]    fir(data, taps)        |       745    360.25 ==   113.188   360.812
    type = double; i = 63 width = 4:
    [fail]    fir(data, taps)        |       599   493.625     772.5       802 ==   360.469   948.812    131.25   383.781
    type = double; i = 67 width = 8:
    [fail]    fir(data, taps)        |       702   1183.25       798        52     729.5      1767       901    426.25 ==   386.188   966.875   154.219     409.5    404.25   989.844   179.938   427.562
    type = double; i = 75 width = 1:
    [fail]    fir(data, taps)        |       755 ==   427.219
    type = double; i = 76 width = 2:
    [fail]    fir(data, taps)        |   507.125     928.5 ==   1015.56       198
    type = double; i = 78 width = 4:
    [fail]    fir(data, taps)        |       946       858   1249.25       954 ==   450.531   452.938   1033.62   220.969
    type = double; i = 82 width = 8:
    [fail]    fir(data, taps)        |      65.5     885.5      1911      1057    492.25       911   520.625    1084.5 ==    476.25       471   1056.59   246.688   494.312   493.969   1082.31    264.75
    type = double; i = 90 width = 1:
    [fail]    fir(data, taps)        |      1090 ==   517.281
    type = double; i = 91 width = 2:
    [fail]    fir(data, taps)        |      1014   1315.25 ==   519.688   1100.38
    type = double; i = 93 width = 4:
    [fail]    fir(data, taps)        |      1110        79    1041.5      2055 ==   287.719       543    537.75   1123.34
    type = double; i = 97 width = 2:
    [fail]    fir(data, taps)        |      1213    558.25 ==   313.438   561.062
    type = double; i = 99 width = 1:
    [fail]    fir(data, taps)        |      1067 ==   560.719
    type = double; i = 1 width = 2:
    [fail]    fir(state, data)       |         4     -11.5 ==        -2     -17.5
    type = double; i = 3 width = 4:
    [fail]    fir(state, data)       |       -29    28.125      -7.5        82 ==      96.5   217.062    -202.5   50.0312
    type = double; i = 7 width = 8:
    [fail]    fir(state, data)       |       -78    853.25        18     -15.5     -50.5      1047       121     96.25 ==   52.4375   633.125  -179.531     75.75      70.5   656.094  -153.812   93.8125
    type = double; i = 15 width = 1:
    [fail]    fir(state, data)       |       -25 ==   93.4688
    type = double; i = 16 width = 2:
    [fail]    fir(state, data)       |   439.625     148.5 ==   681.812   -135.75
    type = double; i = 18 width = 4:
    [fail]    fir(state, data)       |       226        78    919.25       174 ==   116.781   119.188   699.875  -112.781
    type = double; i = 22 width = 8:
    [fail]    fir(state, data)       |        -2     105.5      1191       277    162.25       131   453.125     304.5 ==     142.5    137.25   722.844  -87.0625   160.562   160.219   748.562       -69
    type = double; i = 30 width = 1:
    [fail]    fir(state, data)       |       370 ==   183.531
    type = double; i = 31 width = 2:
    [fail]    fir(state, data)       |       234    985.25 ==   185.938   766.625
    type = double; i = 33 width = 4:
    [fail]    fir(state, data)       |       330      11.5     261.5      1335 ==  -46.0312    209.25       204   789.594
    type = double; i = 37 width = 8:
    [fail]    fir(state, data)       |       433    228.25       287   466.625     460.5       514       390   1051.25 ==  -20.3125   227.312   226.969   815.312     -2.25   250.281   252.688   833.375
    type = double; i = 45 width = 1:
    [fail]    fir(state, data)       |       486 ==   20.7188
    type = double; i = 46 width = 2:
    [fail]    fir(state, data)       |        25     417.5 ==       276    270.75
    type = double; i = 48 width = 4:
    [fail]    fir(state, data)       |      1479       589    294.25       443 ==   856.344   46.4375   294.062   293.719
    type = double; i = 52 width = 8:
    [fail]    fir(state, data)       |   480.125     616.5       658       546   1117.25       642      38.5     573.5 ==   882.062      64.5   317.031   319.438   900.125   87.4688    342.75     337.5
    type = double; i = 60 width = 1:
    [fail]    fir(state, data)       |      1623 ==   923.094
    type = double; i = 61 width = 2:
    [fail]    fir(state, data)       |       745    360.25 ==   113.188   360.812
    type = double; i = 63 width = 4:
    [fail]    fir(state, data)       |       599   493.625     772.5       802 ==   360.469   948.812    131.25   383.781
    type = double; i = 67 width = 8:
    [fail]    fir(state, data)       |       702   1183.25       798        52     729.5      1767       901    426.25 ==   386.188   966.875   154.219     409.5    404.25   989.844   179.938   427.562
    type = double; i = 75 width = 1:
    [fail]    fir(state, data)       |       755 ==   427.219
    type = double; i = 76 width = 2:
    [fail]    fir(state, data)       |   507.125     928.5 ==   1015.56       198
    type = double; i = 78 width = 4:
    [fail]    fir(state, data)       |       946       858   1249.25       954 ==   450.531   452.938   1033.62   220.969
    type = double; i = 82 width = 8:
    [fail]    fir(state, data)       |      65.5     885.5      1911      1057    492.25       911   520.625    1084.5 ==    476.25       471   1056.59   246.688   494.312   493.969   1082.31    264.75
    type = double; i = 90 width = 1:
    [fail]    fir(state, data)       |      1090 ==   517.281
    type = double; i = 91 width = 2:
    [fail]    fir(state, data)       |      1014   1315.25 ==   519.688   1100.38
    type = double; i = 93 width = 4:
    [fail]    fir(state, data)       |      1110        79    1041.5      2055 ==   287.719       543    537.75   1123.34
    type = double; i = 97 width = 2:
    [fail]    fir(state, data)       |      1213    558.25 ==   313.438   561.062
    type = double; i = 99 width = 1:
    [fail]    fir(state, data)       |      1067 ==   560.719
    type = double; i = 3 width = 4:
    [fail]    short_fir(data, taps)  |     103.5   210.062  -204.688        66 ==      96.5   217.062    -202.5   50.0312
    type = double; i = 7 width = 8:
    [fail]    short_fir(data, taps)  |   82.1875   227.562  -171.656   46.2188     86.25   262.344  -191.219      50.5 ==   52.4375   633.125  -179.531     75.75      70.5   656.094  -153.812   93.8125
    type = double; i = 15 width = 1:
    [fail]    short_fir(data, taps)  |   121.031 ==   93.4688
    type = double; i = 16 width = 2:
    [fail]    short_fir(data, taps)  |   242.781  -186.938 ==   681.812   -135.75
    type = double; i = 18 width = 4:
    [fail]    short_fir(data, taps)  |   66.2812   120.469   242.312   -152.75 ==   116.781   119.188   699.875  -112.781
    type = double; i = 22 width = 8:
    [fail]    short_fir(data, taps)  |    65.125    105.75   281.844  -171.719        70   140.531   262.281  -167.438 ==     142.5    137.25   722.844  -87.0625   160.562   160.219   748.562       -69
    type = double; i = 30 width = 1:
    [fail]    short_fir(data, taps)  |   104.781 ==   183.531
    type = double; i = 31 width = 2:
    [fail]    short_fir(data, taps)  |   120.969   266.562 ==   185.938   766.625
    type = double; i = 33 width = 4:
    [fail]    short_fir(data, taps)  |   48.3438  -95.7812     170.5       307 ==  -46.0312    209.25       204   789.594
    type = double; i = 37 width = 8:
    [fail]    short_fir(data, taps)  |  -146.562      89.5   160.031   281.781  -147.938   124.281   140.469   286.062 ==  -20.3125   227.312   226.969   815.312     -2.25   250.281   252.688   833.375
    type = double; i = 45 width = 1:
    [fail]    short_fir(data, taps)  |  -113.156 ==   20.7188
    type = double; i = 46 width = 2:
    [fail]    short_fir(data, taps)  |   104.719    144.75 ==       276    270.75
    type = double; i = 48 width = 4:
    [fail]    short_fir(data, taps)  |   83.8438   104.281     49.75   172.125 ==   856.344   46.4375   294.062   293.719
    type = double; i = 52 width = 8:
    [fail]    short_fir(data, taps)  |   293.875  -128.438   143.781   159.969   305.562  -93.6562   124.219    164.25 ==   882.062      64.5   317.031   319.438   900.125   87.4688    342.75     337.5
    type = double; i = 60 width = 1:
    [fail]    short_fir(data, taps)  |   340.344 ==   923.094
    type = double; i = 61 width = 2:
    [fail]    short_fir(data, taps)  |  -113.219     128.5 ==   113.188   360.812
    type = double; i = 63 width = 4:
    [fail]    short_fir(data, taps)  |   206.031   313.781  -107.188     163.5 ==   360.469   948.812    131.25   383.781
    type = double; i = 67 width = 8:
    [fail]    short_fir(data, taps)  |   179.688   325.062  -74.1562   143.719    183.75   359.844  -93.7188       148 ==   386.188   966.875   154.219     409.5    404.25   989.844   179.938   427.562
    type = double; i = 75 width = 1:
    [fail]    short_fir(data, taps)  |   218.531 ==   427.219
    type = double; i = 76 width = 2:
    [fail]    short_fir(data, taps)  |   340.281  -89.4375 ==   1015.56       198
    type = double; i = 78 width = 4:
    [fail]    short_fir(data, taps)  |   163.781   217.969   339.812    -55.25 ==   450.531   452.938   1033.62   220.969
    type = double; i = 82 width = 8:
    [fail]    short_fir(data, taps)  |   162.625    203.25   379.344  -74.2188     167.5   238.031   359.781  -69.9375 ==    476.25       471   1056.59   246.688   494.312   493.969   1082.31    264.75
    type = double; i = 90 width = 1:
    [fail]    short_fir(data, taps)  |   202.281 ==   517.281
    type = double; i = 91 width = 2:
    [fail]    short_fir(data, taps)  |   218.469   364.062 ==   519.688   1100.38
    type = double; i = 93 width = 4:
    [fail]    short_fir(data, taps)  |   145.844   1.71875       268     404.5 ==   287.719       543    537.75   1123.34
    type = double; i = 97 width = 2:
    [fail]    short_fir(data, taps)  |  -49.0625       187 ==   313.438   561.062
    type = double; i = 99 width = 1:
    [fail]    short_fir(data, taps)  |   264.531 ==   560.719
    type = double; i = 3 width = 4:
    [fail]    short_fir<taps.size()>(state2, data) |     103.5   210.062  -204.688        66 ==      96.5   217.062    -202.5   50.0312
    type = double; i = 7 width = 8:
    [fail]    short_fir<taps.size()>(state2, data) |   82.1875   227.562  -171.656   46.2188     86.25   262.344  -191.219      50.5 ==   52.4375   633.125  -179.531     75.75      70.5   656.094  -153.812   93.8125
    type = double; i = 15 width = 1:
    [fail]    short_fir<taps.size()>(state2, data) |   121.031 ==   93.4688
    type = double; i = 16 width = 2:
    [fail]    short_fir<taps.size()>(state2, data) |   242.781  -186.938 ==   681.812   -135.75
    type = double; i = 18 width = 4:
    [fail]    short_fir<taps.size()>(state2, data) |   66.2812   120.469   242.312   -152.75 ==   116.781   119.188   699.875  -112.781
    type = double; i = 22 width = 8:
    [fail]    short_fir<taps.size()>(state2, data) |    65.125    105.75   281.844  -171.719        70   140.531   262.281  -167.438 ==     142.5    137.25   722.844  -87.0625   160.562   160.219   748.562       -69
    type = double; i = 30 width = 1:
    [fail]    short_fir<taps.size()>(state2, data) |   104.781 ==   183.531
    type = double; i = 31 width = 2:
    [fail]    short_fir<taps.size()>(state2, data) |   120.969   266.562 ==   185.938   766.625
    type = double; i = 33 width = 4:
    [fail]    short_fir<taps.size()>(state2, data) |   48.3438  -95.7812     170.5       307 ==  -46.0312    209.25       204   789.594
    type = double; i = 37 width = 8:
    [fail]    short_fir<taps.size()>(state2, data) |  -146.562      89.5   160.031   281.781  -147.938   124.281   140.469   286.062 ==  -20.3125   227.312   226.969   815.312     -2.25   250.281   252.688   833.375
    type = double; i = 45 width = 1:
    [fail]    short_fir<taps.size()>(state2, data) |  -113.156 ==   20.7188
    type = double; i = 46 width = 2:
    [fail]    short_fir<taps.size()>(state2, data) |   104.719    144.75 ==       276    270.75
    type = double; i = 48 width = 4:
    [fail]    short_fir<taps.size()>(state2, data) |   83.8438   104.281     49.75   172.125 ==   856.344   46.4375   294.062   293.719
    type = double; i = 52 width = 8:
    [fail]    short_fir<taps.size()>(state2, data) |   293.875  -128.438   143.781   159.969   305.562  -93.6562   124.219    164.25 ==   882.062      64.5   317.031   319.438   900.125   87.4688    342.75     337.5
    type = double; i = 60 width = 1:
    [fail]    short_fir<taps.size()>(state2, data) |   340.344 ==   923.094
    type = double; i = 61 width = 2:
    [fail]    short_fir<taps.size()>(state2, data) |  -113.219     128.5 ==   113.188   360.812
    type = double; i = 63 width = 4:
    [fail]    short_fir<taps.size()>(state2, data) |   206.031   313.781  -107.188     163.5 ==   360.469   948.812    131.25   383.781
    type = double; i = 67 width = 8:
    [fail]    short_fir<taps.size()>(state2, data) |   179.688   325.062  -74.1562   143.719    183.75   359.844  -93.7188       148 ==   386.188   966.875   154.219     409.5    404.25   989.844   179.938   427.562
    type = double; i = 75 width = 1:
    [fail]    short_fir<taps.size()>(state2, data) |   218.531 ==   427.219
    type = double; i = 76 width = 2:
    [fail]    short_fir<taps.size()>(state2, data) |   340.281  -89.4375 ==   1015.56       198
    type = double; i = 78 width = 4:
    [fail]    short_fir<taps.size()>(state2, data) |   163.781   217.969   339.812    -55.25 ==   450.531   452.938   1033.62   220.969
    type = double; i = 82 width = 8:
    [fail]    short_fir<taps.size()>(state2, data) |   162.625    203.25   379.344  -74.2188     167.5   238.031   359.781  -69.9375 ==    476.25       471   1056.59   246.688   494.312   493.969   1082.31    264.75
    type = double; i = 90 width = 1:
    [fail]    short_fir<taps.size()>(state2, data) |   202.281 ==   517.281
    type = double; i = 91 width = 2:
    [fail]    short_fir<taps.size()>(state2, data) |   218.469   364.062 ==   519.688   1100.38
    type = double; i = 93 width = 4:
    [fail]    short_fir<taps.size()>(state2, data) |   145.844   1.71875       268     404.5 ==   287.719       543    537.75   1123.34
    type = double; i = 97 width = 2:
    [fail]    short_fir<taps.size()>(state2, data) |  -49.0625       187 ==   313.438   561.062
    type = double; i = 99 width = 1:
    [fail]    short_fir<taps.size()>(state2, data) |   264.531 ==   560.719
    type = double; i = 0 width = 1:
    [fail]    moving_sum<taps.size()>(data) |         2 ==         1
    type = double; i = 1 width = 2:
    [fail]    moving_sum<taps.size()>(data) |         2      -5.5 ==        -3     -10.5
    type = double; i = 3 width = 4:
    [fail]    moving_sum<taps.size()>(data) |       -13       -15      -7.5     -12.5 ==      92.5      90.5        98        93
    type = double; i = 7 width = 8:
    [fail]    moving_sum<taps.size()>(data) |       -27       -10      -102      -107        -3        14       -78       -83 ==       197       214       122       117       221       238       146       141
    type = double; i = 15 width = 1:
    [fail]    moving_sum<taps.size()>(data) |        21 ==       245
    type = double; i = 16 width = 2:
    [fail]    moving_sum<taps.size()>(data) |        55       -37 ==       262       170
    type = double; i = 18 width = 4:
    [fail]    moving_sum<taps.size()>(data) |        45       149       166        74 ==       165       269       286       194
    type = double; i = 22 width = 8:
    [fail]    moving_sum<taps.size()>(data) |        69       173       190        98        93       197       214       122 ==       189       293       310       218       213       317       334       242
    type = double; i = 30 width = 1:
    [fail]    moving_sum<taps.size()>(data) |       117 ==       237
    type = double; i = 31 width = 2:
    [fail]    moving_sum<taps.size()>(data) |       117       134 ==       341       358
    type = double; i = 33 width = 4:
    [fail]    moving_sum<taps.size()>(data) |       151       146       250       267 ==       266       261       365       382
    type = double; i = 37 width = 8:
    [fail]    moving_sum<taps.size()>(data) |       175       170       274       291       199       194       298       315 ==       290       285       389       406       314       309       413       430
    type = double; i = 45 width = 1:
    [fail]    moving_sum<taps.size()>(data) |       223 ==       338
    type = double; i = 46 width = 2:
    [fail]    moving_sum<taps.size()>(data) |       213       317 ==       333       437
    type = double; i = 48 width = 4:
    [fail]    moving_sum<taps.size()>(data) |       247       155       150       254 ==       454       362       357       461
    type = double; i = 52 width = 8:
    [fail]    moving_sum<taps.size()>(data) |       271       179       174       278       295       203       198       302 ==       478       386       381       485       502       410       405       509
    type = double; i = 60 width = 1:
    [fail]    moving_sum<taps.size()>(data) |       319 ==       526
    type = double; i = 61 width = 2:
    [fail]    moving_sum<taps.size()>(data) |       319       314 ==       434       429
    type = double; i = 63 width = 4:
    [fail]    moving_sum<taps.size()>(data) |       309       326       234       229 ==       533       550       458       453
    type = double; i = 67 width = 8:
    [fail]    moving_sum<taps.size()>(data) |       333       350       258       253       357       374       282       277 ==       557       574       482       477       581       598       506       501
    type = double; i = 75 width = 1:
    [fail]    moving_sum<taps.size()>(data) |       381 ==       605
    type = double; i = 76 width = 2:
    [fail]    moving_sum<taps.size()>(data) |       415       323 ==       622       530
    type = double; i = 78 width = 4:
    [fail]    moving_sum<taps.size()>(data) |       405       509       526       434 ==       525       629       646       554
    type = double; i = 82 width = 8:
    [fail]    moving_sum<taps.size()>(data) |       429       533       550       458       453       557       574       482 ==       549       653       670       578       573       677       694       602
    type = double; i = 90 width = 1:
    [fail]    moving_sum<taps.size()>(data) |       477 ==       597
    type = double; i = 91 width = 2:
    [fail]    moving_sum<taps.size()>(data) |       477       494 ==       701       718
    type = double; i = 93 width = 4:
    [fail]    moving_sum<taps.size()>(data) |       511       506       610       627 ==       626       621       725       742
    type = double; i = 97 width = 2:
    [fail]    moving_sum<taps.size()>(data) |       535       530 ==       650       645
    type = double; i = 99 width = 1:
    [fail]    moving_sum<taps.size()>(data) |       525 ==       749
    type = double; i = 0 width = 1:
    [fail]    moving_sum(msstate1, data) |         2 ==         1
    type = double; i = 1 width = 2:
    [fail]    moving_sum(msstate1, data) |         2      -5.5 ==        -3     -10.5
    type = double; i = 3 width = 4:
    [fail]    moving_sum(msstate1, data) |       -13       -15      -7.5     -11.5 ==      92.5      90.5        98        94
    type = double; i = 7 width = 8:
    [fail]    moving_sum(msstate1, data) |       -25     -15.5      -4.5     -11.5       100       113       121     125.5 ==       194     203.5     214.5     207.5       319       332       340     344.5
    type = double; i = 15 width = 1:
    [fail]    moving_sum(msstate1, data) |        15 ==     459.5
    type = double; i = 16 width = 2:
    [fail]    moving_sum(msstate1, data) |        35      54.5 ==     469.5       489
    type = double; i = 18 width = 4:
    [fail]    moving_sum(msstate1, data) |        51       163     184.5     207.5 ==       497       609     630.5     653.5
    type = double; i = 22 width = 8:
    [fail]    moving_sum(msstate1, data) |       104     227.5     252.5     272.5       289       416       438     469.5 ==     658.5       782       807       827     843.5     970.5     992.5      1024
    type = double; i = 30 width = 1:
    [fail]    moving_sum(msstate1, data) |       271 ==      1044
    type = double; i = 31 width = 2:
    [fail]    moving_sum(msstate1, data) |       271     304.5 ==      1168    1201.5
    type = double; i = 33 width = 4:
    [fail]    moving_sum(msstate1, data) |       338       355     490.5     527.5 ==    1236.5    1253.5      1389      1426
    type = double; i = 37 width = 8:
    [fail]    moving_sum(msstate1, data) |       446     474.5     613.5     647.5       691       723       859     904.5 ==      1458    1486.5    1625.5    1659.5      1703      1735      1871    1916.5
    type = double; i = 45 width = 1:
    [fail]    moving_sum(msstate1, data) |       726 ==    1963.5
    type = double; i = 46 width = 2:
    [fail]    moving_sum(msstate1, data) |       784     931.5 ==    1992.5      2140
    type = double; i = 48 width = 4:
    [fail]    moving_sum(msstate1, data) |       882       926     966.5    1117.5 ==      2189      2233    2273.5    2424.5
    type = double; i = 52 width = 8:
    [fail]    moving_sum(msstate1, data) |      1055    1110.5    1154.5    1302.5      1360      1419      1460    1619.5 ==    2470.5      2526      2570      2718    2775.5    2834.5    2875.5      3035
    type = double; i = 60 width = 1:
    [fail]    moving_sum(msstate1, data) |      1462 ==      3096
    type = double; i = 61 width = 2:
    [fail]    moving_sum(msstate1, data) |      1462    1514.5 ==      3152    3204.5
    type = double; i = 63 width = 4:
    [fail]    moving_sum(msstate1, data) |      1567      1625    1692.5    1748.5 ==    3367.5    3425.5      3493      3549
    type = double; i = 67 width = 8:
    [fail]    moving_sum(msstate1, data) |      1795    1864.5    1935.5    1988.5      2160      2233      2301    2365.5 ==      3709    3778.5    3849.5    3902.5      4074      4147      4215    4279.5
    type = double; i = 75 width = 1:
    [fail]    moving_sum(msstate1, data) |      2315 ==    4454.5
    type = double; i = 76 width = 2:
    [fail]    moving_sum(msstate1, data) |      2455    2534.5 ==    4524.5      4604
    type = double; i = 78 width = 4:
    [fail]    moving_sum(msstate1, data) |      2591      2763    2844.5    2927.5 ==      4672      4844    4925.5    5008.5
    type = double; i = 82 width = 8:
    [fail]    moving_sum(msstate1, data) |      2884    3067.5    3152.5    3232.5      3309      3496      3578    3669.5 ==    5073.5      5257      5342      5422    5498.5    5685.5    5767.5      5859
    type = double; i = 90 width = 1:
    [fail]    moving_sum(msstate1, data) |      3531 ==      5939
    type = double; i = 91 width = 2:
    [fail]    moving_sum(msstate1, data) |      3531    3624.5 ==      6123    6216.5
    type = double; i = 93 width = 4:
    [fail]    moving_sum(msstate1, data) |      3718      3795    3990.5    4087.5 ==    6311.5    6388.5      6584      6681
    type = double; i = 97 width = 2:
    [fail]    moving_sum(msstate1, data) |      4066    4154.5 ==      6773    6861.5
    type = double; i = 99 width = 1:
    [fail]    moving_sum(msstate1, data) |      4243 ==    7060.5
    type = double; i = 0 width = 1:
    [fail]    moving_sum(msstate2, data) |         2 ==         1
    type = double; i = 1 width = 2:
    [fail]    moving_sum(msstate2, data) |         2      -5.5 ==        -3     -10.5
    type = double; i = 3 width = 4:
    [fail]    moving_sum(msstate2, data) |       -13       -15      -7.5     -11.5 ==      92.5      90.5        98        94
    type = double; i = 7 width = 8:
    [fail]    moving_sum(msstate2, data) |       -25     -15.5      -4.5     -11.5       100       113       121     125.5 ==       194     203.5     214.5     207.5       319       332       340     344.5
    type = double; i = 15 width = 1:
    [fail]    moving_sum(msstate2, data) |        15 ==     459.5
    type = double; i = 16 width = 2:
    [fail]    moving_sum(msstate2, data) |        35      54.5 ==     469.5       489
    type = double; i = 18 width = 4:
    [fail]    moving_sum(msstate2, data) |        51       163     184.5     207.5 ==       497       609     630.5     653.5
    type = double; i = 22 width = 8:
    [fail]    moving_sum(msstate2, data) |       104     227.5     252.5     272.5       289       416       438     469.5 ==     658.5       782       807       827     843.5     970.5     992.5      1024
    type = double; i = 30 width = 1:
    [fail]    moving_sum(msstate2, data) |       271 ==      1044
    type = double; i = 31 width = 2:
    [fail]    moving_sum(msstate2, data) |       271     304.5 ==      1168    1201.5
    type = double; i = 33 width = 4:
    [fail]    moving_sum(msstate2, data) |       338       355     490.5     527.5 ==    1236.5    1253.5      1389      1426
    type = double; i = 37 width = 8:
    [fail]    moving_sum(msstate2, data) |       446     474.5     613.5     647.5       691       723       859     904.5 ==      1458    1486.5    1625.5    1659.5      1703      1735      1871    1916.5
    type = double; i = 45 width = 1:
    [fail]    moving_sum(msstate2, data) |       726 ==    1963.5
    type = double; i = 46 width = 2:
    [fail]    moving_sum(msstate2, data) |       784     931.5 ==    1992.5      2140
    type = double; i = 48 width = 4:
    [fail]    moving_sum(msstate2, data) |       882       926     966.5    1117.5 ==      2189      2233    2273.5    2424.5
    type = double; i = 52 width = 8:
    [fail]    moving_sum(msstate2, data) |      1055    1110.5    1154.5    1302.5      1360      1419      1460    1619.5 ==    2470.5      2526      2570      2718    2775.5    2834.5    2875.5      3035
    type = double; i = 60 width = 1:
    [fail]    moving_sum(msstate2, data) |      1462 ==      3096
    type = double; i = 61 width = 2:
    [fail]    moving_sum(msstate2, data) |      1462    1514.5 ==      3152    3204.5
    type = double; i = 63 width = 4:
    [fail]    moving_sum(msstate2, data) |      1567      1625    1692.5    1748.5 ==    3367.5    3425.5      3493      3549
    type = double; i = 67 width = 8:
    [fail]    moving_sum(msstate2, data) |      1795    1864.5    1935.5    1988.5      2160      2233      2301    2365.5 ==      3709    3778.5    3849.5    3902.5      4074      4147      4215    4279.5
    type = double; i = 75 width = 1:
    [fail]    moving_sum(msstate2, data) |      2315 ==    4454.5
    type = double; i = 76 width = 2:
    [fail]    moving_sum(msstate2, data) |      2455    2534.5 ==    4524.5      4604
    type = double; i = 78 width = 4:
    [fail]    moving_sum(msstate2, data) |      2591      2763    2844.5    2927.5 ==      4672      4844    4925.5    5008.5
    type = double; i = 82 width = 8:
    [fail]    moving_sum(msstate2, data) |      2884    3067.5    3152.5    3232.5      3309      3496      3578    3669.5 ==    5073.5      5257      5342      5422    5498.5    5685.5    5767.5      5859
    type = double; i = 90 width = 1:
    [fail]    moving_sum(msstate2, data) |      3531 ==      5939
    type = double; i = 91 width = 2:
    [fail]    moving_sum(msstate2, data) |      3531    3624.5 ==      6123    6216.5
    type = double; i = 93 width = 4:
    [fail]    moving_sum(msstate2, data) |      3718      3795    3990.5    4087.5 ==    6311.5    6388.5      6584      6681
    type = double; i = 97 width = 2:
    [fail]    moving_sum(msstate2, data) |      4066    4154.5 ==      6773    6861.5
    type = double; i = 99 width = 1:
    [fail]    moving_sum(msstate2, data) |      4243 ==    7060.5
[----RUN----] fir_different...
[---ERROR---] 17 subtests of 38
    i = 1 width = 2:
    [fail]    fir(data, taps)        |         4      -1.5 ==        -2     -12.5
    i = 3 width = 4:
    [fail]    fir(data, taps)        |       -22       172       -68       396 ==        80     165.5     282.5       417
    i = 7 width = 8:
    [fail]    fir(data, taps)        |       -32     269.5         6       450        48       324        -4     528.5 ==     106.5     227.5       314     443.5     168.5       259     340.5     505.5
    i = 15 width = 16:
    [fail]    fir(data, taps)        |       122       304        76       528       112     401.5       150       582
      192       456       140     660.5       266       436       220       660 ==       200     285.5     402.5       537     226.5     347.5       434     563.5
    288.5       379     460.5     625.5       320     405.5     522.5       657
    i = 31 width = 1:
    [fail]    fir(data, taps)        |       256 ==     346.5
    i = 32 width = 2:
    [fail]    fir(data, taps)        |     533.5       294 ==     467.5       554
    i = 34 width = 4:
    [fail]    fir(data, taps)        |       714       336       588       284 ==     683.5     408.5       499     580.5
    i = 38 width = 8:
    [fail]    fir(data, taps)        |     792.5       410       568       364       792       400     665.5       438 ==     745.5       440     525.5     642.5       777     466.5     587.5       674
    i = 46 width = 16:
    [fail]    fir(data, taps)        |       846       480       720       428     924.5       554       700       508
      924       544     797.5       582       978       624       852       572 ==     803.5     528.5       619     700.5     865.5       560     645.5     762.5
      897     586.5     707.5       794     923.5     648.5       739     820.5
    i = 62 width = 1:
    [fail]    fir(data, taps)        |    1056.5 ==     985.5
    i = 63 width = 2:
    [fail]    fir(data, taps)        |       698       832 ==       680     765.5
    i = 65 width = 4:
    [fail]    fir(data, taps)        |       652      1056       688     929.5 ==     882.5      1017     706.5     827.5
    i = 69 width = 8:
    [fail]    fir(data, taps)        |       726      1110       768       984       716    1188.5       842       964 ==       914    1043.5     768.5       859     940.5    1105.5       800     885.5
    i = 77 width = 16:
    [fail]    fir(data, taps)        |       796      1188       832    1061.5       870      1242       912      1116
      860    1320.5       986      1096       940      1320       976    1193.5 ==    1002.5      1137     826.5     947.5      1034    1163.5     888.5       979
   1060.5    1225.5       920    1005.5    1122.5      1257     946.5    1067.5
    i = 93 width = 1:
    [fail]    fir(data, taps)        |      1014 ==      1154
    i = 94 width = 2:
    [fail]    fir(data, taps)        |      1374      1056 ==    1283.5    1008.5
    i = 96 width = 4:
    [fail]    fir(data, taps)        |      1248      1004    1452.5      1130 ==      1099    1180.5    1345.5      1040
[----RUN----] fir_complex...
[--SUCCESS--] 60 subtests of 60
[----RUN----] biquad_lowpass1...
[--SUCCESS--] 2 subtests of 2
[----RUN----] biquad_lowpass2...
[--SUCCESS--] 2 subtests of 2
[----RUN----] resampler_test...
[---ERROR---] 1 subtests of 1
    [fail]    rms(slice(out - ref, static_cast<size_t>(ceil(delay * 2)))) < 0.005f | 0.478107 < 0.005
[----RUN----] pack...
[--SUCCESS--] 18 subtests of 18
[----RUN----] adjacent...
[--SUCCESS--] 37 subtests of 37
[----RUN----] padded...
[--SUCCESS--] 111 subtests of 111
[----RUN----] rebind...
[--SUCCESS--] 74 subtests of 74
[----RUN----] test_arg_access...
[--SUCCESS--] 6 subtests of 6
[----RUN----] to_pointer...
[--SUCCESS--] 74 subtests of 74
[----RUN----] test_arg_replace...
[--SUCCESS--] 6 subtests of 6
[----RUN----] placeholders...
[--SUCCESS--] 74 subtests of 74
[----RUN----] placeholders_pointer...
[--SUCCESS--] 74 subtests of 74
[----RUN----] univector_assignment...
[--SUCCESS--] 2 subtests of 2
[----RUN----] size_calc...
[--SUCCESS--] 4 subtests of 4
[----RUN----] reverse...
[--SUCCESS--] 8 subtests of 8
[----RUN----] mix...
[--SUCCESS--] 37 subtests of 37
[----RUN----] expression_mask...
[--SUCCESS--] 0 subtests of 0
[----RUN----] partition...
[---ERROR---] 8 subtests of 12
    [fail]    sum(output) >= fast_range_sum(80 - 1) | 3120 >= 3160
    [fail]    sum(output) >= fast_range_sum(160 - 1) | 12640 >= 12720
    [fail]    sum(output) >= fast_range_sum(240 - 1) | 28560 >= 28680
    [fail]    sum(output) >= fast_range_sum(320 - 1) | 50880 >= 51040
    [fail]    sum(output) == fast_range_sum(385 - 1) | 73728 == 73920
    [fail]    sum(output) >= fast_range_sum(160 - 1) | 12640 >= 12720
    [fail]    sum(output) >= fast_range_sum(320 - 1) | 50880 >= 51040
    [fail]    sum(output) == fast_range_sum(385 - 1) | 73728 == 73920
[----RUN----] intrin_sqrt...
[--SUCCESS--] 17 subtests of 17
[----RUN----] intrin_satadd_satsub...
[--SUCCESS--] 128 subtests of 128
[----RUN----] intrin_any_all...
[--SUCCESS--] 48 subtests of 48
[----RUN----] write_wav_file...
[--SUCCESS--] 2 subtests of 2
[----RUN----] read_wav_file...
[--SUCCESS--] 6 subtests of 6
[----RUN----] read_flac_file...
[--SUCCESS--] 6 subtests of 6
[----RUN----] read_mp3_file...
[--SUCCESS--] 6 subtests of 6
[----RUN----] sample_conversion...
[--SUCCESS--] 24 subtests of 24
[----RUN----] sample_interleave_deinterleave...
[--SUCCESS--] 4 subtests of 4
[----RUN----] fraction...
[--SUCCESS--] 19 subtests of 19
[----RUN----] random_bit_generator...
[--SUCCESS--] 24 subtests of 24
[----RUN----] gen_random_range...
0.0441583
[--SUCCESS--] 2 subtests of 2
[----RUN----] reduce...
[---ERROR---] 7 subtests of 26
    [fail]    sum(a) == 6            | 18 == 6
    [fail]    mean(a) == 1           | 3 == 1
    [fail]    minof(a) == -9         | 1 == -9
    [fail]    absmaxof(a) == 9       | 5 == 9
    [fail]    sumsqr(a) == 136       | 70 == 136
    [fail]    rms(a) == 4.760952285695233 | 3.41565 == 4.76095
    [fail]    product(a) == -1080    | 225 == -1080
[----RUN----] color...
[--SUCCESS--] 20 subtests of 20
[----RUN----] abs...
[--SUCCESS--] 920 subtests of 920
[----RUN----] asin_narrow...
measured accuracy: float 0.4296(peak 6)
measured accuracy: float 0.4296(peak 6)
measured accuracy: float 0.4296(peak 6)
measured accuracy: float 0.4296(peak 6)
measured accuracy: float 0.4296(peak 6)
measured accuracy: float 0.4296(peak 6)
measured accuracy: float 0.4296(peak 6)
measured accuracy: double 0.3541(peak 5)
measured accuracy: double 0.3541(peak 5)
measured accuracy: double 0.3541(peak 5)
measured accuracy: double 0.3541(peak 5)
measured accuracy: double 0.3541(peak 5)
measured accuracy: double 0.3541(peak 5)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] acos_narrow...
measured accuracy: float 0.7653(peak 379)
measured accuracy: float 0.7653(peak 379)
measured accuracy: float 0.7653(peak 379)
measured accuracy: float 0.7653(peak 379)
measured accuracy: float 0.7653(peak 379)
measured accuracy: float 0.7653(peak 379)
measured accuracy: float 0.7653(peak 379)
measured accuracy: double 0.7139(peak 795)
measured accuracy: double 0.7139(peak 795)
measured accuracy: double 0.7139(peak 795)
measured accuracy: double 0.7139(peak 795)
measured accuracy: double 0.7139(peak 795)
measured accuracy: double 0.7139(peak 795)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] atan_narrow...
measured accuracy: float 0.1788(peak 2)
measured accuracy: float 0.1788(peak 2)
measured accuracy: float 0.1788(peak 2)
measured accuracy: float 0.1788(peak 2)
measured accuracy: float 0.1788(peak 2)
measured accuracy: float 0.1788(peak 2)
measured accuracy: float 0.1788(peak 2)
measured accuracy: double 0.1517(peak 1)
measured accuracy: double 0.1517(peak 1)
measured accuracy: double 0.1517(peak 1)
measured accuracy: double 0.1517(peak 1)
measured accuracy: double 0.1517(peak 1)
measured accuracy: double 0.1517(peak 1)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] atan2_narrow...
measured accuracy: float 0.4057(peak 2)
measured accuracy: float 0.4057(peak 2)
measured accuracy: float 0.4057(peak 2)
measured accuracy: float 0.4057(peak 2)
measured accuracy: float 0.4057(peak 2)
measured accuracy: float 0.4057(peak 2)
measured accuracy: float 0.4057(peak 2)
measured accuracy: double 0.3059(peak 2)
measured accuracy: double 0.3059(peak 2)
measured accuracy: double 0.3059(peak 2)
measured accuracy: double 0.3059(peak 2)
measured accuracy: double 0.3059(peak 2)
measured accuracy: double 0.3059(peak 2)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] sinh_narrow...
measured accuracy: float 0.278(peak 48)
measured accuracy: float 0.278(peak 48)
measured accuracy: float 0.278(peak 48)
measured accuracy: float 0.278(peak 48)
measured accuracy: float 0.278(peak 48)
measured accuracy: float 0.278(peak 48)
measured accuracy: float 0.278(peak 48)
measured accuracy: double 2.1702(peak 114)
measured accuracy: double 2.1702(peak 114)
measured accuracy: double 2.1702(peak 114)
measured accuracy: double 2.1702(peak 114)
measured accuracy: double 2.1702(peak 114)
measured accuracy: double 2.1702(peak 114)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] cosh_narrow...
measured accuracy: float 0.225(peak 1)
measured accuracy: float 0.225(peak 1)
measured accuracy: float 0.225(peak 1)
measured accuracy: float 0.225(peak 1)
measured accuracy: float 0.225(peak 1)
measured accuracy: float 0.225(peak 1)
measured accuracy: float 0.225(peak 1)
measured accuracy: double 2.1152(peak 7)
measured accuracy: double 2.1152(peak 7)
measured accuracy: double 2.1152(peak 7)
measured accuracy: double 2.1152(peak 7)
measured accuracy: double 2.1152(peak 7)
measured accuracy: double 2.1152(peak 7)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] tanh_narrow...
measured accuracy: float 0.0883(peak 28)
measured accuracy: float 0.0883(peak 28)
measured accuracy: float 0.0883(peak 28)
measured accuracy: float 0.0883(peak 28)
measured accuracy: float 0.0883(peak 28)
measured accuracy: float 0.0883(peak 28)
measured accuracy: float 0.0883(peak 28)
measured accuracy: double 0.0982(peak 44)
measured accuracy: double 0.0982(peak 44)
measured accuracy: double 0.0982(peak 44)
measured accuracy: double 0.0982(peak 44)
measured accuracy: double 0.0982(peak 44)
measured accuracy: double 0.0982(peak 44)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] coth_narrow...
measured accuracy: float 0.0639(peak 53)
measured accuracy: float 0.0639(peak 53)
measured accuracy: float 0.0639(peak 53)
measured accuracy: float 0.0639(peak 53)
measured accuracy: float 0.0639(peak 53)
measured accuracy: float 0.0639(peak 53)
measured accuracy: float 0.0639(peak 53)
measured accuracy: double 0.0786(peak 85)
measured accuracy: double 0.0786(peak 85)
measured accuracy: double 0.0786(peak 85)
measured accuracy: double 0.0786(peak 85)
measured accuracy: double 0.0786(peak 85)
measured accuracy: double 0.0786(peak 85)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] gamma_narrow...
measured accuracy: float 122.159(peak 1213)
measured accuracy: float 122.159(peak 1213)
measured accuracy: float 122.159(peak 1213)
measured accuracy: float 122.159(peak 1213)
measured accuracy: float 122.159(peak 1213)
measured accuracy: float 122.159(peak 1213)
measured accuracy: float 122.159(peak 1213)
measured accuracy: double 320.755(peak 2158)
measured accuracy: double 320.755(peak 2158)
measured accuracy: double 320.755(peak 2158)
measured accuracy: double 320.755(peak 2158)
measured accuracy: double 320.755(peak 2158)
measured accuracy: double 320.755(peak 2158)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] exp_narrow...
measured accuracy: float 0.1582(peak 1)
measured accuracy: float 0.1582(peak 1)
measured accuracy: float 0.1582(peak 1)
measured accuracy: float 0.1582(peak 1)
measured accuracy: float 0.1582(peak 1)
measured accuracy: float 0.1582(peak 1)
measured accuracy: float 0.1582(peak 1)
measured accuracy: double 1.0921(peak 4)
measured accuracy: double 1.0921(peak 4)
measured accuracy: double 1.0921(peak 4)
measured accuracy: double 1.0921(peak 4)
measured accuracy: double 1.0921(peak 4)
measured accuracy: double 1.0921(peak 4)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] exp2_narrow...
measured accuracy: float 0.9107(peak 5)
measured accuracy: float 0.9107(peak 5)
measured accuracy: float 0.9107(peak 5)
measured accuracy: float 0.9107(peak 5)
measured accuracy: float 0.9107(peak 5)
measured accuracy: float 0.9107(peak 5)
measured accuracy: float 0.9107(peak 5)
measured accuracy: double 0.9047(peak 5)
measured accuracy: double 0.9047(peak 5)
measured accuracy: double 0.9047(peak 5)
measured accuracy: double 0.9047(peak 5)
measured accuracy: double 0.9047(peak 5)
measured accuracy: double 0.9047(peak 5)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] exp10_narrow...
measured accuracy: float 3.4232(peak 21)
measured accuracy: float 3.4232(peak 21)
measured accuracy: float 3.4232(peak 21)
measured accuracy: float 3.4232(peak 21)
measured accuracy: float 3.4232(peak 21)
measured accuracy: float 3.4232(peak 21)
measured accuracy: float 3.4232(peak 21)
measured accuracy: double 9.5492(peak 40)
measured accuracy: double 9.5492(peak 40)
measured accuracy: double 9.5492(peak 40)
measured accuracy: double 9.5492(peak 40)
measured accuracy: double 9.5492(peak 40)
measured accuracy: double 9.5492(peak 40)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] log_narrow...
measured accuracy: float 0.0524(peak 2)
measured accuracy: float 0.0524(peak 2)
measured accuracy: float 0.0524(peak 2)
measured accuracy: float 0.0524(peak 2)
measured accuracy: float 0.0524(peak 2)
measured accuracy: float 0.0524(peak 2)
measured accuracy: float 0.0524(peak 2)
measured accuracy: double 0.3325(peak 2)
measured accuracy: double 0.3325(peak 2)
measured accuracy: double 0.3325(peak 2)
measured accuracy: double 0.3325(peak 2)
measured accuracy: double 0.3325(peak 2)
measured accuracy: double 0.3325(peak 2)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] log2_narrow...
measured accuracy: float 0.3055(peak 2)
measured accuracy: float 0.3055(peak 2)
measured accuracy: float 0.3055(peak 2)
measured accuracy: float 0.3055(peak 2)
measured accuracy: float 0.3055(peak 2)
measured accuracy: float 0.3055(peak 2)
measured accuracy: float 0.3055(peak 2)
measured accuracy: double 0.5164(peak 2)
measured accuracy: double 0.5164(peak 2)
measured accuracy: double 0.5164(peak 2)
measured accuracy: double 0.5164(peak 2)
measured accuracy: double 0.5164(peak 2)
measured accuracy: double 0.5164(peak 2)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] log10_narrow...
measured accuracy: float 0.4301(peak 2)
measured accuracy: float 0.4301(peak 2)
measured accuracy: float 0.4301(peak 2)
measured accuracy: float 0.4301(peak 2)
measured accuracy: float 0.4301(peak 2)
measured accuracy: float 0.4301(peak 2)
measured accuracy: float 0.4301(peak 2)
measured accuracy: double 0.662(peak 3)
measured accuracy: double 0.662(peak 3)
measured accuracy: double 0.662(peak 3)
measured accuracy: double 0.662(peak 3)
measured accuracy: double 0.662(peak 3)
measured accuracy: double 0.662(peak 3)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] cbrt_narrow...
measured accuracy: float 0.9066(peak 5)
measured accuracy: float 0.9066(peak 5)
measured accuracy: float 0.9066(peak 5)
measured accuracy: float 0.9066(peak 5)
measured accuracy: float 0.9066(peak 5)
measured accuracy: float 0.9066(peak 5)
measured accuracy: float 0.9066(peak 5)
measured accuracy: double 0.8414(peak 4)
measured accuracy: double 0.8414(peak 4)
measured accuracy: double 0.8414(peak 4)
measured accuracy: double 0.8414(peak 4)
measured accuracy: double 0.8414(peak 4)
measured accuracy: double 0.8414(peak 4)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] min...
[--SUCCESS--] 13520 subtests of 13520
[----RUN----] max...
[--SUCCESS--] 13520 subtests of 13520
[----RUN----] absmin...
[--SUCCESS--] 12176 subtests of 12176
[----RUN----] absmax...
[--SUCCESS--] 12176 subtests of 12176
[----RUN----] floor...
[--SUCCESS--] 920 subtests of 920
[----RUN----] ceil...
[--SUCCESS--] 920 subtests of 920
[----RUN----] trunc...
[--SUCCESS--] 920 subtests of 920
[----RUN----] round...
[--SUCCESS--] 920 subtests of 920
[----RUN----] fract...
[--SUCCESS--] 920 subtests of 920
[----RUN----] select_true...
[--SUCCESS--] 9020 subtests of 9020
[----RUN----] select_false...
[--SUCCESS--] 9020 subtests of 9020
[----RUN----] sin_narrow...
measured accuracy: float 0.1709(peak 2)
measured accuracy: float 0.1709(peak 2)
measured accuracy: float 0.1709(peak 2)
measured accuracy: float 0.1709(peak 2)
measured accuracy: float 0.1709(peak 2)
measured accuracy: float 0.1709(peak 2)
measured accuracy: float 0.1709(peak 2)
measured accuracy: double 0.1825(peak 7)
measured accuracy: double 0.1825(peak 7)
measured accuracy: double 0.1825(peak 7)
measured accuracy: double 0.1825(peak 7)
measured accuracy: double 0.1825(peak 7)
measured accuracy: double 0.1825(peak 7)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] cos_narrow...
measured accuracy: float 0.2096(peak 2)
measured accuracy: float 0.2096(peak 2)
measured accuracy: float 0.2096(peak 2)
measured accuracy: float 0.2096(peak 2)
measured accuracy: float 0.2096(peak 2)
measured accuracy: float 0.2096(peak 2)
measured accuracy: float 0.2096(peak 2)
measured accuracy: double 0.201(peak 2)
measured accuracy: double 0.201(peak 2)
measured accuracy: double 0.201(peak 2)
measured accuracy: double 0.201(peak 2)
measured accuracy: double 0.201(peak 2)
measured accuracy: double 0.201(peak 2)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] tan_narrow...
measured accuracy: float 0.4183(peak 2)
measured accuracy: float 0.4183(peak 2)
measured accuracy: float 0.4183(peak 2)
measured accuracy: float 0.4183(peak 2)
measured accuracy: float 0.4183(peak 2)
measured accuracy: float 0.4183(peak 2)
measured accuracy: float 0.4183(peak 2)
measured accuracy: double 0.589(peak 7)
measured accuracy: double 0.589(peak 7)
measured accuracy: double 0.589(peak 7)
measured accuracy: double 0.589(peak 7)
measured accuracy: double 0.589(peak 7)
measured accuracy: double 0.589(peak 7)
[--SUCCESS--] 130026 subtests of 130026
[----RUN----] complex_convertible...
[---ERROR---] 1 subtests of 6
    [fail]    static_cast<vec<complex<double>, 2>>(vec<complex<float>, 2>{ c32{ 1.f, 2.f }, c32{ 1.f, 2.f } }) == vec<complex<double>, 2>{ c64{ 1., 2. }, c64{ 1., 2. } } | kfr::neon64::vec<kfr::complex<double>, 2> == kfr::neon64::vec<kfr::complex<double>, 2>
[----RUN----] neg...
[--SUCCESS--] 620 subtests of 620
[----RUN----] bnot...
[--SUCCESS--] 620 subtests of 620
[----RUN----] add...
[--SUCCESS--] 9020 subtests of 9020
[----RUN----] sub...
[--SUCCESS--] 9020 subtests of 9020
[----RUN----] mul...
[--SUCCESS--] 9020 subtests of 9020
[----RUN----] div...
[--SUCCESS--] 9020 subtests of 9020
[----RUN----] bor...
[--SUCCESS--] 9020 subtests of 9020
[----RUN----] bxor...
[--SUCCESS--] 9020 subtests of 9020
[----RUN----] band...
[--SUCCESS--] 9020 subtests of 9020
[----RUN----] shl...
[--SUCCESS--] 1530 subtests of 1530
[----RUN----] shr...
[--SUCCESS--] 1530 subtests of 1530
[----RUN----] eq...
[--SUCCESS--] 9020 subtests of 9020
[----RUN----] ne...
[--SUCCESS--] 9020 subtests of 9020
[----RUN----] ge...
[--SUCCESS--] 9020 subtests of 9020
[----RUN----] le...
[--SUCCESS--] 9020 subtests of 9020
[----RUN----] gt...
[--SUCCESS--] 9020 subtests of 9020
[----RUN----] lt...
[--SUCCESS--] 9020 subtests of 9020
[----RUN----] horner...
[--SUCCESS--] 3 subtests of 3
[----RUN----] matrix...
[--SUCCESS--] 4 subtests of 4
[----RUN----] apply...
[--SUCCESS--] 2 subtests of 2
[----RUN----] concat...
[--SUCCESS--] 1 subtests of 1
[----RUN----] reverse...
[--SUCCESS--] 3 subtests of 3
[----RUN----] shuffle...
[--SUCCESS--] 2 subtests of 2
[----RUN----] permute...
[--SUCCESS--] 2 subtests of 2
[----RUN----] blend...
[--SUCCESS--] 2 subtests of 2
[----RUN----] duplicate_shuffle...
[--SUCCESS--] 4 subtests of 4
[----RUN----] split_interleave...
[--SUCCESS--] 8 subtests of 8
[----RUN----] zip...
[--SUCCESS--] 2 subtests of 2
[----RUN----] column...
[--SUCCESS--] 2 subtests of 2
[----RUN----] broadcast...
[--SUCCESS--] 7 subtests of 7
[----RUN----] resize...
[--SUCCESS--] 3 subtests of 3
[----RUN----] make_vector...
[--SUCCESS--] 6 subtests of 6
[----RUN----] zerovector...
[--SUCCESS--] 2 subtests of 2
[----RUN----] allonesvector...
[--SUCCESS--] 4 subtests of 4
[----RUN----] transpose...
[--SUCCESS--] 1 subtests of 1
[----RUN----] odd_even...
[--SUCCESS--] 4 subtests of 4
[----RUN----] low_high...
[--SUCCESS--] 14 subtests of 14
[----RUN----] mask_op...
[--SUCCESS--] 5 subtests of 5
[----RUN----] cones...
[--SUCCESS--] 2 subtests of 2
[----RUN----] vec_broadcast...
[--SUCCESS--] 3 subtests of 3
[----RUN----] cast...
[--SUCCESS--] 7606 subtests of 7606
[----RUN----] unaligned_read...
[--SUCCESS--] 30 subtests of 30
[----RUN----] mask_broadcast...
[--SUCCESS--] 4 subtests of 4
[----RUN----] masks...
[--SUCCESS--] 8 subtests of 8
[----RUN----] test_convolve...
[---ERROR---] 1 subtests of 2
    [fail]    rms(c - univector<fbase>({ 0.25, 1., 2.75, 2.5, 3.75, 3.5, 1.5, -4., 7.5 })) < 0.0001 | 2.42108 < 0.0001
[----RUN----] test_complex_convolve...
[---ERROR---] 1 subtests of 2
    [fail]    rms(cabs(c - univector<complex<fbase>>({ 0.25, 1., 2.75, 2.5, 3.75, 3.5, 1.5, -4., 7.5 }))) < 0.0001 | 2.42108 < 0.0001
[----RUN----] test_convolve_filter...
[---ERROR---] 1 subtests of 1
    [fail]    rms(dest - univector<fbase>({ 0.25, 1., 2.75, 2.5, 3.75 })) < 0.0001 | 2.01003 < 0.0001
[----RUN----] test_complex_convolve_filter...
[---ERROR---] 2 subtests of 3
    [fail]    rms(cabs(dest - univector<complex<fbase>>({ 0.25, 1., 2.75, 2.5, 3.75 }))) < 0.0001 | 3.27828 < 0.0001
    [fail]    rms(cabs(dest - univector<complex<fbase>>({ 0.25, 1., 2.75, 2.5, 3.75 }))) < 0.0001 | 3.27828 < 0.0001
[----RUN----] test_correlate...
[---ERROR---] 1 subtests of 2
    [fail]    rms(c - univector<fbase>({ 1.5, 1., 1.5, 2.5, 3.75, -4., 7.75, 3.5, 1.25 })) < 0.0001 | 2.77475 < 0.0001
[----RUN----] test_complex_correlate...
[---ERROR---] 1 subtests of 2
    [fail]    rms(cabs(c - univector<fbase>({ 1.5, 1., 1.5, 2.5, 3.75, -4., 7.75, 3.5, 1.25 }))) < 0.0001 | 2.77475 < 0.0001
[----RUN----] fft_real...
[---ERROR---] 1 subtests of 1
    [fail]    rms(rev - in) <= 0.00001f | 0.422544 <= 1e-05
[----RUN----] fft_accuracy...
        2         4         8        16        32        64       128       256
      512      1024      2048         3         5         6         7         9
       10        11        12        13        14        15        17        18
       19        20        21        22        23        24        25        26
       27        28        29        30        31        33        34        35
       36        37        38        39        40        41        42        43
       44        45        46        47        48        49        50        51
       52        53        54        55        56        57        58        59
       60        61        62        63        65        66        67        68
       69        70        71        72        73        74        75        76
       77        78        79        80        81        82        83        84
       85        86        87        88        89        90        91        92
       93        94        95        96        97        98        99       100

type = float, size = 2:

type = float, size = 2; complex-direct:
kfr::neon64::intrinsics::fft_specialization<float, 1> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 1, 0, 0
..
type = float, size = 2; complex-inverse:
..
type = float, size = 4:

type = float, size = 4; complex-direct:
kfr::neon64::intrinsics::fft_specialization<float, 2> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 1, 0, 0
..
type = float, size = 4; complex-inverse:
..
type = float, size = 4; real-direct:
..
type = float, size = 8:

type = float, size = 8; complex-direct:
kfr::neon64::intrinsics::fft_specialization<float, 3> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 1, 0, 0
..
type = float, size = 8; complex-inverse:
..
type = float, size = 8; real-direct:
..
type = float, size = 16:

type = float, size = 16; complex-direct:
kfr::neon64::intrinsics::fft_specialization<float, 4> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 1, 0, 0
..
type = float, size = 16; complex-inverse:
..
type = float, size = 16; real-direct:
..
type = float, size = 32:

type = float, size = 32; complex-direct:
kfr::neon64::intrinsics::fft_specialization<float, 5> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 1, 0, 0
..
type = float, size = 32; complex-inverse:
..
type = float, size = 32; real-direct:
..
type = float, size = 64:

type = float, size = 64; complex-direct:
kfr::neon64::intrinsics::fft_specialization<float, 6> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 1, 0, 0
..
type = float, size = 64; complex-inverse:
..
type = float, size = 64; real-direct:
..
type = float, size = 128:

type = float, size = 128; complex-direct:
kfr::neon64::intrinsics::fft_specialization<float, 7> &: 
        0,  128, 1536,    0,    1,    0,    0, 0, 1, 0, 0
..
type = float, size = 128; complex-inverse:
..
type = float, size = 128; real-direct:
..
type = float, size = 256:

type = float, size = 256; complex-direct:
kfr::neon64::intrinsics::fft_specialization<float, 8> &: 
        0,    0,    0, 2048,    1,    0,    0, 0, 1, 0, 0
..
type = float, size = 256; complex-inverse:
..
type = float, size = 256; real-direct:
..
type = float, size = 512:

type = float, size = 512; complex-direct:
kfr::neon64::intrinsics::fft_specialization<float, 9> &: 
      512,  512, 6144,    0,    4,  512,    0, 1, 1, 0, 0
..
type = float, size = 512; complex-inverse:
..
type = float, size = 512; real-direct:
..
type = float, size = 1024:

type = float, size = 1024; complex-direct:
kfr::neon64::intrinsics::fft_specialization<float, 10> &: 
     1024, 1024,12288,    0,    4, 1024,    0, 1, 1, 0, 0
..
type = float, size = 1024; complex-inverse:
..
type = float, size = 1024; real-direct:
..
type = float, size = 2048:

type = float, size = 2048; complex-direct:
kfr::neon64::intrinsics::fft_stage_impl<float, false, false> &: 
        4, 2048,12288,    0,    4,    0,    0, 1, 1, 0, 0
kfr::neon64::intrinsics::fft_final_stage_impl<float, true, 512> &: 
      512,  512, 6144,    0,    4,  512,    0, 1, 1, 0, 0
kfr::neon64::intrinsics::fft_reorder_stage_impl<float, false> &: 
        0, 2048,    0,    0,    1,    0,    0, 0, 1, 0, 0
..
type = float, size = 2048; complex-inverse:
..
type = float, size = 2048; real-direct:
..
type = float, size = 3:

type = float, size = 3; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 3> &: 
        3,    0,    0,    0,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 3; complex-inverse:
..
type = float, size = 5:

type = float, size = 5; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 5> &: 
        5,    0,    0,    0,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 5; complex-inverse:
..
type = float, size = 6:

type = float, size = 6; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 6> &: 
        6,    0,    0,    0,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 6; complex-inverse:
..
type = float, size = 7:

type = float, size = 7; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 7> &: 
        7,    0,    0,    0,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 7; complex-inverse:
..
type = float, size = 9:

type = float, size = 9; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 9> &: 
        9,    0,    0,    0,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 9; complex-inverse:
..
type = float, size = 10:

type = float, size = 10; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 10> &: 
       10,    0,    0,    0,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 10; complex-inverse:
..
type = float, size = 11:

type = float, size = 11; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       11,    0,  256,  128,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 11; complex-inverse:
..
type = float, size = 12:

type = float, size = 12; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,   64,    0,    6,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 6> &: 
        6,    0,    0,    0,    1,    0,    2, 0, 0, 0, 0
..
type = float, size = 12; complex-inverse:
..
type = float, size = 13:

type = float, size = 13; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       13,    0,  320,  128,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 13; complex-inverse:
..
type = float, size = 14:

type = float, size = 14; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,   64,    0,    7,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 7> &: 
        7,    0,    0,    0,    1,    0,    2, 0, 0, 0, 0
..
type = float, size = 14; complex-inverse:
..
type = float, size = 15:

type = float, size = 15; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 3> &: 
        3,    0,  128,    0,    5,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 5> &: 
        5,    0,    0,    0,    1,    0,    3, 0, 0, 0, 0
..
type = float, size = 15; complex-inverse:
..
type = float, size = 17:

type = float, size = 17; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       17,    0,  512,  192,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 17; complex-inverse:
..
type = float, size = 18:

type = float, size = 18; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  128,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 9> &: 
        9,    0,    0,    0,    1,    0,    2, 0, 0, 0, 0
..
type = float, size = 18; complex-inverse:
..
type = float, size = 19:

type = float, size = 19; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       19,    0,  704,  192,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 19; complex-inverse:
..
type = float, size = 20:

type = float, size = 20; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  128,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 10> &: 
       10,    0,    0,    0,    1,    0,    2, 0, 0, 0, 0
..
type = float, size = 20; complex-inverse:
..
type = float, size = 21:

type = float, size = 21; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 3> &: 
        3,    0,  128,    0,    7,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 7> &: 
        7,    0,    0,    0,    1,    0,    3, 0, 0, 0, 0
..
type = float, size = 21; complex-inverse:
..
type = float, size = 22:

type = float, size = 22; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  128,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       11,    0,  256,  128,    1,    0,    2, 0, 0, 0, 0
..
type = float, size = 22; complex-inverse:
..
type = float, size = 23:

type = float, size = 23; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       23,    0, 1024,  192,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 23; complex-inverse:
..
type = float, size = 24:

type = float, size = 24; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 3> &: 
        3,    0,  128,    0,    8,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 8> &: 
        8,    0,    0,    0,    1,    0,    3, 0, 0, 0, 0
..
type = float, size = 24; complex-inverse:
..
type = float, size = 25:

type = float, size = 25; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 5> &: 
        5,    0,  192,    0,    5,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 5> &: 
        5,    0,    0,    0,    1,    0,    5, 0, 0, 0, 0
..
type = float, size = 25; complex-inverse:
..
type = float, size = 26:

type = float, size = 26; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  128,    0,   13,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       13,    0,  320,  128,    1,    0,    2, 0, 0, 0, 0
..
type = float, size = 26; complex-inverse:
..
type = float, size = 27:

type = float, size = 27; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 3> &: 
        3,    0,  192,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 9> &: 
        9,    0,    0,    0,    1,    0,    3, 0, 0, 0, 0
..
type = float, size = 27; complex-inverse:
..
type = float, size = 28:

type = float, size = 28; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 4> &: 
        4,    0,  192,    0,    7,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 7> &: 
        7,    0,    0,    0,    1,    0,    4, 0, 0, 0, 0
..
type = float, size = 28; complex-inverse:
..
type = float, size = 29:

type = float, size = 29; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       29,    0, 1600,  256,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 29; complex-inverse:
..
type = float, size = 30:

type = float, size = 30; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 3> &: 
        3,    0,  192,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 10> &: 
       10,    0,    0,    0,    1,    0,    3, 0, 0, 0, 0
..
type = float, size = 30; complex-inverse:
..
type = float, size = 31:

type = float, size = 31; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       31,    0, 1856,  256,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 31; complex-inverse:
..
type = float, size = 33:

type = float, size = 33; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 3> &: 
        3,    0,  192,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       11,    0,  256,  128,    1,    0,    3, 0, 0, 0, 0
..
type = float, size = 33; complex-inverse:
..
type = float, size = 34:

type = float, size = 34; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  192,    0,   17,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       17,    0,  512,  192,    1,    0,    2, 0, 0, 0, 0
..
type = float, size = 34; complex-inverse:
..
type = float, size = 35:

type = float, size = 35; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 5> &: 
        5,    0,  256,    0,    7,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 7> &: 
        7,    0,    0,    0,    1,    0,    5, 0, 0, 0, 0
..
type = float, size = 35; complex-inverse:
..
type = float, size = 36:

type = float, size = 36; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 4> &: 
        4,    0,  256,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 9> &: 
        9,    0,    0,    0,    1,    0,    4, 0, 0, 0, 0
..
type = float, size = 36; complex-inverse:
..
type = float, size = 37:

type = float, size = 37; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       37,    0, 2624,  320,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 37; complex-inverse:
..
type = float, size = 38:

type = float, size = 38; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  192,    0,   19,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       19,    0,  704,  192,    1,    0,    2, 0, 0, 0, 0
..
type = float, size = 38; complex-inverse:
..
type = float, size = 39:

type = float, size = 39; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 3> &: 
        3,    0,  256,    0,   13,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       13,    0,  320,  128,    1,    0,    3, 0, 0, 0, 0
..
type = float, size = 39; complex-inverse:
..
type = float, size = 40:

type = float, size = 40; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 4> &: 
        4,    0,  256,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 10> &: 
       10,    0,    0,    0,    1,    0,    4, 0, 0, 0, 0
..
type = float, size = 40; complex-inverse:
..
type = float, size = 41:

type = float, size = 41; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       41,    0, 3200,  384,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 41; complex-inverse:
..
type = float, size = 42:

type = float, size = 42; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 6> &: 
        6,    0,  320,    0,    7,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 7> &: 
        7,    0,    0,    0,    1,    0,    6, 0, 0, 0, 0
..
type = float, size = 42; complex-inverse:
..
type = float, size = 43:

type = float, size = 43; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       43,    0, 3584,  384,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 43; complex-inverse:
..
type = float, size = 44:

type = float, size = 44; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 4> &: 
        4,    0,  320,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       11,    0,  256,  128,    1,    0,    4, 0, 0, 0, 0
..
type = float, size = 44; complex-inverse:
..
type = float, size = 45:

type = float, size = 45; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 5> &: 
        5,    0,  320,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 9> &: 
        9,    0,    0,    0,    1,    0,    5, 0, 0, 0, 0
..
type = float, size = 45; complex-inverse:
..
type = float, size = 46:

type = float, size = 46; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  192,    0,   23,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       23,    0, 1024,  192,    1,    0,    2, 0, 0, 0, 0
..
type = float, size = 46; complex-inverse:
..
type = float, size = 47:

type = float, size = 47; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       47,    0, 4288,  384,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 47; complex-inverse:
..
type = float, size = 48:

type = float, size = 48; complex-direct:
kfr::neon64::intrinsics::dft_special_stage_impl<float, 6, 8, 48> &: 
       48,    0,  320,  384,    1,    0,    1, 0, 0, 0, 0
    kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 6> &: 
        6,    0,  320,    0,    8,    0,    1, 0, 1, 0, 0
    kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 8> &: 
        8,    0,    0,    0,    1,    0,    6, 0, 0, 0, 0
..
type = float, size = 48; complex-inverse:
..
type = float, size = 49:

type = float, size = 49; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 7> &: 
        7,    0,  384,    0,    7,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 7> &: 
        7,    0,    0,    0,    1,    0,    7, 0, 0, 0, 0
..
type = float, size = 49; complex-inverse:
..
type = float, size = 50:

type = float, size = 50; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 5> &: 
        5,    0,  320,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 10> &: 
       10,    0,    0,    0,    1,    0,    5, 0, 0, 0, 0
..
type = float, size = 50; complex-inverse:
..
type = float, size = 51:

type = float, size = 51; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 3> &: 
        3,    0,  320,    0,   17,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       17,    0,  512,  192,    1,    0,    3, 0, 0, 0, 0
..
type = float, size = 51; complex-inverse:
..
type = float, size = 52:

type = float, size = 52; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 4> &: 
        4,    0,  320,    0,   13,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       13,    0,  320,  128,    1,    0,    4, 0, 0, 0, 0
..
type = float, size = 52; complex-inverse:
..
type = float, size = 53:

type = float, size = 53; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       53,    0, 5440,  448,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 53; complex-inverse:
..
type = float, size = 54:

type = float, size = 54; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 6> &: 
        6,    0,  384,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 9> &: 
        9,    0,    0,    0,    1,    0,    6, 0, 0, 0, 0
..
type = float, size = 54; complex-inverse:
..
type = float, size = 55:

type = float, size = 55; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 5> &: 
        5,    0,  384,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       11,    0,  256,  128,    1,    0,    5, 0, 0, 0, 0
..
type = float, size = 55; complex-inverse:
..
type = float, size = 56:

type = float, size = 56; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 7> &: 
        7,    0,  384,    0,    8,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 8> &: 
        8,    0,    0,    0,    1,    0,    7, 0, 0, 0, 0
..
type = float, size = 56; complex-inverse:
..
type = float, size = 57:

type = float, size = 57; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 3> &: 
        3,    0,  320,    0,   19,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       19,    0,  704,  192,    1,    0,    3, 0, 0, 0, 0
..
type = float, size = 57; complex-inverse:
..
type = float, size = 58:

type = float, size = 58; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  256,    0,   29,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       29,    0, 1600,  256,    1,    0,    2, 0, 0, 0, 0
..
type = float, size = 58; complex-inverse:
..
type = float, size = 59:

type = float, size = 59; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       59,    0, 6784,  512,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 59; complex-inverse:
..
type = float, size = 60:

type = float, size = 60; complex-direct:
kfr::neon64::intrinsics::dft_special_stage_impl<float, 6, 10, 60> &: 
       60,    0,  448,  480,    1,    0,    1, 0, 0, 0, 0
    kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 6> &: 
        6,    0,  448,    0,   10,    0,    1, 0, 1, 0, 0
    kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 10> &: 
       10,    0,    0,    0,    1,    0,    6, 0, 0, 0, 0
..
type = float, size = 60; complex-inverse:
..
type = float, size = 61:

type = float, size = 61; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       61,    0, 7232,  512,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 61; complex-inverse:
..
type = float, size = 62:

type = float, size = 62; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  256,    0,   31,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       31,    0, 1856,  256,    1,    0,    2, 0, 0, 0, 0
..
type = float, size = 62; complex-inverse:
..
type = float, size = 63:

type = float, size = 63; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 7> &: 
        7,    0,  448,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 9> &: 
        9,    0,    0,    0,    1,    0,    7, 0, 0, 0, 0
..
type = float, size = 63; complex-inverse:
..
type = float, size = 65:

type = float, size = 65; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 5> &: 
        5,    0,  448,    0,   13,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       13,    0,  320,  128,    1,    0,    5, 0, 0, 0, 0
..
type = float, size = 65; complex-inverse:
..
type = float, size = 66:

type = float, size = 66; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 6> &: 
        6,    0,  448,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       11,    0,  256,  128,    1,    0,    6, 0, 0, 0, 0
..
type = float, size = 66; complex-inverse:
..
type = float, size = 67:

type = float, size = 67; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       67,    0, 8768,  576,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 67; complex-inverse:
..
type = float, size = 68:

type = float, size = 68; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 4> &: 
        4,    0,  448,    0,   17,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       17,    0,  512,  192,    1,    0,    4, 0, 0, 0, 0
..
type = float, size = 68; complex-inverse:
..
type = float, size = 69:

type = float, size = 69; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 3> &: 
        3,    0,  384,    0,   23,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       23,    0, 1024,  192,    1,    0,    3, 0, 0, 0, 0
..
type = float, size = 69; complex-inverse:
..
type = float, size = 70:

type = float, size = 70; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 7> &: 
        7,    0,  512,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 10> &: 
       10,    0,    0,    0,    1,    0,    7, 0, 0, 0, 0
..
type = float, size = 70; complex-inverse:
..
type = float, size = 71:

type = float, size = 71; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       71,    0, 9856,  576,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 71; complex-inverse:
..
type = float, size = 72:

type = float, size = 72; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 8> &: 
        8,    0,  512,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 9> &: 
        9,    0,    0,    0,    1,    0,    8, 0, 0, 0, 0
..
type = float, size = 72; complex-inverse:
..
type = float, size = 73:

type = float, size = 73; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       73,    0,10368,  640,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 73; complex-inverse:
..
type = float, size = 74:

type = float, size = 74; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  320,    0,   37,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       37,    0, 2624,  320,    1,    0,    2, 0, 0, 0, 0
..
type = float, size = 74; complex-inverse:
..
type = float, size = 75:

type = float, size = 75; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 3> &: 
        3,    0,  448,    0,   25,    0,    1, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 5> &: 
        5,    0,  192,    0,    5,    0,    3, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 5> &: 
        5,    0,    0,    0,    1,    0,   15, 0, 0, 0, 1
kfr::neon64::intrinsics::dft_reorder_stage_impl<float> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 0, 0, 0
..
type = float, size = 75; complex-inverse:
..
type = float, size = 76:

type = float, size = 76; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 4> &: 
        4,    0,  512,    0,   19,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       19,    0,  704,  192,    1,    0,    4, 0, 0, 0, 0
..
type = float, size = 76; complex-inverse:
..
type = float, size = 77:

type = float, size = 77; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 7> &: 
        7,    0,  576,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       11,    0,  256,  128,    1,    0,    7, 0, 0, 0, 0
..
type = float, size = 77; complex-inverse:
..
type = float, size = 78:

type = float, size = 78; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 6> &: 
        6,    0,  576,    0,   13,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       13,    0,  320,  128,    1,    0,    6, 0, 0, 0, 0
..
type = float, size = 78; complex-inverse:
..
type = float, size = 79:

type = float, size = 79; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       79,    0,12224,  640,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 79; complex-inverse:
..
type = float, size = 80:

type = float, size = 80; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 8> &: 
        8,    0,  576,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 10> &: 
       10,    0,    0,    0,    1,    0,    8, 0, 0, 0, 0
..
type = float, size = 80; complex-inverse:
..
type = float, size = 81:

type = float, size = 81; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 9> &: 
        9,    0,  576,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 9> &: 
        9,    0,    0,    0,    1,    0,    9, 0, 0, 0, 0
..
type = float, size = 81; complex-inverse:
..
type = float, size = 82:

type = float, size = 82; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  384,    0,   41,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       41,    0, 3200,  384,    1,    0,    2, 0, 0, 0, 0
..
type = float, size = 82; complex-inverse:
..
type = float, size = 83:

type = float, size = 83; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       83,    0,13504,  704,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 83; complex-inverse:
..
type = float, size = 84:

type = float, size = 84; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  384,    0,   42,    0,    1, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 6> &: 
        6,    0,  320,    0,    7,    0,    2, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 7> &: 
        7,    0,    0,    0,    1,    0,   12, 0, 0, 0, 1
kfr::neon64::intrinsics::dft_reorder_stage_impl<float> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 0, 0, 0
..
type = float, size = 84; complex-inverse:
..
type = float, size = 85:

type = float, size = 85; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 5> &: 
        5,    0,  576,    0,   17,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       17,    0,  512,  192,    1,    0,    5, 0, 0, 0, 0
..
type = float, size = 85; complex-inverse:
..
type = float, size = 86:

type = float, size = 86; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  384,    0,   43,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       43,    0, 3584,  384,    1,    0,    2, 0, 0, 0, 0
..
type = float, size = 86; complex-inverse:
..
type = float, size = 87:

type = float, size = 87; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 3> &: 
        3,    0,  512,    0,   29,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       29,    0, 1600,  256,    1,    0,    3, 0, 0, 0, 0
..
type = float, size = 87; complex-inverse:
..
type = float, size = 88:

type = float, size = 88; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 8> &: 
        8,    0,  640,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       11,    0,  256,  128,    1,    0,    8, 0, 0, 0, 0
..
type = float, size = 88; complex-inverse:
..
type = float, size = 89:

type = float, size = 89; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       89,    0,15488,  768,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 89; complex-inverse:
..
type = float, size = 90:

type = float, size = 90; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 9> &: 
        9,    0,  640,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 10> &: 
       10,    0,    0,    0,    1,    0,    9, 0, 0, 0, 0
..
type = float, size = 90; complex-inverse:
..
type = float, size = 91:

type = float, size = 91; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 7> &: 
        7,    0,  640,    0,   13,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       13,    0,  320,  128,    1,    0,    7, 0, 0, 0, 0
..
type = float, size = 91; complex-inverse:
..
type = float, size = 92:

type = float, size = 92; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 4> &: 
        4,    0,  576,    0,   23,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       23,    0, 1024,  192,    1,    0,    4, 0, 0, 0, 0
..
type = float, size = 92; complex-inverse:
..
type = float, size = 93:

type = float, size = 93; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 3> &: 
        3,    0,  512,    0,   31,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       31,    0, 1856,  256,    1,    0,    3, 0, 0, 0, 0
..
type = float, size = 93; complex-inverse:
..
type = float, size = 94:

type = float, size = 94; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  384,    0,   47,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       47,    0, 4288,  384,    1,    0,    2, 0, 0, 0, 0
..
type = float, size = 94; complex-inverse:
..
type = float, size = 95:

type = float, size = 95; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 5> &: 
        5,    0,  640,    0,   19,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       19,    0,  704,  192,    1,    0,    5, 0, 0, 0, 0
..
type = float, size = 95; complex-inverse:
..
type = float, size = 96:

type = float, size = 96; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  384,    0,   48,    0,    1, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 6> &: 
        6,    0,  320,    0,    8,    0,    2, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 8> &: 
        8,    0,    0,    0,    1,    0,   12, 0, 0, 0, 1
kfr::neon64::intrinsics::dft_reorder_stage_impl<float> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 0, 0, 0
..
type = float, size = 96; complex-inverse:
..
type = float, size = 97:

type = float, size = 97; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       97,    0,18432,  832,    1,    0,    1, 0, 0, 0, 0
..
type = float, size = 97; complex-inverse:
..
type = float, size = 98:

type = float, size = 98; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 2> &: 
        2,    0,  448,    0,   49,    0,    1, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 7> &: 
        7,    0,  384,    0,    7,    0,    2, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 7> &: 
        7,    0,    0,    0,    1,    0,   14, 0, 0, 0, 1
kfr::neon64::intrinsics::dft_reorder_stage_impl<float> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 0, 0, 0
..
type = float, size = 98; complex-inverse:
..
type = float, size = 99:

type = float, size = 99; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 9> &: 
        9,    0,  704,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<float, true> &: 
       11,    0,  256,  128,    1,    0,    9, 0, 0, 0, 0
..
type = float, size = 99; complex-inverse:
..
type = float, size = 100:

type = float, size = 100; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<float, 10> &: 
       10,    0,  768,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<float, 10> &: 
       10,    0,    0,    0,    1,    0,   10, 0, 0, 0, 0
..
type = float, size = 100; complex-inverse:
..
type = double, size = 2:

type = double, size = 2; complex-direct:
kfr::neon64::intrinsics::fft_specialization<double, 1> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 1, 0, 0
EE
type = double, size = 2; complex-inverse:
EE
type = double, size = 4:

type = double, size = 4; complex-direct:
kfr::neon64::intrinsics::fft_specialization<double, 2> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 1, 0, 0
EE
type = double, size = 4; complex-inverse:
EE
type = double, size = 4; real-direct:
E.
type = double, size = 8:

type = double, size = 8; complex-direct:
kfr::neon64::intrinsics::fft_specialization<double, 3> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 1, 0, 0
..
type = double, size = 8; complex-inverse:
..
type = double, size = 8; real-direct:
EE
type = double, size = 16:

type = double, size = 16; complex-direct:
kfr::neon64::intrinsics::fft_specialization<double, 4> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 1, 0, 0
EE
type = double, size = 16; complex-inverse:
EE
type = double, size = 16; real-direct:
.E
type = double, size = 32:

type = double, size = 32; complex-direct:
kfr::neon64::intrinsics::fft_specialization<double, 5> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 1, 0, 0
EE
type = double, size = 32; complex-inverse:
EE
type = double, size = 32; real-direct:
EE
type = double, size = 64:

type = double, size = 64; complex-direct:
kfr::neon64::intrinsics::fft_specialization<double, 6> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 1, 0, 0
EE
type = double, size = 64; complex-inverse:
EE
type = double, size = 64; real-direct:
EE
type = double, size = 128:

type = double, size = 128; complex-direct:
kfr::neon64::intrinsics::fft_specialization<double, 7> &: 
        0,  128, 3072,    0,    1,    0,    0, 0, 1, 0, 0
EE
type = double, size = 128; complex-inverse:
EE
type = double, size = 128; real-direct:
EE
type = double, size = 256:

type = double, size = 256; complex-direct:
kfr::neon64::intrinsics::fft_specialization<double, 8> &: 
      256,  256, 6144,    0,    4,  256,    0, 1, 1, 0, 0
EE
type = double, size = 256; complex-inverse:
EE
type = double, size = 256; real-direct:
EE
type = double, size = 512:

type = double, size = 512; complex-direct:
kfr::neon64::intrinsics::fft_specialization<double, 9> &: 
      512,  512,12288,    0,    4,  512,    0, 1, 1, 0, 0
EE
type = double, size = 512; complex-inverse:
EE
type = double, size = 512; real-direct:
EE
type = double, size = 1024:

type = double, size = 1024; complex-direct:
kfr::neon64::intrinsics::fft_specialization<double, 10> &: 
     1024, 1024,24576,    0,    4, 1024,    0, 1, 1, 0, 0
EE
type = double, size = 1024; complex-inverse:
EE
type = double, size = 1024; real-direct:
EE
type = double, size = 2048:

type = double, size = 2048; complex-direct:
kfr::neon64::intrinsics::fft_stage_impl<double, false, false> &: 
        4, 2048,24576,    0,    4,    0,    0, 1, 1, 0, 0
kfr::neon64::intrinsics::fft_final_stage_impl<double, true, 512> &: 
      512,  512,12288,    0,    4,  512,    0, 1, 1, 0, 0
kfr::neon64::intrinsics::fft_reorder_stage_impl<double, false> &: 
        0, 2048,    0,    0,    1,    0,    0, 0, 1, 0, 0
EE
type = double, size = 2048; complex-inverse:
EE
type = double, size = 2048; real-direct:
EE
type = double, size = 3:

type = double, size = 3; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 3> &: 
        3,    0,    0,    0,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 3; complex-inverse:
EE
type = double, size = 5:

type = double, size = 5; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 5> &: 
        5,    0,    0,    0,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 5; complex-inverse:
EE
type = double, size = 6:

type = double, size = 6; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 6> &: 
        6,    0,    0,    0,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 6; complex-inverse:
EE
type = double, size = 7:

type = double, size = 7; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 7> &: 
        7,    0,    0,    0,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 7; complex-inverse:
EE
type = double, size = 9:

type = double, size = 9; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 9> &: 
        9,    0,    0,    0,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 9; complex-inverse:
EE
type = double, size = 10:

type = double, size = 10; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 10> &: 
       10,    0,    0,    0,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 10; complex-inverse:
EE
type = double, size = 11:

type = double, size = 11; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       11,    0,  448,  192,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 11; complex-inverse:
EE
type = double, size = 12:

type = double, size = 12; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  128,    0,    6,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 6> &: 
        6,    0,    0,    0,    1,    0,    2, 0, 0, 0, 0
..
type = double, size = 12; complex-inverse:
..
type = double, size = 13:

type = double, size = 13; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       13,    0,  576,  256,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 13; complex-inverse:
EE
type = double, size = 14:

type = double, size = 14; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  128,    0,    7,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 7> &: 
        7,    0,    0,    0,    1,    0,    2, 0, 0, 0, 0
EE
type = double, size = 14; complex-inverse:
EE
type = double, size = 15:

type = double, size = 15; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 3> &: 
        3,    0,  192,    0,    5,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 5> &: 
        5,    0,    0,    0,    1,    0,    3, 0, 0, 0, 0
EE
type = double, size = 15; complex-inverse:
EE
type = double, size = 17:

type = double, size = 17; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       17,    0, 1024,  320,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 17; complex-inverse:
EE
type = double, size = 18:

type = double, size = 18; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  192,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 9> &: 
        9,    0,    0,    0,    1,    0,    2, 0, 0, 0, 0
EE
type = double, size = 18; complex-inverse:
EE
type = double, size = 19:

type = double, size = 19; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       19,    0, 1344,  320,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 19; complex-inverse:
EE
type = double, size = 20:

type = double, size = 20; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  192,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 10> &: 
       10,    0,    0,    0,    1,    0,    2, 0, 0, 0, 0
EE
type = double, size = 20; complex-inverse:
EE
type = double, size = 21:

type = double, size = 21; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 3> &: 
        3,    0,  256,    0,    7,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 7> &: 
        7,    0,    0,    0,    1,    0,    3, 0, 0, 0, 0
EE
type = double, size = 21; complex-inverse:
EE
type = double, size = 22:

type = double, size = 22; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  192,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       11,    0,  448,  192,    1,    0,    2, 0, 0, 0, 0
EE
type = double, size = 22; complex-inverse:
EE
type = double, size = 23:

type = double, size = 23; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       23,    0, 1984,  384,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 23; complex-inverse:
EE
type = double, size = 24:

type = double, size = 24; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 3> &: 
        3,    0,  256,    0,    8,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 8> &: 
        8,    0,    0,    0,    1,    0,    3, 0, 0, 0, 0
EE
type = double, size = 24; complex-inverse:
EE
type = double, size = 25:

type = double, size = 25; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 5> &: 
        5,    0,  320,    0,    5,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 5> &: 
        5,    0,    0,    0,    1,    0,    5, 0, 0, 0, 0
EE
type = double, size = 25; complex-inverse:
EE
type = double, size = 26:

type = double, size = 26; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  256,    0,   13,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       13,    0,  576,  256,    1,    0,    2, 0, 0, 0, 0
EE
type = double, size = 26; complex-inverse:
EE
type = double, size = 27:

type = double, size = 27; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 3> &: 
        3,    0,  320,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 9> &: 
        9,    0,    0,    0,    1,    0,    3, 0, 0, 0, 0
EE
type = double, size = 27; complex-inverse:
EE
type = double, size = 28:

type = double, size = 28; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 4> &: 
        4,    0,  384,    0,    7,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 7> &: 
        7,    0,    0,    0,    1,    0,    4, 0, 0, 0, 0
EE
type = double, size = 28; complex-inverse:
EE
type = double, size = 29:

type = double, size = 29; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       29,    0, 3136,  512,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 29; complex-inverse:
EE
type = double, size = 30:

type = double, size = 30; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 3> &: 
        3,    0,  320,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 10> &: 
       10,    0,    0,    0,    1,    0,    3, 0, 0, 0, 0
EE
type = double, size = 30; complex-inverse:
EE
type = double, size = 31:

type = double, size = 31; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       31,    0, 3648,  512,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 31; complex-inverse:
EE
type = double, size = 33:

type = double, size = 33; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 3> &: 
        3,    0,  384,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       11,    0,  448,  192,    1,    0,    3, 0, 0, 0, 0
EE
type = double, size = 33; complex-inverse:
EE
type = double, size = 34:

type = double, size = 34; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  320,    0,   17,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       17,    0, 1024,  320,    1,    0,    2, 0, 0, 0, 0
EE
type = double, size = 34; complex-inverse:
EE
type = double, size = 35:

type = double, size = 35; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 5> &: 
        5,    0,  448,    0,    7,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 7> &: 
        7,    0,    0,    0,    1,    0,    5, 0, 0, 0, 0
EE
type = double, size = 35; complex-inverse:
EE
type = double, size = 36:

type = double, size = 36; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 4> &: 
        4,    0,  448,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 9> &: 
        9,    0,    0,    0,    1,    0,    4, 0, 0, 0, 0
EE
type = double, size = 36; complex-inverse:
EE
type = double, size = 37:

type = double, size = 37; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       37,    0, 5184,  640,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 37; complex-inverse:
EE
type = double, size = 38:

type = double, size = 38; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  320,    0,   19,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       19,    0, 1344,  320,    1,    0,    2, 0, 0, 0, 0
EE
type = double, size = 38; complex-inverse:
EE
type = double, size = 39:

type = double, size = 39; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 3> &: 
        3,    0,  448,    0,   13,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       13,    0,  576,  256,    1,    0,    3, 0, 0, 0, 0
EE
type = double, size = 39; complex-inverse:
EE
type = double, size = 40:

type = double, size = 40; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 4> &: 
        4,    0,  512,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 10> &: 
       10,    0,    0,    0,    1,    0,    4, 0, 0, 0, 0
EE
type = double, size = 40; complex-inverse:
EE
type = double, size = 41:

type = double, size = 41; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       41,    0, 6400,  704,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 41; complex-inverse:
EE
type = double, size = 42:

type = double, size = 42; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 6> &: 
        6,    0,  576,    0,    7,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 7> &: 
        7,    0,    0,    0,    1,    0,    6, 0, 0, 0, 0
EE
type = double, size = 42; complex-inverse:
EE
type = double, size = 43:

type = double, size = 43; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       43,    0, 7104,  704,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 43; complex-inverse:
EE
type = double, size = 44:

type = double, size = 44; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 4> &: 
        4,    0,  576,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       11,    0,  448,  192,    1,    0,    4, 0, 0, 0, 0
EE
type = double, size = 44; complex-inverse:
EE
type = double, size = 45:

type = double, size = 45; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 5> &: 
        5,    0,  576,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 9> &: 
        9,    0,    0,    0,    1,    0,    5, 0, 0, 0, 0
EE
type = double, size = 45; complex-inverse:
EE
type = double, size = 46:

type = double, size = 46; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  384,    0,   23,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       23,    0, 1984,  384,    1,    0,    2, 0, 0, 0, 0
EE
type = double, size = 46; complex-inverse:
EE
type = double, size = 47:

type = double, size = 47; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       47,    0, 8512,  768,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 47; complex-inverse:
EE
type = double, size = 48:

type = double, size = 48; complex-direct:
kfr::neon64::intrinsics::dft_special_stage_impl<double, 6, 8, 48> &: 
       48,    0,  640,  768,    1,    0,    1, 0, 0, 0, 0
    kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 6> &: 
        6,    0,  640,    0,    8,    0,    1, 0, 1, 0, 0
    kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 8> &: 
        8,    0,    0,    0,    1,    0,    6, 0, 0, 0, 0
EE
type = double, size = 48; complex-inverse:
EE
type = double, size = 49:

type = double, size = 49; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 7> &: 
        7,    0,  704,    0,    7,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 7> &: 
        7,    0,    0,    0,    1,    0,    7, 0, 0, 0, 0
EE
type = double, size = 49; complex-inverse:
EE
type = double, size = 50:

type = double, size = 50; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 5> &: 
        5,    0,  640,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 10> &: 
       10,    0,    0,    0,    1,    0,    5, 0, 0, 0, 0
EE
type = double, size = 50; complex-inverse:
EE
type = double, size = 51:

type = double, size = 51; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 3> &: 
        3,    0,  576,    0,   17,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       17,    0, 1024,  320,    1,    0,    3, 0, 0, 0, 0
EE
type = double, size = 51; complex-inverse:
EE
type = double, size = 52:

type = double, size = 52; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 4> &: 
        4,    0,  640,    0,   13,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       13,    0,  576,  256,    1,    0,    4, 0, 0, 0, 0
EE
type = double, size = 52; complex-inverse:
EE
type = double, size = 53:

type = double, size = 53; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       53,    0,10816,  896,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 53; complex-inverse:
EE
type = double, size = 54:

type = double, size = 54; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 6> &: 
        6,    0,  768,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 9> &: 
        9,    0,    0,    0,    1,    0,    6, 0, 0, 0, 0
EE
type = double, size = 54; complex-inverse:
EE
type = double, size = 55:

type = double, size = 55; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 5> &: 
        5,    0,  704,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       11,    0,  448,  192,    1,    0,    5, 0, 0, 0, 0
EE
type = double, size = 55; complex-inverse:
EE
type = double, size = 56:

type = double, size = 56; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 7> &: 
        7,    0,  768,    0,    8,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 8> &: 
        8,    0,    0,    0,    1,    0,    7, 0, 0, 0, 0
EE
type = double, size = 56; complex-inverse:
EE
type = double, size = 57:

type = double, size = 57; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 3> &: 
        3,    0,  640,    0,   19,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       19,    0, 1344,  320,    1,    0,    3, 0, 0, 0, 0
EE
type = double, size = 57; complex-inverse:
EE
type = double, size = 58:

type = double, size = 58; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  512,    0,   29,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       29,    0, 3136,  512,    1,    0,    2, 0, 0, 0, 0
EE
type = double, size = 58; complex-inverse:
EE
type = double, size = 59:

type = double, size = 59; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       59,    0,13504,  960,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 59; complex-inverse:
EE
type = double, size = 60:

type = double, size = 60; complex-direct:
kfr::neon64::intrinsics::dft_special_stage_impl<double, 6, 10, 60> &: 
       60,    0,  832,  960,    1,    0,    1, 0, 0, 0, 0
    kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 6> &: 
        6,    0,  832,    0,   10,    0,    1, 0, 1, 0, 0
    kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 10> &: 
       10,    0,    0,    0,    1,    0,    6, 0, 0, 0, 0
EE
type = double, size = 60; complex-inverse:
EE
type = double, size = 61:

type = double, size = 61; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       61,    0,14400, 1024,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 61; complex-inverse:
EE
type = double, size = 62:

type = double, size = 62; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  512,    0,   31,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       31,    0, 3648,  512,    1,    0,    2, 0, 0, 0, 0
EE
type = double, size = 62; complex-inverse:
EE
type = double, size = 63:

type = double, size = 63; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 7> &: 
        7,    0,  896,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 9> &: 
        9,    0,    0,    0,    1,    0,    7, 0, 0, 0, 0
EE
type = double, size = 63; complex-inverse:
EE
type = double, size = 65:

type = double, size = 65; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 5> &: 
        5,    0,  832,    0,   13,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       13,    0,  576,  256,    1,    0,    5, 0, 0, 0, 0
EE
type = double, size = 65; complex-inverse:
EE
type = double, size = 66:

type = double, size = 66; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 6> &: 
        6,    0,  896,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       11,    0,  448,  192,    1,    0,    6, 0, 0, 0, 0
EE
type = double, size = 66; complex-inverse:
EE
type = double, size = 67:

type = double, size = 67; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       67,    0,17472, 1088,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 67; complex-inverse:
EE
type = double, size = 68:

type = double, size = 68; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 4> &: 
        4,    0,  832,    0,   17,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       17,    0, 1024,  320,    1,    0,    4, 0, 0, 0, 0
EE
type = double, size = 68; complex-inverse:
EE
type = double, size = 69:

type = double, size = 69; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 3> &: 
        3,    0,  768,    0,   23,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       23,    0, 1984,  384,    1,    0,    3, 0, 0, 0, 0
EE
type = double, size = 69; complex-inverse:
EE
type = double, size = 70:

type = double, size = 70; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 7> &: 
        7,    0,  960,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 10> &: 
       10,    0,    0,    0,    1,    0,    7, 0, 0, 0, 0
EE
type = double, size = 70; complex-inverse:
EE
type = double, size = 71:

type = double, size = 71; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       71,    0,19648, 1152,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 71; complex-inverse:
EE
type = double, size = 72:

type = double, size = 72; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 8> &: 
        8,    0, 1024,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 9> &: 
        9,    0,    0,    0,    1,    0,    8, 0, 0, 0, 0
EE
type = double, size = 72; complex-inverse:
EE
type = double, size = 73:

type = double, size = 73; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       73,    0,20736, 1216,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 73; complex-inverse:
EE
type = double, size = 74:

type = double, size = 74; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  640,    0,   37,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       37,    0, 5184,  640,    1,    0,    2, 0, 0, 0, 0
EE
type = double, size = 74; complex-inverse:
EE
type = double, size = 75:

type = double, size = 75; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 3> &: 
        3,    0,  832,    0,   25,    0,    1, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 5> &: 
        5,    0,  320,    0,    5,    0,    3, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 5> &: 
        5,    0,    0,    0,    1,    0,   15, 0, 0, 0, 1
kfr::neon64::intrinsics::dft_reorder_stage_impl<double> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 0, 0, 0
EE
type = double, size = 75; complex-inverse:
EE
type = double, size = 76:

type = double, size = 76; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 4> &: 
        4,    0,  960,    0,   19,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       19,    0, 1344,  320,    1,    0,    4, 0, 0, 0, 0
EE
type = double, size = 76; complex-inverse:
EE
type = double, size = 77:

type = double, size = 77; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 7> &: 
        7,    0, 1088,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       11,    0,  448,  192,    1,    0,    7, 0, 0, 0, 0
EE
type = double, size = 77; complex-inverse:
EE
type = double, size = 78:

type = double, size = 78; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 6> &: 
        6,    0, 1088,    0,   13,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       13,    0,  576,  256,    1,    0,    6, 0, 0, 0, 0
EE
type = double, size = 78; complex-inverse:
EE
type = double, size = 79:

type = double, size = 79; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       79,    0,24384, 1280,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 79; complex-inverse:
EE
type = double, size = 80:

type = double, size = 80; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 8> &: 
        8,    0, 1152,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 10> &: 
       10,    0,    0,    0,    1,    0,    8, 0, 0, 0, 0
EE
type = double, size = 80; complex-inverse:
EE
type = double, size = 81:

type = double, size = 81; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 9> &: 
        9,    0, 1152,    0,    9,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 9> &: 
        9,    0,    0,    0,    1,    0,    9, 0, 0, 0, 0
EE
type = double, size = 81; complex-inverse:
EE
type = double, size = 82:

type = double, size = 82; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  704,    0,   41,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       41,    0, 6400,  704,    1,    0,    2, 0, 0, 0, 0
EE
type = double, size = 82; complex-inverse:
EE
type = double, size = 83:

type = double, size = 83; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       83,    0,26944, 1344,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 83; complex-inverse:
EE
type = double, size = 84:

type = double, size = 84; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  704,    0,   42,    0,    1, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 6> &: 
        6,    0,  576,    0,    7,    0,    2, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 7> &: 
        7,    0,    0,    0,    1,    0,   12, 0, 0, 0, 1
kfr::neon64::intrinsics::dft_reorder_stage_impl<double> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 0, 0, 0
EE
type = double, size = 84; complex-inverse:
EE
type = double, size = 85:

type = double, size = 85; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 5> &: 
        5,    0, 1088,    0,   17,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       17,    0, 1024,  320,    1,    0,    5, 0, 0, 0, 0
EE
type = double, size = 85; complex-inverse:
EE
type = double, size = 86:

type = double, size = 86; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  704,    0,   43,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       43,    0, 7104,  704,    1,    0,    2, 0, 0, 0, 0
EE
type = double, size = 86; complex-inverse:
EE
type = double, size = 87:

type = double, size = 87; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 3> &: 
        3,    0,  960,    0,   29,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       29,    0, 3136,  512,    1,    0,    3, 0, 0, 0, 0
EE
type = double, size = 87; complex-inverse:
EE
type = double, size = 88:

type = double, size = 88; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 8> &: 
        8,    0, 1280,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       11,    0,  448,  192,    1,    0,    8, 0, 0, 0, 0
EE
type = double, size = 88; complex-inverse:
EE
type = double, size = 89:

type = double, size = 89; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       89,    0,30976, 1472,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 89; complex-inverse:
EE
type = double, size = 90:

type = double, size = 90; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 9> &: 
        9,    0, 1280,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 10> &: 
       10,    0,    0,    0,    1,    0,    9, 0, 0, 0, 0
EE
type = double, size = 90; complex-inverse:
EE
type = double, size = 91:

type = double, size = 91; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 7> &: 
        7,    0, 1280,    0,   13,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       13,    0,  576,  256,    1,    0,    7, 0, 0, 0, 0
EE
type = double, size = 91; complex-inverse:
EE
type = double, size = 92:

type = double, size = 92; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 4> &: 
        4,    0, 1152,    0,   23,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       23,    0, 1984,  384,    1,    0,    4, 0, 0, 0, 0
EE
type = double, size = 92; complex-inverse:
EE
type = double, size = 93:

type = double, size = 93; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 3> &: 
        3,    0, 1024,    0,   31,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       31,    0, 3648,  512,    1,    0,    3, 0, 0, 0, 0
EE
type = double, size = 93; complex-inverse:
EE
type = double, size = 94:

type = double, size = 94; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  768,    0,   47,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       47,    0, 8512,  768,    1,    0,    2, 0, 0, 0, 0
EE
type = double, size = 94; complex-inverse:
EE
type = double, size = 95:

type = double, size = 95; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 5> &: 
        5,    0, 1216,    0,   19,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       19,    0, 1344,  320,    1,    0,    5, 0, 0, 0, 0
EE
type = double, size = 95; complex-inverse:
EE
type = double, size = 96:

type = double, size = 96; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  768,    0,   48,    0,    1, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 6> &: 
        6,    0,  640,    0,    8,    0,    2, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 8> &: 
        8,    0,    0,    0,    1,    0,   12, 0, 0, 0, 1
kfr::neon64::intrinsics::dft_reorder_stage_impl<double> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 0, 0, 0
EE
type = double, size = 96; complex-inverse:
EE
type = double, size = 97:

type = double, size = 97; complex-direct:
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       97,    0,36864, 1600,    1,    0,    1, 0, 0, 0, 0
EE
type = double, size = 97; complex-inverse:
EE
type = double, size = 98:

type = double, size = 98; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 2> &: 
        2,    0,  832,    0,   49,    0,    1, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 7> &: 
        7,    0,  704,    0,    7,    0,    2, 0, 1, 0, 0
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 7> &: 
        7,    0,    0,    0,    1,    0,   14, 0, 0, 0, 1
kfr::neon64::intrinsics::dft_reorder_stage_impl<double> &: 
        0,    0,    0,    0,    1,    0,    0, 0, 0, 0, 0
EE
type = double, size = 98; complex-inverse:
EE
type = double, size = 99:

type = double, size = 99; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 9> &: 
        9,    0, 1408,    0,   11,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_generic_impl<double, true> &: 
       11,    0,  448,  192,    1,    0,    9, 0, 0, 0, 0
EE
type = double, size = 99; complex-inverse:
EE
type = double, size = 100:

type = double, size = 100; complex-direct:
kfr::neon64::intrinsics::dft_stage_fixed_impl<double, 10> &: 
       10,    0, 1472,    0,   10,    0,    1, 0, 1, 0, 1
kfr::neon64::intrinsics::dft_stage_fixed_final_impl<double, 10> &: 
       10,    0,    0,    0,    1,    0,   10, 0, 0, 0, 0
EE
type = double, size = 100; complex-inverse:
EE
[---ERROR---] 426 subtests of 872
    type = double, size = 2; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 1.25355 < 1.38629e-06
    type = double, size = 2; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 1.25355 < 1.38629e-06
    type = double, size = 2; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 1.25355 < 1.38629e-06
    type = double, size = 2; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 1.25355 < 1.38629e-06
    type = double, size = 4; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 1.85196 < 5.54518e-06
    type = double, size = 4; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 1.85196 < 5.54518e-06
    type = double, size = 4; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 1.85196 < 5.54518e-06
    type = double, size = 4; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 1.85196 < 5.54518e-06
    type = double, size = 4; real-direct:
    [fail]    rms_diff < min_prec    | 2.28013 < 5.54518e-06
    type = double, size = 8; real-direct:
    [fail]    rms_diff < min_prec    | 1.87213 < 1.66355e-05
    type = double, size = 8; real-inverse:
    [fail]    rms_diff < min_prec    | 0.91243 < 1.66355e-05
    type = double, size = 16; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 0.472798 < 4.43614e-05
    type = double, size = 16; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 0.472798 < 4.43614e-05
    type = double, size = 16; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 0.265054 < 4.43614e-05
    type = double, size = 16; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 0.265054 < 4.43614e-05
    type = double, size = 16; real-inverse:
    [fail]    rms_diff < min_prec    | 0.484006 < 4.43614e-05
    type = double, size = 32; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 1.71637 < 0.000110904
    type = double, size = 32; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 1.71637 < 0.000110904
    type = double, size = 32; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 2.48272 < 0.000110904
    type = double, size = 32; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 2.48272 < 0.000110904
    type = double, size = 32; real-direct:
    [fail]    rms_diff < min_prec    | 2.89546 < 0.000110904
    type = double, size = 32; real-inverse:
    [fail]    rms_diff < min_prec    | 0.60971 < 0.000110904
    type = double, size = 64; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.21688 < 0.000266169
    type = double, size = 64; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.21688 < 0.000266169
    type = double, size = 64; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.29513 < 0.000266169
    type = double, size = 64; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.29513 < 0.000266169
    type = double, size = 64; real-direct:
    [fail]    rms_diff < min_prec    | 4.94832 < 0.000266169
    type = double, size = 64; real-inverse:
    [fail]    rms_diff < min_prec    | 0.422544 < 0.000266169
    type = double, size = 128; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.91427 < 0.00062106
    type = double, size = 128; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.91427 < 0.00062106
    type = double, size = 128; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.79446 < 0.00062106
    type = double, size = 128; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.79446 < 0.00062106
    type = double, size = 128; real-direct:
    [fail]    rms_diff < min_prec    | 5.63873 < 0.00062106
    type = double, size = 128; real-inverse:
    [fail]    rms_diff < min_prec    | 0.580853 < 0.00062106
    type = double, size = 256; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 8.98944 < 0.00141957
    type = double, size = 256; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 8.98944 < 0.00141957
    type = double, size = 256; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 8.76088 < 0.00141957
    type = double, size = 256; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 8.76088 < 0.00141957
    type = double, size = 256; real-direct:
    [fail]    rms_diff < min_prec    | 9.89546 < 0.00141957
    type = double, size = 256; real-inverse:
    [fail]    rms_diff < min_prec    | 0.722056 < 0.00141957
    type = double, size = 512; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 14.5409 < 0.00319402
    type = double, size = 512; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 14.5409 < 0.00319402
    type = double, size = 512; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 13.6974 < 0.00319402
    type = double, size = 512; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 13.6974 < 0.00319402
    type = double, size = 512; real-direct:
    [fail]    rms_diff < min_prec    | 15.4424 < 0.00319402
    type = double, size = 512; real-inverse:
    [fail]    rms_diff < min_prec    | 0.67728 < 0.00319402
    type = double, size = 1024; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 19.0217 < 0.00709783
    type = double, size = 1024; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 19.0217 < 0.00709783
    type = double, size = 1024; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 18.5883 < 0.00709783
    type = double, size = 1024; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 18.5883 < 0.00709783
    type = double, size = 1024; real-direct:
    [fail]    rms_diff < min_prec    | 21.9923 < 0.00709783
    type = double, size = 1024; real-inverse:
    [fail]    rms_diff < min_prec    | 0.71158 < 0.00709783
    type = double, size = 2048; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 27.9811 < 0.0156152
    type = double, size = 2048; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 27.9811 < 0.0156152
    type = double, size = 2048; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 27.5657 < 0.0156152
    type = double, size = 2048; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 27.5657 < 0.0156152
    type = double, size = 2048; real-direct:
    [fail]    rms_diff < min_prec    | 30.6098 < 0.0156152
    type = double, size = 2048; real-inverse:
    [fail]    rms_diff < min_prec    | 0.701481 < 0.0156152
    type = double, size = 3; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 0.9471 < 3.29584e-06
    type = double, size = 3; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 0.9471 < 3.29584e-06
    type = double, size = 3; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 0.9471 < 3.29584e-06
    type = double, size = 3; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 0.9471 < 3.29584e-06
    type = double, size = 5; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 0.792606 < 8.04719e-06
    type = double, size = 5; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 0.792606 < 8.04719e-06
    type = double, size = 5; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 0.792606 < 8.04719e-06
    type = double, size = 5; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 0.792606 < 8.04719e-06
    type = double, size = 6; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.56078 < 1.07506e-05
    type = double, size = 6; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.56078 < 1.07506e-05
    type = double, size = 6; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.34757 < 1.07506e-05
    type = double, size = 6; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.34757 < 1.07506e-05
    type = double, size = 7; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 0.343271 < 1.36214e-05
    type = double, size = 7; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 0.343271 < 1.36214e-05
    type = double, size = 7; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 0.343271 < 1.36214e-05
    type = double, size = 7; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 0.343271 < 1.36214e-05
    type = double, size = 9; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.12155 < 1.9775e-05
    type = double, size = 9; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.12155 < 1.9775e-05
    type = double, size = 9; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.21506 < 1.9775e-05
    type = double, size = 9; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.21506 < 1.9775e-05
    type = double, size = 10; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.57012 < 2.30259e-05
    type = double, size = 10; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.57012 < 2.30259e-05
    type = double, size = 10; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.65386 < 2.30259e-05
    type = double, size = 10; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.65386 < 2.30259e-05
    type = double, size = 11; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 1.7029 < 2.63768e-05
    type = double, size = 11; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 1.7029 < 2.63768e-05
    type = double, size = 11; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 1.45988 < 2.63768e-05
    type = double, size = 11; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 1.45988 < 2.63768e-05
    type = double, size = 13; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.30071 < 3.33443e-05
    type = double, size = 13; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.30071 < 3.33443e-05
    type = double, size = 13; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 1.30687 < 3.33443e-05
    type = double, size = 13; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 1.30687 < 3.33443e-05
    type = double, size = 14; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 0.863189 < 3.69468e-05
    type = double, size = 14; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 0.863189 < 3.69468e-05
    type = double, size = 14; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 0.863189 < 3.69468e-05
    type = double, size = 14; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 0.863189 < 3.69468e-05
    type = double, size = 15; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 0.912708 < 4.06208e-05
    type = double, size = 15; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 0.912708 < 4.06208e-05
    type = double, size = 15; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 0.0397007 < 4.06208e-05
    type = double, size = 15; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 0.0397007 < 4.06208e-05
    type = double, size = 17; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 2.43666 < 4.81646e-05
    type = double, size = 17; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 2.43666 < 4.81646e-05
    type = double, size = 17; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 2.79906 < 4.81646e-05
    type = double, size = 17; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 2.79906 < 4.81646e-05
    type = double, size = 18; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.34464 < 5.20267e-05
    type = double, size = 18; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.34464 < 5.20267e-05
    type = double, size = 18; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.63642 < 5.20267e-05
    type = double, size = 18; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.63642 < 5.20267e-05
    type = double, size = 19; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 2.41234 < 5.59443e-05
    type = double, size = 19; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 2.41234 < 5.59443e-05
    type = double, size = 19; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 2.88716 < 5.59443e-05
    type = double, size = 19; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 2.88716 < 5.59443e-05
    type = double, size = 20; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.03195 < 5.99146e-05
    type = double, size = 20; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.03195 < 5.99146e-05
    type = double, size = 20; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.49796 < 5.99146e-05
    type = double, size = 20; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.49796 < 5.99146e-05
    type = double, size = 21; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 0.496674 < 6.3935e-05
    type = double, size = 21; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 0.496674 < 6.3935e-05
    type = double, size = 21; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 0.844622 < 6.3935e-05
    type = double, size = 21; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 0.844622 < 6.3935e-05
    type = double, size = 22; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 2.30956 < 6.80029e-05
    type = double, size = 22; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 2.30956 < 6.80029e-05
    type = double, size = 22; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 2.30956 < 6.80029e-05
    type = double, size = 22; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 2.30956 < 6.80029e-05
    type = double, size = 23; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 1.99564 < 7.21164e-05
    type = double, size = 23; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 1.99564 < 7.21164e-05
    type = double, size = 23; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.64509 < 7.21164e-05
    type = double, size = 23; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.64509 < 7.21164e-05
    type = double, size = 24; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.41398 < 7.62733e-05
    type = double, size = 24; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.41398 < 7.62733e-05
    type = double, size = 24; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.21188 < 7.62733e-05
    type = double, size = 24; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.21188 < 7.62733e-05
    type = double, size = 25; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 0.103192 < 8.04719e-05
    type = double, size = 25; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 0.103192 < 8.04719e-05
    type = double, size = 25; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 1.12925 < 8.04719e-05
    type = double, size = 25; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 1.12925 < 8.04719e-05
    type = double, size = 26; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 2.14945 < 8.47105e-05
    type = double, size = 26; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 2.14945 < 8.47105e-05
    type = double, size = 26; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 2.14945 < 8.47105e-05
    type = double, size = 26; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 2.14945 < 8.47105e-05
    type = double, size = 27; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.58179 < 8.89876e-05
    type = double, size = 27; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.58179 < 8.89876e-05
    type = double, size = 27; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.93666 < 8.89876e-05
    type = double, size = 27; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.93666 < 8.89876e-05
    type = double, size = 28; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 0.785906 < 9.33017e-05
    type = double, size = 28; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 0.785906 < 9.33017e-05
    type = double, size = 28; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 1.46742 < 9.33017e-05
    type = double, size = 28; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 1.46742 < 9.33017e-05
    type = double, size = 29; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 2.36607 < 9.76516e-05
    type = double, size = 29; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 2.36607 < 9.76516e-05
    type = double, size = 29; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.72028 < 9.76516e-05
    type = double, size = 29; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.72028 < 9.76516e-05
    type = double, size = 30; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.71232 < 0.000102036
    type = double, size = 30; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.71232 < 0.000102036
    type = double, size = 30; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.80459 < 0.000102036
    type = double, size = 30; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.80459 < 0.000102036
    type = double, size = 31; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.48743 < 0.000106454
    type = double, size = 31; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.48743 < 0.000106454
    type = double, size = 31; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.04581 < 0.000106454
    type = double, size = 31; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.04581 < 0.000106454
    type = double, size = 33; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 2.77329 < 0.000115385
    type = double, size = 33; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 2.77329 < 0.000115385
    type = double, size = 33; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.3579 < 0.000115385
    type = double, size = 33; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.3579 < 0.000115385
    type = double, size = 34; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.01214 < 0.000119896
    type = double, size = 34; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.01214 < 0.000119896
    type = double, size = 34; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.01214 < 0.000119896
    type = double, size = 34; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.01214 < 0.000119896
    type = double, size = 35; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 1.0028 < 0.000124437
    type = double, size = 35; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 1.0028 < 0.000124437
    type = double, size = 35; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 0.71674 < 0.000124437
    type = double, size = 35; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 0.71674 < 0.000124437
    type = double, size = 36; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.82717 < 0.000129007
    type = double, size = 36; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.82717 < 0.000129007
    type = double, size = 36; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 6.73491 < 0.000129007
    type = double, size = 36; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 6.73491 < 0.000129007
    type = double, size = 37; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.0389 < 0.000133604
    type = double, size = 37; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.0389 < 0.000133604
    type = double, size = 37; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.86232 < 0.000133604
    type = double, size = 37; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.86232 < 0.000133604
    type = double, size = 38; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.48108 < 0.000138228
    type = double, size = 38; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.48108 < 0.000138228
    type = double, size = 38; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.48108 < 0.000138228
    type = double, size = 38; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.48108 < 0.000138228
    type = double, size = 39; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.17292 < 0.000142879
    type = double, size = 39; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.17292 < 0.000142879
    type = double, size = 39; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.73064 < 0.000142879
    type = double, size = 39; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.73064 < 0.000142879
    type = double, size = 40; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.02592 < 0.000147555
    type = double, size = 40; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.02592 < 0.000147555
    type = double, size = 40; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.11467 < 0.000147555
    type = double, size = 40; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.11467 < 0.000147555
    type = double, size = 41; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.42338 < 0.000152256
    type = double, size = 41; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.42338 < 0.000152256
    type = double, size = 41; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.79047 < 0.000152256
    type = double, size = 41; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.79047 < 0.000152256
    type = double, size = 42; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 1.52783 < 0.000156982
    type = double, size = 42; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 1.52783 < 0.000156982
    type = double, size = 42; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 1.14997 < 0.000156982
    type = double, size = 42; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 1.14997 < 0.000156982
    type = double, size = 43; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.00552 < 0.000161732
    type = double, size = 43; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.00552 < 0.000161732
    type = double, size = 43; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.14467 < 0.000161732
    type = double, size = 43; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.14467 < 0.000161732
    type = double, size = 44; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.69615 < 0.000166504
    type = double, size = 44; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.69615 < 0.000166504
    type = double, size = 44; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.37395 < 0.000166504
    type = double, size = 44; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.37395 < 0.000166504
    type = double, size = 45; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.14875 < 0.0001713
    type = double, size = 45; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.14875 < 0.0001713
    type = double, size = 45; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.29148 < 0.0001713
    type = double, size = 45; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.29148 < 0.0001713
    type = double, size = 46; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.0124 < 0.000176118
    type = double, size = 46; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.0124 < 0.000176118
    type = double, size = 46; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.0124 < 0.000176118
    type = double, size = 46; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.0124 < 0.000176118
    type = double, size = 47; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.33581 < 0.000180957
    type = double, size = 47; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.33581 < 0.000180957
    type = double, size = 47; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.27065 < 0.000180957
    type = double, size = 47; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.27065 < 0.000180957
    type = double, size = 48; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.98202 < 0.000185818
    type = double, size = 48; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.98202 < 0.000185818
    type = double, size = 48; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.66899 < 0.000185818
    type = double, size = 48; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.66899 < 0.000185818
    type = double, size = 49; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 1.20666 < 0.000190699
    type = double, size = 49; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 1.20666 < 0.000190699
    type = double, size = 49; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 0.834713 < 0.000190699
    type = double, size = 49; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 0.834713 < 0.000190699
    type = double, size = 50; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.24173 < 0.000195601
    type = double, size = 50; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.24173 < 0.000195601
    type = double, size = 50; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.31963 < 0.000195601
    type = double, size = 50; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.31963 < 0.000195601
    type = double, size = 51; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.91849 < 0.000200523
    type = double, size = 51; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.91849 < 0.000200523
    type = double, size = 51; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.1976 < 0.000200523
    type = double, size = 51; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.1976 < 0.000200523
    type = double, size = 52; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.67705 < 0.000205465
    type = double, size = 52; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.67705 < 0.000205465
    type = double, size = 52; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.41117 < 0.000205465
    type = double, size = 52; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.41117 < 0.000205465
    type = double, size = 53; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.53474 < 0.000210425
    type = double, size = 53; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.53474 < 0.000210425
    type = double, size = 53; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.6621 < 0.000210425
    type = double, size = 53; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.6621 < 0.000210425
    type = double, size = 54; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.86764 < 0.000215405
    type = double, size = 54; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.86764 < 0.000215405
    type = double, size = 54; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.62151 < 0.000215405
    type = double, size = 54; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.62151 < 0.000215405
    type = double, size = 55; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.54249 < 0.000220403
    type = double, size = 55; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.54249 < 0.000220403
    type = double, size = 55; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.88641 < 0.000220403
    type = double, size = 55; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.88641 < 0.000220403
    type = double, size = 56; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.33418 < 0.00022542
    type = double, size = 56; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.33418 < 0.00022542
    type = double, size = 56; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.84924 < 0.00022542
    type = double, size = 56; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.84924 < 0.00022542
    type = double, size = 57; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.46511 < 0.000230454
    type = double, size = 57; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.46511 < 0.000230454
    type = double, size = 57; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.60534 < 0.000230454
    type = double, size = 57; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.60534 < 0.000230454
    type = double, size = 58; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.79662 < 0.000235506
    type = double, size = 58; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.79662 < 0.000235506
    type = double, size = 58; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.79662 < 0.000235506
    type = double, size = 58; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.79662 < 0.000235506
    type = double, size = 59; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.66482 < 0.000240575
    type = double, size = 59; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.66482 < 0.000240575
    type = double, size = 59; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.67207 < 0.000240575
    type = double, size = 59; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.67207 < 0.000240575
    type = double, size = 60; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.61587 < 0.000245661
    type = double, size = 60; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.61587 < 0.000245661
    type = double, size = 60; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.67043 < 0.000245661
    type = double, size = 60; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.67043 < 0.000245661
    type = double, size = 61; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.81672 < 0.000250763
    type = double, size = 61; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.81672 < 0.000250763
    type = double, size = 61; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.93183 < 0.000250763
    type = double, size = 61; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.93183 < 0.000250763
    type = double, size = 62; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.92494 < 0.000255882
    type = double, size = 62; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.92494 < 0.000255882
    type = double, size = 62; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.92494 < 0.000255882
    type = double, size = 62; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.92494 < 0.000255882
    type = double, size = 63; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 6.27785 < 0.000261017
    type = double, size = 63; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 6.27785 < 0.000261017
    type = double, size = 63; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.21191 < 0.000261017
    type = double, size = 63; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.21191 < 0.000261017
    type = double, size = 65; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.34972 < 0.000271335
    type = double, size = 65; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.34972 < 0.000271335
    type = double, size = 65; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.67532 < 0.000271335
    type = double, size = 65; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.67532 < 0.000271335
    type = double, size = 66; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.45369 < 0.000276517
    type = double, size = 66; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.45369 < 0.000276517
    type = double, size = 66; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.41743 < 0.000276517
    type = double, size = 66; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.41743 < 0.000276517
    type = double, size = 67; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.53187 < 0.000281714
    type = double, size = 67; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.53187 < 0.000281714
    type = double, size = 67; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.70711 < 0.000281714
    type = double, size = 67; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.70711 < 0.000281714
    type = double, size = 68; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.32178 < 0.000286927
    type = double, size = 68; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.32178 < 0.000286927
    type = double, size = 68; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.92129 < 0.000286927
    type = double, size = 68; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.92129 < 0.000286927
    type = double, size = 69; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.56914 < 0.000292153
    type = double, size = 69; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.56914 < 0.000292153
    type = double, size = 69; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.36562 < 0.000292153
    type = double, size = 69; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.36562 < 0.000292153
    type = double, size = 70; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 6.83475 < 0.000297395
    type = double, size = 70; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 6.83475 < 0.000297395
    type = double, size = 70; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.66464 < 0.000297395
    type = double, size = 70; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.66464 < 0.000297395
    type = double, size = 71; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.94024 < 0.00030265
    type = double, size = 71; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.94024 < 0.00030265
    type = double, size = 71; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.65482 < 0.00030265
    type = double, size = 71; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.65482 < 0.00030265
    type = double, size = 72; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 10.2529 < 0.00030792
    type = double, size = 72; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 10.2529 < 0.00030792
    type = double, size = 72; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 9.36713 < 0.00030792
    type = double, size = 72; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 9.36713 < 0.00030792
    type = double, size = 73; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.42816 < 0.000313204
    type = double, size = 73; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.42816 < 0.000313204
    type = double, size = 73; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.45297 < 0.000313204
    type = double, size = 73; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.45297 < 0.000313204
    type = double, size = 74; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.93364 < 0.000318501
    type = double, size = 74; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.93364 < 0.000318501
    type = double, size = 74; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.93364 < 0.000318501
    type = double, size = 74; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.93364 < 0.000318501
    type = double, size = 75; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 0.398748 < 0.000323812
    type = double, size = 75; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 0.398748 < 0.000323812
    type = double, size = 75; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 0.489544 < 0.000323812
    type = double, size = 75; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 0.489544 < 0.000323812
    type = double, size = 76; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.88059 < 0.000329136
    type = double, size = 76; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.88059 < 0.000329136
    type = double, size = 76; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 6.64526 < 0.000329136
    type = double, size = 76; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 6.64526 < 0.000329136
    type = double, size = 77; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.84278 < 0.000334473
    type = double, size = 77; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.84278 < 0.000334473
    type = double, size = 77; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.83314 < 0.000334473
    type = double, size = 77; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.83314 < 0.000334473
    type = double, size = 78; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.23493 < 0.000339823
    type = double, size = 78; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.23493 < 0.000339823
    type = double, size = 78; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 7.05016 < 0.000339823
    type = double, size = 78; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 7.05016 < 0.000339823
    type = double, size = 79; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.86586 < 0.000345186
    type = double, size = 79; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.86586 < 0.000345186
    type = double, size = 79; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 4.9934 < 0.000345186
    type = double, size = 79; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 4.9934 < 0.000345186
    type = double, size = 80; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 9.15679 < 0.000350562
    type = double, size = 80; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 9.15679 < 0.000350562
    type = double, size = 80; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 8.9202 < 0.000350562
    type = double, size = 80; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 8.9202 < 0.000350562
    type = double, size = 81; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 9.92533 < 0.00035595
    type = double, size = 81; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 9.92533 < 0.00035595
    type = double, size = 81; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 9.18736 < 0.00035595
    type = double, size = 81; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 9.18736 < 0.00035595
    type = double, size = 82; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.48972 < 0.000361351
    type = double, size = 82; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.48972 < 0.000361351
    type = double, size = 82; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.48972 < 0.000361351
    type = double, size = 82; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.48972 < 0.000361351
    type = double, size = 83; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.96652 < 0.000366764
    type = double, size = 83; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.96652 < 0.000366764
    type = double, size = 83; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.16269 < 0.000366764
    type = double, size = 83; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.16269 < 0.000366764
    type = double, size = 84; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.07821 < 0.000372189
    type = double, size = 84; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.07821 < 0.000372189
    type = double, size = 84; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 2.98967 < 0.000372189
    type = double, size = 84; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 2.98967 < 0.000372189
    type = double, size = 85; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.53472 < 0.000377625
    type = double, size = 85; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.53472 < 0.000377625
    type = double, size = 85; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 6.13223 < 0.000377625
    type = double, size = 85; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 6.13223 < 0.000377625
    type = double, size = 86; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 3.94222 < 0.000383074
    type = double, size = 86; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 3.94222 < 0.000383074
    type = double, size = 86; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 3.94222 < 0.000383074
    type = double, size = 86; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 3.94222 < 0.000383074
    type = double, size = 87; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.63813 < 0.000388534
    type = double, size = 87; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.63813 < 0.000388534
    type = double, size = 87; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 6.36767 < 0.000388534
    type = double, size = 87; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 6.36767 < 0.000388534
    type = double, size = 88; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 7.33048 < 0.000394006
    type = double, size = 88; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 7.33048 < 0.000394006
    type = double, size = 88; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 7.96087 < 0.000394006
    type = double, size = 88; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 7.96087 < 0.000394006
    type = double, size = 89; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.51529 < 0.000399489
    type = double, size = 89; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.51529 < 0.000399489
    type = double, size = 89; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.43104 < 0.000399489
    type = double, size = 89; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.43104 < 0.000399489
    type = double, size = 90; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 10.9035 < 0.000404983
    type = double, size = 90; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 10.9035 < 0.000404983
    type = double, size = 90; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 9.50777 < 0.000404983
    type = double, size = 90; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 9.50777 < 0.000404983
    type = double, size = 91; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.62347 < 0.000410488
    type = double, size = 91; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.62347 < 0.000410488
    type = double, size = 91; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.81575 < 0.000410488
    type = double, size = 91; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.81575 < 0.000410488
    type = double, size = 92; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.64673 < 0.000416005
    type = double, size = 92; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.64673 < 0.000416005
    type = double, size = 92; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.53177 < 0.000416005
    type = double, size = 92; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.53177 < 0.000416005
    type = double, size = 93; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.54521 < 0.000421532
    type = double, size = 93; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.54521 < 0.000421532
    type = double, size = 93; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.50039 < 0.000421532
    type = double, size = 93; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.50039 < 0.000421532
    type = double, size = 94; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.70537 < 0.00042707
    type = double, size = 94; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.70537 < 0.00042707
    type = double, size = 94; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.70537 < 0.00042707
    type = double, size = 94; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.70537 < 0.00042707
    type = double, size = 95; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 4.752 < 0.000432618
    type = double, size = 95; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 4.752 < 0.000432618
    type = double, size = 95; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 6.29809 < 0.000432618
    type = double, size = 95; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 6.29809 < 0.000432618
    type = double, size = 96; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.45059 < 0.000438177
    type = double, size = 96; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.45059 < 0.000438177
    type = double, size = 96; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.68768 < 0.000438177
    type = double, size = 96; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.68768 < 0.000438177
    type = double, size = 97; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 5.56643 < 0.000443747
    type = double, size = 97; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 5.56643 < 0.000443747
    type = double, size = 97; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 5.84688 < 0.000443747
    type = double, size = 97; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 5.84688 < 0.000443747
    type = double, size = 98; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 1.92062 < 0.000449327
    type = double, size = 98; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 1.92062 < 0.000449327
    type = double, size = 98; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 1.39708 < 0.000449327
    type = double, size = 98; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 1.39708 < 0.000449327
    type = double, size = 99; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 9.75348 < 0.000454917
    type = double, size = 99; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 9.75348 < 0.000454917
    type = double, size = 99; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 9.08217 < 0.000454917
    type = double, size = 99; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 9.08217 < 0.000454917
    type = double, size = 100; complex-direct:
    [fail]    rms_diff_inplace < min_prec | 9.12769 < 0.000460517
    type = double, size = 100; complex-direct:
    [fail]    rms_diff_outofplace < min_prec | 9.12769 < 0.000460517
    type = double, size = 100; complex-inverse:
    [fail]    rms_diff_inplace < min_prec | 8.46045 < 0.000460517
    type = double, size = 100; complex-inverse:
    [fail]    rms_diff_outofplace < min_prec | 8.46045 < 0.000460517
[----RUN----] dct...
[--SUCCESS--] 2 subtests of 2
===============================================================================
[--SUCCESS--] 124/146 tests 2676523/2677237 checks
[---ERROR---] 22/146 tests 714/2677237 checks
              ebu_stereo_1_and_2
              ebu_stereo_3_4_and_5
              ebu_multichannel_6
              ebu_stereo_9
              ebu_stereo_12
              ebu_lra_1_2_3_and_4
              fracdelay
              mixdown_stereo
              fir
              fir_different
              resampler_test
              partition
              reduce
              complex_convertible
              test_convolve
              test_complex_convolve
              test_convolve_filter
              test_complex_convolve_filter
              test_correlate
              test_complex_correlate
              fft_real
              fft_accuracy
dancazarin commented 3 years ago

Hi, Could you provide exact cpu or SoC name? It looks like lack of some IEEE 754 features. Standards support varies from one system to another.

mipac commented 3 years ago

Hi, It's a Jetson Xavier how can I show you this kind of properties? is there a command or a file ?

dancazarin commented 1 year ago

Hi,

Could you confirm if the issue still persist with the latest clang and KFR?

Command for printing cpu info:

cat /proc/cpuinfo
Wishmaster-de commented 9 months ago

@dancazarin I can confirm the issue with clang 10 concerning unittests. Build and executing the unittests on amd64 (host PC) works both, in Release and Debug. Cross-compilation for aarch64 works for Release and Debug. But the unittests fail in Debug, see attached file. test-output.txt

I tested clang-11 and clang-12 for cross-compilation and then the unittests will be executed with success for Debug also. Maybe you should bump the minimum clang version to eleven due to this issue.

Zync Ultrascale+, 64 bit, 4 × ARM A53)

cat /proc/cpuinfo
processor   : 0
BogoMIPS    : 200.00
Features    : fp asimd aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor   : 1
BogoMIPS    : 200.00
Features    : fp asimd aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor   : 2
BogoMIPS    : 200.00
Features    : fp asimd aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor   : 3
BogoMIPS    : 200.00
Features    : fp asimd aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part    : 0xd03
CPU revision    : 4
dancazarin commented 9 months ago

Thank you for reporting this. The Clang bug has been added to KNOWNBUGS.md in just released KFR 5.2.0. Maybe it also makes sense to prevent KFR from building on ARM devices with explicit check if Clang 10 (or lower) is used. This will be implemented in the next release.

dancazarin commented 7 months ago

KFR 6 has changed the minimum requirements to Clang 11+ and does not suffer from this clang bug.