flintlib / flint

FLINT (Fast Library for Number Theory)
http://www.flintlib.org
GNU Lesser General Public License v3.0
424 stars 241 forks source link

Reduce time checking/testing FLINT #1540

Open albinahlback opened 11 months ago

albinahlback commented 11 months ago

If we look at any CI it is obvious that make check is the most time consuming part of the sequence

$ ./bootstrap.sh
$ ./configure
$ make
$ make tests
$ make check

Now, there is no real simple way to reduce the checking time. What follows are some idea.

Reduce the coefficient for the test multiplier

This may sound dumb at first, but I do not think there is a standard coefficient for the test multiplier that people have used. In one test we may have 100 * flint_test_multiplier(), while some other test may have 10000 * flint_test_multiplier().

Yes, the title is a little bit misleading, but I think if we can sort of standardize this coefficient based on a couple of parameters, we may found that some tests use too large coefficients.

Make sure to always test edge cases

Sort of goes in hand with the previous point, but it may be the case that some tests use extremely large coefficients in order have a higher probability of getting edge cases. However, if one makes sure to always get some edge cases in, one may be able to reduce the test coefficient.

Merge tests and do not test things twice

With merging tests I do not mean merging in the Albin sort of way. Say that we have a module mod with functions mod_init, mod_clear, mod_set, mod_add, mod_mul, mod_addmul and mod_equal. Perhaps we do not need 4+ different tests for all of these. Perhaps it is enough to have one test with the following principle:

mod_t r1, r2, a, b, c;

mod_init(r1);
mod_init(r2);
mod_init(a);
mod_init(b);
mod_init(c);

mod_randtest(a);
mod_randtest(b);
mod_randtest(c);

mod_mul(r1, b, c);
mod_add(r1, r1, a); /* r1 = a + b * c */

mod_set(r2, a);
mod_addmul(r2, b, c); /* r2 = a + b * c */

if (!mod_equal(r1, r2))
    flint_abort();
albinahlback commented 11 months ago

Ping @fredrik-johansson. Is any of this reasonable? Do you have anything to add?

fredrik-johansson commented 11 months ago

Reducing test iterations needs to be done conservatively. There are definitely plenty of tests where the number of iterations is way too high, but there are others where it has been set deliberately just high enough to trigger known bugs. One needs to inspect such tests on a case by case basis.

One easy to fix inefficiency is aliasing tests. In many files, we run a separate test loop just to check X = X but with aliasing, for example here:

https://github.com/flintlib/flint/blob/trunk/src/nmod_poly/test/t-xgcd.c

It is far more economical to randomly try different aliasing combinations in the main test, as done here:

https://github.com/flintlib/flint/blob/trunk/src/gr_poly/test/t-xgcd_euclidean.c

There are probably some functions where the separated aliasing test makes sense, but there shouldn't be that many of them.

albinahlback commented 11 months ago

I hear you. I just want to bring this up as, over time, this slows down development. Also, this is the major cause of queued CIs.

fredrik-johansson commented 10 months ago

We should time the individual tests to find out which ones need priority optimising.

fredrik-johansson commented 10 months ago

Tests that take more than 10 milliseconds with multiplier 1:

