diff --git a/benchmarks/fast_ntt.json b/benchmarks/fast_ntt.json index 0dbe77b4..25036c00 100644 --- a/benchmarks/fast_ntt.json +++ b/benchmarks/fast_ntt.json @@ -2,10 +2,10 @@ { "name": "fast_ntt", "benchmark_result": { - "clock_cycle_count": 61377, - "hash_table_height": 594, - "u32_table_height": 1711, - "op_stack_table_height": 54294, + "clock_cycle_count": 64961, + "hash_table_height": 642, + "u32_table_height": 2735, + "op_stack_table_height": 57878, "ram_table_height": 4069 }, "case": "CommonCase" @@ -13,10 +13,10 @@ { "name": "fast_ntt", "benchmark_result": { - "clock_cycle_count": 141965, - "hash_table_height": 594, - "u32_table_height": 3694, - "op_stack_table_height": 125830, + "clock_cycle_count": 150285, + "hash_table_height": 642, + "u32_table_height": 5742, + "op_stack_table_height": 134150, "ram_table_height": 9451 }, "case": "WorstCase" diff --git a/benchmarks/project_euler_4_i10_to_50.json b/benchmarks/project_euler_4_i10_to_50.json index 6ff14ac3..1c823b75 100644 --- a/benchmarks/project_euler_4_i10_to_50.json +++ b/benchmarks/project_euler_4_i10_to_50.json @@ -2,10 +2,10 @@ { "name": "project_euler_4_i10_to_50", "benchmark_result": { - "clock_cycle_count": 295537, - "hash_table_height": 264, - "u32_table_height": 24483, - "op_stack_table_height": 226020, + "clock_cycle_count": 304385, + "hash_table_height": 270, + "u32_table_height": 24611, + "op_stack_table_height": 234868, "ram_table_height": 14839 }, "case": "CommonCase" @@ -13,10 +13,10 @@ { "name": "project_euler_4_i10_to_50", "benchmark_result": { - "clock_cycle_count": 295537, - "hash_table_height": 264, - "u32_table_height": 24483, - "op_stack_table_height": 226020, + "clock_cycle_count": 304385, + "hash_table_height": 270, + "u32_table_height": 24611, + "op_stack_table_height": 234868, "ram_table_height": 14839 }, "case": "WorstCase" diff --git a/benchmarks/project_euler_7_i101.json b/benchmarks/project_euler_7_i101.json index 97ba5f6e..322275b5 100644 --- a/benchmarks/project_euler_7_i101.json +++ b/benchmarks/project_euler_7_i101.json @@ -2,10 +2,10 @@ { "name": "project_euler_7_i101", "benchmark_result": { - "clock_cycle_count": 64854, - "hash_table_height": 186, - "u32_table_height": 15252, - "op_stack_table_height": 51568, + "clock_cycle_count": 69254, + "hash_table_height": 198, + "u32_table_height": 34004, + "op_stack_table_height": 55968, "ram_table_height": 3527 }, "case": "CommonCase" @@ -13,10 +13,10 @@ { "name": "project_euler_7_i101", "benchmark_result": { - "clock_cycle_count": 1060950, - "hash_table_height": 186, - "u32_table_height": 294608, - "op_stack_table_height": 849364, + "clock_cycle_count": 1141430, + "hash_table_height": 198, + "u32_table_height": 578640, + "op_stack_table_height": 929844, "ram_table_height": 56159 }, "case": "WorstCase" diff --git a/benchmarks/recufier_merkle_root.json b/benchmarks/recufier_merkle_root.json index e75e1091..eb4b955b 100644 --- a/benchmarks/recufier_merkle_root.json +++ b/benchmarks/recufier_merkle_root.json @@ -2,10 +2,10 @@ { "name": "recufier_merkle_root", "benchmark_result": { - "clock_cycle_count": 2268, - "hash_table_height": 222, - "u32_table_height": 91, - "op_stack_table_height": 1768, + "clock_cycle_count": 2332, + "hash_table_height": 228, + "u32_table_height": 603, + "op_stack_table_height": 1832, "ram_table_height": 81 }, "case": "CommonCase" @@ -13,10 +13,10 @@ { "name": "recufier_merkle_root", "benchmark_result": { - "clock_cycle_count": 37548, - "hash_table_height": 1662, - "u32_table_height": 2113, - "op_stack_table_height": 29128, + "clock_cycle_count": 38572, + "hash_table_height": 1668, + "u32_table_height": 10305, + "op_stack_table_height": 30152, "ram_table_height": 1281 }, "case": "WorstCase" diff --git a/benchmarks/simple_map_on_bfe.json b/benchmarks/simple_map_on_bfe.json index b9fdc371..b4bf4572 100644 --- a/benchmarks/simple_map_on_bfe.json +++ b/benchmarks/simple_map_on_bfe.json @@ -2,10 +2,10 @@ { "name": "simple_map_on_bfe", "benchmark_result": { - "clock_cycle_count": 611, + "clock_cycle_count": 631, "hash_table_height": 168, - "u32_table_height": 104, - "op_stack_table_height": 460, + "u32_table_height": 264, + "op_stack_table_height": 480, "ram_table_height": 43 }, "case": "CommonCase" @@ -13,10 +13,10 @@ { "name": "simple_map_on_bfe", "benchmark_result": { - "clock_cycle_count": 10016, + "clock_cycle_count": 10416, "hash_table_height": 168, - "u32_table_height": 1552, - "op_stack_table_height": 7490, + "u32_table_height": 4752, + "op_stack_table_height": 7890, "ram_table_height": 708 }, "case": "WorstCase" diff --git a/benchmarks/verify_authentication_path.json b/benchmarks/verify_authentication_path.json index 98381eae..fe97c68a 100644 --- a/benchmarks/verify_authentication_path.json +++ b/benchmarks/verify_authentication_path.json @@ -2,10 +2,10 @@ { "name": "verify_authentication_path", "benchmark_result": { - "clock_cycle_count": 10647, - "hash_table_height": 1044, - "u32_table_height": 3166, - "op_stack_table_height": 8332, + "clock_cycle_count": 10775, + "hash_table_height": 1050, + "u32_table_height": 4158, + "op_stack_table_height": 8460, "ram_table_height": 568 }, "case": "CommonCase" @@ -13,10 +13,10 @@ { "name": "verify_authentication_path", "benchmark_result": { - "clock_cycle_count": 230918, - "hash_table_height": 1158, - "u32_table_height": 37997, - "op_stack_table_height": 159856, + "clock_cycle_count": 231122, + "hash_table_height": 1164, + "u32_table_height": 39597, + "op_stack_table_height": 160060, "ram_table_height": 4064 }, "case": "WorstCase" diff --git a/profiles/fast_ntt.profile b/profiles/fast_ntt.profile index 418a848f..178ac755 100644 --- a/profiles/fast_ntt.profile +++ b/profiles/fast_ntt.profile @@ -1,47 +1,47 @@ fast_ntt: | Subroutine | Processor | Op Stack | RAM | Hash | U32 | |:----------------------------------------------------------|---------------------:|---------------------:|---------------------:|---------------------:|---------------------:| -| main | 61376 (100.0%) | 54294 (100.0%) | 4069 (100.0%) | 0 ( 0.0%) | 1711 (100.0%) | +| main | 64960 (100.0%) | 57878 (100.0%) | 4069 (100.0%) | 0 ( 0.0%) | 2735 (100.0%) | | ··tasmlib_io_read_stdin___bfe | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··tasmlib_arithmetic_u32_leadingzeros | 13 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 7 ( 0.4%) | -| ····tasmlib_arithmetic_u32_leadingzeros_non_zero | 5 ( 0.0%) | 2 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 7 ( 0.4%) | -| ··tasmlib_arithmetic_u32_safesub | 24 ( 0.0%) | 18 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 8 ( 0.5%) | -| ··xfe_ntt | 28542 ( 46.5%) | 25143 ( 46.3%) | 1793 ( 44.1%) | 0 ( 0.0%) | 1564 ( 91.4%) | -| ····_binop_Neq__LboolR_bool_30_while_loop | 13042 ( 21.2%) | 10312 ( 19.0%) | 192 ( 4.7%) | 0 ( 0.0%) | 1372 ( 80.2%) | -| ······bitreverse | 11264 ( 18.4%) | 8672 ( 16.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 1114 ( 65.1%) | -| ········_binop_Lt__LboolR_bool_9_while_loop | 11008 ( 17.9%) | 8512 ( 15.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 1114 ( 65.1%) | -| ··········tasmlib_arithmetic_u32_shiftleft | 1920 ( 3.1%) | 1440 ( 2.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 78 ( 4.6%) | -| ··········tasmlib_arithmetic_u32_or | 1280 ( 2.1%) | 800 ( 1.5%) | 0 ( 0.0%) | 0 ( 0.0%) | 257 ( 15.0%) | -| ··········tasmlib_arithmetic_u32_shiftright | 2400 ( 3.9%) | 2080 ( 3.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 598 ( 35.0%) | -| ··········tasmlib_arithmetic_u32_safeadd | 6759 ( 11.0%) | 5257 ( 9.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 12 ( 0.7%) | +| ··tasmlib_arithmetic_u32_leadingzeros | 13 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 7 ( 0.3%) | +| ····tasmlib_arithmetic_u32_leadingzeros_non_zero | 5 ( 0.0%) | 2 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 7 ( 0.3%) | +| ··tasmlib_arithmetic_u32_safesub | 24 ( 0.0%) | 18 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 8 ( 0.3%) | +| ··xfe_ntt | 30014 ( 46.2%) | 26615 ( 46.0%) | 1793 ( 44.1%) | 0 ( 0.0%) | 2588 ( 94.6%) | +| ····_binop_Neq__LboolR_bool_30_while_loop | 13234 ( 20.4%) | 10504 ( 18.1%) | 192 ( 4.7%) | 0 ( 0.0%) | 2140 ( 78.2%) | +| ······bitreverse | 11264 ( 17.3%) | 8672 ( 15.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 1114 ( 40.7%) | +| ········_binop_Lt__LboolR_bool_9_while_loop | 11008 ( 16.9%) | 8512 ( 14.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 1114 ( 40.7%) | +| ··········tasmlib_arithmetic_u32_shiftleft | 1920 ( 3.0%) | 1440 ( 2.5%) | 0 ( 0.0%) | 0 ( 0.0%) | 78 ( 2.9%) | +| ··········tasmlib_arithmetic_u32_or | 1280 ( 2.0%) | 800 ( 1.4%) | 0 ( 0.0%) | 0 ( 0.0%) | 257 ( 9.4%) | +| ··········tasmlib_arithmetic_u32_shiftright | 2400 ( 3.7%) | 2080 ( 3.6%) | 0 ( 0.0%) | 0 ( 0.0%) | 598 ( 21.9%) | +| ··········tasmlib_arithmetic_u32_safeadd | 6759 ( 10.4%) | 5257 ( 9.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 12 ( 0.4%) | | ······_binop_Lt__LboolR_bool_36_else | 40 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ······tasmlib_arithmetic_u32_safeadd | 621 ( 1.0%) | 483 ( 0.9%) | 0 ( 0.0%) | 0 ( 0.0%) | 79 ( 4.6%) | -| ······_binop_Lt__LboolR_bool_36_then | 672 ( 1.1%) | 768 ( 1.4%) | 192 ( 4.7%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····_binop_Neq__LboolR_bool_59_while_loop | 15479 ( 25.2%) | 14808 ( 27.3%) | 1597 ( 39.2%) | 0 ( 0.0%) | 192 ( 11.2%) | +| ······tasmlib_arithmetic_u32_safeadd | 621 ( 1.0%) | 483 ( 0.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 79 ( 2.9%) | +| ······_binop_Lt__LboolR_bool_36_then | 864 ( 1.3%) | 960 ( 1.7%) | 192 ( 4.7%) | 0 ( 0.0%) | 768 ( 28.1%) | +| ····_binop_Neq__LboolR_bool_59_while_loop | 16759 ( 25.8%) | 16088 ( 27.8%) | 1597 ( 39.2%) | 0 ( 0.0%) | 448 ( 16.4%) | | ······tasmlib_arithmetic_u32_safemul | 90 ( 0.1%) | 70 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ······_binop_Lt__LboolR_bool_70_while_loop | 15164 ( 24.7%) | 14550 ( 26.8%) | 1582 ( 38.9%) | 0 ( 0.0%) | 119 ( 7.0%) | -| ········_binop_Neq__LboolR_bool_75_while_loop | 13972 ( 22.8%) | 13590 ( 25.0%) | 1551 ( 38.1%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ······_binop_Lt__LboolR_bool_70_while_loop | 16444 ( 25.3%) | 15830 ( 27.4%) | 1582 ( 38.9%) | 0 ( 0.0%) | 375 ( 13.7%) | +| ········_binop_Neq__LboolR_bool_75_while_loop | 15252 ( 23.5%) | 14870 ( 25.7%) | 1551 ( 38.1%) | 0 ( 0.0%) | 256 ( 9.4%) | | ········tasmlib_arithmetic_u32_safemul | 369 ( 0.6%) | 287 ( 0.5%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_arithmetic_u32_safeadd | 612 ( 1.0%) | 476 ( 0.9%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··_binop_Lt__LboolR_bool_190_while_loop | 1129 ( 1.8%) | 1030 ( 1.9%) | 96 ( 2.4%) | 0 ( 0.0%) | 105 ( 6.1%) | -| ····tasmlib_io_write_to_stdout___xfe | 96 ( 0.2%) | 96 ( 0.2%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ········tasmlib_arithmetic_u32_safeadd | 612 ( 0.9%) | 476 ( 0.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ··_binop_Lt__LboolR_bool_190_while_loop | 1257 ( 1.9%) | 1158 ( 2.0%) | 96 ( 2.4%) | 0 ( 0.0%) | 105 ( 3.8%) | +| ····tasmlib_io_write_to_stdout___xfe | 96 ( 0.1%) | 96 ( 0.2%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····tasmlib_arithmetic_u32_safeadd | 576 ( 0.9%) | 448 ( 0.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··xfe_intt | 29960 ( 48.8%) | 26521 ( 48.8%) | 1987 ( 48.8%) | 0 ( 0.0%) | 20 ( 1.2%) | -| ····xfe_ntt | 28542 ( 46.5%) | 25143 ( 46.3%) | 1793 ( 44.1%) | 0 ( 0.0%) | 20 ( 1.2%) | -| ······_binop_Neq__LboolR_bool_30_while_loop | 13042 ( 21.2%) | 10312 ( 19.0%) | 192 ( 4.7%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········bitreverse | 11264 ( 18.4%) | 8672 ( 16.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··········_binop_Lt__LboolR_bool_9_while_loop | 11008 ( 17.9%) | 8512 ( 15.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ············tasmlib_arithmetic_u32_shiftleft | 1920 ( 3.1%) | 1440 ( 2.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ············tasmlib_arithmetic_u32_or | 1280 ( 2.1%) | 800 ( 1.5%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ············tasmlib_arithmetic_u32_shiftright | 2400 ( 3.9%) | 2080 ( 3.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ············tasmlib_arithmetic_u32_safeadd | 6480 ( 10.6%) | 5040 ( 9.3%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ··xfe_intt | 31688 ( 48.8%) | 28249 ( 48.8%) | 1987 ( 48.8%) | 0 ( 0.0%) | 20 ( 0.7%) | +| ····xfe_ntt | 30014 ( 46.2%) | 26615 ( 46.0%) | 1793 ( 44.1%) | 0 ( 0.0%) | 20 ( 0.7%) | +| ······_binop_Neq__LboolR_bool_30_while_loop | 13234 ( 20.4%) | 10504 ( 18.1%) | 192 ( 4.7%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ········bitreverse | 11264 ( 17.3%) | 8672 ( 15.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ··········_binop_Lt__LboolR_bool_9_while_loop | 11008 ( 16.9%) | 8512 ( 14.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ············tasmlib_arithmetic_u32_shiftleft | 1920 ( 3.0%) | 1440 ( 2.5%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ············tasmlib_arithmetic_u32_or | 1280 ( 2.0%) | 800 ( 1.4%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ············tasmlib_arithmetic_u32_shiftright | 2400 ( 3.7%) | 2080 ( 3.6%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ············tasmlib_arithmetic_u32_safeadd | 6480 ( 10.0%) | 5040 ( 8.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ········_binop_Lt__LboolR_bool_36_else | 40 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········_binop_Lt__LboolR_bool_36_then | 672 ( 1.1%) | 768 ( 1.4%) | 192 ( 4.7%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ······_binop_Neq__LboolR_bool_59_while_loop | 15479 ( 25.2%) | 14808 ( 27.3%) | 1597 ( 39.2%) | 0 ( 0.0%) | 20 ( 1.2%) | -| ········_binop_Lt__LboolR_bool_70_while_loop | 15164 ( 24.7%) | 14550 ( 26.8%) | 1582 ( 38.9%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··········_binop_Neq__LboolR_bool_75_while_loop | 13972 ( 22.8%) | 13590 ( 25.0%) | 1551 ( 38.1%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··········tasmlib_arithmetic_u32_safemul | 279 ( 0.5%) | 217 ( 0.4%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ········_binop_Lt__LboolR_bool_36_then | 864 ( 1.3%) | 960 ( 1.7%) | 192 ( 4.7%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ······_binop_Neq__LboolR_bool_59_while_loop | 16759 ( 25.8%) | 16088 ( 27.8%) | 1597 ( 39.2%) | 0 ( 0.0%) | 20 ( 0.7%) | +| ········_binop_Lt__LboolR_bool_70_while_loop | 16444 ( 25.3%) | 15830 ( 27.4%) | 1582 ( 38.9%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ··········_binop_Neq__LboolR_bool_75_while_loop | 15252 ( 23.5%) | 14870 ( 25.7%) | 1551 ( 38.1%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ··········tasmlib_arithmetic_u32_safemul | 279 ( 0.4%) | 217 ( 0.4%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····bfe_new_from_u64 | 6 ( 0.0%) | 3 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····_binop_Lt__LboolR_bool_152_while_loop | 1385 ( 2.3%) | 1350 ( 2.5%) | 192 ( 4.7%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··_binop_Lt__LboolR_bool_206_while_loop | 1673 ( 2.7%) | 1542 ( 2.8%) | 192 ( 4.7%) | 0 ( 0.0%) | 0 ( 0.0%) | -| Total | 61377 (100.0%) | 54294 (100.0%) | 4069 (100.0%) | 594 (100.0%) | 1711 (100.0%) | +| ····_binop_Lt__LboolR_bool_152_while_loop | 1641 ( 2.5%) | 1606 ( 2.8%) | 192 ( 4.7%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ··_binop_Lt__LboolR_bool_206_while_loop | 1929 ( 3.0%) | 1798 ( 3.1%) | 192 ( 4.7%) | 0 ( 0.0%) | 0 ( 0.0%) | +| Total | 64961 (100.0%) | 57878 (100.0%) | 4069 (100.0%) | 642 (100.0%) | 2735 (100.0%) | diff --git a/profiles/project_euler_4_i10_to_50.profile b/profiles/project_euler_4_i10_to_50.profile index d75aa651..757d1951 100644 --- a/profiles/project_euler_4_i10_to_50.profile +++ b/profiles/project_euler_4_i10_to_50.profile @@ -1,25 +1,25 @@ project_euler_4_i10_to_50: | Subroutine | Processor | Op Stack | RAM | Hash | U32 | |:------------------------------------------------------|---------------------:|---------------------:|---------------------:|---------------------:|---------------------:| -| main | 295536 (100.0%) | 226020 (100.0%) | 14839 (100.0%) | 0 ( 0.0%) | 24483 (100.0%) | +| main | 304384 (100.0%) | 234868 (100.0%) | 14839 (100.0%) | 0 ( 0.0%) | 24611 (100.0%) | | ··tasmlib_list_new___u32 | 32 ( 0.0%) | 25 ( 0.0%) | 3 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.1%) | | ····tasmlib_memory_dyn_malloc | 25 ( 0.0%) | 21 ( 0.0%) | 2 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.1%) | | ······tasmlib_memory_dyn_malloc_initialize | 4 ( 0.0%) | 2 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··_binop_Neq__LboolR_bool_49_while_loop | 295493 (100.0%) | 225984 (100.0%) | 14836 (100.0%) | 0 ( 0.0%) | 24451 ( 99.9%) | -| ····_binop_Neq__LboolR_bool_55_while_loop | 294523 ( 99.7%) | 225176 ( 99.6%) | 14836 (100.0%) | 0 ( 0.0%) | 24451 ( 99.9%) | -| ······tasmlib_arithmetic_u32_safeadd | 15120 ( 5.1%) | 11760 ( 5.2%) | 0 ( 0.0%) | 0 ( 0.0%) | 254 ( 1.0%) | -| ······tasmlib_arithmetic_u32_safemul | 7380 ( 2.5%) | 5740 ( 2.5%) | 0 ( 0.0%) | 0 ( 0.0%) | 6875 ( 28.1%) | -| ······find_decimal_digits | 130912 ( 44.3%) | 95500 ( 42.3%) | 11804 ( 79.5%) | 0 ( 0.0%) | 8281 ( 33.8%) | -| ········_binop_Neq__LboolR_bool_7_while_loop | 123532 ( 41.8%) | 88940 ( 39.4%) | 10984 ( 74.0%) | 0 ( 0.0%) | 8281 ( 33.8%) | -| ··········tasmlib_list_push___u32 | 52174 ( 17.7%) | 38444 ( 17.0%) | 10984 ( 74.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ······list_is_palindrome | 114361 ( 38.7%) | 89620 ( 39.7%) | 3032 ( 20.4%) | 0 ( 0.0%) | 16 ( 0.1%) | -| ········_binop_Neq__LboolR_bool_26_while_loop | 106161 ( 35.9%) | 83060 ( 36.7%) | 2212 ( 14.9%) | 0 ( 0.0%) | 16 ( 0.1%) | -| ··········tasmlib_arithmetic_u32_safesub | 26544 ( 9.0%) | 19908 ( 8.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 3 ( 0.0%) | -| ··········_binop_Neq__LboolR_bool_37_then | 7133 ( 2.4%) | 4076 ( 1.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··········tasmlib_arithmetic_u32_safeadd | 9954 ( 3.4%) | 7742 ( 3.4%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ··_binop_Neq__LboolR_bool_49_while_loop | 304341 (100.0%) | 234832 (100.0%) | 14836 (100.0%) | 0 ( 0.0%) | 24579 ( 99.9%) | +| ····_binop_Neq__LboolR_bool_55_while_loop | 303371 ( 99.7%) | 234024 ( 99.6%) | 14836 (100.0%) | 0 ( 0.0%) | 24579 ( 99.9%) | +| ······tasmlib_arithmetic_u32_safeadd | 15120 ( 5.0%) | 11760 ( 5.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 254 ( 1.0%) | +| ······tasmlib_arithmetic_u32_safemul | 7380 ( 2.4%) | 5740 ( 2.4%) | 0 ( 0.0%) | 0 ( 0.0%) | 6875 ( 27.9%) | +| ······find_decimal_digits | 130912 ( 43.0%) | 95500 ( 40.7%) | 11804 ( 79.5%) | 0 ( 0.0%) | 8281 ( 33.6%) | +| ········_binop_Neq__LboolR_bool_7_while_loop | 123532 ( 40.6%) | 88940 ( 37.9%) | 10984 ( 74.0%) | 0 ( 0.0%) | 8281 ( 33.6%) | +| ··········tasmlib_list_push___u32 | 52174 ( 17.1%) | 38444 ( 16.4%) | 10984 ( 74.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ······list_is_palindrome | 123209 ( 40.5%) | 98468 ( 41.9%) | 3032 ( 20.4%) | 0 ( 0.0%) | 144 ( 0.6%) | +| ········_binop_Neq__LboolR_bool_26_while_loop | 115009 ( 37.8%) | 91908 ( 39.1%) | 2212 ( 14.9%) | 0 ( 0.0%) | 144 ( 0.6%) | +| ··········tasmlib_arithmetic_u32_safesub | 26544 ( 8.7%) | 19908 ( 8.5%) | 0 ( 0.0%) | 0 ( 0.0%) | 3 ( 0.0%) | +| ··········_binop_Neq__LboolR_bool_37_then | 7133 ( 2.3%) | 4076 ( 1.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ··········tasmlib_arithmetic_u32_safeadd | 9954 ( 3.3%) | 7742 ( 3.3%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ······_binop_And__LboolR_bool_68_else | 1612 ( 0.5%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····tasmlib_arithmetic_u32_safeadd | 360 ( 0.1%) | 280 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··········_binop_Neq__LboolR_bool_37_else | 174 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ······_binop_And__LboolR_bool_68_then | 98 ( 0.0%) | 56 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··tasmlib_io_write_to_stdout___u32 | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| Total | 295537 (100.0%) | 226020 (100.0%) | 14839 (100.0%) | 264 (100.0%) | 24483 (100.0%) | +| Total | 304385 (100.0%) | 234868 (100.0%) | 14839 (100.0%) | 270 (100.0%) | 24611 (100.0%) | diff --git a/profiles/project_euler_7_i101.profile b/profiles/project_euler_7_i101.profile index c422826b..8f45b1c5 100644 --- a/profiles/project_euler_7_i101.profile +++ b/profiles/project_euler_7_i101.profile @@ -1,22 +1,22 @@ project_euler_7_i101: | Subroutine | Processor | Op Stack | RAM | Hash | U32 | |:-------------------------------------------------|---------------------:|---------------------:|---------------------:|---------------------:|---------------------:| -| main | 64853 (100.0%) | 51568 (100.0%) | 3527 (100.0%) | 0 ( 0.0%) | 15252 (100.0%) | +| main | 69253 (100.0%) | 55968 (100.0%) | 3527 (100.0%) | 0 ( 0.0%) | 34004 (100.0%) | | ··tasmlib_io_read_stdin___u32 | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··tasmlib_arithmetic_u32_safemul | 9 ( 0.0%) | 7 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 11 ( 0.1%) | -| ··tasmlib_list_new___bool | 32 ( 0.0%) | 25 ( 0.0%) | 3 ( 0.1%) | 0 ( 0.0%) | 32 ( 0.2%) | -| ····tasmlib_memory_dyn_malloc | 25 ( 0.0%) | 21 ( 0.0%) | 2 ( 0.1%) | 0 ( 0.0%) | 32 ( 0.2%) | +| ··tasmlib_arithmetic_u32_safemul | 9 ( 0.0%) | 7 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 11 ( 0.0%) | +| ··tasmlib_list_new___bool | 32 ( 0.0%) | 25 ( 0.0%) | 3 ( 0.1%) | 0 ( 0.0%) | 32 ( 0.1%) | +| ····tasmlib_memory_dyn_malloc | 25 ( 0.0%) | 21 ( 0.0%) | 2 ( 0.1%) | 0 ( 0.0%) | 32 ( 0.1%) | | ······tasmlib_memory_dyn_malloc_initialize | 4 ( 0.0%) | 2 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··tasmlib_list_push___bool | 38 ( 0.1%) | 28 ( 0.1%) | 8 ( 0.2%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··_binop_Lt__LboolR_bool_14_while_loop | 25377 ( 39.1%) | 19334 ( 37.5%) | 2416 ( 68.5%) | 0 ( 0.0%) | 12292 ( 80.6%) | -| ····tasmlib_list_push___bool | 11476 ( 17.7%) | 8456 ( 16.4%) | 2416 ( 68.5%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····tasmlib_arithmetic_u32_safeadd | 7893 ( 12.2%) | 6139 ( 11.9%) | 0 ( 0.0%) | 0 ( 0.0%) | 5637 ( 37.0%) | -| ··_binop_Lt__LboolR_bool_25_while_loop | 39374 ( 60.7%) | 32152 ( 62.3%) | 1100 ( 31.2%) | 0 ( 0.0%) | 2909 ( 19.1%) | -| ····_primes_cast_u32__LboolR_bool_29_then | 29737 ( 45.9%) | 24502 ( 47.5%) | 827 ( 23.4%) | 0 ( 0.0%) | 2101 ( 13.8%) | -| ······tasmlib_arithmetic_u32_safeadd | 900 ( 1.4%) | 700 ( 1.4%) | 0 ( 0.0%) | 0 ( 0.0%) | 3 ( 0.0%) | -| ······tasmlib_arithmetic_u32_safemul | 900 ( 1.4%) | 700 ( 1.4%) | 0 ( 0.0%) | 0 ( 0.0%) | 433 ( 2.8%) | -| ······_binop_Lt__LboolR_bool_39_while_loop | 26537 ( 40.9%) | 22102 ( 42.9%) | 827 ( 23.4%) | 0 ( 0.0%) | 1665 ( 10.9%) | -| ········tasmlib_arithmetic_u32_safeadd | 7443 ( 11.5%) | 5789 ( 11.2%) | 0 ( 0.0%) | 0 ( 0.0%) | 616 ( 4.0%) | +| ··_binop_Lt__LboolR_bool_14_while_loop | 25377 ( 36.6%) | 19334 ( 34.5%) | 2416 ( 68.5%) | 0 ( 0.0%) | 12292 ( 36.1%) | +| ····tasmlib_list_push___bool | 11476 ( 16.6%) | 8456 ( 15.1%) | 2416 ( 68.5%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ····tasmlib_arithmetic_u32_safeadd | 7893 ( 11.4%) | 6139 ( 11.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 5637 ( 16.6%) | +| ··_binop_Lt__LboolR_bool_25_while_loop | 43774 ( 63.2%) | 36552 ( 65.3%) | 1100 ( 31.2%) | 0 ( 0.0%) | 21661 ( 63.7%) | +| ····_primes_cast_u32__LboolR_bool_29_then | 33045 ( 47.7%) | 27810 ( 49.7%) | 827 ( 23.4%) | 0 ( 0.0%) | 17653 ( 51.9%) | +| ······tasmlib_arithmetic_u32_safeadd | 900 ( 1.3%) | 700 ( 1.3%) | 0 ( 0.0%) | 0 ( 0.0%) | 3 ( 0.0%) | +| ······tasmlib_arithmetic_u32_safemul | 900 ( 1.3%) | 700 ( 1.3%) | 0 ( 0.0%) | 0 ( 0.0%) | 433 ( 1.3%) | +| ······_binop_Lt__LboolR_bool_39_while_loop | 29845 ( 43.1%) | 25410 ( 45.4%) | 827 ( 23.4%) | 0 ( 0.0%) | 17217 ( 50.6%) | +| ········tasmlib_arithmetic_u32_safeadd | 7443 ( 10.7%) | 5789 ( 10.3%) | 0 ( 0.0%) | 0 ( 0.0%) | 616 ( 1.8%) | | ····_primes_cast_u32__LboolR_bool_29_else | 346 ( 0.5%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··tasmlib_io_write_to_stdout___u32 | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| Total | 64854 (100.0%) | 51568 (100.0%) | 3527 (100.0%) | 186 (100.0%) | 15252 (100.0%) | +| Total | 69254 (100.0%) | 55968 (100.0%) | 3527 (100.0%) | 198 (100.0%) | 34004 (100.0%) | diff --git a/profiles/recufier_merkle_root.profile b/profiles/recufier_merkle_root.profile index 89c2c2b7..f5fea22e 100644 --- a/profiles/recufier_merkle_root.profile +++ b/profiles/recufier_merkle_root.profile @@ -1,33 +1,33 @@ recufier_merkle_root: | Subroutine | Processor | Op Stack | RAM | Hash | U32 | |:------------------------------------------------------------------------------|---------------------:|---------------------:|---------------------:|---------------------:|---------------------:| -| main | 2267 (100.0%) | 1768 (100.0%) | 81 (100.0%) | 90 ( 40.5%) | 91 (100.0%) | -| ··merkle_root | 2248 ( 99.1%) | 1744 ( 98.6%) | 80 ( 98.8%) | 90 ( 40.5%) | 91 (100.0%) | -| ····tasmlib_arithmetic_u32_safeadd | 9 ( 0.4%) | 7 ( 0.4%) | 0 ( 0.0%) | 0 ( 0.0%) | 2 ( 2.2%) | -| ····_fn_call__LDigestR_Digest_30_else | 2220 ( 97.9%) | 1727 ( 97.7%) | 80 ( 98.8%) | 90 ( 40.5%) | 89 ( 97.8%) | -| ······tasmlib_arithmetic_u32_safesub | 24 ( 1.1%) | 18 ( 1.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 11 ( 12.1%) | -| ······merkle_root | 2144 ( 94.5%) | 1664 ( 94.1%) | 80 ( 98.8%) | 84 ( 37.8%) | 69 ( 75.8%) | -| ········tasmlib_arithmetic_u32_safeadd | 18 ( 0.8%) | 14 ( 0.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 5 ( 5.5%) | -| ········_fn_call__LDigestR_Digest_30_else | 2088 ( 92.1%) | 1630 ( 92.2%) | 80 ( 98.8%) | 84 ( 37.8%) | 64 ( 70.3%) | -| ··········tasmlib_arithmetic_u32_safesub | 48 ( 2.1%) | 36 ( 2.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 9 ( 9.9%) | -| ··········merkle_root | 1936 ( 85.4%) | 1504 ( 85.1%) | 80 ( 98.8%) | 72 ( 32.4%) | 50 ( 54.9%) | -| ············tasmlib_arithmetic_u32_safeadd | 36 ( 1.6%) | 28 ( 1.6%) | 0 ( 0.0%) | 0 ( 0.0%) | 9 ( 9.9%) | -| ············_fn_call__LDigestR_Digest_30_else | 1824 ( 80.4%) | 1436 ( 81.2%) | 80 ( 98.8%) | 72 ( 32.4%) | 41 ( 45.1%) | -| ··············tasmlib_arithmetic_u32_safesub | 96 ( 4.2%) | 72 ( 4.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 17 ( 18.7%) | -| ··············merkle_root | 1520 ( 67.0%) | 1184 ( 67.0%) | 80 ( 98.8%) | 48 ( 21.6%) | 20 ( 22.0%) | -| ················tasmlib_arithmetic_u32_safeadd | 72 ( 3.2%) | 56 ( 3.2%) | 0 ( 0.0%) | 0 ( 0.0%) | 17 ( 18.7%) | -| ················_fn_call__LDigestR_Digest_30_else | 1296 ( 57.1%) | 1048 ( 59.3%) | 80 ( 98.8%) | 48 ( 21.6%) | 3 ( 3.3%) | -| ··················tasmlib_arithmetic_u32_safesub | 192 ( 8.5%) | 144 ( 8.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··················merkle_root | 688 ( 30.3%) | 544 ( 30.8%) | 80 ( 98.8%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····················tasmlib_arithmetic_u32_safeadd | 144 ( 6.3%) | 112 ( 6.3%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····················_leafs_start__LDigestR_Digest_10_then | 240 ( 10.6%) | 272 ( 15.4%) | 80 ( 98.8%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··················tasmlib_arithmetic_u32_safeadd | 72 ( 3.2%) | 56 ( 3.2%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··················hash_pair | 24 ( 1.1%) | 40 ( 2.3%) | 0 ( 0.0%) | 48 ( 21.6%) | 0 ( 0.0%) | -| ··············tasmlib_arithmetic_u32_safeadd | 36 ( 1.6%) | 28 ( 1.6%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··············hash_pair | 12 ( 0.5%) | 20 ( 1.1%) | 0 ( 0.0%) | 24 ( 10.8%) | 0 ( 0.0%) | +| main | 2331 (100.0%) | 1832 (100.0%) | 81 (100.0%) | 90 ( 39.5%) | 603 (100.0%) | +| ··merkle_root | 2312 ( 99.1%) | 1808 ( 98.7%) | 80 ( 98.8%) | 90 ( 39.5%) | 603 (100.0%) | +| ····tasmlib_arithmetic_u32_safeadd | 9 ( 0.4%) | 7 ( 0.4%) | 0 ( 0.0%) | 0 ( 0.0%) | 2 ( 0.3%) | +| ····_fn_call__LDigestR_Digest_30_else | 2284 ( 97.9%) | 1791 ( 97.8%) | 80 ( 98.8%) | 90 ( 39.5%) | 601 ( 99.7%) | +| ······tasmlib_arithmetic_u32_safesub | 24 ( 1.0%) | 18 ( 1.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 11 ( 1.8%) | +| ······merkle_root | 2208 ( 94.7%) | 1728 ( 94.3%) | 80 ( 98.8%) | 84 ( 36.8%) | 581 ( 96.4%) | +| ········tasmlib_arithmetic_u32_safeadd | 18 ( 0.8%) | 14 ( 0.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 5 ( 0.8%) | +| ········_fn_call__LDigestR_Digest_30_else | 2152 ( 92.3%) | 1694 ( 92.5%) | 80 ( 98.8%) | 84 ( 36.8%) | 576 ( 95.5%) | +| ··········tasmlib_arithmetic_u32_safesub | 48 ( 2.1%) | 36 ( 2.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 9 ( 1.5%) | +| ··········merkle_root | 2000 ( 85.8%) | 1568 ( 85.6%) | 80 ( 98.8%) | 72 ( 31.6%) | 562 ( 93.2%) | +| ············tasmlib_arithmetic_u32_safeadd | 36 ( 1.5%) | 28 ( 1.5%) | 0 ( 0.0%) | 0 ( 0.0%) | 9 ( 1.5%) | +| ············_fn_call__LDigestR_Digest_30_else | 1888 ( 81.0%) | 1500 ( 81.9%) | 80 ( 98.8%) | 72 ( 31.6%) | 553 ( 91.7%) | +| ··············tasmlib_arithmetic_u32_safesub | 96 ( 4.1%) | 72 ( 3.9%) | 0 ( 0.0%) | 0 ( 0.0%) | 17 ( 2.8%) | +| ··············merkle_root | 1584 ( 67.9%) | 1248 ( 68.1%) | 80 ( 98.8%) | 48 ( 21.1%) | 532 ( 88.2%) | +| ················tasmlib_arithmetic_u32_safeadd | 72 ( 3.1%) | 56 ( 3.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 17 ( 2.8%) | +| ················_fn_call__LDigestR_Digest_30_else | 1360 ( 58.3%) | 1112 ( 60.7%) | 80 ( 98.8%) | 48 ( 21.1%) | 515 ( 85.4%) | +| ··················tasmlib_arithmetic_u32_safesub | 192 ( 8.2%) | 144 ( 7.9%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ··················merkle_root | 752 ( 32.2%) | 608 ( 33.2%) | 80 ( 98.8%) | 0 ( 0.0%) | 512 ( 84.9%) | +| ····················tasmlib_arithmetic_u32_safeadd | 144 ( 6.2%) | 112 ( 6.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ····················_leafs_start__LDigestR_Digest_10_then | 304 ( 13.0%) | 336 ( 18.3%) | 80 ( 98.8%) | 0 ( 0.0%) | 512 ( 84.9%) | +| ··················tasmlib_arithmetic_u32_safeadd | 72 ( 3.1%) | 56 ( 3.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ··················hash_pair | 24 ( 1.0%) | 40 ( 2.2%) | 0 ( 0.0%) | 48 ( 21.1%) | 0 ( 0.0%) | +| ··············tasmlib_arithmetic_u32_safeadd | 36 ( 1.5%) | 28 ( 1.5%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ··············hash_pair | 12 ( 0.5%) | 20 ( 1.1%) | 0 ( 0.0%) | 24 ( 10.5%) | 0 ( 0.0%) | | ··········tasmlib_arithmetic_u32_safeadd | 18 ( 0.8%) | 14 ( 0.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··········hash_pair | 6 ( 0.3%) | 10 ( 0.6%) | 0 ( 0.0%) | 12 ( 5.4%) | 0 ( 0.0%) | +| ··········hash_pair | 6 ( 0.3%) | 10 ( 0.5%) | 0 ( 0.0%) | 12 ( 5.3%) | 0 ( 0.0%) | | ······tasmlib_arithmetic_u32_safeadd | 9 ( 0.4%) | 7 ( 0.4%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ······hash_pair | 3 ( 0.1%) | 5 ( 0.3%) | 0 ( 0.0%) | 6 ( 2.7%) | 0 ( 0.0%) | +| ······hash_pair | 3 ( 0.1%) | 5 ( 0.3%) | 0 ( 0.0%) | 6 ( 2.6%) | 0 ( 0.0%) | | ··tasmlib_io_write_to_stdout___digest | 3 ( 0.1%) | 5 ( 0.3%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| Total | 2268 (100.0%) | 1768 (100.0%) | 81 (100.0%) | 222 (100.0%) | 91 (100.0%) | +| Total | 2332 (100.0%) | 1832 (100.0%) | 81 (100.0%) | 228 (100.0%) | 603 (100.0%) | diff --git a/profiles/verify_stark_proof_inner_padded_height_1024_0_input_words.profile b/profiles/verify_stark_proof_inner_padded_height_1024_0_input_words.profile index 31377652..bb28121c 100644 --- a/profiles/verify_stark_proof_inner_padded_height_1024_0_input_words.profile +++ b/profiles/verify_stark_proof_inner_padded_height_1024_0_input_words.profile @@ -1,23 +1,23 @@ verify_stark_proof_inner_padded_height_1024_0_input_words: | Subroutine | Processor | Op Stack | RAM | Hash | U32 | |:------------------------------------------------------------------------------------------------------------------------|---------------------:|---------------------:|---------------------:|---------------------:|---------------------:| -| verify_stark_proof | 280982 (100.0%) | 261518 (100.0%) | 290638 (100.0%) | 87799 ( 56.9%) | 52809 (100.0%) | +| verify_stark_proof | 290879 (100.0%) | 271320 (100.0%) | 290638 (100.0%) | 87799 ( 56.9%) | 85825 (100.0%) | | ··tasmlib_io_read_stdin___digest | 3 ( 0.0%) | 5 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··tasmlib_io_read_stdin___u32 | 6 ( 0.0%) | 2 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··tasmlib_list_new___bfe | 60 ( 0.0%) | 48 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 64 ( 0.1%) | -| ····tasmlib_memory_dyn_malloc | 67 ( 0.0%) | 59 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.2%) | +| ····tasmlib_memory_dyn_malloc | 67 ( 0.0%) | 59 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.1%) | | ······tasmlib_memory_dyn_malloc_initialize | 4 ( 0.0%) | 2 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··_binop_Lt__LboolR_bool_7_while_loop | 9 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 1 ( 0.0%) | | ··_binop_Lt__LboolR_bool_19_while_loop | 9 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··box_new_Claim | 186 ( 0.1%) | 162 ( 0.1%) | 21 ( 0.0%) | 0 ( 0.0%) | 36 ( 0.1%) | +| ··box_new_Claim | 186 ( 0.1%) | 162 ( 0.1%) | 21 ( 0.0%) | 0 ( 0.0%) | 36 ( 0.0%) | | ····store_Claim_to_memory | 156 ( 0.1%) | 136 ( 0.1%) | 17 ( 0.0%) | 0 ( 0.0%) | 4 ( 0.0%) | | ······tasmlib_memory_memcpy | 201 ( 0.1%) | 186 ( 0.1%) | 46 ( 0.0%) | 0 ( 0.0%) | 26 ( 0.0%) | | ········tasmlib_memory_memcpy_loop_cpy5_words | 69 ( 0.0%) | 70 ( 0.0%) | 30 ( 0.0%) | 0 ( 0.0%) | 26 ( 0.0%) | | ········tasmlib_memory_memcpy_cpy1_word | 20 ( 0.0%) | 12 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··verify | 280693 ( 99.9%) | 261267 ( 99.9%) | 290611 (100.0%) | 87799 ( 56.9%) | 52708 ( 99.8%) | +| ··verify | 290590 ( 99.9%) | 271069 ( 99.9%) | 290611 (100.0%) | 87799 ( 56.9%) | 85724 ( 99.9%) | | ····default | 6 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····box_new_StarkParameters | 32 ( 0.0%) | 31 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.1%) | -| ······tasmlib_memory_dyn_malloc | 105 ( 0.0%) | 95 ( 0.0%) | 10 ( 0.0%) | 0 ( 0.0%) | 160 ( 0.3%) | +| ····box_new_StarkParameters | 32 ( 0.0%) | 31 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.0%) | +| ······tasmlib_memory_dyn_malloc | 105 ( 0.0%) | 95 ( 0.0%) | 10 ( 0.0%) | 0 ( 0.0%) | 160 ( 0.2%) | | ····tasmlib_hashing_sponge_hasher_init | 3 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | | ····tasmlib_verifier_claim_instantiate_fiat_shamir_with_claim | 149 ( 0.1%) | 109 ( 0.0%) | 11 ( 0.0%) | 6 ( 0.0%) | 10 ( 0.0%) | | ······tasmlib_hashing_absorb_multiple | 136 ( 0.0%) | 98 ( 0.0%) | 9 ( 0.0%) | 6 ( 0.0%) | 10 ( 0.0%) | @@ -25,40 +25,40 @@ verify_stark_proof_inner_padded_height_1024_0_input_words: | ········tasmlib_hashing_absorb_multiple_pad_varnum_zeros | 6 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ········tasmlib_hashing_absorb_multiple_read_remainder | 87 ( 0.0%) | 49 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····new | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····box_new_VmProofIter | 34 ( 0.0%) | 28 ( 0.0%) | 5 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.1%) | +| ····box_new_VmProofIter | 34 ( 0.0%) | 28 ( 0.0%) | 5 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.0%) | | ······store_VmProofIter_to_memory | 4 ( 0.0%) | 2 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····method_boxed_LVmProofIterR_next_as_log2paddedheight | 24 ( 0.0%) | 16 ( 0.0%) | 3 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_log2paddedheight | 22 ( 0.0%) | 16 ( 0.0%) | 3 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····tasmlib_arithmetic_u32_shiftleft | 12 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | -| ····method_boxed_LStarkParametersR_derive_fri | 259 ( 0.1%) | 237 ( 0.1%) | 4 ( 0.0%) | 0 ( 0.0%) | 166 ( 0.3%) | +| ····method_boxed_LStarkParametersR_derive_fri | 256 ( 0.1%) | 231 ( 0.1%) | 4 ( 0.0%) | 0 ( 0.0%) | 166 ( 0.2%) | | ······tasmlib_arithmetic_u32_safeadd | 729 ( 0.3%) | 567 ( 0.2%) | 0 ( 0.0%) | 0 ( 0.0%) | 12 ( 0.0%) | -| ······tasmlib_arithmetic_u32_next_power_of_two | 23 ( 0.0%) | 18 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 29 ( 0.1%) | +| ······tasmlib_arithmetic_u32_next_power_of_two | 23 ( 0.0%) | 18 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 29 ( 0.0%) | | ········tasmlib_arithmetic_u32_next_power_of_two_greater_than_one | 15 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 17 ( 0.0%) | | ······tasmlib_arithmetic_u32_safemul | 9 ( 0.0%) | 7 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 15 ( 0.0%) | | ······tasmlib_arithmetic_u32_shiftleft | 12 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 46 ( 0.1%) | | ······tasmlib_arithmetic_bfe_primitive_root_of_unity | 322 ( 0.1%) | 318 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 64 ( 0.1%) | -| ····box_new_FriVerify | 38 ( 0.0%) | 32 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.1%) | +| ····box_new_FriVerify | 38 ( 0.0%) | 32 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.0%) | | ······store_FriVerify_to_memory | 8 ( 0.0%) | 6 ( 0.0%) | 5 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····method_boxed_LVmProofIterR_next_as_merkleroot | 519 ( 0.2%) | 372 ( 0.1%) | 30 ( 0.0%) | 18 ( 0.0%) | 9 ( 0.0%) | | ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_merkleroot | 513 ( 0.2%) | 372 ( 0.1%) | 30 ( 0.0%) | 18 ( 0.0%) | 9 ( 0.0%) | -| ········tasmlib_hashing_sponge_hasher_pad_and_absorb_all | 2856 ( 1.0%) | 1974 ( 0.8%) | 2821 ( 1.0%) | 1710 ( 1.1%) | 41 ( 0.1%) | -| ··········tasmlib_hashing_absorb_multiple | 2808 ( 1.0%) | 1950 ( 0.7%) | 2813 ( 1.0%) | 1710 ( 1.1%) | 41 ( 0.1%) | +| ········tasmlib_hashing_sponge_hasher_pad_and_absorb_all | 2856 ( 1.0%) | 1974 ( 0.7%) | 2821 ( 1.0%) | 1710 ( 1.1%) | 41 ( 0.0%) | +| ··········tasmlib_hashing_absorb_multiple | 2808 ( 1.0%) | 1950 ( 0.7%) | 2813 ( 1.0%) | 1710 ( 1.1%) | 41 ( 0.0%) | | ············tasmlib_hashing_absorb_multiple_hash_all_full_chunks | 1710 ( 0.6%) | 1140 ( 0.4%) | 2770 ( 1.0%) | 1662 ( 1.1%) | 0 ( 0.0%) | | ············tasmlib_hashing_absorb_multiple_pad_varnum_zeros | 367 ( 0.1%) | 235 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ············tasmlib_hashing_absorb_multiple_read_remainder | 435 ( 0.2%) | 247 ( 0.1%) | 43 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ············tasmlib_hashing_absorb_multiple_read_remainder | 435 ( 0.1%) | 247 ( 0.1%) | 43 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····tasmlib_verifier_challenges_new_generic_dyn_claim_59_4 | 1795 ( 0.6%) | 2588 ( 1.0%) | 213 ( 0.1%) | 108 ( 0.1%) | 0 ( 0.0%) | -| ······tasmlib_hashing_algebraic_hasher_sample_scalars_static_length_static_pointer_59_18446744056529682432 | 114 ( 0.0%) | 398 ( 0.2%) | 180 ( 0.1%) | 108 ( 0.1%) | 0 ( 0.0%) | -| ········tasmlib_hashing_squeeze_repeatedly_static_number_18 | 111 ( 0.0%) | 397 ( 0.2%) | 180 ( 0.1%) | 108 ( 0.1%) | 0 ( 0.0%) | +| ······tasmlib_hashing_algebraic_hasher_sample_scalars_static_length_static_pointer_59_18446744056529682432 | 114 ( 0.0%) | 398 ( 0.1%) | 180 ( 0.1%) | 108 ( 0.1%) | 0 ( 0.0%) | +| ········tasmlib_hashing_squeeze_repeatedly_static_number_18 | 111 ( 0.0%) | 397 ( 0.1%) | 180 ( 0.1%) | 108 ( 0.1%) | 0 ( 0.0%) | | ······tasmlib_verifier_eval_arg_compute_terminal_dyn_sized_dynamic_symbols | 54 ( 0.0%) | 28 ( 0.0%) | 2 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ········tasmlib_verifier_eval_arg_compute_terminal_dyn_sized_dynamic_symbols_loop | 12 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ······tasmlib_verifier_eval_arg_compute_terminal_from_digest | 38 ( 0.0%) | 45 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ······tasmlib_verifier_eval_arg_compute_terminal_const_sized_static_symbols_symbol_count_256_16790708486107472414 | 1538 ( 0.5%) | 2048 ( 0.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····num_quotients | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····tasmlib_hashing_algebraic_hasher_sample_scalars | 4337 ( 1.5%) | 9092 ( 3.5%) | 3212 ( 1.1%) | 1920 ( 1.2%) | 135 ( 0.3%) | -| ······tasmlib_list_new___xfe | 84 ( 0.0%) | 69 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.2%) | -| ········tasmlib_memory_dyn_malloc | 63 ( 0.0%) | 57 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.2%) | +| ····tasmlib_hashing_algebraic_hasher_sample_scalars | 4337 ( 1.5%) | 9092 ( 3.4%) | 3212 ( 1.1%) | 1920 ( 1.2%) | 135 ( 0.2%) | +| ······tasmlib_list_new___xfe | 84 ( 0.0%) | 69 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.1%) | +| ········tasmlib_memory_dyn_malloc | 63 ( 0.0%) | 57 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.1%) | | ······tasmlib_list_set_length___xfe | 18 ( 0.0%) | 9 ( 0.0%) | 3 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ······tasmlib_hashing_squeeze_repeatedly | 4178 ( 1.5%) | 8972 ( 3.4%) | 3200 ( 1.1%) | 1920 ( 1.2%) | 0 ( 0.0%) | +| ······tasmlib_hashing_squeeze_repeatedly | 4178 ( 1.4%) | 8972 ( 3.3%) | 3200 ( 1.1%) | 1920 ( 1.2%) | 0 ( 0.0%) | | ····method_Result___array592_of_LXFieldR_unwrap | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····generator_for_length | 251 ( 0.1%) | 221 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 58 ( 0.1%) | | ······is_power_of_two | 66 ( 0.0%) | 43 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 25 ( 0.0%) | @@ -69,44 +69,44 @@ verify_stark_proof_inner_padded_height_1024_0_input_words: | ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_outofdomainbaserow | 1686 ( 0.6%) | 1144 ( 0.4%) | 2260 ( 0.8%) | 1356 ( 0.9%) | 12 ( 0.0%) | | ····method_boxed_LVmProofIterR_next_as_outofdomainextrow | 662 ( 0.2%) | 460 ( 0.2%) | 538 ( 0.2%) | 324 ( 0.2%) | 10 ( 0.0%) | | ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_outofdomainextrow | 658 ( 0.2%) | 460 ( 0.2%) | 538 ( 0.2%) | 324 ( 0.2%) | 10 ( 0.0%) | -| ····method_boxed_LVmProofIterR_next_as_outofdomainquotientsegments | 185 ( 0.1%) | 134 ( 0.1%) | 17 ( 0.0%) | 12 ( 0.0%) | 10 ( 0.0%) | -| ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_outofdomainquotientsegments | 183 ( 0.1%) | 134 ( 0.1%) | 17 ( 0.0%) | 12 ( 0.0%) | 10 ( 0.0%) | -| ····tasmlib_verifier_master_ext_table_air_constraint_evaluation | 46807 ( 16.7%) | 73265 ( 28.0%) | 27034 ( 9.3%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····tasmlib_verifier_master_ext_table_divide_out_zerofiers | 7294 ( 2.6%) | 8463 ( 3.2%) | 5343 ( 1.8%) | 0 ( 0.0%) | 12 ( 0.0%) | +| ····method_boxed_LVmProofIterR_next_as_outofdomainquotientsegments | 185 ( 0.1%) | 134 ( 0.0%) | 17 ( 0.0%) | 12 ( 0.0%) | 10 ( 0.0%) | +| ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_outofdomainquotientsegments | 183 ( 0.1%) | 134 ( 0.0%) | 17 ( 0.0%) | 12 ( 0.0%) | 10 ( 0.0%) | +| ····tasmlib_verifier_master_ext_table_air_constraint_evaluation | 46807 ( 16.1%) | 73265 ( 27.0%) | 27034 ( 9.3%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ····tasmlib_verifier_master_ext_table_divide_out_zerofiers | 7294 ( 2.5%) | 8463 ( 3.1%) | 5343 ( 1.8%) | 0 ( 0.0%) | 12 ( 0.0%) | | ······tasmlib_verifier_master_ext_table_zerofiers_inverse | 182 ( 0.1%) | 169 ( 0.1%) | 15 ( 0.0%) | 0 ( 0.0%) | 12 ( 0.0%) | -| ········tasmlib_arithmetic_xfe_to_the_power_of_power_of_2 | 142 ( 0.1%) | 125 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ········tasmlib_arithmetic_xfe_to_the_power_of_power_of_2 | 142 ( 0.0%) | 125 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··········tasmlib_arithmetic_xfe_to_the_power_of_power_of_2_loop | 136 ( 0.0%) | 124 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····tasmlib_array_inner_product_of_592_xfes | 601 ( 0.2%) | 5 ( 0.0%) | 3552 ( 1.2%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····tasmlib_array_horner_evaluation_with_4_coefficients | 52 ( 0.0%) | 65 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····num_base_ext_quotient_deep_weights | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····num_columns_plus_quotient_segments | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····tasmlib_list_split_off_xfe | 231 ( 0.1%) | 220 ( 0.1%) | 52 ( 0.0%) | 0 ( 0.0%) | 106 ( 0.2%) | +| ····tasmlib_list_split_off_xfe | 231 ( 0.1%) | 220 ( 0.1%) | 52 ( 0.0%) | 0 ( 0.0%) | 106 ( 0.1%) | | ········tasmlib_memory_memcpy_cpy4_words | 10 ( 0.0%) | 12 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····method_Result___array3_of_LXFieldR_unwrap | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····num_columns | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ········tasmlib_memory_memcpy_cpy2_words | 10 ( 0.0%) | 8 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····method_Result___array4_of_LXFieldR_unwrap | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····linearly_sum_xfe_base_and_ext_row | 54044 ( 19.2%) | 53668 ( 20.5%) | 5556 ( 1.9%) | 0 ( 0.0%) | 8581 ( 16.2%) | -| ······_binop_Lt__LboolR_bool_193_while_loop | 42022 ( 15.0%) | 42016 ( 16.1%) | 4500 ( 1.5%) | 0 ( 0.0%) | 6999 ( 13.3%) | -| ········tasmlib_arithmetic_u32_safeadd | 9918 ( 3.5%) | 7714 ( 2.9%) | 0 ( 0.0%) | 0 ( 0.0%) | 4109 ( 7.8%) | -| ······_binop_Lt__LboolR_bool_212_while_loop | 11990 ( 4.3%) | 11632 ( 4.4%) | 1056 ( 0.4%) | 0 ( 0.0%) | 1582 ( 3.0%) | +| ····linearly_sum_xfe_base_and_ext_row | 61452 ( 21.1%) | 61076 ( 22.5%) | 5556 ( 1.9%) | 0 ( 0.0%) | 35365 ( 41.2%) | +| ······_binop_Lt__LboolR_bool_193_while_loop | 48022 ( 16.5%) | 48016 ( 17.7%) | 4500 ( 1.5%) | 0 ( 0.0%) | 30967 ( 36.1%) | +| ········tasmlib_arithmetic_u32_safeadd | 9918 ( 3.4%) | 7714 ( 2.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 4109 ( 4.8%) | +| ······_binop_Lt__LboolR_bool_212_while_loop | 13398 ( 4.6%) | 13040 ( 4.8%) | 1056 ( 0.4%) | 0 ( 0.0%) | 4398 ( 5.1%) | | ····tasmlib_array_inner_product_of_4_xfes | 13 ( 0.0%) | 5 ( 0.0%) | 24 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····method_boxed_LFriVerifyR_verify | 72578 ( 25.8%) | 66265 ( 25.3%) | 21066 ( 7.2%) | 31494 ( 20.4%) | 42715 ( 80.9%) | -| ······tasmlib_verifier_fri_verify | 72571 ( 25.8%) | 66261 ( 25.3%) | 21066 ( 7.2%) | 31494 ( 20.4%) | 42715 ( 80.9%) | +| ····method_boxed_LFriVerifyR_verify | 72588 ( 25.0%) | 66265 ( 24.4%) | 21066 ( 7.2%) | 31494 ( 20.4%) | 43251 ( 50.4%) | +| ······tasmlib_verifier_fri_verify | 72581 ( 25.0%) | 66261 ( 24.4%) | 21066 ( 7.2%) | 31494 ( 20.4%) | 43251 ( 50.4%) | | ········tasmlib_verifier_fri_number_of_rounds | 54 ( 0.0%) | 46 ( 0.0%) | 3 ( 0.0%) | 0 ( 0.0%) | 45 ( 0.1%) | | ········tasmlib_list_new___xfe | 56 ( 0.0%) | 46 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 64 ( 0.1%) | -| ··········tasmlib_memory_dyn_malloc | 105 ( 0.0%) | 95 ( 0.0%) | 10 ( 0.0%) | 0 ( 0.0%) | 160 ( 0.3%) | -| ········tasmlib_list_new___digest | 28 ( 0.0%) | 23 ( 0.0%) | 3 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.1%) | +| ··········tasmlib_memory_dyn_malloc | 105 ( 0.0%) | 95 ( 0.0%) | 10 ( 0.0%) | 0 ( 0.0%) | 160 ( 0.2%) | +| ········tasmlib_list_new___digest | 28 ( 0.0%) | 23 ( 0.0%) | 3 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.0%) | | ········tasmlib_verifier_vm_proof_iter_dequeue_next_as_merkleroot | 171 ( 0.1%) | 124 ( 0.0%) | 10 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | | ··········tasmlib_hashing_sponge_hasher_pad_and_absorb_all | 148 ( 0.1%) | 107 ( 0.0%) | 7 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | -| ············tasmlib_hashing_absorb_multiple | 142 ( 0.1%) | 104 ( 0.0%) | 6 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | +| ············tasmlib_hashing_absorb_multiple | 142 ( 0.0%) | 104 ( 0.0%) | 6 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | | ··············tasmlib_hashing_absorb_multiple_hash_all_full_chunks | 6 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··············tasmlib_hashing_absorb_multiple_pad_varnum_zeros | 39 ( 0.0%) | 25 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··············tasmlib_hashing_absorb_multiple_read_remainder | 60 ( 0.0%) | 34 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ········tasmlib_list_push___digest | 21 ( 0.0%) | 20 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_verifier_fri_verify_dequeue_commit_phase_remainder | 1086 ( 0.4%) | 916 ( 0.4%) | 176 ( 0.1%) | 48 ( 0.0%) | 128 ( 0.2%) | -| ··········tasmlib_hashing_algebraic_hasher_sample_scalars_static_length_dyn_malloc_1 | 132 ( 0.0%) | 172 ( 0.1%) | 48 ( 0.0%) | 24 ( 0.0%) | 128 ( 0.2%) | -| ············tasmlib_memory_dyn_malloc | 210 ( 0.1%) | 190 ( 0.1%) | 20 ( 0.0%) | 0 ( 0.0%) | 320 ( 0.6%) | +| ········tasmlib_verifier_fri_verify_dequeue_commit_phase_remainder | 1086 ( 0.4%) | 916 ( 0.3%) | 176 ( 0.1%) | 48 ( 0.0%) | 128 ( 0.1%) | +| ··········tasmlib_hashing_algebraic_hasher_sample_scalars_static_length_dyn_malloc_1 | 132 ( 0.0%) | 172 ( 0.1%) | 48 ( 0.0%) | 24 ( 0.0%) | 128 ( 0.1%) | +| ············tasmlib_memory_dyn_malloc | 210 ( 0.1%) | 190 ( 0.1%) | 20 ( 0.0%) | 0 ( 0.0%) | 320 ( 0.4%) | | ············tasmlib_hashing_squeeze_repeatedly_static_number_1 | 36 ( 0.0%) | 92 ( 0.0%) | 40 ( 0.0%) | 24 ( 0.0%) | 0 ( 0.0%) | | ··········tasmlib_list_push___xfe | 84 ( 0.0%) | 72 ( 0.0%) | 24 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··········tasmlib_verifier_vm_proof_iter_dequeue_next_as_merkleroot | 684 ( 0.2%) | 496 ( 0.2%) | 40 ( 0.0%) | 24 ( 0.0%) | 0 ( 0.0%) | @@ -118,78 +118,78 @@ verify_stark_proof_inner_padded_height_1024_0_input_words: | ··········tasmlib_list_push___digest | 84 ( 0.0%) | 80 ( 0.0%) | 32 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ········tasmlib_verifier_vm_proof_iter_dequeue_next_as_fricodeword | 28 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | | ········tasmlib_list_length___digest | 8 ( 0.0%) | 4 ( 0.0%) | 2 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_hashing_merkle_root_from_xfes_generic | 8280 ( 2.9%) | 13598 ( 5.2%) | 6653 ( 2.3%) | 3066 ( 2.0%) | 162 ( 0.3%) | +| ········tasmlib_hashing_merkle_root_from_xfes_generic | 8280 ( 2.8%) | 13598 ( 5.0%) | 6653 ( 2.3%) | 3066 ( 2.0%) | 162 ( 0.2%) | | ··········tasmlib_hashing_merkle_root_from_xfes_generic_build_parent_layer | 4609 ( 1.6%) | 6656 ( 2.5%) | 2816 ( 1.0%) | 1536 ( 1.0%) | 0 ( 0.0%) | -| ··········tasmlib_hashing_merkle_root | 3602 ( 1.3%) | 6882 ( 2.6%) | 3833 ( 1.3%) | 1530 ( 1.0%) | 105 ( 0.2%) | -| ············tasmlib_hashing_merkle_root_next_layer_loop | 3561 ( 1.3%) | 6842 ( 2.6%) | 3825 ( 1.3%) | 1530 ( 1.0%) | 73 ( 0.1%) | -| ··············tasmlib_hashing_merkle_root_calculate_parent_digests | 3323 ( 1.2%) | 6630 ( 2.5%) | 3825 ( 1.3%) | 1530 ( 1.0%) | 0 ( 0.0%) | +| ··········tasmlib_hashing_merkle_root | 3602 ( 1.2%) | 6882 ( 2.5%) | 3833 ( 1.3%) | 1530 ( 1.0%) | 105 ( 0.1%) | +| ············tasmlib_hashing_merkle_root_next_layer_loop | 3561 ( 1.2%) | 6842 ( 2.5%) | 3825 ( 1.3%) | 1530 ( 1.0%) | 73 ( 0.1%) | +| ··············tasmlib_hashing_merkle_root_calculate_parent_digests | 3323 ( 1.1%) | 6630 ( 2.4%) | 3825 ( 1.3%) | 1530 ( 1.0%) | 0 ( 0.0%) | | ········tasmlib_list_get_element___digest | 28 ( 0.0%) | 30 ( 0.0%) | 10 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ········tasmlib_verifier_vm_proof_iter_dequeue_next_as_fripolynomial | 56 ( 0.0%) | 50 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | -| ········tasmlib_hashing_algebraic_hasher_sample_indices | 4638 ( 1.7%) | 3329 ( 1.3%) | 412 ( 0.1%) | 48 ( 0.0%) | 5163 ( 9.8%) | +| ········tasmlib_hashing_algebraic_hasher_sample_indices | 4638 ( 1.6%) | 3329 ( 1.2%) | 412 ( 0.1%) | 48 ( 0.0%) | 5203 ( 6.1%) | | ··········tasmlib_list_new___u32 | 56 ( 0.0%) | 46 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 64 ( 0.1%) | -| ··········tasmlib_hashing_algebraic_hasher_sample_indices_main_loop | 4602 ( 1.6%) | 3302 ( 1.3%) | 409 ( 0.1%) | 48 ( 0.0%) | 5131 ( 9.7%) | +| ··········tasmlib_hashing_algebraic_hasher_sample_indices_main_loop | 4602 ( 1.6%) | 3302 ( 1.2%) | 409 ( 0.1%) | 48 ( 0.0%) | 5171 ( 6.0%) | | ············tasmlib_list_length___u32 | 356 ( 0.1%) | 178 ( 0.1%) | 89 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ············tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save | 2800 ( 1.0%) | 1680 ( 0.6%) | 320 ( 0.1%) | 0 ( 0.0%) | 5131 ( 9.7%) | +| ············tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save | 2800 ( 1.0%) | 1680 ( 0.6%) | 320 ( 0.1%) | 0 ( 0.0%) | 5171 ( 6.0%) | | ··············tasmlib_list_push___u32 | 1520 ( 0.5%) | 1120 ( 0.4%) | 320 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | | ········tasmlib_list_length___xfe | 8 ( 0.0%) | 4 ( 0.0%) | 2 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_hashing_algebraic_hasher_sample_scalars_static_length_dyn_malloc_1 | 33 ( 0.0%) | 43 ( 0.0%) | 12 ( 0.0%) | 6 ( 0.0%) | 32 ( 0.1%) | +| ········tasmlib_hashing_algebraic_hasher_sample_scalars_static_length_dyn_malloc_1 | 33 ( 0.0%) | 43 ( 0.0%) | 12 ( 0.0%) | 6 ( 0.0%) | 32 ( 0.0%) | | ··········tasmlib_hashing_squeeze_repeatedly_static_number_1 | 9 ( 0.0%) | 23 ( 0.0%) | 10 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | | ········tasmlib_list_get_element___xfe | 28 ( 0.0%) | 26 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_list_horner_evaluation_dynamic_length | 1385 ( 0.5%) | 1995 ( 0.8%) | 385 ( 0.1%) | 0 ( 0.0%) | 33 ( 0.1%) | +| ········tasmlib_list_horner_evaluation_dynamic_length | 1385 ( 0.5%) | 1995 ( 0.7%) | 385 ( 0.1%) | 0 ( 0.0%) | 33 ( 0.0%) | | ··········tasmlib_list_length___xfe | 4 ( 0.0%) | 2 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··········tasmlib_list_horner_evaluation_dynamic_length_loop_batches | 1097 ( 0.4%) | 1648 ( 0.6%) | 336 ( 0.1%) | 0 ( 0.0%) | 33 ( 0.1%) | +| ··········tasmlib_list_horner_evaluation_dynamic_length_loop_batches | 1097 ( 0.4%) | 1648 ( 0.6%) | 336 ( 0.1%) | 0 ( 0.0%) | 33 ( 0.0%) | | ··········tasmlib_list_horner_evaluation_dynamic_length_loop_remainder | 264 ( 0.1%) | 326 ( 0.1%) | 48 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_verifier_fri_barycentric_evaluation | 13534 ( 4.8%) | 12495 ( 4.8%) | 6145 ( 2.1%) | 0 ( 0.0%) | 49 ( 0.1%) | -| ··········tasmlib_arithmetic_bfe_primitive_root_of_unity | 161 ( 0.1%) | 159 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.1%) | -| ··········tasmlib_verifier_fri_barycentric_evaluation_partial_terms_loop | 7681 ( 2.7%) | 7168 ( 2.7%) | 1536 ( 0.5%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ········tasmlib_verifier_fri_barycentric_evaluation | 13534 ( 4.7%) | 12495 ( 4.6%) | 6145 ( 2.1%) | 0 ( 0.0%) | 49 ( 0.1%) | +| ··········tasmlib_arithmetic_bfe_primitive_root_of_unity | 161 ( 0.1%) | 159 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.0%) | +| ··········tasmlib_verifier_fri_barycentric_evaluation_partial_terms_loop | 7681 ( 2.6%) | 7168 ( 2.6%) | 1536 ( 0.5%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··········tasmlib_verifier_fri_barycentric_evaluation_numerator_from_partial_sums | 2561 ( 0.9%) | 1024 ( 0.4%) | 3072 ( 1.1%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··········tasmlib_verifier_fri_barycentric_evaluation_denominator_from_partial_sums | 3073 ( 1.1%) | 4096 ( 1.6%) | 1536 ( 0.5%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ··········tasmlib_verifier_fri_barycentric_evaluation_denominator_from_partial_sums | 3073 ( 1.1%) | 4096 ( 1.5%) | 1536 ( 0.5%) | 0 ( 0.0%) | 0 ( 0.0%) | | ········tasmlib_verifier_vm_proof_iter_dequeue_next_as_friresponse | 28 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | | ········tasmlib_list_length___u32 | 4 ( 0.0%) | 2 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_verifier_fri_verify_fri_authentication_paths | 4085 ( 1.5%) | 1770 ( 0.7%) | 320 ( 0.1%) | 6240 ( 4.0%) | 9424 ( 17.8%) | -| ··········tasmlib_verifier_fri_verify_fri_authentication_paths_main_loop | 4081 ( 1.5%) | 1760 ( 0.7%) | 320 ( 0.1%) | 6240 ( 4.0%) | 9424 ( 17.8%) | -| ············tasmlib_verifier_fri_verify_fri_authentication_paths_loop_over_auth_path_elements | 2160 ( 0.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 6240 ( 4.0%) | 7104 ( 13.5%) | -| ········tasmlib_list_higher_order_u32_zip_u32_with_xfe | 3174 ( 1.1%) | 3310 ( 1.3%) | 1292 ( 0.4%) | 0 ( 0.0%) | 64 ( 0.1%) | -| ··········tasmlib_list_new___tuple_Lu32___xfeR | 84 ( 0.0%) | 69 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.2%) | -| ··········tasmlib_list_higher_order_u32_zip_u32_with_xfe_loop | 3052 ( 1.1%) | 3208 ( 1.2%) | 1280 ( 0.4%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_verifier_fri_verify_query_phase_main_loop | 30998 ( 11.0%) | 23556 ( 9.0%) | 4536 ( 1.6%) | 22080 ( 14.3%) | 24915 ( 47.2%) | +| ········tasmlib_verifier_fri_verify_fri_authentication_paths | 4085 ( 1.4%) | 1770 ( 0.7%) | 320 ( 0.1%) | 6240 ( 4.0%) | 9275 ( 10.8%) | +| ··········tasmlib_verifier_fri_verify_fri_authentication_paths_main_loop | 4081 ( 1.4%) | 1760 ( 0.6%) | 320 ( 0.1%) | 6240 ( 4.0%) | 9275 ( 10.8%) | +| ············tasmlib_verifier_fri_verify_fri_authentication_paths_loop_over_auth_path_elements | 2160 ( 0.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 6240 ( 4.0%) | 6955 ( 8.1%) | +| ········tasmlib_list_higher_order_u32_zip_u32_with_xfe | 3174 ( 1.1%) | 3310 ( 1.2%) | 1292 ( 0.4%) | 0 ( 0.0%) | 64 ( 0.1%) | +| ··········tasmlib_list_new___tuple_Lu32___xfeR | 84 ( 0.0%) | 69 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.1%) | +| ··········tasmlib_list_higher_order_u32_zip_u32_with_xfe_loop | 3052 ( 1.0%) | 3208 ( 1.2%) | 1280 ( 0.4%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ········tasmlib_verifier_fri_verify_query_phase_main_loop | 31006 ( 10.7%) | 23556 ( 8.7%) | 4536 ( 1.6%) | 22080 ( 14.3%) | 25540 ( 29.8%) | | ··········tasmlib_verifier_vm_proof_iter_dequeue_next_as_friresponse | 112 ( 0.0%) | 88 ( 0.0%) | 16 ( 0.0%) | 0 ( 0.0%) | 72 ( 0.1%) | | ··········tasmlib_list_get_element___digest | 56 ( 0.0%) | 60 ( 0.0%) | 20 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··········tasmlib_verifier_fri_verify_fri_authentication_paths | 15380 ( 5.5%) | 7080 ( 2.7%) | 1280 ( 0.4%) | 22080 ( 14.3%) | 20624 ( 39.1%) | -| ············tasmlib_verifier_fri_verify_fri_authentication_paths_main_loop | 15364 ( 5.5%) | 7040 ( 2.7%) | 1280 ( 0.4%) | 22080 ( 14.3%) | 20624 ( 39.1%) | -| ··············tasmlib_verifier_fri_verify_fri_authentication_paths_loop_over_auth_path_elements | 7680 ( 2.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 22080 ( 14.3%) | 13157 ( 24.9%) | +| ··········tasmlib_verifier_fri_verify_fri_authentication_paths | 15380 ( 5.3%) | 7080 ( 2.6%) | 1280 ( 0.4%) | 22080 ( 14.3%) | 21265 ( 24.8%) | +| ············tasmlib_verifier_fri_verify_fri_authentication_paths_main_loop | 15364 ( 5.3%) | 7040 ( 2.6%) | 1280 ( 0.4%) | 22080 ( 14.3%) | 21265 ( 24.8%) | +| ··············tasmlib_verifier_fri_verify_fri_authentication_paths_loop_over_auth_path_elements | 7680 ( 2.6%) | 0 ( 0.0%) | 0 ( 0.0%) | 22080 ( 14.3%) | 13797 ( 16.1%) | | ··········tasmlib_list_get_element___xfe | 56 ( 0.0%) | 52 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··········tasmlib_verifier_fri_verify_compute_c_values_loop | 15044 ( 5.4%) | 16000 ( 6.1%) | 3200 ( 1.1%) | 0 ( 0.0%) | 4184 ( 7.9%) | -| ········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_reduce_indices | 1653 ( 0.6%) | 1162 ( 0.4%) | 165 ( 0.1%) | 0 ( 0.0%) | 1856 ( 3.5%) | -| ··········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_reduce_indices_loop | 1606 ( 0.6%) | 1124 ( 0.4%) | 160 ( 0.1%) | 0 ( 0.0%) | 1824 ( 3.5%) | -| ········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_assert_codeword_membership | 2941 ( 1.0%) | 3410 ( 1.3%) | 885 ( 0.3%) | 0 ( 0.0%) | 614 ( 1.2%) | -| ··········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_assert_codeword_membership_loop | 2886 ( 1.0%) | 3364 ( 1.3%) | 880 ( 0.3%) | 0 ( 0.0%) | 582 ( 1.1%) | -| ············tasmlib_list_get_element___xfe | 1120 ( 0.4%) | 1040 ( 0.4%) | 240 ( 0.1%) | 0 ( 0.0%) | 582 ( 1.1%) | +| ··········tasmlib_verifier_fri_verify_compute_c_values_loop | 15044 ( 5.2%) | 16000 ( 5.9%) | 3200 ( 1.1%) | 0 ( 0.0%) | 4168 ( 4.9%) | +| ········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_reduce_indices | 1653 ( 0.6%) | 1162 ( 0.4%) | 165 ( 0.1%) | 0 ( 0.0%) | 1874 ( 2.2%) | +| ··········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_reduce_indices_loop | 1606 ( 0.6%) | 1124 ( 0.4%) | 160 ( 0.1%) | 0 ( 0.0%) | 1842 ( 2.1%) | +| ········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_assert_codeword_membership | 2941 ( 1.0%) | 3410 ( 1.3%) | 885 ( 0.3%) | 0 ( 0.0%) | 616 ( 0.7%) | +| ··········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_assert_codeword_membership_loop | 2886 ( 1.0%) | 3364 ( 1.2%) | 880 ( 0.3%) | 0 ( 0.0%) | 584 ( 0.7%) | +| ············tasmlib_list_get_element___xfe | 1120 ( 0.4%) | 1040 ( 0.4%) | 240 ( 0.1%) | 0 ( 0.0%) | 584 ( 0.7%) | | ····method_boxed_LVmProofIterR_next_as_masterbasetablerows | 30 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | | ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_masterbasetablerows | 28 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | | ····method_boxed_LVmProofIterR_next_as_authenticationstructure | 90 ( 0.0%) | 66 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | | ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_authenticationstructure | 84 ( 0.0%) | 66 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | -| ····tasmlib_verifier_master_ext_table_verify_Base_table_rows | 10430 ( 3.7%) | 5793 ( 2.2%) | 30086 ( 10.4%) | 25040 ( 16.2%) | 5 ( 0.0%) | -| ······tasmlib_verifier_master_ext_table_verify_Base_table_rows_loop_over_rows | 10406 ( 3.7%) | 5764 ( 2.2%) | 30080 ( 10.3%) | 25040 ( 16.2%) | 0 ( 0.0%) | -| ········tasmlib_hashing_algebraic_hasher_hash_static_size_375 | 5920 ( 2.1%) | 3920 ( 1.5%) | 30000 ( 10.3%) | 18800 ( 12.2%) | 0 ( 0.0%) | -| ··········tasmlib_hashing_absorb_multiple_static_size_375 | 4720 ( 1.7%) | 2720 ( 1.0%) | 30000 ( 10.3%) | 18240 ( 11.8%) | 0 ( 0.0%) | -| ········tasmlib_verifier_master_ext_table_verify_Base_table_rows_loop_over_auth_path_elements | 2160 ( 0.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 6240 ( 4.0%) | 0 ( 0.0%) | +| ····tasmlib_verifier_master_ext_table_verify_Base_table_rows | 10430 ( 3.6%) | 5793 ( 2.1%) | 30086 ( 10.4%) | 25040 ( 16.2%) | 5 ( 0.0%) | +| ······tasmlib_verifier_master_ext_table_verify_Base_table_rows_loop_over_rows | 10406 ( 3.6%) | 5764 ( 2.1%) | 30080 ( 10.3%) | 25040 ( 16.2%) | 0 ( 0.0%) | +| ········tasmlib_hashing_algebraic_hasher_hash_static_size_375 | 5920 ( 2.0%) | 3920 ( 1.4%) | 30000 ( 10.3%) | 18800 ( 12.2%) | 0 ( 0.0%) | +| ··········tasmlib_hashing_absorb_multiple_static_size_375 | 4720 ( 1.6%) | 2720 ( 1.0%) | 30000 ( 10.3%) | 18240 ( 11.8%) | 0 ( 0.0%) | +| ········tasmlib_verifier_master_ext_table_verify_Base_table_rows_loop_over_auth_path_elements | 2160 ( 0.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 6240 ( 4.0%) | 0 ( 0.0%) | | ····method_boxed_LVmProofIterR_next_as_masterexttablerows | 30 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | | ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_masterexttablerows | 28 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | -| ····tasmlib_verifier_master_ext_table_verify_Extension_table_rows | 9630 ( 3.4%) | 5793 ( 2.2%) | 21206 ( 7.3%) | 19760 ( 12.8%) | 0 ( 0.0%) | -| ······tasmlib_verifier_master_ext_table_verify_Extension_table_rows_loop_over_rows | 9606 ( 3.4%) | 5764 ( 2.2%) | 21200 ( 7.3%) | 19760 ( 12.8%) | 0 ( 0.0%) | -| ········tasmlib_hashing_algebraic_hasher_hash_static_size_264 | 5120 ( 1.8%) | 3920 ( 1.5%) | 21120 ( 7.3%) | 13520 ( 8.8%) | 0 ( 0.0%) | -| ··········tasmlib_hashing_absorb_multiple_static_size_264 | 3920 ( 1.4%) | 2720 ( 1.0%) | 21120 ( 7.3%) | 12960 ( 8.4%) | 0 ( 0.0%) | -| ········tasmlib_verifier_master_ext_table_verify_Extension_table_rows_loop_over_auth_path_elements | 2160 ( 0.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 6240 ( 4.0%) | 0 ( 0.0%) | +| ····tasmlib_verifier_master_ext_table_verify_Extension_table_rows | 9630 ( 3.3%) | 5793 ( 2.1%) | 21206 ( 7.3%) | 19760 ( 12.8%) | 0 ( 0.0%) | +| ······tasmlib_verifier_master_ext_table_verify_Extension_table_rows_loop_over_rows | 9606 ( 3.3%) | 5764 ( 2.1%) | 21200 ( 7.3%) | 19760 ( 12.8%) | 0 ( 0.0%) | +| ········tasmlib_hashing_algebraic_hasher_hash_static_size_264 | 5120 ( 1.8%) | 3920 ( 1.4%) | 21120 ( 7.3%) | 13520 ( 8.8%) | 0 ( 0.0%) | +| ··········tasmlib_hashing_absorb_multiple_static_size_264 | 3920 ( 1.3%) | 2720 ( 1.0%) | 21120 ( 7.3%) | 12960 ( 8.4%) | 0 ( 0.0%) | +| ········tasmlib_verifier_master_ext_table_verify_Extension_table_rows_loop_over_auth_path_elements | 2160 ( 0.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 6240 ( 4.0%) | 0 ( 0.0%) | | ····method_boxed_LVmProofIterR_next_as_quotientsegmentselements | 30 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | | ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_quotientsegmentselements | 28 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | -| ····tasmlib_verifier_master_ext_table_verify_Quotient_table_rows | 7790 ( 2.8%) | 5793 ( 2.2%) | 1046 ( 0.4%) | 7760 ( 5.0%) | 0 ( 0.0%) | -| ······tasmlib_verifier_master_ext_table_verify_Quotient_table_rows_loop_over_rows | 7766 ( 2.8%) | 5764 ( 2.2%) | 1040 ( 0.4%) | 7760 ( 5.0%) | 0 ( 0.0%) | -| ········tasmlib_hashing_algebraic_hasher_hash_static_size_12 | 3280 ( 1.2%) | 3920 ( 1.5%) | 960 ( 0.3%) | 1520 ( 1.0%) | 0 ( 0.0%) | +| ····tasmlib_verifier_master_ext_table_verify_Quotient_table_rows | 7790 ( 2.7%) | 5793 ( 2.1%) | 1046 ( 0.4%) | 7760 ( 5.0%) | 0 ( 0.0%) | +| ······tasmlib_verifier_master_ext_table_verify_Quotient_table_rows_loop_over_rows | 7766 ( 2.7%) | 5764 ( 2.1%) | 1040 ( 0.4%) | 7760 ( 5.0%) | 0 ( 0.0%) | +| ········tasmlib_hashing_algebraic_hasher_hash_static_size_12 | 3280 ( 1.1%) | 3920 ( 1.4%) | 960 ( 0.3%) | 1520 ( 1.0%) | 0 ( 0.0%) | | ··········tasmlib_hashing_absorb_multiple_static_size_12 | 2080 ( 0.7%) | 2720 ( 1.0%) | 960 ( 0.3%) | 960 ( 0.6%) | 0 ( 0.0%) | -| ········tasmlib_verifier_master_ext_table_verify_Quotient_table_rows_loop_over_auth_path_elements | 2160 ( 0.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 6240 ( 4.0%) | 0 ( 0.0%) | +| ········tasmlib_verifier_master_ext_table_verify_Quotient_table_rows_loop_over_auth_path_elements | 2160 ( 0.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 6240 ( 4.0%) | 0 ( 0.0%) | | ····method_Result___array463_of_LXFieldR_unwrap | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····_binop_Lt__LboolR_bool_314_while_loop | 60651 ( 21.6%) | 26888 ( 10.3%) | 169201 ( 58.2%) | 0 ( 0.0%) | 648 ( 1.2%) | -| ······tasmlib_array_inner_product_of_three_rows_with_weights_Bfe_baserowelem | 38160 ( 13.6%) | 480 ( 0.2%) | 162240 ( 55.8%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ······tasmlib_array_inner_product_of_4_xfes | 1040 ( 0.4%) | 400 ( 0.2%) | 1920 ( 0.7%) | 0 ( 0.0%) | 0 ( 0.0%) | -| Total | 280983 (100.0%) | 261518 (100.0%) | 290638 (100.0%) | 154279 (100.0%) | 52809 (100.0%) | +| ····_binop_Lt__LboolR_bool_314_while_loop | 63131 ( 21.7%) | 29288 ( 10.8%) | 169201 ( 58.2%) | 0 ( 0.0%) | 6312 ( 7.4%) | +| ······tasmlib_array_inner_product_of_three_rows_with_weights_Bfe_baserowelem | 38160 ( 13.1%) | 480 ( 0.2%) | 162240 ( 55.8%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ······tasmlib_array_inner_product_of_4_xfes | 1040 ( 0.4%) | 400 ( 0.1%) | 1920 ( 0.7%) | 0 ( 0.0%) | 0 ( 0.0%) | +| Total | 290880 (100.0%) | 271320 (100.0%) | 290638 (100.0%) | 154327 (100.0%) | 85825 (100.0%) | diff --git a/profiles/verify_stark_proof_inner_padded_height_256_0_input_words.profile b/profiles/verify_stark_proof_inner_padded_height_256_0_input_words.profile index 97b8a3df..11570f87 100644 --- a/profiles/verify_stark_proof_inner_padded_height_256_0_input_words.profile +++ b/profiles/verify_stark_proof_inner_padded_height_256_0_input_words.profile @@ -1,49 +1,49 @@ verify_stark_proof_inner_padded_height_256_0_input_words: | Subroutine | Processor | Op Stack | RAM | Hash | U32 | |:------------------------------------------------------------------------------------------------------------------------|---------------------:|---------------------:|---------------------:|---------------------:|---------------------:| -| verify_stark_proof | 263320 (100.0%) | 249262 (100.0%) | 288282 (100.0%) | 71935 ( 52.0%) | 34898 (100.0%) | +| verify_stark_proof | 273213 (100.0%) | 259064 (100.0%) | 288282 (100.0%) | 71935 ( 52.0%) | 67872 (100.0%) | | ··tasmlib_io_read_stdin___digest | 3 ( 0.0%) | 5 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··tasmlib_io_read_stdin___u32 | 6 ( 0.0%) | 2 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··tasmlib_list_new___bfe | 60 ( 0.0%) | 48 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 64 ( 0.2%) | -| ····tasmlib_memory_dyn_malloc | 67 ( 0.0%) | 59 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.3%) | +| ··tasmlib_list_new___bfe | 60 ( 0.0%) | 48 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 64 ( 0.1%) | +| ····tasmlib_memory_dyn_malloc | 67 ( 0.0%) | 59 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.1%) | | ······tasmlib_memory_dyn_malloc_initialize | 4 ( 0.0%) | 2 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··_binop_Lt__LboolR_bool_7_while_loop | 9 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 1 ( 0.0%) | | ··_binop_Lt__LboolR_bool_19_while_loop | 9 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··box_new_Claim | 186 ( 0.1%) | 162 ( 0.1%) | 21 ( 0.0%) | 0 ( 0.0%) | 36 ( 0.1%) | | ····store_Claim_to_memory | 156 ( 0.1%) | 136 ( 0.1%) | 17 ( 0.0%) | 0 ( 0.0%) | 4 ( 0.0%) | -| ······tasmlib_memory_memcpy | 201 ( 0.1%) | 186 ( 0.1%) | 46 ( 0.0%) | 0 ( 0.0%) | 26 ( 0.1%) | -| ········tasmlib_memory_memcpy_loop_cpy5_words | 69 ( 0.0%) | 70 ( 0.0%) | 30 ( 0.0%) | 0 ( 0.0%) | 26 ( 0.1%) | +| ······tasmlib_memory_memcpy | 201 ( 0.1%) | 186 ( 0.1%) | 46 ( 0.0%) | 0 ( 0.0%) | 26 ( 0.0%) | +| ········tasmlib_memory_memcpy_loop_cpy5_words | 69 ( 0.0%) | 70 ( 0.0%) | 30 ( 0.0%) | 0 ( 0.0%) | 26 ( 0.0%) | | ········tasmlib_memory_memcpy_cpy1_word | 20 ( 0.0%) | 12 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··verify | 263031 ( 99.9%) | 249011 ( 99.9%) | 288255 (100.0%) | 71935 ( 52.0%) | 34797 ( 99.7%) | +| ··verify | 272924 ( 99.9%) | 258813 ( 99.9%) | 288255 (100.0%) | 71935 ( 52.0%) | 67771 ( 99.9%) | | ····default | 6 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····box_new_StarkParameters | 32 ( 0.0%) | 31 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.1%) | -| ······tasmlib_memory_dyn_malloc | 105 ( 0.0%) | 95 ( 0.0%) | 10 ( 0.0%) | 0 ( 0.0%) | 160 ( 0.5%) | +| ····box_new_StarkParameters | 32 ( 0.0%) | 31 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.0%) | +| ······tasmlib_memory_dyn_malloc | 105 ( 0.0%) | 95 ( 0.0%) | 10 ( 0.0%) | 0 ( 0.0%) | 160 ( 0.2%) | | ····tasmlib_hashing_sponge_hasher_init | 3 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | | ····tasmlib_verifier_claim_instantiate_fiat_shamir_with_claim | 149 ( 0.1%) | 109 ( 0.0%) | 11 ( 0.0%) | 6 ( 0.0%) | 10 ( 0.0%) | -| ······tasmlib_hashing_absorb_multiple | 136 ( 0.1%) | 98 ( 0.0%) | 9 ( 0.0%) | 6 ( 0.0%) | 10 ( 0.0%) | +| ······tasmlib_hashing_absorb_multiple | 136 ( 0.0%) | 98 ( 0.0%) | 9 ( 0.0%) | 6 ( 0.0%) | 10 ( 0.0%) | | ········tasmlib_hashing_absorb_multiple_hash_all_full_chunks | 6 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ········tasmlib_hashing_absorb_multiple_pad_varnum_zeros | 6 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ········tasmlib_hashing_absorb_multiple_read_remainder | 87 ( 0.0%) | 49 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····new | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····box_new_VmProofIter | 34 ( 0.0%) | 28 ( 0.0%) | 5 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.1%) | +| ····box_new_VmProofIter | 34 ( 0.0%) | 28 ( 0.0%) | 5 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.0%) | | ······store_VmProofIter_to_memory | 4 ( 0.0%) | 2 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····method_boxed_LVmProofIterR_next_as_log2paddedheight | 24 ( 0.0%) | 16 ( 0.0%) | 3 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_log2paddedheight | 22 ( 0.0%) | 16 ( 0.0%) | 3 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····tasmlib_arithmetic_u32_shiftleft | 12 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 22 ( 0.1%) | -| ····method_boxed_LStarkParametersR_derive_fri | 259 ( 0.1%) | 237 ( 0.1%) | 4 ( 0.0%) | 0 ( 0.0%) | 157 ( 0.4%) | +| ····tasmlib_arithmetic_u32_shiftleft | 12 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 22 ( 0.0%) | +| ····method_boxed_LStarkParametersR_derive_fri | 256 ( 0.1%) | 231 ( 0.1%) | 4 ( 0.0%) | 0 ( 0.0%) | 157 ( 0.2%) | | ······tasmlib_arithmetic_u32_safeadd | 729 ( 0.3%) | 567 ( 0.2%) | 0 ( 0.0%) | 0 ( 0.0%) | 10 ( 0.0%) | -| ······tasmlib_arithmetic_u32_next_power_of_two | 23 ( 0.0%) | 18 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 25 ( 0.1%) | +| ······tasmlib_arithmetic_u32_next_power_of_two | 23 ( 0.0%) | 18 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 25 ( 0.0%) | | ········tasmlib_arithmetic_u32_next_power_of_two_greater_than_one | 15 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 15 ( 0.0%) | | ······tasmlib_arithmetic_u32_safemul | 9 ( 0.0%) | 7 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 13 ( 0.0%) | | ······tasmlib_arithmetic_u32_shiftleft | 12 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 46 ( 0.1%) | -| ······tasmlib_arithmetic_bfe_primitive_root_of_unity | 322 ( 0.1%) | 318 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 63 ( 0.2%) | -| ····box_new_FriVerify | 38 ( 0.0%) | 32 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.1%) | +| ······tasmlib_arithmetic_bfe_primitive_root_of_unity | 322 ( 0.1%) | 318 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 63 ( 0.1%) | +| ····box_new_FriVerify | 38 ( 0.0%) | 32 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.0%) | | ······store_FriVerify_to_memory | 8 ( 0.0%) | 6 ( 0.0%) | 5 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····method_boxed_LVmProofIterR_next_as_merkleroot | 519 ( 0.2%) | 372 ( 0.1%) | 30 ( 0.0%) | 18 ( 0.0%) | 9 ( 0.0%) | | ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_merkleroot | 513 ( 0.2%) | 372 ( 0.1%) | 30 ( 0.0%) | 18 ( 0.0%) | 9 ( 0.0%) | -| ········tasmlib_hashing_sponge_hasher_pad_and_absorb_all | 2856 ( 1.1%) | 1974 ( 0.8%) | 2821 ( 1.0%) | 1710 ( 1.2%) | 41 ( 0.1%) | -| ··········tasmlib_hashing_absorb_multiple | 2808 ( 1.1%) | 1950 ( 0.8%) | 2813 ( 1.0%) | 1710 ( 1.2%) | 41 ( 0.1%) | -| ············tasmlib_hashing_absorb_multiple_hash_all_full_chunks | 1710 ( 0.6%) | 1140 ( 0.5%) | 2770 ( 1.0%) | 1662 ( 1.2%) | 0 ( 0.0%) | +| ········tasmlib_hashing_sponge_hasher_pad_and_absorb_all | 2856 ( 1.0%) | 1974 ( 0.8%) | 2821 ( 1.0%) | 1710 ( 1.2%) | 41 ( 0.1%) | +| ··········tasmlib_hashing_absorb_multiple | 2808 ( 1.0%) | 1950 ( 0.8%) | 2813 ( 1.0%) | 1710 ( 1.2%) | 41 ( 0.1%) | +| ············tasmlib_hashing_absorb_multiple_hash_all_full_chunks | 1710 ( 0.6%) | 1140 ( 0.4%) | 2770 ( 1.0%) | 1662 ( 1.2%) | 0 ( 0.0%) | | ············tasmlib_hashing_absorb_multiple_pad_varnum_zeros | 367 ( 0.1%) | 235 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ············tasmlib_hashing_absorb_multiple_read_remainder | 435 ( 0.2%) | 247 ( 0.1%) | 43 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····tasmlib_verifier_challenges_new_generic_dyn_claim_59_4 | 1795 ( 0.7%) | 2588 ( 1.0%) | 213 ( 0.1%) | 108 ( 0.1%) | 0 ( 0.0%) | @@ -54,25 +54,25 @@ verify_stark_proof_inner_padded_height_256_0_input_words: | ······tasmlib_verifier_eval_arg_compute_terminal_from_digest | 38 ( 0.0%) | 45 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ······tasmlib_verifier_eval_arg_compute_terminal_const_sized_static_symbols_symbol_count_256_16790708486107472414 | 1538 ( 0.6%) | 2048 ( 0.8%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····num_quotients | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····tasmlib_hashing_algebraic_hasher_sample_scalars | 4337 ( 1.6%) | 9092 ( 3.6%) | 3212 ( 1.1%) | 1920 ( 1.4%) | 135 ( 0.4%) | -| ······tasmlib_list_new___xfe | 84 ( 0.0%) | 69 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.3%) | -| ········tasmlib_memory_dyn_malloc | 63 ( 0.0%) | 57 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.3%) | +| ····tasmlib_hashing_algebraic_hasher_sample_scalars | 4337 ( 1.6%) | 9092 ( 3.5%) | 3212 ( 1.1%) | 1920 ( 1.4%) | 135 ( 0.2%) | +| ······tasmlib_list_new___xfe | 84 ( 0.0%) | 69 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.1%) | +| ········tasmlib_memory_dyn_malloc | 63 ( 0.0%) | 57 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.1%) | | ······tasmlib_list_set_length___xfe | 18 ( 0.0%) | 9 ( 0.0%) | 3 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ······tasmlib_hashing_squeeze_repeatedly | 4178 ( 1.6%) | 8972 ( 3.6%) | 3200 ( 1.1%) | 1920 ( 1.4%) | 0 ( 0.0%) | +| ······tasmlib_hashing_squeeze_repeatedly | 4178 ( 1.5%) | 8972 ( 3.5%) | 3200 ( 1.1%) | 1920 ( 1.4%) | 0 ( 0.0%) | | ····method_Result___array592_of_LXFieldR_unwrap | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····generator_for_length | 251 ( 0.1%) | 221 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 54 ( 0.2%) | -| ······is_power_of_two | 66 ( 0.0%) | 43 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 21 ( 0.1%) | +| ····generator_for_length | 251 ( 0.1%) | 221 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 54 ( 0.1%) | +| ······is_power_of_two | 66 ( 0.0%) | 43 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 21 ( 0.0%) | | ········tasmlib_arithmetic_u64_sub | 24 ( 0.0%) | 16 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 10 ( 0.0%) | | ········tasmlib_arithmetic_u64_and | 6 ( 0.0%) | 2 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 11 ( 0.0%) | | ····tasmlib_arithmetic_xfe_to_the_fourth | 10 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····method_boxed_LVmProofIterR_next_as_outofdomainbaserow | 1690 ( 0.6%) | 1144 ( 0.5%) | 2260 ( 0.8%) | 1356 ( 1.0%) | 12 ( 0.0%) | -| ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_outofdomainbaserow | 1686 ( 0.6%) | 1144 ( 0.5%) | 2260 ( 0.8%) | 1356 ( 1.0%) | 12 ( 0.0%) | -| ····method_boxed_LVmProofIterR_next_as_outofdomainextrow | 662 ( 0.3%) | 460 ( 0.2%) | 538 ( 0.2%) | 324 ( 0.2%) | 10 ( 0.0%) | +| ····method_boxed_LVmProofIterR_next_as_outofdomainbaserow | 1690 ( 0.6%) | 1144 ( 0.4%) | 2260 ( 0.8%) | 1356 ( 1.0%) | 12 ( 0.0%) | +| ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_outofdomainbaserow | 1686 ( 0.6%) | 1144 ( 0.4%) | 2260 ( 0.8%) | 1356 ( 1.0%) | 12 ( 0.0%) | +| ····method_boxed_LVmProofIterR_next_as_outofdomainextrow | 662 ( 0.2%) | 460 ( 0.2%) | 538 ( 0.2%) | 324 ( 0.2%) | 10 ( 0.0%) | | ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_outofdomainextrow | 658 ( 0.2%) | 460 ( 0.2%) | 538 ( 0.2%) | 324 ( 0.2%) | 10 ( 0.0%) | | ····method_boxed_LVmProofIterR_next_as_outofdomainquotientsegments | 185 ( 0.1%) | 134 ( 0.1%) | 17 ( 0.0%) | 12 ( 0.0%) | 10 ( 0.0%) | | ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_outofdomainquotientsegments | 183 ( 0.1%) | 134 ( 0.1%) | 17 ( 0.0%) | 12 ( 0.0%) | 10 ( 0.0%) | -| ····tasmlib_verifier_master_ext_table_air_constraint_evaluation | 46807 ( 17.8%) | 73265 ( 29.4%) | 27034 ( 9.4%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····tasmlib_verifier_master_ext_table_divide_out_zerofiers | 7268 ( 2.8%) | 8439 ( 3.4%) | 5343 ( 1.9%) | 0 ( 0.0%) | 10 ( 0.0%) | +| ····tasmlib_verifier_master_ext_table_air_constraint_evaluation | 46807 ( 17.1%) | 73265 ( 28.3%) | 27034 ( 9.4%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ····tasmlib_verifier_master_ext_table_divide_out_zerofiers | 7268 ( 2.7%) | 8439 ( 3.3%) | 5343 ( 1.9%) | 0 ( 0.0%) | 10 ( 0.0%) | | ······tasmlib_verifier_master_ext_table_zerofiers_inverse | 156 ( 0.1%) | 145 ( 0.1%) | 15 ( 0.0%) | 0 ( 0.0%) | 10 ( 0.0%) | | ········tasmlib_arithmetic_xfe_to_the_power_of_power_of_2 | 116 ( 0.0%) | 101 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··········tasmlib_arithmetic_xfe_to_the_power_of_power_of_2_loop | 110 ( 0.0%) | 100 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | @@ -80,23 +80,23 @@ verify_stark_proof_inner_padded_height_256_0_input_words: | ····tasmlib_array_horner_evaluation_with_4_coefficients | 52 ( 0.0%) | 65 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····num_base_ext_quotient_deep_weights | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····num_columns_plus_quotient_segments | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····tasmlib_list_split_off_xfe | 231 ( 0.1%) | 220 ( 0.1%) | 52 ( 0.0%) | 0 ( 0.0%) | 106 ( 0.3%) | +| ····tasmlib_list_split_off_xfe | 231 ( 0.1%) | 220 ( 0.1%) | 52 ( 0.0%) | 0 ( 0.0%) | 106 ( 0.2%) | | ········tasmlib_memory_memcpy_cpy4_words | 10 ( 0.0%) | 12 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····method_Result___array3_of_LXFieldR_unwrap | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····num_columns | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ········tasmlib_memory_memcpy_cpy2_words | 10 ( 0.0%) | 8 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ····method_Result___array4_of_LXFieldR_unwrap | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····linearly_sum_xfe_base_and_ext_row | 54044 ( 20.5%) | 53668 ( 21.5%) | 5556 ( 1.9%) | 0 ( 0.0%) | 8561 ( 24.5%) | -| ······_binop_Lt__LboolR_bool_193_while_loop | 42022 ( 16.0%) | 42016 ( 16.9%) | 4500 ( 1.6%) | 0 ( 0.0%) | 6979 ( 20.0%) | -| ········tasmlib_arithmetic_u32_safeadd | 9918 ( 3.8%) | 7714 ( 3.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 4089 ( 11.7%) | -| ······_binop_Lt__LboolR_bool_212_while_loop | 11990 ( 4.6%) | 11632 ( 4.7%) | 1056 ( 0.4%) | 0 ( 0.0%) | 1582 ( 4.5%) | +| ····linearly_sum_xfe_base_and_ext_row | 61452 ( 22.5%) | 61076 ( 23.6%) | 5556 ( 1.9%) | 0 ( 0.0%) | 35345 ( 52.1%) | +| ······_binop_Lt__LboolR_bool_193_while_loop | 48022 ( 17.6%) | 48016 ( 18.5%) | 4500 ( 1.6%) | 0 ( 0.0%) | 30947 ( 45.6%) | +| ········tasmlib_arithmetic_u32_safeadd | 9918 ( 3.6%) | 7714 ( 3.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 4089 ( 6.0%) | +| ······_binop_Lt__LboolR_bool_212_while_loop | 13398 ( 4.9%) | 13040 ( 5.0%) | 1056 ( 0.4%) | 0 ( 0.0%) | 4398 ( 6.5%) | | ····tasmlib_array_inner_product_of_4_xfes | 13 ( 0.0%) | 5 ( 0.0%) | 24 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····method_boxed_LFriVerifyR_verify | 55902 ( 21.2%) | 54033 ( 21.7%) | 18710 ( 6.5%) | 18510 ( 13.4%) | 24843 ( 71.2%) | -| ······tasmlib_verifier_fri_verify | 55895 ( 21.2%) | 54029 ( 21.7%) | 18710 ( 6.5%) | 18510 ( 13.4%) | 24843 ( 71.2%) | +| ····method_boxed_LFriVerifyR_verify | 55908 ( 20.5%) | 54033 ( 20.9%) | 18710 ( 6.5%) | 18510 ( 13.4%) | 25337 ( 37.3%) | +| ······tasmlib_verifier_fri_verify | 55901 ( 20.5%) | 54029 ( 20.9%) | 18710 ( 6.5%) | 18510 ( 13.4%) | 25337 ( 37.3%) | | ········tasmlib_verifier_fri_number_of_rounds | 54 ( 0.0%) | 46 ( 0.0%) | 3 ( 0.0%) | 0 ( 0.0%) | 41 ( 0.1%) | -| ········tasmlib_list_new___xfe | 56 ( 0.0%) | 46 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 64 ( 0.2%) | -| ··········tasmlib_memory_dyn_malloc | 105 ( 0.0%) | 95 ( 0.0%) | 10 ( 0.0%) | 0 ( 0.0%) | 160 ( 0.5%) | -| ········tasmlib_list_new___digest | 28 ( 0.0%) | 23 ( 0.0%) | 3 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.1%) | +| ········tasmlib_list_new___xfe | 56 ( 0.0%) | 46 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 64 ( 0.1%) | +| ··········tasmlib_memory_dyn_malloc | 105 ( 0.0%) | 95 ( 0.0%) | 10 ( 0.0%) | 0 ( 0.0%) | 160 ( 0.2%) | +| ········tasmlib_list_new___digest | 28 ( 0.0%) | 23 ( 0.0%) | 3 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.0%) | | ········tasmlib_verifier_vm_proof_iter_dequeue_next_as_merkleroot | 171 ( 0.1%) | 124 ( 0.0%) | 10 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | | ··········tasmlib_hashing_sponge_hasher_pad_and_absorb_all | 148 ( 0.1%) | 107 ( 0.0%) | 7 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | | ············tasmlib_hashing_absorb_multiple | 142 ( 0.1%) | 104 ( 0.0%) | 6 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | @@ -104,9 +104,9 @@ verify_stark_proof_inner_padded_height_256_0_input_words: | ··············tasmlib_hashing_absorb_multiple_pad_varnum_zeros | 39 ( 0.0%) | 25 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··············tasmlib_hashing_absorb_multiple_read_remainder | 60 ( 0.0%) | 34 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ········tasmlib_list_push___digest | 21 ( 0.0%) | 20 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_verifier_fri_verify_dequeue_commit_phase_remainder | 546 ( 0.2%) | 460 ( 0.2%) | 88 ( 0.0%) | 24 ( 0.0%) | 64 ( 0.2%) | -| ··········tasmlib_hashing_algebraic_hasher_sample_scalars_static_length_dyn_malloc_1 | 66 ( 0.0%) | 86 ( 0.0%) | 24 ( 0.0%) | 12 ( 0.0%) | 64 ( 0.2%) | -| ············tasmlib_memory_dyn_malloc | 168 ( 0.1%) | 152 ( 0.1%) | 16 ( 0.0%) | 0 ( 0.0%) | 256 ( 0.7%) | +| ········tasmlib_verifier_fri_verify_dequeue_commit_phase_remainder | 546 ( 0.2%) | 460 ( 0.2%) | 88 ( 0.0%) | 24 ( 0.0%) | 64 ( 0.1%) | +| ··········tasmlib_hashing_algebraic_hasher_sample_scalars_static_length_dyn_malloc_1 | 66 ( 0.0%) | 86 ( 0.0%) | 24 ( 0.0%) | 12 ( 0.0%) | 64 ( 0.1%) | +| ············tasmlib_memory_dyn_malloc | 168 ( 0.1%) | 152 ( 0.1%) | 16 ( 0.0%) | 0 ( 0.0%) | 256 ( 0.4%) | | ············tasmlib_hashing_squeeze_repeatedly_static_number_1 | 18 ( 0.0%) | 46 ( 0.0%) | 20 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | | ··········tasmlib_list_push___xfe | 42 ( 0.0%) | 36 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··········tasmlib_verifier_vm_proof_iter_dequeue_next_as_merkleroot | 342 ( 0.1%) | 248 ( 0.1%) | 20 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | @@ -116,80 +116,80 @@ verify_stark_proof_inner_padded_height_256_0_input_words: | ················tasmlib_hashing_absorb_multiple_pad_varnum_zeros | 78 ( 0.0%) | 50 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ················tasmlib_hashing_absorb_multiple_read_remainder | 120 ( 0.0%) | 68 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | | ··········tasmlib_list_push___digest | 42 ( 0.0%) | 40 ( 0.0%) | 16 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_verifier_vm_proof_iter_dequeue_next_as_fricodeword | 28 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.1%) | +| ········tasmlib_verifier_vm_proof_iter_dequeue_next_as_fricodeword | 28 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | | ········tasmlib_list_length___digest | 8 ( 0.0%) | 4 ( 0.0%) | 2 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_hashing_merkle_root_from_xfes_generic | 8280 ( 3.1%) | 13598 ( 5.5%) | 6653 ( 2.3%) | 3066 ( 2.2%) | 153 ( 0.4%) | -| ··········tasmlib_hashing_merkle_root_from_xfes_generic_build_parent_layer | 4609 ( 1.8%) | 6656 ( 2.7%) | 2816 ( 1.0%) | 1536 ( 1.1%) | 0 ( 0.0%) | -| ··········tasmlib_hashing_merkle_root | 3602 ( 1.4%) | 6882 ( 2.8%) | 3833 ( 1.3%) | 1530 ( 1.1%) | 96 ( 0.3%) | -| ············tasmlib_hashing_merkle_root_next_layer_loop | 3561 ( 1.4%) | 6842 ( 2.7%) | 3825 ( 1.3%) | 1530 ( 1.1%) | 64 ( 0.2%) | -| ··············tasmlib_hashing_merkle_root_calculate_parent_digests | 3323 ( 1.3%) | 6630 ( 2.7%) | 3825 ( 1.3%) | 1530 ( 1.1%) | 0 ( 0.0%) | +| ········tasmlib_hashing_merkle_root_from_xfes_generic | 8280 ( 3.0%) | 13598 ( 5.2%) | 6653 ( 2.3%) | 3066 ( 2.2%) | 153 ( 0.2%) | +| ··········tasmlib_hashing_merkle_root_from_xfes_generic_build_parent_layer | 4609 ( 1.7%) | 6656 ( 2.6%) | 2816 ( 1.0%) | 1536 ( 1.1%) | 0 ( 0.0%) | +| ··········tasmlib_hashing_merkle_root | 3602 ( 1.3%) | 6882 ( 2.7%) | 3833 ( 1.3%) | 1530 ( 1.1%) | 96 ( 0.1%) | +| ············tasmlib_hashing_merkle_root_next_layer_loop | 3561 ( 1.3%) | 6842 ( 2.6%) | 3825 ( 1.3%) | 1530 ( 1.1%) | 64 ( 0.1%) | +| ··············tasmlib_hashing_merkle_root_calculate_parent_digests | 3323 ( 1.2%) | 6630 ( 2.6%) | 3825 ( 1.3%) | 1530 ( 1.1%) | 0 ( 0.0%) | | ········tasmlib_list_get_element___digest | 28 ( 0.0%) | 30 ( 0.0%) | 10 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_verifier_vm_proof_iter_dequeue_next_as_fripolynomial | 56 ( 0.0%) | 50 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.1%) | -| ········tasmlib_hashing_algebraic_hasher_sample_indices | 4638 ( 1.8%) | 3329 ( 1.3%) | 412 ( 0.1%) | 48 ( 0.0%) | 5191 ( 14.9%) | -| ··········tasmlib_list_new___u32 | 56 ( 0.0%) | 46 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 64 ( 0.2%) | -| ··········tasmlib_hashing_algebraic_hasher_sample_indices_main_loop | 4602 ( 1.7%) | 3302 ( 1.3%) | 409 ( 0.1%) | 48 ( 0.0%) | 5159 ( 14.8%) | +| ········tasmlib_verifier_vm_proof_iter_dequeue_next_as_fripolynomial | 56 ( 0.0%) | 50 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | +| ········tasmlib_hashing_algebraic_hasher_sample_indices | 4638 ( 1.7%) | 3329 ( 1.3%) | 412 ( 0.1%) | 48 ( 0.0%) | 5225 ( 7.7%) | +| ··········tasmlib_list_new___u32 | 56 ( 0.0%) | 46 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 64 ( 0.1%) | +| ··········tasmlib_hashing_algebraic_hasher_sample_indices_main_loop | 4602 ( 1.7%) | 3302 ( 1.3%) | 409 ( 0.1%) | 48 ( 0.0%) | 5193 ( 7.7%) | | ············tasmlib_list_length___u32 | 356 ( 0.1%) | 178 ( 0.1%) | 89 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ············tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save | 2800 ( 1.1%) | 1680 ( 0.7%) | 320 ( 0.1%) | 0 ( 0.0%) | 5159 ( 14.8%) | +| ············tasmlib_hashing_algebraic_hasher_sample_indices_then_reduce_and_save | 2800 ( 1.0%) | 1680 ( 0.6%) | 320 ( 0.1%) | 0 ( 0.0%) | 5193 ( 7.7%) | | ··············tasmlib_list_push___u32 | 1520 ( 0.6%) | 1120 ( 0.4%) | 320 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | | ········tasmlib_list_length___xfe | 8 ( 0.0%) | 4 ( 0.0%) | 2 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_hashing_algebraic_hasher_sample_scalars_static_length_dyn_malloc_1 | 33 ( 0.0%) | 43 ( 0.0%) | 12 ( 0.0%) | 6 ( 0.0%) | 32 ( 0.1%) | +| ········tasmlib_hashing_algebraic_hasher_sample_scalars_static_length_dyn_malloc_1 | 33 ( 0.0%) | 43 ( 0.0%) | 12 ( 0.0%) | 6 ( 0.0%) | 32 ( 0.0%) | | ··········tasmlib_hashing_squeeze_repeatedly_static_number_1 | 9 ( 0.0%) | 23 ( 0.0%) | 10 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | | ········tasmlib_list_get_element___xfe | 28 ( 0.0%) | 26 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_list_horner_evaluation_dynamic_length | 1385 ( 0.5%) | 1995 ( 0.8%) | 385 ( 0.1%) | 0 ( 0.0%) | 33 ( 0.1%) | +| ········tasmlib_list_horner_evaluation_dynamic_length | 1385 ( 0.5%) | 1995 ( 0.8%) | 385 ( 0.1%) | 0 ( 0.0%) | 33 ( 0.0%) | | ··········tasmlib_list_length___xfe | 4 ( 0.0%) | 2 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··········tasmlib_list_horner_evaluation_dynamic_length_loop_batches | 1097 ( 0.4%) | 1648 ( 0.7%) | 336 ( 0.1%) | 0 ( 0.0%) | 33 ( 0.1%) | +| ··········tasmlib_list_horner_evaluation_dynamic_length_loop_batches | 1097 ( 0.4%) | 1648 ( 0.6%) | 336 ( 0.1%) | 0 ( 0.0%) | 33 ( 0.0%) | | ··········tasmlib_list_horner_evaluation_dynamic_length_loop_remainder | 264 ( 0.1%) | 326 ( 0.1%) | 48 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_verifier_fri_barycentric_evaluation | 13534 ( 5.1%) | 12495 ( 5.0%) | 6145 ( 2.1%) | 0 ( 0.0%) | 49 ( 0.1%) | -| ··········tasmlib_arithmetic_bfe_primitive_root_of_unity | 161 ( 0.1%) | 159 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.1%) | -| ··········tasmlib_verifier_fri_barycentric_evaluation_partial_terms_loop | 7681 ( 2.9%) | 7168 ( 2.9%) | 1536 ( 0.5%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··········tasmlib_verifier_fri_barycentric_evaluation_numerator_from_partial_sums | 2561 ( 1.0%) | 1024 ( 0.4%) | 3072 ( 1.1%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··········tasmlib_verifier_fri_barycentric_evaluation_denominator_from_partial_sums | 3073 ( 1.2%) | 4096 ( 1.6%) | 1536 ( 0.5%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_verifier_vm_proof_iter_dequeue_next_as_friresponse | 28 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.1%) | +| ········tasmlib_verifier_fri_barycentric_evaluation | 13534 ( 5.0%) | 12495 ( 4.8%) | 6145 ( 2.1%) | 0 ( 0.0%) | 49 ( 0.1%) | +| ··········tasmlib_arithmetic_bfe_primitive_root_of_unity | 161 ( 0.1%) | 159 ( 0.1%) | 0 ( 0.0%) | 0 ( 0.0%) | 32 ( 0.0%) | +| ··········tasmlib_verifier_fri_barycentric_evaluation_partial_terms_loop | 7681 ( 2.8%) | 7168 ( 2.8%) | 1536 ( 0.5%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ··········tasmlib_verifier_fri_barycentric_evaluation_numerator_from_partial_sums | 2561 ( 0.9%) | 1024 ( 0.4%) | 3072 ( 1.1%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ··········tasmlib_verifier_fri_barycentric_evaluation_denominator_from_partial_sums | 3073 ( 1.1%) | 4096 ( 1.6%) | 1536 ( 0.5%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ········tasmlib_verifier_vm_proof_iter_dequeue_next_as_friresponse | 28 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | | ········tasmlib_list_length___u32 | 4 ( 0.0%) | 2 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_verifier_fri_verify_fri_authentication_paths | 3765 ( 1.4%) | 1770 ( 0.7%) | 320 ( 0.1%) | 5280 ( 3.8%) | 6802 ( 19.5%) | -| ··········tasmlib_verifier_fri_verify_fri_authentication_paths_main_loop | 3761 ( 1.4%) | 1760 ( 0.7%) | 320 ( 0.1%) | 5280 ( 3.8%) | 6802 ( 19.5%) | -| ············tasmlib_verifier_fri_verify_fri_authentication_paths_loop_over_auth_path_elements | 1840 ( 0.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 5280 ( 3.8%) | 4802 ( 13.8%) | -| ········tasmlib_list_higher_order_u32_zip_u32_with_xfe | 3174 ( 1.2%) | 3310 ( 1.3%) | 1292 ( 0.4%) | 0 ( 0.0%) | 64 ( 0.2%) | -| ··········tasmlib_list_new___tuple_Lu32___xfeR | 84 ( 0.0%) | 69 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.3%) | -| ··········tasmlib_list_higher_order_u32_zip_u32_with_xfe_loop | 3052 ( 1.2%) | 3208 ( 1.3%) | 1280 ( 0.4%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ········tasmlib_verifier_fri_verify_query_phase_main_loop | 15182 ( 5.8%) | 11780 ( 4.7%) | 2268 ( 0.8%) | 10080 ( 7.3%) | 9918 ( 28.4%) | -| ··········tasmlib_verifier_vm_proof_iter_dequeue_next_as_friresponse | 56 ( 0.0%) | 44 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.1%) | +| ········tasmlib_verifier_fri_verify_fri_authentication_paths | 3765 ( 1.4%) | 1770 ( 0.7%) | 320 ( 0.1%) | 5280 ( 3.8%) | 6902 ( 10.2%) | +| ··········tasmlib_verifier_fri_verify_fri_authentication_paths_main_loop | 3761 ( 1.4%) | 1760 ( 0.7%) | 320 ( 0.1%) | 5280 ( 3.8%) | 6902 ( 10.2%) | +| ············tasmlib_verifier_fri_verify_fri_authentication_paths_loop_over_auth_path_elements | 1840 ( 0.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 5280 ( 3.8%) | 4902 ( 7.2%) | +| ········tasmlib_list_higher_order_u32_zip_u32_with_xfe | 3174 ( 1.2%) | 3310 ( 1.3%) | 1292 ( 0.4%) | 0 ( 0.0%) | 64 ( 0.1%) | +| ··········tasmlib_list_new___tuple_Lu32___xfeR | 84 ( 0.0%) | 69 ( 0.0%) | 9 ( 0.0%) | 0 ( 0.0%) | 96 ( 0.1%) | +| ··········tasmlib_list_higher_order_u32_zip_u32_with_xfe_loop | 3052 ( 1.1%) | 3208 ( 1.2%) | 1280 ( 0.4%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ········tasmlib_verifier_fri_verify_query_phase_main_loop | 15186 ( 5.6%) | 11780 ( 4.5%) | 2268 ( 0.8%) | 10080 ( 7.3%) | 10236 ( 15.1%) | +| ··········tasmlib_verifier_vm_proof_iter_dequeue_next_as_friresponse | 56 ( 0.0%) | 44 ( 0.0%) | 8 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | | ··········tasmlib_list_get_element___digest | 28 ( 0.0%) | 30 ( 0.0%) | 10 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··········tasmlib_verifier_fri_verify_fri_authentication_paths | 7370 ( 2.8%) | 3540 ( 1.4%) | 640 ( 0.2%) | 10080 ( 7.3%) | 8128 ( 23.3%) | -| ············tasmlib_verifier_fri_verify_fri_authentication_paths_main_loop | 7362 ( 2.8%) | 3520 ( 1.4%) | 640 ( 0.2%) | 10080 ( 7.3%) | 8128 ( 23.3%) | -| ··············tasmlib_verifier_fri_verify_fri_authentication_paths_loop_over_auth_path_elements | 3520 ( 1.3%) | 0 ( 0.0%) | 0 ( 0.0%) | 10080 ( 7.3%) | 5229 ( 15.0%) | +| ··········tasmlib_verifier_fri_verify_fri_authentication_paths | 7370 ( 2.7%) | 3540 ( 1.4%) | 640 ( 0.2%) | 10080 ( 7.3%) | 8426 ( 12.4%) | +| ············tasmlib_verifier_fri_verify_fri_authentication_paths_main_loop | 7362 ( 2.7%) | 3520 ( 1.4%) | 640 ( 0.2%) | 10080 ( 7.3%) | 8426 ( 12.4%) | +| ··············tasmlib_verifier_fri_verify_fri_authentication_paths_loop_over_auth_path_elements | 3520 ( 1.3%) | 0 ( 0.0%) | 0 ( 0.0%) | 10080 ( 7.3%) | 5513 ( 8.1%) | | ··········tasmlib_list_get_element___xfe | 28 ( 0.0%) | 26 ( 0.0%) | 6 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ··········tasmlib_verifier_fri_verify_compute_c_values_loop | 7522 ( 2.9%) | 8000 ( 3.2%) | 1600 ( 0.6%) | 0 ( 0.0%) | 1754 ( 5.0%) | -| ········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_reduce_indices | 1653 ( 0.6%) | 1162 ( 0.5%) | 165 ( 0.1%) | 0 ( 0.0%) | 1612 ( 4.6%) | -| ··········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_reduce_indices_loop | 1606 ( 0.6%) | 1124 ( 0.5%) | 160 ( 0.1%) | 0 ( 0.0%) | 1580 ( 4.5%) | -| ········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_assert_codeword_membership | 2941 ( 1.1%) | 3410 ( 1.4%) | 885 ( 0.3%) | 0 ( 0.0%) | 680 ( 1.9%) | -| ··········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_assert_codeword_membership_loop | 2886 ( 1.1%) | 3364 ( 1.3%) | 880 ( 0.3%) | 0 ( 0.0%) | 648 ( 1.9%) | -| ············tasmlib_list_get_element___xfe | 1120 ( 0.4%) | 1040 ( 0.4%) | 240 ( 0.1%) | 0 ( 0.0%) | 648 ( 1.9%) | -| ····method_boxed_LVmProofIterR_next_as_masterbasetablerows | 30 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.1%) | -| ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_masterbasetablerows | 28 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.1%) | -| ····method_boxed_LVmProofIterR_next_as_authenticationstructure | 90 ( 0.0%) | 66 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.1%) | -| ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_authenticationstructure | 84 ( 0.0%) | 66 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.1%) | -| ····tasmlib_verifier_master_ext_table_verify_Base_table_rows | 10110 ( 3.8%) | 5793 ( 2.3%) | 30086 ( 10.4%) | 24080 ( 17.4%) | 5 ( 0.0%) | -| ······tasmlib_verifier_master_ext_table_verify_Base_table_rows_loop_over_rows | 10086 ( 3.8%) | 5764 ( 2.3%) | 30080 ( 10.4%) | 24080 ( 17.4%) | 0 ( 0.0%) | -| ········tasmlib_hashing_algebraic_hasher_hash_static_size_375 | 5920 ( 2.2%) | 3920 ( 1.6%) | 30000 ( 10.4%) | 18800 ( 13.6%) | 0 ( 0.0%) | -| ··········tasmlib_hashing_absorb_multiple_static_size_375 | 4720 ( 1.8%) | 2720 ( 1.1%) | 30000 ( 10.4%) | 18240 ( 13.2%) | 0 ( 0.0%) | +| ··········tasmlib_verifier_fri_verify_compute_c_values_loop | 7522 ( 2.8%) | 8000 ( 3.1%) | 1600 ( 0.6%) | 0 ( 0.0%) | 1774 ( 2.6%) | +| ········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_reduce_indices | 1653 ( 0.6%) | 1162 ( 0.4%) | 165 ( 0.1%) | 0 ( 0.0%) | 1638 ( 2.4%) | +| ··········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_reduce_indices_loop | 1606 ( 0.6%) | 1124 ( 0.4%) | 160 ( 0.1%) | 0 ( 0.0%) | 1606 ( 2.4%) | +| ········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_assert_codeword_membership | 2941 ( 1.1%) | 3410 ( 1.3%) | 885 ( 0.3%) | 0 ( 0.0%) | 696 ( 1.0%) | +| ··········tasmlib_list_higher_order_u32_map_tasmlib_verifier_fri_verify_assert_codeword_membership_loop | 2886 ( 1.1%) | 3364 ( 1.3%) | 880 ( 0.3%) | 0 ( 0.0%) | 664 ( 1.0%) | +| ············tasmlib_list_get_element___xfe | 1120 ( 0.4%) | 1040 ( 0.4%) | 240 ( 0.1%) | 0 ( 0.0%) | 664 ( 1.0%) | +| ····method_boxed_LVmProofIterR_next_as_masterbasetablerows | 30 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | +| ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_masterbasetablerows | 28 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | +| ····method_boxed_LVmProofIterR_next_as_authenticationstructure | 90 ( 0.0%) | 66 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | +| ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_authenticationstructure | 84 ( 0.0%) | 66 ( 0.0%) | 12 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | +| ····tasmlib_verifier_master_ext_table_verify_Base_table_rows | 10110 ( 3.7%) | 5793 ( 2.2%) | 30086 ( 10.4%) | 24080 ( 17.4%) | 5 ( 0.0%) | +| ······tasmlib_verifier_master_ext_table_verify_Base_table_rows_loop_over_rows | 10086 ( 3.7%) | 5764 ( 2.2%) | 30080 ( 10.4%) | 24080 ( 17.4%) | 0 ( 0.0%) | +| ········tasmlib_hashing_algebraic_hasher_hash_static_size_375 | 5920 ( 2.2%) | 3920 ( 1.5%) | 30000 ( 10.4%) | 18800 ( 13.6%) | 0 ( 0.0%) | +| ··········tasmlib_hashing_absorb_multiple_static_size_375 | 4720 ( 1.7%) | 2720 ( 1.0%) | 30000 ( 10.4%) | 18240 ( 13.2%) | 0 ( 0.0%) | | ········tasmlib_verifier_master_ext_table_verify_Base_table_rows_loop_over_auth_path_elements | 1840 ( 0.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 5280 ( 3.8%) | 0 ( 0.0%) | -| ····method_boxed_LVmProofIterR_next_as_masterexttablerows | 30 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.1%) | -| ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_masterexttablerows | 28 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.1%) | -| ····tasmlib_verifier_master_ext_table_verify_Extension_table_rows | 9310 ( 3.5%) | 5793 ( 2.3%) | 21206 ( 7.4%) | 18800 ( 13.6%) | 0 ( 0.0%) | -| ······tasmlib_verifier_master_ext_table_verify_Extension_table_rows_loop_over_rows | 9286 ( 3.5%) | 5764 ( 2.3%) | 21200 ( 7.4%) | 18800 ( 13.6%) | 0 ( 0.0%) | -| ········tasmlib_hashing_algebraic_hasher_hash_static_size_264 | 5120 ( 1.9%) | 3920 ( 1.6%) | 21120 ( 7.3%) | 13520 ( 9.8%) | 0 ( 0.0%) | -| ··········tasmlib_hashing_absorb_multiple_static_size_264 | 3920 ( 1.5%) | 2720 ( 1.1%) | 21120 ( 7.3%) | 12960 ( 9.4%) | 0 ( 0.0%) | +| ····method_boxed_LVmProofIterR_next_as_masterexttablerows | 30 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | +| ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_masterexttablerows | 28 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | +| ····tasmlib_verifier_master_ext_table_verify_Extension_table_rows | 9310 ( 3.4%) | 5793 ( 2.2%) | 21206 ( 7.4%) | 18800 ( 13.6%) | 0 ( 0.0%) | +| ······tasmlib_verifier_master_ext_table_verify_Extension_table_rows_loop_over_rows | 9286 ( 3.4%) | 5764 ( 2.2%) | 21200 ( 7.4%) | 18800 ( 13.6%) | 0 ( 0.0%) | +| ········tasmlib_hashing_algebraic_hasher_hash_static_size_264 | 5120 ( 1.9%) | 3920 ( 1.5%) | 21120 ( 7.3%) | 13520 ( 9.8%) | 0 ( 0.0%) | +| ··········tasmlib_hashing_absorb_multiple_static_size_264 | 3920 ( 1.4%) | 2720 ( 1.0%) | 21120 ( 7.3%) | 12960 ( 9.4%) | 0 ( 0.0%) | | ········tasmlib_verifier_master_ext_table_verify_Extension_table_rows_loop_over_auth_path_elements | 1840 ( 0.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 5280 ( 3.8%) | 0 ( 0.0%) | -| ····method_boxed_LVmProofIterR_next_as_quotientsegmentselements | 30 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.1%) | -| ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_quotientsegmentselements | 28 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.1%) | -| ····tasmlib_verifier_master_ext_table_verify_Quotient_table_rows | 7470 ( 2.8%) | 5793 ( 2.3%) | 1046 ( 0.4%) | 6800 ( 4.9%) | 0 ( 0.0%) | -| ······tasmlib_verifier_master_ext_table_verify_Quotient_table_rows_loop_over_rows | 7446 ( 2.8%) | 5764 ( 2.3%) | 1040 ( 0.4%) | 6800 ( 4.9%) | 0 ( 0.0%) | -| ········tasmlib_hashing_algebraic_hasher_hash_static_size_12 | 3280 ( 1.2%) | 3920 ( 1.6%) | 960 ( 0.3%) | 1520 ( 1.1%) | 0 ( 0.0%) | -| ··········tasmlib_hashing_absorb_multiple_static_size_12 | 2080 ( 0.8%) | 2720 ( 1.1%) | 960 ( 0.3%) | 960 ( 0.7%) | 0 ( 0.0%) | +| ····method_boxed_LVmProofIterR_next_as_quotientsegmentselements | 30 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | +| ······tasmlib_verifier_vm_proof_iter_dequeue_next_as_quotientsegmentselements | 28 ( 0.0%) | 22 ( 0.0%) | 4 ( 0.0%) | 0 ( 0.0%) | 24 ( 0.0%) | +| ····tasmlib_verifier_master_ext_table_verify_Quotient_table_rows | 7470 ( 2.7%) | 5793 ( 2.2%) | 1046 ( 0.4%) | 6800 ( 4.9%) | 0 ( 0.0%) | +| ······tasmlib_verifier_master_ext_table_verify_Quotient_table_rows_loop_over_rows | 7446 ( 2.7%) | 5764 ( 2.2%) | 1040 ( 0.4%) | 6800 ( 4.9%) | 0 ( 0.0%) | +| ········tasmlib_hashing_algebraic_hasher_hash_static_size_12 | 3280 ( 1.2%) | 3920 ( 1.5%) | 960 ( 0.3%) | 1520 ( 1.1%) | 0 ( 0.0%) | +| ··········tasmlib_hashing_absorb_multiple_static_size_12 | 2080 ( 0.8%) | 2720 ( 1.0%) | 960 ( 0.3%) | 960 ( 0.7%) | 0 ( 0.0%) | | ········tasmlib_verifier_master_ext_table_verify_Quotient_table_rows_loop_over_auth_path_elements | 1840 ( 0.7%) | 0 ( 0.0%) | 0 ( 0.0%) | 5280 ( 3.8%) | 0 ( 0.0%) | | ····method_Result___array463_of_LXFieldR_unwrap | 3 ( 0.0%) | 1 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | 0 ( 0.0%) | -| ····_binop_Lt__LboolR_bool_314_while_loop | 60651 ( 23.0%) | 26888 ( 10.8%) | 169201 ( 58.7%) | 0 ( 0.0%) | 648 ( 1.9%) | -| ······tasmlib_array_inner_product_of_three_rows_with_weights_Bfe_baserowelem | 38160 ( 14.5%) | 480 ( 0.2%) | 162240 ( 56.3%) | 0 ( 0.0%) | 0 ( 0.0%) | +| ····_binop_Lt__LboolR_bool_314_while_loop | 63131 ( 23.1%) | 29288 ( 11.3%) | 169201 ( 58.7%) | 0 ( 0.0%) | 6312 ( 9.3%) | +| ······tasmlib_array_inner_product_of_three_rows_with_weights_Bfe_baserowelem | 38160 ( 14.0%) | 480 ( 0.2%) | 162240 ( 56.3%) | 0 ( 0.0%) | 0 ( 0.0%) | | ······tasmlib_array_inner_product_of_4_xfes | 1040 ( 0.4%) | 400 ( 0.2%) | 1920 ( 0.7%) | 0 ( 0.0%) | 0 ( 0.0%) | -| Total | 263321 (100.0%) | 249262 (100.0%) | 288282 (100.0%) | 138415 (100.0%) | 34898 (100.0%) | +| Total | 273214 (100.0%) | 259064 (100.0%) | 288282 (100.0%) | 138463 (100.0%) | 67872 (100.0%) | diff --git a/src/tasm_code_generator.rs b/src/tasm_code_generator.rs index 60465619..1537d72c 100644 --- a/src/tasm_code_generator.rs +++ b/src/tasm_code_generator.rs @@ -28,6 +28,7 @@ use crate::ast::AsmDefinedBody; use crate::ast::Identifier; use crate::ast::RoutineBody; use crate::ast_types; +use crate::ast_types::DataType; use crate::ast_types::StructVariant; use crate::composite_types::CompositeTypes; use crate::libraries; @@ -337,6 +338,17 @@ impl<'a> CompilerState<'a> { triton_asm!( {&ident_addr_code} {&relative_address} + // _ *value offset + + /* Verify bounds on size-indicator of field */ + push {DataType::MAX_DYN_FIELD_SIZE} + dup 1 + lt + // _ *value offset (offset < MAX) + + assert + // _ *value offset + add ) } @@ -362,14 +374,22 @@ impl<'a> CompilerState<'a> { read_mem 1 // _ index vec[n]_size (*vec[n]_size - 1) - push 2 add add + /* Verify bounds on size-indicator of field */ + push {DataType::MAX_DYN_FIELD_SIZE} + dup 2 + lt + // _ index vec[n]_size (*vec[n]_size - 1) (vec[n]_size < MAX) + + assert + // _ index vec[n]_size (*vec[n]_size - 1) + + addi 2 add // _ index *vec[n+1]_size swap 1 // _ *vec[n+1]_size index - push -1 - add + addi -1 // _ *vec[n+1]_size (index - 1) recurse @@ -388,7 +408,7 @@ impl<'a> CompilerState<'a> { // _ *vec[index]_size 0 pop 1 - push 1 add + addi 1 // _ *vec[index] ) } diff --git a/src/tasm_code_generator/data_type.rs b/src/tasm_code_generator/data_type.rs index 592f3c8f..489d988c 100644 --- a/src/tasm_code_generator/data_type.rs +++ b/src/tasm_code_generator/data_type.rs @@ -428,7 +428,7 @@ fn clone_vector_to_allocated_memory( state: &mut CompilerState, ) -> Vec { let element_size = element_type.stack_size(); - let add_metadata_size = triton_asm!(push {LIST_METADATA_SIZE} add); + let add_metadata_size = triton_asm!(addi { LIST_METADATA_SIZE }); let memcpy_label = state.import_snippet(Box::new(MemCpy)); triton_asm!( diff --git a/src/tasm_code_generator/data_type/struct_type.rs b/src/tasm_code_generator/data_type/struct_type.rs index 492b5736..83692d4d 100644 --- a/src/tasm_code_generator/data_type/struct_type.rs +++ b/src/tasm_code_generator/data_type/struct_type.rs @@ -2,6 +2,7 @@ use num::Zero; use tasm_lib::triton_vm::prelude::*; use crate::ast_types; +use crate::ast_types::DataType; use crate::ast_types::StructVariant; use crate::tasm_code_generator::move_top_stack_value_to_memory; use crate::tasm_code_generator::write_n_words_to_memory_leaving_address; @@ -147,8 +148,8 @@ impl ast_types::StructType { pop 1 // _ *field_si acc_struct_size field_size' - /* Ensure size-indicator is a `u32` and within allowed limits */ - push {ast_types::DataType::MAX_DYN_FIELD_SIZE} + /* Verify bounds on size-indicator of field */ + push {DataType::MAX_DYN_FIELD_SIZE} dup 1 lt assert @@ -217,8 +218,7 @@ impl ast_types::StructType { // _ *current_field // TODO: Not needed for last loop-iteration - push {static_size} - add + addi {static_size} // _ *field_or_fieldsize_next )); @@ -240,6 +240,15 @@ impl ast_types::StructType { pop 1 // _ current_field_size *current_field + /* Verify bounds on size-indicator of field */ + push {DataType::MAX_DYN_FIELD_SIZE} + dup 2 + lt + // _ current_field_size *current_field (current_field_size < MAX) + + assert + // _ current_field_size *current_field + add // _ *next_field_or_field_size )) @@ -252,11 +261,43 @@ impl ast_types::StructType { (pointer_for_result.into(), code) } + /// BEFORE: _ *current_field + /// AFTER: _ *next_field + pub(crate) fn advance_pointer_to_next_field_code( + current_field_type: &DataType, + ) -> Vec { + match current_field_type.bfield_codec_static_length() { + Some(static_length) => triton_asm!(addi {static_length + 1}), + None => triton_asm!( + // _ *current_field + + read_mem 1 + // _ field_si (*current_field - 1) + + /* Verify bounds on size-indicator of field */ + push {DataType::MAX_DYN_FIELD_SIZE} + dup 2 + lt + // _ field_si (*current_field - 1) (field_si < MAX) + + assert + // _ field_si (*current_field - 1) + + addi 2 + add + // _ *next_field + ), + } + } + /// Assuming the stack top points to the start of the struct, returns the code /// that modifies the top stack value to point to the indicated field. So the top /// stack element is consumed and the returned value is a pointer to the requested /// field in the struct. Note that the top of the stack is where the field begins, /// not the size indication of that field. + /// + /// BEFORE: _ *struct + /// AFTER: _ *field pub(crate) fn get_field_accessor_code_for_reference( &self, field_id: &ast_types::FieldId, @@ -281,10 +322,12 @@ impl ast_types::StructType { Some(static_length) => static_pointer_addition += static_length, None => { if !static_pointer_addition.is_zero() { - instructions - .append(&mut triton_asm!(push {static_pointer_addition} add)); + instructions.append(&mut triton_asm!(addi { + static_pointer_addition + })); } - instructions.append(&mut triton_asm!(read_mem 1 add push 2 add)); + instructions + .append(&mut Self::advance_pointer_to_next_field_code(haystack_type)); static_pointer_addition = 0; } } @@ -299,7 +342,9 @@ impl ast_types::StructType { } if !static_pointer_addition.is_zero() { - instructions.append(&mut triton_asm!(push {static_pointer_addition} add)); + instructions.append(&mut triton_asm!(addi { + static_pointer_addition + })); } instructions diff --git a/src/tests_and_benchmarks/ozk/programs/structs.rs b/src/tests_and_benchmarks/ozk/programs/structs.rs index b726168c..735e7ea4 100644 --- a/src/tests_and_benchmarks/ozk/programs/structs.rs +++ b/src/tests_and_benchmarks/ozk/programs/structs.rs @@ -1,4 +1,5 @@ mod declaration_on_stack_with_list; +mod exceed_allowed_field_size; mod nested_structs; mod simple_declaration_on_stack; mod simple_declaration_on_stack_spilled; diff --git a/src/tests_and_benchmarks/ozk/programs/structs/exceed_allowed_field_size.rs b/src/tests_and_benchmarks/ozk/programs/structs/exceed_allowed_field_size.rs new file mode 100644 index 00000000..03300ef2 --- /dev/null +++ b/src/tests_and_benchmarks/ozk/programs/structs/exceed_allowed_field_size.rs @@ -0,0 +1,110 @@ +use arbitrary::Arbitrary; +use tasm_lib::prelude::TasmObject; +use tasm_lib::triton_vm::prelude::*; + +use crate::tests_and_benchmarks::ozk::rust_shadows as tasm; + +#[derive(BFieldCodec, PartialEq, Eq, Clone, Debug, Arbitrary)] +enum MyEnum { + A(u64, Digest), + B, + C, +} + +#[derive(BFieldCodec, TasmObject, PartialEq, Eq, Clone, Debug, Arbitrary)] +struct TestStruct { + a: Vec, + b: MyEnum, + c: u32, + d: Vec, + e: Digest, + f: Vec, + g: Digest, +} + +fn main() { + let test_struct: Box = + TestStruct::decode(&tasm::load_from_memory(BFieldElement::new(300))).unwrap(); + + let d: &Vec = &test_struct.d; + + tasm::tasmlib_io_write_to_stdout___u32(d.len() as u32); + + return; +} + +#[cfg(test)] +mod tests { + use std::collections::HashMap; + + use arbitrary::Unstructured; + use rand::random; + use rand::rngs::StdRng; + use rand::RngCore; + use rand::SeedableRng; + use tasm::wrap_main_with_io; + use tasm_lib::memory::encode_to_memory; + + use crate::ast_types::DataType; + use crate::tests_and_benchmarks::ozk::ozk_parsing::EntrypointLocation; + use crate::tests_and_benchmarks::test_helpers::shared_test::TritonVMTestCase; + + use super::*; + + const OBJ_POINTER: BFieldElement = BFieldElement::new(300); + + fn prepare_random_object(seed: [u8; 32]) -> TestStruct { + let mut rng: StdRng = SeedableRng::from_seed(seed); + let mut randomness = [0u8; 1_000_000]; + rng.fill_bytes(&mut randomness); + let mut unstructured = Unstructured::new(&randomness); + TestStruct::arbitrary(&mut unstructured).unwrap() + } + + #[test] + fn exceed_allowed_size_indicator_test() { + // Positive test + let ts = prepare_random_object(random()); + let mut beningn_memory = HashMap::default(); + encode_to_memory(&mut beningn_memory, OBJ_POINTER, &ts); + let benign_nd = NonDeterminism::default().with_ram(beningn_memory.clone()); + let expected_output = vec![bfe!(ts.d.len() as u64)]; + let stdin = vec![]; + let native_output = wrap_main_with_io(&main)(stdin.clone(), benign_nd.clone()); + assert_eq!(expected_output, native_output); + + let entrypoint = EntrypointLocation::disk("structs", "exceed_allowed_field_size", "main"); + let vm_output = TritonVMTestCase::new(entrypoint.clone()) + .with_non_determinism(benign_nd) + .execute() + .unwrap(); + assert_eq!(native_output, vm_output.public_output); + + // Negative test: size indicator exceeds 2^32 + const OFFSET_FOR_OF_MALICIOUS_SI: BFieldElement = BFieldElement::new(5); + let mut malicious_memory0 = beningn_memory.clone(); + malicious_memory0.insert( + OBJ_POINTER + OFFSET_FOR_OF_MALICIOUS_SI, + bfe!(DataType::MAX_DYN_FIELD_SIZE + 1), + ); + let malicious_nd_0 = NonDeterminism::default().with_ram(malicious_memory0.clone()); + let err0 = TritonVMTestCase::new(entrypoint.clone()) + .with_non_determinism(malicious_nd_0) + .execute() + .unwrap_err(); + let err0 = err0.downcast::().unwrap(); + assert_eq!(InstructionError::AssertionFailed, err0); + + // Negative test: size indicator is negative + let mut malicious_memory1 = beningn_memory.clone(); + let negative_number = bfe!(-1); + malicious_memory1.insert(OBJ_POINTER + OFFSET_FOR_OF_MALICIOUS_SI, negative_number); + let malicious_nd_1 = NonDeterminism::default().with_ram(malicious_memory1.clone()); + let err1 = TritonVMTestCase::new(entrypoint.clone()) + .with_non_determinism(malicious_nd_1) + .execute() + .unwrap_err(); + let err1 = err1.downcast::().unwrap(); + assert_eq!(InstructionError::FailedU32Conversion(negative_number), err1); + } +}