mpn_ctx_mpn_mul                                              28.501
_nmod_poly_mul_mid_mpn_ctx                                   14.048
fft_convolution_precache                                     10.341
fft_convolution                                              10.171
ca_div                                                       5.731
fft_ifft_butterfly_twiddle                                   3.843
mul_mfa_truncate_sqrt2                                       3.812
mul_truncate_sqrt2                                           3.417
acb_dirichlet_l_euler_product                                3.13
gr_fmpzi                                                     3.1
fft_ifft_butterfly                                           3.069
ca_pow                                                       2.953
fmpz_factor                                                  2.939
flint_mpn_mul_fft_main                                       2.739
aprcl_is_prime_gauss                                         2.666
fmpz_mpoly_mul                                               2.428
gr_fmpz_mod                                                  2.408
sd_fft                                                       2.338
gr_fq                                                        2.08
fmpz_factor_trial                                            1.936
acb_dirichlet_thetanull                                      1.839
acb_dirichlet_jacobi                                         1.769
gr_fmpz                                                      1.758
ca_mul                                                       1.744
gr_polynomial_nmod8                                          1.737
gr_mpoly_mul_johnson                                         1.657
fft_ifft_mfa_truncate_sqrt2                                  1.616
acb_dirichlet_l                                              1.597
n_primes                                                     1.518
acb_dirichlet_gauss                                          1.511
gr_ca                                                        1.453
fft_ifft_butterfly_sqrt2                                     1.417
nmod_mpoly_gcd_cofactors                                     1.389
_fmpz_poly_mul_mid_mpn_ctx                                   1.358
acb_poly_zeta_cpx_series                                     1.357
dlog_vec                                                     1.349
fmpz_mod_mat_mul                                             1.326
butterfly_rshB                                               1.231
acb_dirichlet_platt_local_hardy_z_zeros                      1.205
bernoulli_fmpq_ui_multi_mod                                  1.172
acb_dirichlet_hardy_z                                        1.162
fft_adjust_sqrt2                                             1.115
acb_elliptic_rj                                              1.075
arith_harmonic_number                                        1.074
fmpq_harmonic_ui                                             1.06
arith_bernoulli_number                                       1.056
fmpz_mod_mpoly_factor                                        1.053
fmpz_mod_mpoly_factor_gcd_hensel                             0.986
fmpz_factor_ecm                                              0.983
fmpz_factor_smooth                                           0.962
arb_hypgeom_2f1_integration                                  0.961
acb_dirichlet_platt_ws_interpolation                         0.955
acb_dirichlet_hardy_z_series                                 0.922
dirichlet_vec                                                0.921
qfb_exponent_element                                         0.902
qqbar_div                                                    0.867
fq_nmod_mpoly_gcd_cofactors                                  0.851
qfb_exponent_grh                                             0.841
acb_dot                                                      0.838
fmpz_mpoly_factor_gcd_brown                                  0.838
gr_nmod8                                                     0.819
fft_mulmod_2expp1                                            0.808
qfb_exponent                                                 0.807
gr_mpoly_add_sub                                             0.795
gr_matrix_nmod8                                              0.787
n_discrete_log_bsgs                                          0.758
acb_elliptic_pi                                              0.75
fq_nmod_mpoly_gcd_hensel                                     0.75
arb_poly_mullow_block                                        0.698
arb_mat_solve_lu                                             0.688
gr_fq_nmod                                                   0.68
acb_dirichlet_platt_zeta_zeros                               0.677
acb_dirichlet_platt_hardy_z_zeros                            0.677
fq_poly_factor_is_squarefree                                 0.631
fmpz_mpoly_gcd_subresultant                                  0.605
fmpz_poly_mat_sqr                                            0.59
gr_nmod32                                                    0.585
qsieve_factor                                                0.583
gr_qqbar                                                     0.558
fq_nmod_mpoly_gcd                                            0.557
qfb_pow                                                      0.546
qfb_pow_ui                                                   0.545
fmpz_mod_mpoly_gcd_cofactors                                 0.543
aprcl_is_prime_jacobi                                        0.533
arb_fmpz_poly_gauss_period_minpoly                           0.525
compute_primes                                               0.517
fmpz_mod_pow_ui                                              0.502
acb_mat_eig_simple                                           0.497
nmod_mpoly_gcd                                               0.497
fft_adjust                                                   0.495
fmpz_mod_mat_mul_classical_threaded                          0.491
n_fq_poly_gcd                                                0.49
fmpq_mpoly_gcd_brown                                         0.488
acb_hypgeom_u                                                0.475
gr_mpoly_nmod8                                               0.47
bernoulli_rev                                                0.468
fmpz_poly_xgcd_modular                                       0.467
dirichlet_properties                                         0.463
acb_pow_fmpz                                                 0.453
partitions_fmpz_ui_threaded                                  0.452
ca_mat_exp                                                   0.449
arb_mat_inv                                                  0.446
fmpz_mod_mpoly_factor_zippel                                 0.443
gr_fmpq                                                      0.441
arb_mat_solve                                                0.431
flint_mpn_mod_preinvn                                        0.428
flint_mpn_divrem_preinvn                                     0.428
arb_bell_fmpz                                                0.425
fmpz_mod_mpoly_factor_gcd_zippel2                            0.416
fmpz_mod_mpoly_factor_gcd_zippel                             0.414
fmpz_get_str                                                 0.414
fq_nmod_poly_factor_is_squarefree                            0.413
add_ssssaaaaaaaa                                             0.408
bernoulli_mod_p_harvey                                       0.401
acb_hypgeom_pfq_sum_bs                                       0.397
arb_dot                                                      0.396
butterfly_lshB                                               0.39
nmod_mpoly_gcd_hensel                                        0.39
fft_split_combine_bits                                       0.389
acb_hypgeom_pfq_sum_rs                                       0.388
acb_dirichlet_platt_multieval                                0.383
fmpz_mod_mpoly_factor_zassenhaus                             0.382
fmpq_mpoly_pow_fmpz                                          0.38
acb_hypgeom_2f1                                              0.378
dlog                                                         0.377
fmpz_mod_mpoly_gcd_zippel2                                   0.377
fq_zech_ctx_init                                             0.377
fft_ifft_truncate_sqrt2                                      0.375
acb_dirichlet_platt_multieval_threaded                       0.373
fmpz_mpoly_gcd_brown                                         0.373
gr_acb                                                       0.369
acb_dft                                                      0.367
arf_complex_mul                                              0.367
fmpq_mat_solve_fmpz_mat_fraction_free                        0.367
acb_dft_convol                                               0.366
acb_hypgeom_m                                                0.366
acb_mul                                                      0.363
acb_barnes_g                                                 0.361
qfb_reduced_forms                                            0.361
nmod_mat_lu_recursive                                        0.357
acb_dirichlet_stieltjes                                      0.354
qqbar_cmp_re                                                 0.348
fmpz_mod_mpoly_quadratic_root                                0.344
acb_elliptic_pi_inc                                          0.339
fmpz_mpoly_factor_gcd_zippel2                                0.336
fmpz_mpoly_factor_zassenhaus                                 0.336
fmpz_mpoly_mul_johnson                                       0.334
fmpz_poly_mat_pow_trunc                                      0.333
fmpz_mod_mpoly_divides                                       0.326
fmpz_mpoly_divrem_ideal_monagan_pearce                       0.326
fmpq_poly_xgcd                                               0.326
fmpq_dedekind_sum                                            0.318
fmpz_mat_mul_small                                           0.317
fq_nmod_mpoly_quadratic_root                                 0.316
gr_series_acb                                                0.314
fmpz_poly_pfrac                                              0.308
gr_poly_resultant_hgcd                                       0.307
fmpz_mpoly_gcd_zippel2                                       0.307
nmod_mat_submul                                              0.306
arf_complex_sqr                                              0.304
fmpz_mpoly_gcd_hensel                                        0.3
qqbar_cmp_im                                                 0.29
fmpz_poly_mat_solve_fflu                                     0.29
nmod_mat_addmul                                              0.287
n_fq_poly_divrem                                             0.285
fmpq_mat_solve_fmpz_mat_multi_mod                            0.284
acb_modular_theta_sum                                        0.28
fmpz_mod_mpoly_gcd_hensel                                    0.28
fmpq_mat_solve_fmpz_mat                                      0.279
acb_mat_eig_multiple                                         0.278
acb_dirichlet_dft                                            0.277
arb_hypgeom_gamma_taylor                                     0.273
fmpz_mat_mul_double_word                                     0.271
fmpz_poly_theta_qexp                                         0.262
fmpq_mat_solve_fmpz_mat_dixon                                0.261
gr_polynomial_fmpq                                           0.26
fmpz_mpoly_mul_heap_threaded                                 0.26
gr_poly_gcd_hgcd                                             0.259
fq_nmod_mpoly_factor                                         0.259
fq_nmod_mpoly_gcd_brown                                      0.259
fmpz_mat_mul_strassen                                        0.255
qqbar_mul                                                    0.254
fmpz_poly_mul_SS                                             0.252
fq_zech_poly_mul_classical                                   0.251
gr_poly_div_series                                           0.25
arith_bell_number                                            0.25
nmod_mat_nullspace                                           0.248
arb_fmpz_poly_complex_roots                                  0.245
acb_hypgeom_bessel_i                                         0.245
acb_calc_integrate                                           0.245
aprcl_unity_zpq_pow                                          0.245
acb_dirichlet_hurwitz                                        0.242
acb_modular_hilbert_class_poly                               0.242
fmpz_mpoly_factor_wang                                       0.241
nmod_poly_factor_is_irreducible_rabin                        0.239
acb_hypgeom_bessel_y                                         0.238
acb_hypgeom_2f1_continuation                                 0.237
arith_bernoulli_number_vec                                   0.237
gr_nf                                                        0.236
arb_sin_cos_taylor_rs                                        0.236
gr_generic_fmpz_mpoly_evaluate                               0.231
flint_mpn_mulmod_preinv1                                     0.231
fmpz_mpoly_gcd_cofactors                                     0.23
partitions_fmpz_ui                                           0.229
acb_hypgeom_u_asymp                                          0.228
arb_exp_taylor_rs                                            0.227
arb_pow_fmpz                                                 0.222
arb_addmul                                                   0.222
fq_zech_poly_pow_trunc                                       0.222
fq_zech_poly_pow_trunc_binexp                                0.222
acb_hypgeom_gamma_upper                                      0.22
arb_submul                                                   0.22
arf_sum                                                      0.22
fmpz_poly_mat_sqr_KS                                         0.219
fmpz_mpoly_factor_gcd_zippel                                 0.218
fmpz_randprime                                               0.218
fmpz_mod_mpoly_evaluate                                      0.217
gr_mat_rref_lu....                                           0.215
padic_poly_mul                                               0.214
nmod_mpoly_factor                                            0.213
gr_poly_factor_squarefree                                    0.212
fmpq_mpoly_mul                                               0.212
acb_dirichlet_zeta_jet_rs                                    0.208
arb_atan_taylor_rs                                           0.208
nmod_mpoly_mul_johnson                                       0.208
fmpz_mat_solve_bound                                         0.207
fmpq_mpoly_resultant_discriminant                            0.206
fq_default_poly_factor_inlines                               0.206
fmpz_poly_cyclotomic                                         0.204
fmpz_mat_snf_iliopoulos                                      0.204
fmpz_multi_CRT_multi_mod                                     0.204
qqbar_get_fexpr_formula                                      0.201
fmpz_mpoly_gcd                                               0.201
qqbar_evaluate_fmpz_mpoly                                    0.2
acb_dirichlet_zeta_nzeros                                    0.2
qfb_prime_form                                               0.2
fq_poly_pow_trunc_binexp                                     0.2
fmpq_mat_inv                                                 0.2
nmod_poly_factor                                             0.199
fq_poly_pow_trunc                                            0.199
fmpz_mod_mpoly_divides_dense                                 0.198
fmpz_mpoly_divrem_array                                      0.196
nmod_poly_xgcd                                               0.196
acb_hypgeom_airy                                             0.195
fmpz_poly_eulerian_polynomial                                0.195
ca_sqrt                                                      0.194
gr_nmod                                                      0.194
fq_nmod_mpoly_mul_johnson                                    0.192
ca_poly_roots                                                0.191
nf_elem_norm_div                                             0.191
fft_ifft_negacyclic                                          0.19
fmpz_mpoly_divides_array                                     0.19
fmpq_mpoly_pow_ui                                            0.189
fmpz_mpoly_resultant_discriminant                            0.189
fq_poly_invsqrt_series                                       0.189
fmpz_mat_hnf_modular_eldiv                                   0.189
fmpz_mpoly_add_sub                                           0.188
acb_hypgeom_legendre_q                                       0.187
fmpq_mpoly_add_sub                                           0.187
fmpz_mod_mpoly_add_sub                                       0.186
acb_poly_divrem                                              0.185
gr_series_arb                                                0.184
arb_sin_pi_fmpq_algebraic                                    0.184
fq_poly_sqrt_series                                          0.184
gr_dirichlet                                                 0.183
acb_mat_det_precond                                          0.183
dlog_modpe                                                   0.183
aprcl_unity_zpq_mul                                          0.183
fmpq_mat_gso                                                 0.183
arb_cos_pi_fmpq_algebraic                                    0.182
arith_euler_number_vec                                       0.182
fq_nmod_mpoly_used_vars                                      0.18
nmod_poly_xgcd_hgcd                                          0.18
fmpz_mod_mat_howell_form                                     0.177
gr_poly_inv_series                                           0.176
acb_modular_elliptic_p_zpx                                   0.176
fmpz_mod_mpoly_gcd_zippel                                    0.176
gr_arb                                                       0.175
fmpq_mpoly_gcd_cofactors                                     0.175
fq_nmod_mpoly_get_set_coeff_fq_nmod_monomial                 0.174
fq_poly_powmod_ui_binexp_preinv                              0.174
fmpz_mat_howell_form_mod                                     0.174
fmpz_mpoly_factor_zippel                                     0.173
fq_poly_factor_distinct_deg                                  0.173
arb_div_newton                                               0.172
fmpz_lll_mpf                                                 0.172
nmod_mpoly_add_sub                                           0.172
fmpz_stress                                                  0.171
ca_sqrt_factor                                               0.17
gr_series_fmpq                                               0.17
acb_dirichlet_lerch_phi                                      0.17
acb_hypgeom_gamma_stirling_sum                               0.17
fmpq_next_calkin_wilf                                        0.17
fmpz_mat_rref_mod                                            0.17
acb_mat_eig_enclosure_rump                                   0.168
arb_sin_cos_pi_fmpq_algebraic                                0.168
mpn_div_2expmod_2expp1                                       0.168
fmpz_mpoly_quasidiv_heap                                     0.168
fmpz_mat_hnf_transform                                       0.168
fmpz_mpoly_div_monagan_pearce                                0.167
gr_polynomial_acb                                            0.166
arb_mat_lu_recursive                                         0.166
fft_ifft_radix2                                              0.166
fmpz_lll_mpf_with_removal                                    0.164
nmod_mpoly_factor_gcd_zippel                                 0.164
fq_nmod_mpoly_gcd_zippel                                     0.164
arb_dump_file                                                0.162
fmpz_poly_eta_qexp                                           0.162
nmod_poly_exp_series                                         0.162
gr_mat_rref_den_fflu....                                     0.161
arb_mul                                                      0.16
arf_div                                                      0.16
fmpz_mat_det_modular_accelerated                             0.16
fq_nmod_mpoly_compose_fq_nmod_mpoly                          0.159
nmod_mpoly_divides_heap_threaded                             0.159
arb_poly_divrem                                              0.158
arb_sin_cos                                                  0.157
acb_dirichlet_zeta_zero                                      0.156
arb_hypgeom_gamma_taylor_tab                                 0.156
nmod_mpoly_factor_zippel                                     0.156
fmpz_mpoly_divides_heap_threaded                             0.155
nmod_mat_mul_strassen                                        0.155
sub_dddmmmsss                                                0.154
gr_mat_diagonalization                                       0.154
gr_fmpq_poly                                                 0.154
arb_zeta_ui                                                  0.154
fmpz_mod_mpoly_divides_monagan_pearce                        0.154
mpn_mul_2expmod_2expp1                                       0.153
fmpz_mod_mpoly_gcd_brown                                     0.153
add_sssaaaaaa                                                0.151
acb_poly_polylog_cpx                                         0.151
nf_init_clear                                                0.151
gr_mat_rref_fflu....                                         0.15
gr_mat_nullspace....                                         0.15
qfb_inverse                                                  0.15
fmpz_mpoly_factor_gcd_brown_threaded                         0.15
fq_nmod_mpoly_scalar_mul_fq_nmod                             0.15
padic_poly_compose                                           0.15
arf_rsqrt                                                    0.147
arf_dump_file                                                0.147
fq_nmod_mpoly_get_set_term_exp_fmpz                          0.147
gr_fmpz_poly                                                 0.145
fq_nmod_poly_pow_trunc_binexp                                0.145
gr_poly_squarefree_part                                      0.144
acb_mat_det                                                  0.144
fmpz_poly_factor_zassenhaus                                  0.144
fq_nmod_poly_pow_trunc                                       0.144
n_sqrtmod_primepow                                           0.144
fq_nmod_mpoly_factor_wang                                    0.143
fmpz_mpoly_derivative_integral                               0.143
nmod_mpoly_divides                                           0.143
acb_hypgeom_bessel_j                                         0.142
fmpz_mod_mpoly_factor_gcd_subresultant                       0.142
gr_poly_evaluate_vec_fast                                    0.141
fmpq_mpoly_derivative_integral                               0.14
mpf_vec_dot2                                                 0.14
qsieve_primes_init                                           0.137
fq_nmod_mpoly_factor_squarefree                              0.137
ca_exp                                                       0.136
arb_poly_pow_series                                          0.136
fmpz_mod_poly_powmod_fmpz_binexp                             0.136
fmpz_poly_product_roots_fmpq_vec                             0.136
acb_mat_exp                                                  0.135
fmpz_mod_poly_factor_cantor_zassenhaus                       0.135
fq_nmod_poly_invsqrt_series                                  0.135
nmod_poly_evaluate_mat_horner                                0.135
arb_exp                                                      0.134
fq_nmod_poly_sqrt_series                                     0.133
fmpz_poly_mat_pow                                            0.132
fmpz_mat_hadamard                                            0.132
acb_hypgeom_legendre_p                                       0.131
mag_dump_file                                                0.131
nmod_mpoly_quadratic_root                                    0.131
qfb_nucomp                                                   0.13
nmod_poly_factor_is_irreducible_ddf                          0.13
gr_mat_minpoly_field....                                     0.129
padic_mat_add                                                0.129
gr_mat_det_lu....                                            0.128
acb_mat_sqr                                                  0.128
aprcl_is_prime                                               0.128
fmpq_mpoly_get_set_coeff_fmpq_monomial                       0.128
fmpq_mpoly_gcd_hensel                                        0.128
nmod_poly_gcd                                                0.128
fq_nmod_mpoly_get_set_term_exp_ui                            0.127
gr_mat_rank....                                              0.126
acb_mat_lu_recursive                                         0.126
fft_ifft_truncate                                            0.126
ca_transfer                                                  0.125
acb_hypgeom_chi                                              0.125
fq_nmod_mpoly_derivative                                     0.125
umul_ppmm                                                    0.124
fq_nmod_mpoly_div_monagan_pearce                             0.124
fmpz_poly_gcd_heuristic                                      0.124
smul_ppmm                                                    0.123
arb_sin                                                      0.123
fmpq_mpoly_compose_fmpq_mpoly                                0.123
fmpz_mpoly_pow_ui                                            0.123
fmpz_mpoly_pow_fps                                           0.123
nmod_mpoly_gcd_brown                                         0.123
fmpz_poly_CLD_bound                                          0.123
arb_mat_sqr                                                  0.122
arb_mat_mul_block                                            0.121
fq_nmod_mpoly_push_term_fq_nmod_fmpz                         0.121
fmpz_factor_pollard_brent_single                             0.121
padic_mat_sub                                                0.121
fmpz_jacobi                                                  0.121
fmpz_mod_poly_factor_roots_factored                          0.12
qqbar_sub                                                    0.119
qqbar_add                                                    0.119
arb_exp_arf_bb                                               0.119
fmpq_mpoly_evaluate                                          0.118
arb_expm1                                                    0.117
n_fq_poly_mul                                                0.117
fmpz_mpoly_mul_monomial                                      0.117
gr_matrix_fmpq                                               0.116
fq_nmod_mpoly_evaluate                                       0.116
fq_mat_can_solve                                             0.116
nmod_poly_compose_mod_brent_kung_vec_preinv_threaded         0.116
ca_re_im                                                     0.115
gr_psl2z                                                     0.113
fq_nmod_poly_powmod_ui_binexp_preinv                         0.113
ca_log                                                       0.112
gr_vec_sum                                                   0.112
acb_hypgeom_0f1                                              0.112
nmod_mpoly_mul_heap_threaded                                 0.112
fmpz_poly_mat_mul                                            0.112
padic_log_satoh                                              0.112
nmod_poly_gcd_hgcd                                           0.112
arb_root_ui                                                  0.111
acb_poly_rgamma_series                                       0.11
fmpz_mod_mpoly_get_set_coeff_fmpz_monomial                   0.11
gr_fmpz_mpoly_q                                              0.109
arb_cos                                                      0.109
nmod_mpoly_div                                               0.109
fq_poly_factor_split_single                                  0.109
fq_zech_mat_can_solve                                        0.109
acb_dirichlet_isolate_hardy_z_zero                           0.108
acb_polygamma                                                0.108
fq_nmod_poly_factor_distinct_deg                             0.108
fmpz_mod_mul                                                 0.108
nmod_mat_mul                                                 0.108
acb_poly_pow_series                                          0.107
acb_poly_evaluate2_rectangular                               0.107
arb_sin_cos_generic                                          0.106
arith_stirling                                               0.106
nmod_poly_factor_roots_factored                              0.106
fq_poly_sqrt                                                 0.106
fmpz_mat_hnf                                                 0.106
acb_dirichlet_l_hurwitz                                      0.105
fmpq_mpoly_gcd_zippel2                                       0.105
fq_poly_randtest_irreducible                                 0.103
fq_poly_powmod_fmpz_binexp_preinv                            0.103
acb_mat_solve                                                0.102
arb_const_apery                                              0.102
nmod_mpoly_factor_wang                                       0.102
fmpz_poly_hensel_lift_without_only_inverse                   0.102
fmpz_poly_hensel_lift                                        0.102
fmpz_mat_det_modular                                         0.102
fq_nmod_mpoly_divrem_monagan_pearce                          0.101
nmod_mpoly_compose_nmod_mpoly                                0.101
padic_mat_neg                                                0.101
fq_nmod_mat_can_solve                                        0.101
fmpz_mat_mul_fft                                             0.101
gr_generic_fmpz_poly_evaluate                                0.1
acb_div                                                      0.1
fq_nmod_mpoly_factor_zassenhaus                              0.1
fmpz_mpoly_divides                                           0.1
fq_poly_factor_kaltofen_shoup                                0.1
fmpz_poly_mul_karatsuba                                      0.1
fmpz_kronecker                                               0.1
fmpz_mod_poly_factor_squarefree                              0.099
padic_poly_inv_series                                        0.099
fmpz_poly_taylor_shift_horner                                0.099
fmpz_mat_rref_mul                                            0.099
ca_mat_jordan_blocks                                         0.098
arf_sqrt                                                     0.098
fmpz_poly_mat_nullspace                                      0.098
arb_log                                                      0.097
arb_bernoulli_ui                                             0.097
fq_nmod_mpoly_degree                                         0.097
fq_poly_factor                                               0.097
fq_zech_poly_mul_KS                                          0.097
fmpz_poly_gcd_modular                                        0.097
fmpz_mpoly_q_sub                                             0.096
gr_mat_solve_field                                           0.096
gr_mat_rank_fflu....                                         0.096
acb_poly_evaluate2_horner                                    0.096
acb_poly_evaluate2                                           0.096
fq_nmod_mpoly_get_set_is_fq_nmod                             0.096
fmpq_get_set_str                                             0.096
n_nextprime                                                  0.096
ca_mat_jordan_form                                           0.095
ca_get_str                                                   0.095
gr_mat_rank_lu....                                           0.095
gr_fmpz_mpoly                                                0.095
acb_dirichlet_l_fmpq                                         0.095
fmpz_mat_nullspace                                           0.095
ca_poly_gcd                                                  0.094
gr_poly_roots_other                                          0.094
gr_fq_zech                                                   0.094
acb_mat_solve_lu                                             0.094
arb_mat_det_precond                                          0.094
nf_elem_set_coeff_num_fmpz                                   0.094
fmpz_mpoly_factor_gcd_subresultant                           0.094
fq_nmod_mpoly_divrem_ideal_monagan_pearce                    0.094
fmpz_poly_mat_mul_KS                                         0.094
fq_zech_mat_solve                                            0.094
gr_vec_product                                               0.093
acb_hypgeom_coulomb                                          0.093
arb_mat_det                                                  0.093
padic_poly_add                                               0.093
arb_mat_ldl                                                  0.092
fmpz_mod_mpoly_mul_johnson                                   0.092
fmpz_mat_mul_multi_mod                                       0.092
acb_poly_gamma_series                                        0.091
arb_mat_cho                                                  0.091
arb_atan_arf_bb                                              0.091
qfb_reduce                                                   0.091
nmod_mpoly_gcd_zippel2                                       0.091
fmpz_poly_divrem_preinv                                      0.091
gr_poly_roots                                                0.09
gr_polynomial_arb                                            0.09
acb_dirichlet_l_jet                                          0.09
acb_dirichlet_euler_product_real_ui                          0.09
arb_zeta                                                     0.09
arf_mul_via_mpfr                                             0.09
fmpz_mod_mpoly_mul                                           0.09
fmpz_mpoly_univar                                            0.09
padic_log_balanced                                           0.09
acb_modular_eta                                              0.089
fq_nmod_mpoly_gcd_zippel2                                    0.089
fq_zech_poly_sqrt_series                                     0.089
fq_zech_poly_mul                                             0.089
ca_mat_det                                                   0.088
qqbar_roots_fmpz_poly                                        0.088
acb_lambertw                                                 0.088
fq_zech_poly_invsqrt_series                                  0.088
fmpq_next_minimal                                            0.088
ca_poly_gcd_euclidean                                        0.087
acb_poly_exp_series                                          0.087
arb_poly_mul                                                 0.087
arb_atan2                                                    0.087
fq_nmod_mpoly_add_sub                                        0.087
mpoly_search_monomials                                       0.087
fq_embed_matrices                                            0.087
fq_sqrt                                                      0.087
fmpq_mat_fmpq_vec_mul                                        0.087
ca_erf                                                       0.086
qqbar_get_fexpr                                              0.086
acb_modular_eisenstein                                       0.086
arb_hypgeom_u_integration                                    0.086
arb_mat_addmul_rad_mag_fast                                  0.085
arf_mul                                                      0.085
arb_hurwitz_zeta                                             0.084
gr_mat_hadamard....                                          0.083
gr_series_fmpz                                               0.083
padic_poly_sub                                               0.083
fq_poly_sqr_classical                                        0.083
fq_poly_gcd                                                  0.083
fq_mat_solve                                                 0.083
fmpz_mod_poly_powmod_fmpz_binexp_preinv                      0.083
acb_digamma                                                  0.082
fmpz_mpoly_univar_resultant                                  0.082
fmpz_mod_poly_factor_distinct_deg_threaded                   0.082
fmpz_mat_mul_classical                                       0.082
acb_hypgeom_ci                                               0.081
fq_nmod_mpoly_push_term_fq_nmod_ui                           0.081
fq_poly_factor_squarefree                                    0.081
fq_zech_mat_inv                                              0.081
fmpq_poly_resultant_div                                      0.081
n_primes_jump_after                                          0.081
acb_poly_powsum_series_naive_threaded                        0.08
fmpq_mpoly_univar                                            0.08
fmpz_mpoly_compose_fmpz_mpoly                                0.08
fq_poly_powmod_fmpz_sliding_preinv                           0.08
fmpq_mat_solve                                               0.08
fmpz_mod_mat_can_solve                                       0.08
fmpz_multi_CRT_ui                                            0.08
nmod_poly_evaluate_mat_paterson_stockmeyer                   0.08
add_ssaaaa                                                   0.079
acb_hypgeom_si                                               0.079
arb_can_round_mpfr                                           0.079
fmpz_mod_mpoly_div_monagan_pearce                            0.079
nmod_mpoly_derivative                                        0.079
nmod_poly_mat_mul_interpolate                                0.079
padic_poly_pow                                               0.079
fmpq_submul                                                  0.079
fmpq_addmul                                                  0.079
fmpz_poly_resultant_modular_div                              0.079
gr_poly_resultant_euclidean                                  0.078
acb_poly_pow_acb_series                                      0.078
acb_mat_solve_precond                                        0.078
arf_add                                                      0.078
fq_zech_poly_sqr_KS                                          0.078
fmpq_reconstruct_fmpz_2                                      0.078
nmod_mat_howell_form                                         0.078
gr_poly_gcd_euclidean                                        0.077
gr_poly_gcd                                                  0.077
acb_dirichlet_chi                                            0.077
acb_hypgeom_pfq_sum_invz                                     0.077
acb_hypgeom_jacobi_p                                         0.077
acb_mat_mul                                                  0.077
fmpz_mod_mpoly_univar_resultant                              0.077
fmpz_poly_factor                                             0.077
fmpq_vec_dot                                                 0.077
fmpz_mat_rank                                                0.077
sdiv_qrnnd                                                   0.076
ca_poly_divrem                                               0.076
acb_hypgeom_bessel_k                                         0.076
arb_poly_rgamma_series                                       0.076
arb_poly_exp_series_basecase                                 0.076
arb_mat_spd_solve                                            0.076
arb_mat_spd_inv                                              0.076
arb_mat_solve_cho_precomp                                    0.076
arb_mat_inv_cho_precomp                                      0.076
fmpz_mpoly_scalar_fmma                                       0.076
fq_zech_poly_divrem                                          0.076
fq_nmod_mat_inv                                              0.076
nmod_mat_mul_classical_threaded                              0.076
arb_mat_solve_ldl_precomp                                    0.075
fmpz_mpoly_factor                                            0.075
fmpq_mpoly_gcd                                               0.075
nmod_mpoly_univar_resultant                                  0.075
fq_zech_poly_sub                                             0.075
fq_mat_inv                                                   0.075
fmpz_mod_mat_rref                                            0.075
fmpz_poly_taylor_shift_multi_mod_threaded                    0.075
fmpz_poly_hensel_start_continue_lift                         0.075
gr_polynomial_fmpz                                           0.074
acb_poly_pow_ui                                              0.074
acb_poly_find_roots                                          0.074
arb_poly_evaluate2_acb_rectangular                           0.074
arb_sqrt_newton                                              0.074
arf_mul_fmpz                                                 0.074
fq_nmod_mpoly_univar                                         0.074
fmpz_mpoly_sqrt_heap                                         0.074
fmpz_mpoly_get_set_coeff_fmpz_monomial                       0.074
fq_nmod_mat_solve                                            0.074
fmpq_poly_equal_trunc                                        0.074
fmpz_mod_discrete_log_pohlig_hellman                         0.074
nmod_poly_divides                                            0.074
nmod_mat_lu_classical_delayed                                0.074
mpf_vec_dot                                                  0.074
qqbar_sgn_re                                                 0.073
acb_dirichlet_zeta_zeros                                     0.073
arb_mat_inv_ldl_precomp                                      0.073
fq_nmod_mpoly_sqrt                                           0.073
fmpz_mod_mpoly_scalar_addmul_fmpz                            0.073
nmod_poly_mat_sqr_KS                                         0.073
nmod_poly_mat_mul_KS                                         0.073
fmpz_poly_factor_squarefree                                  0.073
fq_nmod_poly_sqrt                                            0.073
fmpz_mod_poly_div_series                                     0.073
acb_elliptic_e_inc                                           0.072
fmpz_lll                                                     0.072
nmod_mpoly_mul_array_threaded                                0.072
nmod_mpoly_mpolyn_divides_threaded                           0.072
fq_nmod_poly_factor_split_single                             0.072
fmpz_poly_evaluate_divconquer_fmpq                           0.072
udiv_qrnnd                                                   0.071
ca_poly_compose                                              0.071
acb_hypgeom_dilog                                            0.071
fmpz_lll_wrapper_with_removal                                0.071
nmod_mpoly_factor_content                                    0.071
fq_zech_poly_sqr_classical                                   0.071
ca_poly_mul                                                  0.07
acb_hypgeom_pfq_sum_fme                                      0.07
acb_hypgeom_gamma_lower                                      0.07
fmpz_lll_wrapper_with_removal_knapsack                       0.07
fmpz_lll_wrapper                                             0.07
fmpz_lll_with_removal                                        0.07
fq_nmod_mpoly_sort_terms                                     0.07
fmpz_mod_mpoly_sqrt                                          0.07
fq_nmod_poly_randtest_irreducible                            0.07
fq_poly_div_series                                           0.07
n_sqrtmodn                                                   0.07
acb_poly_digamma_series                                      0.069
arb_sin_cos_arf_bb                                           0.069
arith_bell_number_vec                                        0.069
fmpz_mod_mpoly_mul_dense                                     0.069
qqbar_get_acb                                                0.068
acb_poly_zeta_series                                         0.068
acb_mat_solve_tril                                           0.068
arb_hypgeom_gamma_stirling_sum                               0.068
acb_pow                                                      0.068
acb_modular_theta                                            0.067
acb_mat_solve_triu                                           0.067
arb_mat_mul                                                  0.067
acb_mul_naive                                                0.067
arb_get_str                                                  0.067
arb_const_euler                                              0.067
arf_sub                                                      0.067
fq_nmod_mpoly_get_set_str_pretty                             0.067
fmpq_mpoly_divrem                                            0.067
fmpq_mpoly_div                                               0.067
fmpz_poly_factor_cubic                                       0.067
padic_mat_scalar_mul_padic                                   0.067
fq_nmod_sqrt                                                 0.067
fmpz_mod_poly_discriminant                                   0.067
fmpz_poly_hensel_lift_once                                   0.067
qqbar_re_im                                                  0.066
fmpzi_gcd                                                    0.066
fmpz_mod_mpoly_resultant_discriminant                        0.066
ca_sin_cos                                                   0.065
arb_log_newton                                               0.065
fmpz_mod_mpoly_get_set_term_exp_fmpz                         0.065
fq_nmod_poly_powmod_fmpz_binexp_preinv                       0.065
fmpz_mat_can_solve_fflu                                      0.065
acb_modular_j                                                0.064
di_fast_add                                                  0.064
fmpz_mod_mpoly_divrem_ideal_monagan_pearce                   0.064
fmpz_mod_mpoly_derivative                                    0.064
nmod_mpoly_mul                                               0.064
padic_poly_derivative                                        0.064
padic_pow_si                                                 0.064
fmpq_mat_can_solve_dixon                                     0.064
fmpz_poly_sqr_karatsuba                                      0.064
fmpz_mat_gram                                                0.064
nmod_mat_rank                                                0.064
qqbar_cmpabs_im                                              0.063
acb_hypgeom_pfq_series_direct                                0.063
acb_hypgeom_coulomb_series                                   0.063
nf_elem_mul                                                  0.063
fmpq_poly_derivative                                         0.063
fmpq_mat_solve_multi_mod                                     0.063
nmod_mat_pow                                                 0.063
qqbar_abs                                                    0.062
acb_zeta                                                     0.062
fmpq_mpoly_get_set_term_exp_fmpz                             0.062
nmod_mpoly_content_vars                                      0.062
fq_nmod_poly_factor_kaltofen_shoup                           0.062
fmpz_mod_poly_factor_equal_deg_prob                          0.062
padic_mat_scalar_div_fmpz                                    0.062
fq_zech_poly_derivative                                      0.062
fmpz_mod_poly_powers_mod_bsgs                                0.062
fmpz_mod_poly_frobenius_powers_precomp                       0.062
fmpz_poly_derivative                                         0.062
nmod_poly_invmod                                             0.062
n_cbrt_newton_iteration                                      0.062
gr_poly_hgcd                                                 0.061
acb_dirichlet_platt_beta                                     0.061
arb_hypgeom_legendre_p_ui_root                               0.061
fmpz_mpoly_get_set_term_exp_fmpz                             0.061
fmpz_mpoly_evaluate                                          0.061
fq_zech_poly_sqr                                             0.061
fmpq_poly_exp_series                                         0.061
fmpz_mod_mat_inv                                             0.061
gr_poly_compose_horner                                       0.06
arf_sub_fmpz                                                 0.06
arf_add_fmpz                                                 0.06
fmpq_mpoly_add_sub_fmpq                                      0.06
fq_zech_poly_neg                                             0.06
fq_poly_mul_classical                                        0.06
fmpz_mod_poly_divides                                        0.06
fmpz_mod_mat_solve                                           0.06
fmpz_mod_mat_mul_fmpz_vec                                    0.06
fmpz_mpoly_q_add                                             0.059
gr_poly_divrem_divconquer                                    0.059
gr_mat_lu_recursive                                          0.059
gr_mat_lu                                                    0.059
gr_matrix_acb                                                0.059
arb_log_base_ui                                              0.059
nmod_mpoly_gcd_zippel                                        0.059
nmod_poly_mat_mul                                            0.059
fq_zech_poly_sqrt                                            0.059
fmpz_mod_poly_compose_mod_brent_kung_precomp_preinv_threaded 0.059
fmpz_mod_mat_fmpz_vec_mul                                    0.059
fmpz_mat_mul                                                 0.059
gr_poly_compose                                              0.058
acb_dirichlet_l_vec_hurwitz                                  0.058
acb_dirichlet_hurwitz_precomp                                0.058
acb_mat_approx_eig_qr                                        0.058
fq_nmod_poly_factor                                          0.058
fmpz_is_prime_pocklington                                    0.058
nmod_mat_det                                                 0.058
acb_hypgeom_gegenbauer_c                                     0.057
acb_inv                                                      0.057
qfb_nudupl                                                   0.057
fmpz_mpoly_divides_monagan_pearce                            0.057
nmod_mpoly_mul_dense                                         0.057
fq_poly_factor_is_irreducible                                0.057
fmpz_mod_poly_powers_mod_naive                               0.057
nmod_poly_hgcd                                               0.057
nmod_mpoly_divrem_monagan_pearce                             0.056
fmpz_poly_mat_rref                                           0.056
padic_poly_evaluate_padic                                    0.056
fq_zech_poly_div_series                                      0.056
fmpq_mat_mul_fmpq_vec                                        0.056
fmpz_mod_poly_powmod_x_fmpz_preinv                           0.056
fmpz_mod_poly_find_distinct_nonzero_roots                    0.056
n_factor_lehman                                              0.056
gr_special_fac                                               0.055
gr_mat_lu_classical                                          0.055
gr_series_nmod8                                              0.055
acb_hypgeom_beta_lower_series                                0.055
arb_mat_exp                                                  0.055
fmpz_mpoly_set_si                                            0.055
fmpz_mpoly_set_fmpz                                          0.055
fmpz_poly_mat_inv                                            0.055
fq_poly_xgcd_euclidean_f                                     0.055
fmpz_mod_poly_divides_classical                              0.055
fmpz_poly_pseudo_rem_cohen                                   0.055
fmpz_poly_mul                                                0.055
fmpz_poly_gcd_subresultant                                   0.055
nmod_poly_xgcd_euclidean                                     0.055
sub_ddmmss                                                   0.054
acb_dirichlet_zeta_rs                                        0.054
acb_poly_evaluate_rectangular                                0.054
acb_mat_lu                                                   0.054
nf_elem_equal_fmpz_fmpq                                      0.054
fq_nmod_poly_div_series                                      0.054
fmpq_mat_solve_dixon                                         0.054
fmpz_mod_poly_compose_mod_brent_kung_vec_preinv_threaded     0.054
nmod_mat_det_howell                                          0.054
acb_dirichlet_roots                                          0.053
acb_modular_theta_jet                                        0.053
acb_poly_div_series                                          0.053
arb_hypgeom_gamma_fmpq                                       0.053
arb_mat_solve_precond                                        0.053
nf_elem_is_rational_integer                                  0.053
nf_elem_div                                                  0.053
fmpz_mpoly_set_ui                                            0.053
fmpz_mpoly_mul_dense                                         0.053
fq_nmod_poly_powmod_fmpz_sliding_preinv                      0.053
fmpq_poly_revert_series_lagrange                             0.053
fmpq_pow_si                                                  0.053
fmpq_mpq_init_set_readonly                                   0.053
fmpz_poly_taylor_shift_divconquer                            0.053
gr_poly_compose_divconquer                                   0.052
acb_dirichlet_zeta_nzeros_gram                               0.052
arb_gamma_fmpq                                               0.052
nf_elem_set_equal_si_ui                                      0.052
fmpz_mod_mpoly_factor_wang                                   0.052
fq_nmod_mpoly_get_set_coeff                                  0.052
nmod_mpoly_mul_array                                         0.052
mpoly_test_irreducible                                       0.052
fq_poly_mulmod                                               0.052
fq_poly_div_newton_n_preinv                                  0.052
fmpq_mat_fmpz_vec_mul                                        0.052
fmpq_sub                                                     0.052
fmpq_init_set_readonly                                       0.052
fmpq_div                                                     0.052
fmpq_add                                                     0.052
fmpz_mat_mul_fmpz_vec                                        0.052
nmod_poly_interpolate_nmod_vec_barycentric                   0.052
nmod_poly_gcdinv                                             0.052
nmod_mat_lu_classical                                        0.052
acb_poly_compose                                             0.051
arb_poly_pow_ui                                              0.051
arb_poly_exp_series                                          0.051
nmod_poly_mat_sqr_interpolate                                0.051
fmpz_comb_init_clear                                         0.051
nmod_poly_inv_series_basecase                                0.051
ca_fmpz_mpoly_evaluate                                       0.05
gr_matrix_fmpz                                               0.05
acb_elliptic_f                                               0.05
acb_hypgeom_beta_lower                                       0.05
acb_poly_exp_series_basecase                                 0.05
arb_hypgeom_airy_zero                                        0.05
arb_atan                                                     0.05
nmod_mpoly_divrem_ideal                                      0.05
nmod_poly_factor_cantor_zassenhaus                           0.05
fq_nmod_poly_sqr_classical                                   0.05
fq_nmod_poly_mul_classical                                   0.05
fq_poly_powmod_fmpz_binexp                                   0.05
fmpz_mod_poly_resultant_hgcd                                 0.05
fmpz_mat_fmpz_vec_mul                                        0.05
ca_poly_evaluate_horner                                      0.049
ca_poly_evaluate                                             0.049
acb_dirichlet_backlund_s_gram                                0.049
acb_poly_log_series                                          0.049
acb_mat_inv                                                  0.049
arb_hypgeom_sum_fmpq_imag_arb                                0.049
arb_div_2expm1_ui                                            0.049
fq_nmod_poly_gcd                                             0.049
fq_poly_mulmod_preinv                                        0.049
fmpq_poly_sin_cos_series                                     0.049
fmpz_mod_poly_resultant                                      0.049
n_is_probabprime                                             0.049
gr_poly_exp_series                                           0.048
acb_modular_lambda                                           0.048
fq_nmod_mpoly_factor_gcd_subresultant                        0.048
nmod_poly_mat_sqr                                            0.048
fmpq_mul                                                     0.048
fmpz_poly_mul_KS                                             0.048
fmpz_mat_hnf_pernet_stein                                    0.048
acb_elliptic_rf                                              0.047
arb_poly_mullow_classical                                    0.047
arb_poly_mullow                                              0.047
arb_mat_lu                                                   0.047
acb_lgamma                                                   0.047
fmpz_lll_d_heuristic_with_removal                            0.047
fmpz_lll_d                                                   0.047
fmpz_mod_mpoly_degree                                        0.047
fmpz_poly_factor_zassenhaus_subset                           0.047
padic_log                                                    0.047
padic_exp_balanced                                           0.047
fmpz_mod_poly_invmod                                         0.047
fmpz_poly_pseudo_divrem_divconquer                           0.047
fmpz_cmp2abs                                                 0.047
n_is_prime                                                   0.047
qqbar_inv                                                    0.046
acb_poly_revert_series_newton                                0.046
acb_mat_mul_reorder                                          0.046
acb_agm1                                                     0.046
arb_div                                                      0.046
fmpz_lll_d_with_removal_knapsack                             0.046
fmpz_lll_d_with_removal                                      0.046
fmpz_lll_d_heuristic                                         0.046
fq_nmod_poly_factor_squarefree                               0.046
fq_poly_factor_equal_deg_prob                                0.046
fq_poly_xgcd                                                 0.046
fmpq_poly_mul                                                0.046
ca_sub                                                       0.045
ca_add                                                       0.045
acb_elliptic_rg                                              0.045
acb_poly_revert_series_lagrange                              0.045
arb_poly_div_series                                          0.045
arb_sinh_cosh                                                0.045
fq_nmod_mpoly_repack_bits                                    0.045
nmod_mpoly_evaluate                                          0.045
fmpz_mod_poly_factor_interval_threaded                       0.045
padic_log_rectangular                                        0.045
fmpq_set_cfrac                                               0.045
fmpz_mod_poly_gcd                                            0.045
fmpz_poly_swinnerton_dyer                                    0.045
fmpz_poly_divides                                            0.045
n_is_probabprime_fibonacci                                   0.045
qqbar_root_ui                                                0.044
acb_dirichlet_l_fmpq_afe                                     0.044
acb_hypgeom_gamma_taylor                                     0.044
acb_hypgeom_chebyshev_u                                      0.044
acb_poly_pow_ui_trunc_binexp                                 0.044
acb_poly_lgamma_series                                       0.044
acb_poly_inv_series                                          0.044
arb_poly_evaluate_acb_rectangular                            0.044
acb_approx_dot                                               0.044
arb_atan_arf_newton                                          0.044
arf_get_fmpz                                                 0.044
fmpq_mpoly_sqrt                                              0.044
fq_poly_factor_is_irreducible_ddf                            0.044
fmpz_mod_poly_factor_is_squarefree                           0.044
fmpq_poly_revert_series_newton                               0.044
fmpq_poly_resultant                                          0.044
fmpq_poly_get_set_coeff_fmpq                                 0.044
udiv_qrnnd_preinv                                            0.043
acb_poly_zeta_em_tail_bsplit                                 0.043
acb_poly_interpolate_barycentric                             0.043
arb_poly_gamma_series                                        0.043
mag_pow_ui                                                   0.043
fq_nmod_mpoly_factor_zippel                                  0.043
fq_poly_factor_roots                                         0.043
fmpq_poly_evaluate_fmpz                                      0.043
n_is_probabprime_BPSW                                        0.043
acb_dirichlet_zeta_rs_r                                      0.042
acb_poly_shift_left_right                                    0.042
arb_poly_zeta_series                                         0.042
arb_sinh                                                     0.042
arith_swinnerton_dyer_polynomial                             0.042
fmpz_mpoly_used_vars                                         0.042
nmod_mpoly_sqrt                                              0.042
fq_nmod_poly_factor_is_irreducible                           0.042
fmpz_factor_pp1                                              0.042
fq_zech_poly_shift_left_right                                0.042
fmpz_mod_poly_derivative                                     0.042
fmpz_poly_inv_series_basecase                                0.042
fmpz_divisor_sigma                                           0.042
ca_field_cache_insert                                        0.041
ca_tan                                                       0.041
acb_hypgeom_chebyshev_t                                      0.041
arb_poly_log_series                                          0.041
arb_exp_sum_bs_powtab                                        0.041
nmod_mpoly_factor_gcd_subresultant                           0.041
padic_mat_mul                                                0.041
fq_zech_poly_mulmod_preinv                                   0.041
fq_zech_poly_mulmod                                          0.041
fq_nmod_poly_xgcd_euclidean_f                                0.041
fmpq_poly_get_set_coeff_ui                                   0.041
fmpz_mat_det                                                 0.041
d_vec_dot_thrice                                             0.041
n_is_probabprime_lucas                                       0.041
n_is_probabprime_fermat                                      0.041
qqbar_cmpabs                                                 0.04
gr_mat_hessenberg_gauss....                                  0.04
arb_poly_revert_series_newton                                0.04
arb_poly_revert_series_lagrange                              0.04
arb_poly_evaluate2_rectangular                               0.04
arb_cosh                                                     0.04
arf_add_si                                                   0.04
fmpq_mpoly_push_term_fmpq_fmpz                               0.04
fmpq_mpoly_divides                                           0.04
fq_poly_factor_iterated_frobenius_preinv                     0.04
fq_nmod_poly_div_newton_n_preinv                             0.04
fq_poly_divrem                                               0.04
fmpq_poly_tan_series                                         0.04
fmpq_poly_add                                                0.04
fmpz_is_prime                                                0.04
z_kronecker                                                  0.04
ca_mat_mul                                                   0.039
acb_dirichlet_powsum_smooth                                  0.039
acb_poly_revert_series_lagrange_fast                         0.039
acb_poly_revert_series                                       0.039
arf_sub_ui                                                   0.039
arf_sub_si                                                   0.039
arf_add_ui                                                   0.039
fmpz_mpoly_scalar_mul_ui                                     0.039
nmod_mpoly_univar                                            0.039
nmod_poly_mat_rref                                           0.039
fq_zech_poly_hamming_weight                                  0.039
fq_nmod_poly_powmod_fmpz_binexp                              0.039
thread_support_parallel_binary_splitting                     0.039
acb_modular_elliptic_p                                       0.038
acb_poly_interpolate_fast                                    0.038
arb_poly_sub                                                 0.038
arb_poly_pow_ui_trunc_binexp                                 0.038
arb_poly_add                                                 0.038
fmpz_mod_mpoly_get_set_term_exp_ui                           0.038
fmpz_mpoly_degree                                            0.038
fmpq_poly_lcm                                                0.038
fmpq_get_cfrac                                               0.038
fmpz_mod_poly_pow_trunc                                      0.038
fmpz_mod_poly_pow_trunc_binexp                               0.038
nmod_poly_div_series_basecase                                0.038
gr_mpoly_get_set_coeff                                       0.037
gr_poly_pow_ui                                               0.037
gr_poly_divrem_newton                                        0.037
acb_hypgeom_erf                                              0.037
arb_poly_revert_series_lagrange_fast                         0.037
arb_poly_revert_series                                       0.037
arb_poly_evaluate2_horner                                    0.037
arb_poly_evaluate2                                           0.037
di_fast_div                                                  0.037
fmpz_mpoly_factor_content                                    0.037
fq_nmod_mpoly_add_sub_fq_nmod                                0.037
nmod_mpoly_divides_dense                                     0.037
nmod_poly_factor_is_irreducible                              0.037
fq_zech_is_square                                            0.037
fmpq_mat_concat_vertical                                     0.037
fmpq_mat_concat_horizontal                                   0.037
fmpz_mod_pow_fmpz                                            0.037
fmpz_poly_sqr_KS                                             0.037
fmpz_poly_remove                                             0.037
fmpz_divisor_in_residue_class_lenstra                        0.037
nmod_poly_divrem                                             0.037
d_vec_dot_heuristic                                          0.037
arb_poly_compose                                             0.036
arb_mat_solve_preapprox                                      0.036
arb_zeta_ui_euler_product                                    0.036
arb_richcmp                                                  0.036
arb_chebyshev_u_ui                                           0.036
fq_nmod_mpoly_get_coeff_vars_ui                              0.036
fq_nmod_mpoly_cmp                                            0.036
fmpz_mod_mpoly_degrees_term_exp_fits_ui_si                   0.036
fq_nmod_poly_mulmod_preinv                                   0.036
fmpq_poly_laguerre_l                                         0.036
fmpq_simplest_between                                        0.036
fmpz_poly_bit_pack                                           0.036
fmpz_mat_CRT_ui                                              0.036
ca_mat_mul_same_nf                                           0.035
qqbar_conjugates                                             0.035
gr_poly_sqrt_series                                          0.035
gr_poly_rsqrt_series                                         0.035
acb_hypgeom_pfq_series_sum_bs                                0.035
acb_poly_cot_pi_series                                       0.035
arb_hypgeom_sum_fmpq_arb                                     0.035
fq_nmod_mpoly_reverse                                        0.035
fmpq_mpoly_scalar_mul_fmpq                                   0.035
fmpq_mpoly_get_set_term_exp_ui                               0.035
fmpq_mpoly_content_vars                                      0.035
fmpz_mpoly_mul_array_threaded                                0.035
fmpz_mpoly_degrees_term_exp_fits_ui_si                       0.035
fq_zech_poly_div_newton_n_preinv                             0.035
fq_nmod_poly_mulmod                                          0.035
fq_poly_derivative                                           0.035
fmpq_poly_get_set_coeff_si                                   0.035
fmpz_mod_mat_scalar_mul_fmpz                                 0.035
fmpz_poly_pow_trunc                                          0.035
fmpz_mat_snf_kannan_bachem                                   0.035
fmpz_mat_rref_fflu                                           0.035
fmpz_mat_det_divisor                                         0.035
acb_hypgeom_lgamma                                           0.034
acb_mat_frobenius_norm                                       0.034
arb_hypgeom_erfinv                                           0.034
arb_poly_inv_series                                          0.034
acb_cot                                                      0.034
arb_bell_sum_taylor                                          0.034
fmpq_mpoly_degrees_term_exp_fits_ui_si                       0.034
fmpz_mpoly_divrem_monagan_pearce                             0.034
padic_div                                                    0.034
fq_zech_poly_evaluate_fq                                     0.034
fmpq_cfrac_bound                                             0.034
fmpz_mod_poly_berlekamp_massey                               0.034
fmpz_mat_hnf_xgcd                                            0.034
d_vec_dot                                                    0.034
n_is_prime_pocklington                                       0.034
ca_poly_div_series                                           0.033
acb_hypgeom_rising_ui_jet                                    0.033
acb_hypgeom_rising_ui                                        0.033
acb_hypgeom_pfq_series_sum_rs                                0.033
acb_poly_lambertw_series                                     0.033
acb_tan                                                      0.033
arb_pow_fmpq                                                 0.033
arf_mul_ui                                                   0.033
arf_mul_si                                                   0.033
arith_euler_polynomial                                       0.033
fmpz_mod_mpoly_factor_squarefree                             0.033
nmod_mpoly_factor_zassenhaus                                 0.033
fmpz_mpoly_mul_array                                         0.033
fmpz_mpoly_get_set_term_exp_ui                               0.033
nmod_mpoly_term_content                                      0.033
nmod_mpoly_get_set_term_exp_ui                               0.033
fq_default_poly_factor_init                                  0.033
fmpz_mod_poly_factor_roots                                   0.033
padic_poly_shift_left_right                                  0.033
fq_zech_poly_scalar_submul_fq                                0.033
fq_zech_poly_scalar_addmul_fq                                0.033
fmpq_poly_tanh_series                                        0.033
fmpq_poly_sub                                                0.033
fmpq_poly_rem_powers_precomp                                 0.033
fmpz_poly_bound_roots                                        0.033
n_factor_one_line                                            0.033
ca_mat_dft                                                   0.032
gr_matrix_arb                                                0.032
arb_sub                                                      0.032
arb_add                                                      0.032
fmpq_mpoly_factor                                            0.032
fmpz_mod_mpoly_used_vars                                     0.032
nmod_mpoly_divides_monagan_pearce                            0.032
nmod_mpoly_degree                                            0.032
fmpz_poly_mat_mullow                                         0.032
nmod_poly_mat_add                                            0.032
fq_nmod_poly_factor_equal_deg_prob                           0.032
fq_zech_poly_add                                             0.032
fq_get_set_fmpz_mod_poly                                     0.032
fmpq_poly_sub_series                                         0.032
fmpq_poly_add_series                                         0.032
fmpz_mod_poly_xgcd                                           0.032
fmpz_poly_num_real_roots_sturm                               0.032
fmpz_poly_mul_classical                                      0.032
fmpz_set_signed_ui_array                                     0.032
acb_poly_powsum_one_series_sieved                            0.031
arb_hypgeom_erf                                              0.031
arb_hypgeom_1f1_integration                                  0.031
arb_poly_lgamma_series                                       0.031
arb_poly_interpolate_barycentric                             0.031
arb_poly_digamma_series                                      0.031
arb_sin_cos_arf_generic                                      0.031
di_fast_mul                                                  0.031
fq_nmod_mpoly_get_term                                       0.031
fmpz_mpoly_term_content                                      0.031
qadic_log                                                    0.031
qadic_log_balanced                                           0.031
fq_default_get_set_fmpz                                      0.031
fq_zech_poly_sub_series                                      0.031
fq_zech_poly_add_series                                      0.031
fmpq_poly_scalar_div_fmpz                                    0.031
fmpq_poly_scalar_div_fmpq                                    0.031
fmpz_mod_poly_radix                                          0.031
fmpz_mod_poly_compose_mod                                    0.031
fmpz_mod_mat_scalar_mul_si                                   0.031
fmpz_is_prime_pseudosquare                                   0.031
mpf_mat_equal                                                0.031
qqbar_cmpabs_re                                              0.03
gr_poly_xgcd_hgcd                                            0.03
gr_poly_evaluate_modular                                     0.03
bernoulli_bound_2exp_si                                      0.03
arb_calc_isolate_roots                                       0.03
arb_mul_more                                                 0.03
arb_log_ui_from_prev                                         0.03
fmpz_mod_mpoly_gcd_subresultant                              0.03
nmod_mpoly_repack_bits                                       0.03
fmpz_poly_mat_rank                                           0.03
fmpz_poly_mat_det_interpolate                                0.03
nmod_poly_mat_init_clear                                     0.03
qadic_sqrt                                                   0.03
fq_zech_poly_powmod_ui_binexp_preinv                         0.03
fq_nmod_poly_divrem                                          0.03
fq_poly_sqr_KS                                               0.03
fmpq_poly_scalar_mul_fmpq                                    0.03
fmpq_poly_remove                                             0.03
fmpq_mat_mul_fmpz_vec                                        0.03
fmpq_mat_det                                                 0.03
fmpz_mod_mat_scalar_mul_ui                                   0.03
fmpz_poly_sqrtrem_divconquer                                 0.03
fmpz_set_str                                                 0.03
nmod_poly_resultant_hgcd                                     0.03
ca_conj                                                      0.029
qqbar_get_quadratic                                          0.029
qqbar_floor                                                  0.029
qqbar_ceil                                                   0.029
gr_poly_taylor_shift_convolution                             0.029
gr_poly_pow_series_fmpq                                      0.029
gr_poly_evaluate_rectangular                                 0.029
gr_poly_evaluate_horner                                      0.029
gr_poly_evaluate                                             0.029
acb_calc_integrate_taylor                                    0.029
arb_poly_rsqrt_series                                        0.029
arb_sin_pi_fmpq                                              0.029
arb_sin_cos_pi_fmpq                                          0.029
arb_cos_pi_fmpq                                              0.029
nf_elem_norm                                                 0.029
fq_nmod_mpoly_get_term_monomial                              0.029
fmpq_mpoly_term_content                                      0.029
fmpz_mpoly_scalar_mul_si                                     0.029
nmod_mpoly_inflate_deflate                                   0.029
nmod_mpoly_div_monagan_pearce                                0.029
nmod_mpoly_add_sub_ui                                        0.029
mpoly_max_fields                                             0.029
fq_nmod_poly_factor_roots                                    0.029
fq_poly_sqr_reorder                                          0.029
fmpq_poly_invsqrt_series                                     0.029
nmod_poly_interpolate_nmod_vec_fast                          0.029
nmod_poly_interpolate_nmod_vec                               0.029
gr_poly_taylor_shift_divconquer                              0.028
arb_poly_riemann_siegel_z_series                             0.028
arith_bernoulli_polynomial                                   0.028
fq_nmod_mpoly_factor_content                                 0.028
fq_nmod_mpoly_total_degree                                   0.028
fmpq_mpoly_get_set_coeff_fmpq_fmpz                           0.028
fmpz_mpoly_inflate_deflate                                   0.028
fmpz_mpoly_content_vars                                      0.028
nmod_poly_mat_solve_fflu                                     0.028
fq_zech_poly_scalar_div_fq                                   0.028
fq_nmod_poly_xgcd                                            0.028
fq_poly_compose_mod_horner                                   0.028
fmpz_mod_poly_resultant_euclidean                            0.028
fmpz_mod_poly_powmod_ui_binexp_preinv                        0.028
fmpz_mod_poly_powmod_ui_binexp                               0.028
fmpz_poly_add                                                0.028
fmpz_div_newton                                              0.028
fmpz_divides_mod_list                                        0.028
ca_poly_squarefree_part                                      0.027
gr_poly_evaluate_other_rectangular                           0.027
acb_poly_tan_series                                          0.027
acb_poly_polylog_series                                      0.027
acb_mat_mul_threaded                                         0.027
arb_poly_interpolate_fast                                    0.027
arb_mat_mul_threaded                                         0.027
arb_digamma                                                  0.027
nf_elem_add_sub                                              0.027
aprcl_unity_zpq_gauss_sum                                    0.027
arith_ramanujan_tau                                          0.027
fmpz_mod_mpoly_push_term_fmpz_fmpz                           0.027
nmod_mpoly_resultant_discriminant                            0.027
padic_poly_truncate                                          0.027
padic_poly_neg                                               0.027
fq_zech_poly_divrem_newton_n_preinv                          0.027
fq_poly_compose_mod                                          0.027
fmpq_poly_log_series                                         0.027
fmpq_poly_atan_series                                        0.027
fmpz_mod_poly_shift_left_right                               0.027
fmpz_mod_poly_compose_mod_brent_kung_vec_preinv              0.027
fmpz_mod_mat_add_sub_neg                                     0.027
fmpz_mod_divides                                             0.027
fmpz_poly_revert_series                                      0.027
fmpz_mat_add_sub                                             0.027
fmpz_is_prime_morrison                                       0.027
nmod_poly_interpolate_nmod_vec_newton                        0.027
nmod_poly_divrem_newton_n_preinv                             0.027
gr_special_fib                                               0.026
gr_poly_taylor_shift_horner                                  0.026
gr_poly_taylor_shift                                         0.026
gr_poly_nth_derivative                                       0.026
gr_poly_evaluate_other                                       0.026
acb_modular_elliptic_e                                       0.026
acb_modular_delta                                            0.026
acb_poly_rsqrt_series                                        0.026
acb_mat_mul_entrywise                                        0.026
arb_poly_sqrt_series                                         0.026
mag_log                                                      0.026
nf_elem_pow                                                  0.026
aprcl_unity_zpq_mul_unity_p                                  0.026
fq_nmod_mpoly_gen                                            0.026
fmpq_mpoly_cmp                                               0.026
fmpq_mpoly_add_sub_fmpz                                      0.026
fmpz_mpoly_add_sub_si                                        0.026
fmpz_poly_mat_det                                            0.026
fq_zech_poly_factor_is_squarefree                            0.026
fmpq_poly_sqrt_series                                        0.026
fmpz_mod_poly_compose_mod_brent_kung_preinv                  0.026
fmpz_poly_num_real_roots                                     0.026
fmpz_poly_evaluate_fmpq                                      0.026
mpf_vec_sub                                                  0.026
thread_pool                                                  0.026
ca_mat_rank                                                  0.025
ca_mat_adjugate                                              0.025
gr_poly_log_series                                           0.025
gr_mat_solve_tril....                                        0.025
gr_mat_charpoly_faddeev_bsgs....                             0.025
acb_hypgeom_ei                                               0.025
acb_poly_interpolate_newton                                  0.025
arb_mat_mul_entrywise                                        0.025
arb_contains_interior                                        0.025
arb_contains                                                 0.025
arb_chebyshev_t_ui                                           0.025
bool_mat_all_pairs_longest_walk                              0.025
fmpz_mpoly_scalar_divexact_ui                                0.025
fmpz_mpoly_push_term_fmpz_fmpz                               0.025
mpoly_max_degrees_tight                                      0.025
fq_nmod_poly_factor_iterated_frobenius_preinv                0.025
fq_nmod_poly_factor_is_irreducible_ddf                       0.025
qadic_norm_resultant                                         0.025
padic_mat_get_set_entry_padic                                0.025
fq_zech_poly_mullow_KS                                       0.025
fq_zech_mat_minpoly                                          0.025
fq_poly_divrem_newton_n_preinv                               0.025
fq_mat_minpoly                                               0.025
fmpq_poly_asinh_series                                       0.025
fmpq_mat_rref                                                0.025
fmpz_mod_poly_mul                                            0.025
fmpz_mod_poly_gcdinv                                         0.025
fmpz_mod_poly_divrem_newton_n_preinv                         0.025
fmpz_poly_div_root                                           0.025
fmpz_poly_add_series                                         0.025
fmpz_mat_CRT_ui_unsigned                                     0.025
fmpz_root                                                    0.025
nmod_mat_solve_triu_recursive                                0.025
nmod_mat_solve_tril_recursive                                0.025
nmod_mat_inv                                                 0.025
mpf_vec_scalar_mul_mpf                                       0.025
ca_gamma                                                     0.024
gr_poly_pow_series_ui                                        0.024
gr_poly_compose_series                                       0.024
gr_mat_solve_triu....                                        0.024
arb_mat_spd_lll_reduce                                       0.024
acb_dot_fmpz                                                 0.024
arf_set_round_uiui                                           0.024
mag_expinv                                                   0.024
fmpq_mpoly_scalar_mul_div_fmpz                               0.024
fmpz_mod_mpoly_cmp                                           0.024
fmpz_mpoly_scalar_mul_fmpz                                   0.024
fmpz_mpoly_cmp                                               0.024
fmpz_mpoly_add_sub_ui                                        0.024
nmod_mpoly_cmp                                               0.024
qadic_norm                                                   0.024
qadic_norm_analytic                                          0.024
padic_mat_scalar_mul_fmpz                                    0.024
padic_mul                                                    0.024
fq_nmod_embed_matrices                                       0.024
fq_mat_vec_mul                                               0.024
fmpq_poly_revert_series_lagrange_fast                        0.024
fmpq_poly_pow_trunc                                          0.024
fmpq_poly_asin_series                                        0.024
fmpz_poly_mullow_karatsuba_n                                 0.024
fmpz_poly_evaluate_horner_fmpz                               0.024
fmpz_mat_multi_CRT_ui                                        0.024
nmod_poly_rem                                                0.024
nmod_mat_solve_triu_classical                                0.024
ca_poly_exp_series                                           0.023
qqbar_sgn                                                    0.023
gr_mat_charpoly_faddeev....                                  0.023
arb_fpwrap                                                   0.023
acb_hypgeom_airy_bound                                       0.023
acb_poly_sqrt_series                                         0.023
acb_mat_trace                                                0.023
arb_hypgeom_legendre_p_ui_asymp                              0.023
arb_hypgeom_coulomb_series                                   0.023
acb_rising2_ui                                               0.023
acb_dot_uiui                                                 0.023
acb_dot_siui                                                 0.023
acb_agm                                                      0.023
nf_elem_set_equal                                            0.023
nf_elem_mul_gen                                              0.023
arith_bell_number_multi_mod                                  0.023
fmpq_mpoly_push_term_fmpq_ui                                 0.023
fmpq_mpoly_gcd_subresultant                                  0.023
fmpq_mpoly_divrem_ideal                                      0.023
fmpz_mod_mpoly_scalar_mul_fmpz                               0.023
fmpz_mpoly_sort_terms                                        0.023
fmpz_mpoly_quasidivrem_heap                                  0.023
fq_poly_factor_is_irreducible_ben_or                         0.023
fq_zech_poly_set_trunc                                       0.023
fq_zech_poly_make_monic                                      0.023
fq_poly_xgcd_euclidean_f_composite_characteristic            0.023
fmpq_poly_revert_series                                      0.023
fmpz_mod_poly_invsqrt_series                                 0.023
fmpz_poly_sub                                                0.023
fmpz_poly_sqr                                                0.023
fmpz_poly_discriminant                                       0.023
fmpz_poly_CRT_ui                                             0.023
fmpz_mat_multi_CRT_ui_unsigned                               0.023
fmpz_vec_get_set_fft                                         0.023
nmod_poly_evaluate_nmod_vec_fast                             0.023
nmod_poly_div_series                                         0.023
nmod_poly_berlekamp_massey                                   0.023
nmod_mat_solve_tril_classical                                0.023
ca_mat_charpoly                                              0.022
qqbar_evaluate_fmpq_poly                                     0.022
gr_poly_div_divconquer                                       0.022
gr_mat_charpoly_gauss....                                    0.022
gr_mat_charpoly_danilevsky....                               0.022
acb_hypgeom_gamma_upper_series                               0.022
acb_hypgeom_gamma_lower_series                               0.022
acb_hypgeom_fresnel                                          0.022
arb_poly_shift_left_right                                    0.022
arb_poly_evaluate_rectangular                                0.022
arb_poly_acos_series                                         0.022
acb_rsqrt                                                    0.022
acb_dot_si                                                   0.022
arb_zeta_ui_borwein_bsplit                                   0.022
arb_zeta_ui_asymp                                            0.022
arb_log_hypot                                                0.022
arb_const_khinchin                                           0.022
arf_set_round_ui                                             0.022
mag_neg_log                                                  0.022
mag_exp                                                      0.022
nf_elem_mul_div_fmpq                                         0.022
nf_elem_get_fmpz_mod_poly                                    0.022
fmpz_mpoly_factor_squarefree                                 0.022
nmod_mpoly_factor_squarefree                                 0.022
fq_nmod_mpoly_scalar_addmul_fq_nmod                          0.022
fmpq_mpoly_get_set_coeff_fmpq_ui                             0.022
fmpz_mod_mpoly_divrem                                        0.022
fmpz_mpoly_scalar_divexact_si                                0.022
fmpz_mpoly_quasidivrem_ideal_heap                            0.022
fmpz_mpoly_get_set_coeff                                     0.022
fmpz_mpoly_add_sub_fmpz                                      0.022
nmod_mpoly_scalar_addmul_ui                                  0.022
nmod_mpoly_push_term_ui_fmpz                                 0.022
nmod_mpoly_divrem_ideal_monagan_pearce                       0.022
nmod_mpoly_compose_nmod_poly                                 0.022
nmod_poly_factor_roots                                       0.022
padic_sub                                                    0.022
padic_exp_rectangular                                        0.022
padic_add                                                    0.022
fq_zech_poly_mullow                                          0.022
fq_zech_poly_gcd                                             0.022
fq_poly_pow                                                  0.022
fq_poly_mul_reorder                                          0.022
fmpq_poly_scalar_mul_fmpz                                    0.022
fmpq_poly_nth_derivative                                     0.022
fmpz_mod_poly_gcdinv_euclidean                               0.022
fmpz_poly_mulhigh_karatsuba_n                                0.022
fmpz_vec_sub                                                 0.022
nmod_mat_solve_vec                                           0.022
acb_modular_elliptic_k                                       0.021
acb_elliptic_sigma                                           0.021
acb_hypgeom_erfc                                             0.021
acb_poly_compose_series                                      0.021
arb_poly_interpolate_newton                                  0.021
arb_poly_asin_series                                         0.021
acb_dot_ui                                                   0.021
arb_min                                                      0.021
arb_max                                                      0.021
arb_intersection                                             0.021
fq_nmod_mpoly_resize                                         0.021
fmpq_mpoly_get_term                                          0.021
fmpz_mod_mpoly_get_term                                      0.021
fmpz_mpoly_get_term_monomial                                 0.021
nmod_mpoly_used_vars                                         0.021
mpoly_pack_unpack_tight                                      0.021
padic_exp                                                    0.021
fq_nmod_poly_divrem_newton_n_preinv                          0.021
fmpq_poly_divrem                                             0.021
fmpq_poly_div                                                0.021
fmpq_div_fmpz                                                0.021
fmpz_mod_next_smooth_prime                                   0.021
fmpz_poly_resultant_modular                                  0.021
fmpz_poly_pow_binomial                                       0.021
fmpz_poly_mul_SS_precache                                    0.021
fmpz_mat_solve_multi_mod_den                                 0.021
fmpz_mat_solve_dixon                                         0.021
nmod_poly_find_distinct_nonzero_roots                        0.021
n_factor_trial_range                                         0.021
n_factor_partial                                             0.021
ca_acos                                                      0.02
acb_elliptic_zeta                                            0.02
arb_hypgeom_rising_ui_jet                                    0.02
arb_hypgeom_gamma_upper_fmpq                                 0.02
acb_log_sin_pi                                               0.02
arb_approx_dot                                               0.02
arith_bell_number_nmod                                       0.02
fq_nmod_mpoly_mpolyuu_divides                                0.02
fq_nmod_mpoly_get_set_term_exp_si                            0.02
fmpq_mpoly_scalar_mul_div_fmpq                               0.02
fmpq_mpoly_gcd_zippel                                        0.02
fmpz_mod_mpoly_total_degree                                  0.02
fmpz_mpoly_get_term                                          0.02
nmod_mpoly_get_term_monomial                                 0.02
fq_zech_poly_pow                                             0.02
fq_nmod_poly_sqr_KS                                          0.02
fq_poly_mul_KS                                               0.02
fq_poly_mul                                                  0.02
fq_mat_nullspace                                             0.02
fq_mat_mul_vec                                               0.02
fmpq_poly_sinh_cosh_series                                   0.02
fmpq_poly_rem                                                0.02
fmpq_poly_inv_series_newton                                  0.02
fmpq_poly_div_series                                         0.02
fmpq_poly_cos_series                                         0.02
fmpq_mat_solve_fraction_free                                 0.02
fmpz_mod_poly_compose                                        0.02
fmpz_poly_sqrt_divconquer                                    0.02
nmod_mat_solve                                               0.02
nmod_mat_can_solve                                           0.02
ca_mat_right_kernel                                          0.019
ca_asin                                                      0.019
gr_special_chebyshev                                         0.019
gr_mat_det_berkowitz....                                     0.019
acb_dirichlet_gram_point                                     0.019
arb_pow                                                      0.019
arb_overlaps                                                 0.019
nf_elem_rep_mat                                              0.019
fmpq_mpoly_get_term_monomial                                 0.019
fmpq_mpoly_compose_fmpq_poly                                 0.019
nmod_mpoly_mpolyuu_divides                                   0.019
fq_poly_factor_berlekamp                                     0.019
fq_nmod_poly_compose_mod_horner                              0.019
fq_nmod_poly_compose_mod                                     0.019
fmpq_poly_scalar_mul_ui                                      0.019
fmpq_poly_get_set_str                                        0.019
fmpq_poly_atanh_series                                       0.019
fmpq_mul_fmpz                                                0.019
fmpq_mul_2exp                                                0.019
fmpz_mod_poly_rem_basecase                                   0.019
fmpz_mod_mat_minpoly                                         0.019
fmpz_poly_sub_series                                         0.019
fmpz_poly_div_series                                         0.019
fmpz_poly_compose_horner                                     0.019
fmpz_mat_solve_dixon_den                                     0.019
nmod_poly_pow                                                0.019
nmod_poly_pow_binexp                                         0.019
nmod_poly_div_newton_n_preinv                                0.019
mpfr_mat_equal                                               0.019
gr_poly_atan_series                                          0.018
gr_mat_hessenberg_householder....                            0.018
acb_poly_taylor_shift                                        0.018
arb_poly_tan_series                                          0.018
arb_poly_swinnerton_dyer_ui                                  0.018
arb_get_fmpz_mid_rad_10exp                                   0.018
nf_elem_get_nmod_poly                                        0.018
fmpz_mod_mpoly_get_term_monomial                             0.018
fmpz_mod_mpoly_add_sub_fmpz                                  0.018
fmpz_poly_mat_add                                            0.018
fq_zech_poly_xgcd_euclidean_f                                0.018
fq_zech_poly_inflate                                         0.018
fq_zech_mat_set_nmod_mat                                     0.018
fq_zech_mat_set_fmpz_mod_mat                                 0.018
fq_nmod_poly_derivative                                      0.018
fq_nmod_mat_vec_mul                                          0.018
fq_nmod_mat_nullspace                                        0.018
fq_nmod_mat_minpoly                                          0.018
fq_poly_set_trunc                                            0.018
fq_poly_mullow_KS                                            0.018
fq_poly_mullow                                               0.018
fq_poly_compose_mod_brent_kung                               0.018
fq_mat_charpoly                                              0.018
fmpq_poly_print_read                                         0.018
fmpq_poly_gcd                                                0.018
fmpq_mat_can_solve_multi_mod                                 0.018
fmpq_inv                                                     0.018
fmpq_div_2exp                                                0.018
fmpq_add_fmpz                                                0.018
fmpz_mod_add_sub_neg                                         0.018
fmpz_poly_mullow_SS_precache                                 0.018
fmpz_poly_legendre_pt                                        0.018
fmpz_poly_CRT_ui_unsigned                                    0.018
fmpz_mat_hnf_modular                                         0.018
fmpz_vec_scalar_mul_fmpz                                     0.018
fmpz_ndiv_qr                                                 0.018
fmpz_is_perfect_power                                        0.018
nmod_vec_discrete_log_pohlig_hellman                         0.018
mpfr_vec_init_clear                                          0.018
ca_mat_diagonalization                                       0.017
qqbar_guess                                                  0.017
fexpr_write_latex                                            0.017
gr_poly_divrem                                               0.017
gr_poly_div                                                  0.017
gr_mat_hessenberg....                                        0.017
gr_generic_pow                                               0.017
acb_modular_theta_const_sum_rs                               0.017
acb_hypgeom_log_rising_ui                                    0.017
acb_poly_evaluate_vec_fast                                   0.017
arb_poly_pow_arb_series                                      0.017
acb_vec_unit_roots                                           0.017
acb_rgamma                                                   0.017
acb_gamma                                                    0.017
arb_exp_arf_rs_generic                                       0.017
arb_atan_arf                                                 0.017
mag_pow_fmpz                                                 0.017
fmpzi_gcd_shortest                                           0.017
fmpzi_divrem_approx                                          0.017
fmpq_mpoly_total_degree                                      0.017
fmpz_mod_mpoly_add_sub_si                                    0.017
fmpz_mpoly_total_degree                                      0.017
fmpz_mpoly_set_equal                                         0.017
fmpz_mpoly_buchberger_naive                                  0.017
nmod_mpoly_scalar_mul_ui                                     0.017
fmpz_poly_mat_sub                                            0.017
fq_zech_poly_factor_squarefree                               0.017
fmpz_mod_poly_factor_berlekamp                               0.017
padic_sqrt                                                   0.017
fq_zech_poly_xgcd                                            0.017
fq_zech_poly_scalar_mul_fq                                   0.017
fq_zech_poly_mullow_classical                                0.017
fq_zech_mat_nullspace                                        0.017
fq_poly_mul_univariate                                       0.017
fq_poly_mullow_univariate                                    0.017
fq_poly_compose_mod_horner_preinv                            0.017
fmpq_poly_sin_series                                         0.017
fmpq_poly_scalar_div_si                                      0.017
fmpq_poly_primitive_part                                     0.017
fmpq_poly_compose                                            0.017
fmpq_sub_fmpz                                                0.017
fmpz_mod_poly_sqrt_series                                    0.017
fmpz_poly_div_divconquer                                     0.017
fmpz_poly_compose_series_brent_kung                          0.017
fmpz_mat_hnf_minors_transform                                0.017
fmpz_mat_get_nmod_mat                                        0.017
fmpz_vec_scalar_submul_fmpz                                  0.017
fmpz_vec_scalar_addmul_fmpz                                  0.017
fmpz_get_mpn                                                 0.017
nmod_poly_powmod_fmpz_binexp_preinv                          0.017
nmod_poly_div                                                0.017
flint_mpn_fmms1                                              0.017
flint_ctz                                                    0.016
qqbar_acot_pi                                                0.016
gr_poly_rem                                                  0.016
gr_poly_make_monic                                           0.016
gr_poly_divrem_basecase                                      0.016
gr_poly_div_newton                                           0.016
gr_poly_div_basecase                                         0.016
gr_mat_window_init_clear                                     0.016
gr_perm                                                      0.016
acb_poly_mullow_transpose_gauss                              0.016
acb_poly_mullow_classical                                    0.016
arb_hypgeom_legendre_p_ui                                    0.016
arb_hypgeom_ci                                               0.016
arb_poly_compose_series                                      0.016
arb_mat_frobenius_norm                                       0.016
arb_log_primes_vec_bsplit                                    0.016
arf_sosq                                                     0.016
aprcl_config_jacobi                                          0.016
fq_nmod_mpoly_get_set_term_coeff_fq_nmod                     0.016
fq_nmod_mpoly_compose_fq_nmod_poly                           0.016
fmpz_mod_mpoly_get_coeff_vars_ui                             0.016
fmpz_mpoly_scalar_divides_fmpz                               0.016
fmpz_mpoly_scalar_divexact_fmpz                              0.016
fmpz_mpoly_gcd_zippel                                        0.016
nmod_mpoly_get_term                                          0.016
fmpz_poly_mat_sqrlow                                         0.016
fq_nmod_poly_mul_KS                                          0.016
fmpq_poly_pow                                                0.016
fmpq_poly_divides                                            0.016
fmpq_mul_si                                                  0.016
fmpz_mod_inv                                                 0.016
fmpz_poly_divrem_divconquer                                  0.016
fmpz_poly_divrem                                             0.016
fmpz_poly_compose_divconquer                                 0.016
fmpz_mat_pow                                                 0.016
fmpz_mat_hnf_classical                                       0.016
fmpz_get_set_ui_array                                        0.016
fmpz_bit_pack                                                0.016
nmod_poly_taylor_shift_convolution                           0.016
nmod_poly_powmod_fmpz_binexp                                 0.016
nmod_poly_divrem_basecase                                    0.016
nmod_vec_dot                                                 0.016
mpf_vec_init_clear                                           0.016
mpf_vec_add                                                  0.016
n_is_oddprime_binary                                         0.016
n_factor                                                     0.016
ca_mat_companion                                             0.015
fmpz_mpoly_q_div                                             0.015
gr_poly_xgcd_euclidean                                       0.015
gr_poly_integral                                             0.015
acb_dirichlet_l_series                                       0.015
acb_hypgeom_hermite_h                                        0.015
acb_poly_sinh_cosh_series                                    0.015
acb_poly_mullow_transpose                                    0.015
arb_hypgeom_si                                               0.015
arb_hypgeom_gamma_lower_sum_rs                               0.015
arb_poly_binomial_transform_convolution                      0.015
acb_tan_pi                                                   0.015
acb_sinc                                                     0.015
acb_cot_pi                                                   0.015
arb_rising_ui                                                0.015
arb_atan_gauss_primes_vec_bsplit                             0.015
nf_elem_get_set_fmpq_poly                                    0.015
fmpz_mod_mpoly_factor_gcd_brown                              0.015
fmpq_mpoly_get_coeff_vars_ui                                 0.015
fmpz_mod_mpoly_get_set_coeff_fmpz_ui                         0.015
nmod_mpoly_total_degree                                      0.015
fmpz_mod_poly_factor                                         0.015
qadic_trace                                                  0.015
fq_zech_poly_equal_trunc                                     0.015
fq_nmod_mat_mul_vec                                          0.015
fq_poly_compose_mod_preinv                                   0.015
fmpq_poly_shift_left_right                                   0.015
fmpq_poly_cmp                                                0.015
fmpq_poly_add_sub_si                                         0.015
fmpq_sub_si                                                  0.015
fmpq_mul_ui                                                  0.015
fmpq_add_ui                                                  0.015
fmpq_add_si                                                  0.015
fmpz_mod_poly_sub                                            0.015
fmpz_mod_poly_mulmod_preinv                                  0.015
fmpz_mod_poly_div_newton_n_preinv                            0.015
fmpz_poly_sqrlow_karatsuba_n                                 0.015
fmpz_poly_interpolate_fmpz_vec                               0.015
fmpz_poly_evaluate_divconquer_fmpz                           0.015
nmod_poly_get_set_str                                        0.015
nmod_poly_divides_classical                                  0.015
mpfr_vec_set_equal                                           0.015
n_remove2_precomp                                            0.015
n_factor_SQUFOF                                              0.015
qqbar_equal_fmpq_poly_val                                    0.014
gr_mat_charpoly_householder....                              0.014
acb_dirichlet_zeta_bound                                     0.014
arb_fmpz_poly_evaluate_acb                                   0.014
arb_hypgeom_gamma_upper_sum_rs                               0.014
arb_hypgeom_gamma_upper_integration                          0.014
arb_poly_evaluate_vec_fast                                   0.014
arb_poly_borel_transform                                     0.014
arb_poly_binomial_transform_basecase                         0.014
arb_zeta_ui_bernoulli                                        0.014
aprcl_unity_zp_pow_sliding                                   0.014
fmpz_mod_mpoly_get_set_coeff_fmpz_fmpz                       0.014
fmpz_poly_mat_init_clear                                     0.014
nmod_poly_mat_sub                                            0.014
fq_nmod_poly_factor_is_irreducible_ben_or                    0.014
fmpz_mod_poly_factor_kaltofen_shoup                          0.014
fq_default_poly_inlines                                      0.014
fq_poly_mullow_classical                                     0.014
fq_poly_compose_mod_brent_kung_preinv                        0.014
fmpq_sub_ui                                                  0.014
fmpz_mod_poly_compose_mod_horner                             0.014
fmpz_mod_poly_compose_mod_brent_kung                         0.014
fmpz_poly_pseudo_divrem_cohen                                0.014
fmpz_poly_print_read_pretty                                  0.014
fmpz_poly_nth_derivative                                     0.014
fmpz_poly_div_series_basecase                                0.014
fmpz_mat_scalar_mod_fmpz                                     0.014
fmpz_mat_inv                                                 0.014
fmpz_vec_add                                                 0.014
fmpz_powm_ui                                                 0.014
fmpz_addmul                                                  0.014
nmod_poly_taylor_shift                                       0.014
nmod_poly_log_series                                         0.014
nmod_poly_gcd_euclidean                                      0.014
n_remove                                                     0.014
n_ll_mod_preinv                                              0.014
n_factor_pp1                                                 0.014
flint_clz                                                    0.013
ca_mat_rref_lu                                               0.013
ca_mat_rref_fflu                                             0.013
ca_poly_factor_squarefree                                    0.013
ca_pow_si_arithmetic                                         0.013
ca_atan                                                      0.013
gr_poly_divexact                                             0.013
acb_poly_sin_series_cos_series                               0.013
arb_poly_taylor_shift                                        0.013
arb_poly_binomial_transform                                  0.013
arb_log_arf                                                  0.013
arb_log1p                                                    0.013
arb_get_mpn_fixed_mod_log2                                   0.013
arf_submul_fmpz                                              0.013
arf_addmul_fmpz                                              0.013
arf_addmul                                                   0.013
nf_elem_rep_mat_fmpz_mat_den                                 0.013
aprcl_unity_zp_pow_2k                                        0.013
fmpz_mpoly_neg                                               0.013
nmod_mpoly_get_coeff_vars_ui                                 0.013
mpoly_monomial_halves                                        0.013
nmod_poly_mat_set_nmod_mat                                   0.013
nmod_poly_mat_nullspace                                      0.013
fq_zech_poly_factor_split_single                             0.013
fq_nmod_poly_factor_berlekamp                                0.013
padic_poly_init_realloc_clear                                0.013
padic_neg                                                    0.013
fq_nmod_poly_compose_mod_brent_kung                          0.013
fmpq_poly_scalar_mul_si                                      0.013
fmpz_mod_poly_sub_series                                     0.013
fmpz_mod_poly_mulmod                                         0.013
fmpz_mod_poly_compose_mod_brent_kung_precomp_preinv          0.013
fmpz_mod_poly_add_series                                     0.013
fmpz_poly_scalar_mul_si                                      0.013
fmpz_poly_scalar_addmul_ui                                   0.013
fmpz_poly_scalar_addmul_fmpz                                 0.013
fmpz_poly_print_read                                         0.013
fmpz_poly_pow                                                0.013
fmpz_mat_hnf_minors                                          0.013
fmpz_mat_concat_vertical                                     0.013
fmpz_mat_concat_horizontal                                   0.013
fmpz_vec_sum_max_bits                                        0.013
fmpz_rfac_uiui                                               0.013
nmod_poly_powmod_x_fmpz_preinv                               0.013
nmod_poly_inv_series_newton                                  0.013
nmod_mat_solve_triu                                          0.013
nmod_mat_solve_tril                                          0.013
nmod_mat_rref                                                0.013
n_factor_trial_partial                                       0.013
n_factor_trial                                               0.013
n_factor_ecm                                                 0.013
ca_mat_rref                                                  0.012
fmpz_mpoly_q_mul                                             0.012
dirichlet_char                                               0.012
acb_modular_fundamental_domain_approx                        0.012
acb_hypgeom_laguerre_l                                       0.012
acb_poly_mullow                                              0.012
acb_poly_get_coeff_ptr                                       0.012
acb_urandom                                                  0.012
arb_lambertw                                                 0.012
arb_get_rand_fmpq                                            0.012
arb_dump_str                                                 0.012
arb_dot_uiui                                                 0.012
arb_dot_siui                                                 0.012
arb_dot_fmpz                                                 0.012
arb_const_glaisher                                           0.012
arb_ceil                                                     0.012
arb_atan_tab                                                 0.012
arf_submul                                                   0.012
arf_root                                                     0.012
fmpq_mpoly_content                                           0.012
fmpz_mpoly_reverse                                           0.012
fmpz_mpoly_get_coeff_vars_ui                                 0.012
fmpz_mpoly_gen                                               0.012
nmod_mpoly_divrem                                            0.012
nmod_poly_mat_pow                                            0.012
nmod_poly_mat_concat_horizontal                              0.012
padic_poly_zero                                              0.012
padic_poly_one                                               0.012
padic_poly_get_set_fmpq_poly                                 0.012
padic_teichmuller                                            0.012
fq_zech_poly_compose_mod_horner                              0.012
fq_nmod_poly_pow                                             0.012
fq_nmod_poly_compose_mod_horner_preinv                       0.012
fq_poly_gcd_euclidean_f                                      0.012
fq_mat_mul_KS                                                0.012
fmpq_poly_scalar_div_ui                                      0.012
fmpq_poly_rescale                                            0.012
fmpq_poly_legendre_p                                         0.012
fmpq_get_mpfr                                                0.012
fmpz_mod_poly_minpoly                                        0.012
fmpz_mod_mat_nullspace                                       0.012
fmpz_mod_mat_get_set_fmpz_mat                                0.012
fmpz_poly_sqrt_series                                        0.012
fmpz_poly_scale_2exp                                         0.012
fmpz_poly_scalar_submul_fmpz                                 0.012
fmpz_poly_scalar_addmul_si                                   0.012
fmpz_poly_revert_series_lagrange                             0.012
fmpz_poly_divrem_basecase                                    0.012
fmpz_mat_sqr                                                 0.012
fmpz_vec_scalar_fdiv_q_fmpz                                  0.012
fmpz_vec_lcm                                                 0.012
fmpz_flog                                                    0.012
fmpz_euler_phi                                               0.012
nmod_poly_multi_crt                                          0.012
nmod_poly_invsqrt_series                                     0.012
nmod_poly_discriminant                                       0.012
nmod_poly_compose                                            0.012
nmod_vec_scalar_mul_nmod_shoup                               0.012
ca_mat_nonsingular_solve_lu                                  0.011
ca_mat_nonsingular_solve_fflu                                0.011
ca_mat_nonsingular_solve                                     0.011
ca_mat_nonsingular_solve_adjugate                            0.011
gr_mat_det_fflu....                                          0.011
acb_dirichlet_eta                                            0.011
acb_poly_sin_cos_series                                      0.011
acb_poly_product_roots                                       0.011
acb_poly_evaluate_vec_iter                                   0.011
acb_mat_vector_mul                                           0.011
arb_hypgeom_legendre_p_ui_deriv_bound                        0.011
arb_poly_evaluate_vec_iter                                   0.011
arb_mat_trace                                                0.011
arb_mat_solve_triu                                           0.011
acb_vec_set_real_imag                                        0.011
acb_chebyshev_u_ui                                           0.011
arb_union                                                    0.011
arb_rising2_ui                                               0.011
arb_get_mpn_fixed_mod_pi4                                    0.011
arb_floor                                                    0.011
arb_dot_ui                                                   0.011
arb_dot_si                                                   0.011
arb_atan_newton                                              0.011
arb_asin                                                     0.011
arb_acos                                                     0.011
mag_root                                                     0.011
mag_polylog_tail                                             0.011
nf_elem_trace                                                0.011
nf_elem_mod_fmpz                                             0.011
nf_elem_init_clear                                           0.011
nf_elem_get_set_fmpz_mat_row                                 0.011
aprcl_f_table                                                0.011
arith_bell_number_nmod_vec                                   0.011
fmpq_mpoly_gen                                               0.011
nmod_mpoly_gen                                               0.011
nmod_poly_factor_squarefree                                  0.011
qadic_log_rectangular                                        0.011
padic_get_str                                                0.011
fq_default_inlines                                           0.011
fq_zech_poly_powmod_fmpz_binexp_preinv                       0.011
fq_zech_poly_div                                             0.011
fq_zech_poly_compose_mod_preinv                              0.011
fq_zech_poly_compose_mod                                     0.011
fq_zech_poly_compose_mod_brent_kung                          0.011
fq_nmod_poly_set_trunc                                       0.011
fq_nmod_poly_mul_univariate                                  0.011
fq_nmod_poly_mullow_KS                                       0.011
fq_nmod_poly_mullow                                          0.011
fq_nmod_poly_compose_mod_preinv                              0.011
fq_nmod_poly_compose_mod_brent_kung_preinv                   0.011
fq_nmod_mat_charpoly                                         0.011
fq_get_set_fmpz_poly                                         0.011
fmpq_poly_get_slice                                          0.011
fmpq_get_d                                                   0.011
fmpz_mod_poly_sqrt                                           0.011
fmpz_mod_mat_sqr                                             0.011
fmpz_poly_shift_left_right                                   0.011
fmpz_poly_pow_binexp                                         0.011
fmpz_poly_inv_series_newton                                  0.011
fmpz_poly_inv_series                                         0.011
fmpz_poly_get_set_str                                        0.011
fmpz_poly_evaluate_horner_fmpq                               0.011
fmpz_poly_equal_trunc                                        0.011
fmpz_poly_divhigh_smodp                                      0.011
fmpz_mat_solve_fflu                                          0.011
fmpz_mat_solve                                               0.011
fmpz_vec_scalar_submul_si_2exp                               0.011
fmpz_vec_scalar_mul_2exp                                     0.011
fmpz_vec_dot                                                 0.011
fmpz_gcd3                                                    0.011
fmpz_clog                                                    0.011
nmod_poly_taylor_shift_horner                                0.011
nmod_poly_revert_series_lagrange                             0.011
nmod_vec_dot_bound_limbs                                     0.011
mpf_vec_set_equal                                            0.011
d_vec_sub                                                    0.011
perm_compose                                                 0.011
ca_ext_cache_insert                                          0.01
qqbar_pow_si                                                 0.01
fexpr_replace                                                0.01
gr_mat_solve_fflu....                                        0.01
gr_mat_solve_den_fflu....                                    0.01
gr_mat_solve_den....                                         0.01
gr_mat_inv....                                               0.01
gr_mat_adjugate....                                          0.01
acb_elliptic_rc1                                             0.01
acb_elliptic_p_p_prime                                       0.01
acb_hypgeom_log_rising_ui_jet                                0.01
acb_poly_rising_ui_series                                    0.01
arb_hypgeom_rising_ui                                        0.01
arb_hypgeom_legendre_p_ui_one                                0.01
arb_mat_solve_tril                                           0.01
acb_sqrts                                                    0.01
acb_sinh_cosh                                                0.01
acb_rising_ui_get_mag                                        0.01
acb_rising_ui                                                0.01
arb_sqrtpos                                                  0.01
arb_const_catalan                                            0.01
mag_log1p                                                    0.01
mag_hurwitz_zeta_uiui                                        0.01
mag_addmul                                                   0.01
nf_elem_get_set_den                                          0.01
aprcl_config_gauss                                           0.01
fq_poly_factor_cantor_zassenhaus                             0.01
padic_randtest                                               0.01
padic_get_set_mpq                                            0.01
fq_zech_embed_matrices                                       0.01
fq_default_mat_inlines                                       0.01
fq_zech_poly_inv_series_newton                               0.01
fq_zech_poly_compose_mod_horner_preinv                       0.01
fq_zech_poly_compose_mod_brent_kung_preinv                   0.01
fq_zech_mat_charpoly                                         0.01
fq_nmod_poly_mul                                             0.01
fq_nmod_mul_ui                                               0.01
fq_poly_sqr                                                  0.01
fq_poly_shift_left_right                                     0.01
fq_poly_inv_series_newton                                    0.01
fq_poly_div                                                  0.01
fmpq_poly_sinh_series                                        0.01
fmpq_poly_make_monic                                         0.01
fmpz_mod_poly_evaluate_fmpz                                  0.01
fmpz_mod_poly_divrem_f                                       0.01
fmpz_mod_mat_rank                                            0.01
fmpz_poly_sqrt_KS                                            0.01
fmpz_poly_signature                                          0.01
fmpz_poly_rem_powers_precomp                                 0.01
fmpz_poly_pow_addchains                                      0.01
fmpz_poly_mullow_SS                                          0.01
fmpz_poly_hermite_h                                          0.01
fmpz_poly_get_set_coeff_fmpz                                 0.01
fmpz_poly_2norm_normalised_bits                              0.01
fmpz_mat_rref                                                0.01
fmpz_vec_scalar_divexact_fmpz                                0.01
fmpz_vec_scalar_addmul_si_2exp                               0.01
fmpz_rfac_ui                                                 0.01
fmpz_lcm                                                     0.01
fmpz_is_probabprime_BPSW                                     0.01
nmod_poly_powers_mod_bsgs                                    0.01
nmod_poly_div_root                                           0.01
nmod_poly_compose_mod_brent_kung_precomp_preinv_threaded     0.01
mpf_vec_scalar_mul_2exp                                      0.01
fredrik-johansson commented 10 months ago

Note: test timings can be printed with something like this:

--- a/src/test_helpers.h
+++ b/src/test_helpers.h
@@ -13,6 +13,8 @@
 #ifndef TEST_HELPERS_H
 #define TEST_HELPERS_H

+#include "profiler.h"
+
 #include "templates.h"

 /* easy way to test a condition in test code */
@@ -69,7 +71,7 @@ int TEMPLATE5(test, T, label1, T, label2)(void)         \

 #define TEST_FUNCTION_END(state)                        \
     FLINT_TEST_CLEANUP(state);                          \
-    printf("PASS\n");                                   \
+    printf("PASS  ");                                   \
     return 0;                                           \
 }

@@ -77,14 +79,14 @@ int TEMPLATE5(test, T, label1, T, label2)(void)         \
     FLINT_TEST_CLEANUP(state);                          \
     printf(" [" WORD_FMT "d success, "                  \
                 WORD_FMT "d domain, "                   \
-                WORD_FMT "d unable] PASS\n",            \
+                WORD_FMT "d unable] PASS  ",            \
                 count_success, count_domain, count_unable);\
     return 0;                                           \
 }

 #define TEST_FUNCTION_END_SKIPPED(state)                \
     FLINT_TEST_CLEANUP(state);                          \
-    printf("SKIPPED\n");                                \
+    printf("SKIPPED  ");                                \
     return 0;                                           \
 }

@@ -105,9 +107,16 @@ main(int argc, char ** argv)                                                \
     if (argc < 2)                                                           \
     {                                                                       \
         for (ix = 0; ix < numtests; ix++)                                   \
-            if ((tests)[ix].test_function())                                \
-                flint_abort();                                              \
+        {                                                                   \
+            int err;                                                        \
+            timeit_t __timer;                                               \
+            timeit_start(__timer);                                          \
+            err = (tests)[ix].test_function();                              \
+            timeit_stop(__timer);                                           \
+            printf("  %g\n", __timer->cpu*0.001);                           \
+            if (err) flint_abort();                                         \
                                                                             \
+        }                                                                   \
         return 0;                                                           \
     }                                                                       \
                                                                             \
albinahlback commented 10 months ago

Looks like fft and fft_small are the perpetrators.

For fft_small, I see that mpn_ctx_mpn_mul is missing test multipliers. Moreover, it looks like we can reduce the number of iterations here. Probably Dan just wanted to be sure that everything was fine when these tests were implemented.

fredrik-johansson commented 10 months ago

Yeah, I think we can decrease the iteration counts for mpn_ctx_mpn_mul and _nmod_poly_mul_mid_mpn_ctx by a factor 10 now that the code has been tested much more widely.

Generally speaking, it's fine that the FFT tests take a good chunk of the total test time though. They are critical functions and the algorithms are such that bugs sometimes only show up with large inputs and lots of iterations.

albinahlback commented 10 months ago

@fredrik-johansson I saw you pushed some commits to the fft module. How did this affect the time testing?

fredrik-johansson commented 10 months ago

IIRC, previously it took ~40 CPU seconds (independent of test_multiplier). Now it takes 23 seconds (10x), 5.8 seconds (1x), 4.4 seconds (0.1x).