user: Demonstrate the C code that generates the assembly output below:

```asm
<link_pid>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    D2478(%rip),%rax
  movq   %rax,%xmm0
  lea    D195(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D632(%rip),%rax
  movq   %rax,%xmm0
  lea    D1939(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D632(%rip),%rax
  movq   %rax,%xmm0
  lea    D1111(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D243(%rip),%rax
  movq   %rax,%xmm0
  lea    D2797(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D243(%rip),%rax
  movq   %rax,%xmm0
  lea    D2743(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D266(%rip),%rax
  movq   %rax,%xmm0
  lea    D1740(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D812(%rip),%rax
  movq   %rax,%xmm0
  lea    D2021(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D1605(%rip),%rax
  movq   %rax,%xmm0
  lea    D2484(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D2878(%rip),%rax
  movq   %rax,%xmm0
  lea    D1040(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D1790(%rip),%rax
  movq   %rax,%xmm0
  lea    D1575(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D1428(%rip),%rax
  movq   %rax,%xmm0
  lea    D650(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D2971(%rip),%rax
  movq   %rax,%xmm0
  lea    D2763(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D1530(%rip),%rax
  movq   %rax,%xmm0
  lea    D852(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D2523(%rip),%rax
  movq   %rax,%xmm0
  lea    D1342(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D2429(%rip),%rax
  movq   %rax,%xmm0
  lea    D1145(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D2429(%rip),%rax
  movq   %rax,%xmm0
  lea    D1664(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  lea    D2999(%rip),%rax
  mov    %rax,%rsi
  lea    D1317(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2244(%rip),%rax
  mov    %rax,%rsi
  lea    D454(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D279(%rip),%rax
  mov    %rax,%rsi
  lea    D2354(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1018(%rip),%rax
  mov    %rax,%rsi
  lea    D2876(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D332(%rip),%rax
  mov    %rax,%rsi
  lea    D2271(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D205(%rip),%rax
  mov    %rax,%rsi
  lea    D413(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2200(%rip),%rax
  mov    %rax,%rsi
  lea    D2509(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  mov    D1377(%rip),%rax
  movq   %rax,%xmm0
  lea    D1512(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  lea    D3031(%rip),%rax
  mov    %rax,%rsi
  lea    D2244(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2013(%rip),%rax
  mov    %rax,%rsi
  lea    D2200(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D529(%rip),%rax
  mov    %rax,%rsi
  lea    D2440(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1526(%rip),%rax
  mov    %rax,%rsi
  lea    D2154(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2671(%rip),%rax
  mov    %rax,%rsi
  lea    D413(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D156(%rip),%rax
  mov    %rax,%rsi
  lea    D772(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1154(%rip),%rax
  mov    %rax,%rsi
  lea    D91(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1996(%rip),%rax
  mov    %rax,%rsi
  lea    D3040(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2338(%rip),%rax
  mov    %rax,%rsi
  lea    D1219(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2033(%rip),%rax
  mov    %rax,%rsi
  lea    D836(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2276(%rip),%rax
  mov    %rax,%rsi
  lea    D2033(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2821(%rip),%rax
  mov    %rax,%rsi
  lea    D2338(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2758(%rip),%rax
  mov    %rax,%rsi
  lea    D743(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2267(%rip),%rax
  mov    %rax,%rsi
  lea    D2173(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2454(%rip),%rax
  mov    %rax,%rsi
  lea    D1357(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D322(%rip),%rax
  mov    %rax,%rsi
  lea    D1366(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2534(%rip),%rax
  mov    %rax,%rsi
  lea    D1695(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1649(%rip),%rax
  mov    %rax,%rsi
  lea    D2965(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D642(%rip),%rax
  mov    %rax,%rsi
  lea    D2738(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2957(%rip),%rax
  mov    %rax,%rsi
  lea    D2725(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1314(%rip),%rax
  mov    %rax,%rsi
  lea    D1598(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1967(%rip),%rax
  mov    %rax,%rsi
  lea    D302(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D420(%rip),%rax
  mov    %rax,%rsi
  lea    D335(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1507(%rip),%rax
  mov    %rax,%rsi
  lea    D1794(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D832(%rip),%rax
  mov    %rax,%rsi
  lea    D1810(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2890(%rip),%rax
  mov    %rax,%rsi
  lea    D465(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D880(%rip),%rax
  mov    %rax,%rsi
  lea    D596(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1070(%rip),%rax
  mov    %rax,%rsi
  lea    D2115(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  mov    D2089(%rip),%rax
  movq   %rax,%xmm0
  lea    D2861(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  lea    D193(%rip),%rax
  mov    %rax,%rsi
  lea    D89(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2888(%rip),%rax
  mov    %rax,%rsi
  lea    D2894(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D260(%rip),%rax
  mov    %rax,%rsi
  lea    D2562(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D230(%rip),%rax
  mov    %rax,%rsi
  lea    D1975(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D58(%rip),%rax
  mov    %rax,%rsi
  lea    D2843(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1418(%rip),%rax
  mov    %rax,%rsi
  lea    D572(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1013(%rip),%rax
  mov    %rax,%rsi
  lea    D1798(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D973(%rip),%rax
  mov    %rax,%rsi
  lea    D2600(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1940(%rip),%rax
  mov    %rax,%rsi
  lea    D315(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D513(%rip),%rax
  mov    %rax,%rsi
  lea    D586(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2676(%rip),%rax
  mov    %rax,%rsi
  lea    D2003(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D308(%rip),%rax
  mov    %rax,%rsi
  lea    D2244(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1304(%rip),%rax
  mov    %rax,%rsi
  lea    D2154(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1732(%rip),%rax
  mov    %rax,%rsi
  lea    D1048(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D436(%rip),%rax
  mov    %rax,%rsi
  lea    D2351(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1938(%rip),%rax
  mov    %rax,%rsi
  lea    D2852(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D295(%rip),%rax
  mov    %rax,%rsi
  lea    D556(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D105(%rip),%rax
  mov    %rax,%rsi
  lea    D2212(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1360(%rip),%rax
  mov    %rax,%rsi
  lea    D413(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2581(%rip),%rax
  mov    %rax,%rsi
  lea    D1989(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D647(%rip),%rax
  mov    %rax,%rsi
  lea    D2061(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2934(%rip),%rax
  mov    %rax,%rsi
  lea    D430(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1084(%rip),%rax
  mov    %rax,%rsi
  lea    D515(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2710(%rip),%rax
  mov    %rax,%rsi
  lea    D1076(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1431(%rip),%rax
  mov    %rax,%rsi
  lea    D3061(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D50(%rip),%rax
  mov    %rax,%rsi
  lea    D1648(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D805(%rip),%rax
  mov    %rax,%rsi
  lea    D91(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1537(%rip),%rax
  mov    %rax,%rsi
  lea    D589(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2854(%rip),%rax
  mov    %rax,%rsi
  lea    D2905(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2603(%rip),%rax
  mov    %rax,%rsi
  lea    D411(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D3073(%rip),%rax
  mov    %rax,%rsi
  lea    D2776(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D248(%rip),%rax
  mov    %rax,%rsi
  lea    D1256(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2001(%rip),%rax
  mov    %rax,%rsi
  lea    D2354(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1608(%rip),%rax
  mov    %rax,%rsi
  lea    D2876(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D102(%rip),%rax
  mov    %rax,%rsi
  lea    D2132(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  mov    D301(%rip),%rax
  movq   %rax,%xmm0
  lea    D1014(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D301(%rip),%rax
  movq   %rax,%xmm0
  lea    D2387(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D301(%rip),%rax
  movq   %rax,%xmm0
  lea    D1501(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D2462(%rip),%rax
  movq   %rax,%xmm0
  lea    D1358(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D2462(%rip),%rax
  movq   %rax,%xmm0
  lea    D472(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D2462(%rip),%rax
  movq   %rax,%xmm0
  lea    D1955(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D2462(%rip),%rax
  movq   %rax,%xmm0
  lea    D1989(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  lea    D104(%rip),%rax
  mov    %rax,%rsi
  lea    D2203(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D982(%rip),%rax
  mov    %rax,%rsi
  lea    D2831(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1743(%rip),%rax
  mov    %rax,%rsi
  lea    D1982(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1878(%rip),%rax
  mov    %rax,%rsi
  lea    D282(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1306(%rip),%rax
  mov    %rax,%rsi
  lea    D2065(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1998(%rip),%rax
  mov    %rax,%rsi
  lea    D2843(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2519(%rip),%rax
  mov    %rax,%rsi
  lea    D2058(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D3(%rip),%rax
  mov    %rax,%rsi
  lea    D2935(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1702(%rip),%rax
  mov    %rax,%rsi
  lea    D2935(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1842(%rip),%rax
  mov    %rax,%rsi
  lea    D1347(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D661(%rip),%rax
  mov    %rax,%rsi
  lea    D1347(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1668(%rip),%rax
  mov    %rax,%rsi
  lea    D612(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2865(%rip),%rax
  mov    %rax,%rsi
  lea    D2707(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1551(%rip),%rax
  mov    %rax,%rsi
  lea    D2987(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1885(%rip),%rax
  mov    %rax,%rsi
  lea    D1644(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2348(%rip),%rax
  mov    %rax,%rsi
  lea    D330(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2305(%rip),%rax
  mov    %rax,%rsi
  lea    D2719(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2686(%rip),%rax
  mov    %rax,%rsi
  lea    D2338(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D866(%rip),%rax
  mov    %rax,%rsi
  lea    D2935(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2072(%rip),%rax
  mov    %rax,%rsi
  lea    D1347(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2321(%rip),%rax
  mov    %rax,%rsi
  lea    D1347(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D577(%rip),%rax
  mov    %rax,%rsi
  lea    D1982(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D320(%rip),%rax
  mov    %rax,%rsi
  lea    D1556(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2554(%rip),%rax
  mov    %rax,%rsi
  lea    D1734(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D666(%rip),%rax
  mov    %rax,%rsi
  lea    D401(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2310(%rip),%rax
  mov    %rax,%rsi
  lea    D464(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1672(%rip),%rax
  mov    %rax,%rsi
  lea    D2831(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D931(%rip),%rax
  mov    %rax,%rsi
  lea    D1734(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1763(%rip),%rax
  mov    %rax,%rsi
  lea    D2935(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2695(%rip),%rax
  mov    %rax,%rsi
  lea    D1347(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D95(%rip),%rax
  mov    %rax,%rsi
  lea    D1347(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D713(%rip),%rax
  mov    %rax,%rsi
  lea    D1982(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D283(%rip),%rax
  mov    %rax,%rsi
  lea    D2831(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1057(%rip),%rax
  mov    %rax,%rsi
  lea    D2058(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D250(%rip),%rax
  mov    %rax,%rsi
  lea    D464(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1846(%rip),%rax
  mov    %rax,%rsi
  lea    D1734(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1624(%rip),%rax
  mov    %rax,%rsi
  lea    D2782(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1094(%rip),%rax
  mov    %rax,%rsi
  lea    D2583(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1238(%rip),%rax
  mov    %rax,%rsi
  lea    D2816(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2176(%rip),%rax
  mov    %rax,%rsi
  lea    D330(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1097(%rip),%rax
  mov    %rax,%rsi
  lea    D2719(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D284(%rip),%rax
  mov    %rax,%rsi
  lea    D2831(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2450(%rip),%rax
  mov    %rax,%rsi
  lea    D1760(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1574(%rip),%rax
  mov    %rax,%rsi
  lea    D616(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2688(%rip),%rax
  mov    %rax,%rsi
  lea    D1325(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1565(%rip),%rax
  mov    %rax,%rsi
  lea    D2163(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2720(%rip),%rax
  mov    %rax,%rsi
  lea    D32(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1011(%rip),%rax
  mov    %rax,%rsi
  lea    D2244(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D2033(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D18(%rip),%rax
  mov    %rax,%rsi
  lea    D2200(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1354(%rip),%rax
  mov    %rax,%rsi
  lea    D2338(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  mov    D702(%rip),%rax
  movq   %rax,%xmm0
  lea    D51(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D702(%rip),%rax
  movq   %rax,%xmm0
  lea    D2023(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D2462(%rip),%rax
  movq   %rax,%xmm0
  lea    D2361(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  mov    D2462(%rip),%rax
  movq   %rax,%xmm0
  lea    D511(%rip),%rax
  mov    %rax,%rdi
  call   <set_hal_pin@plt>
  lea    D1837(%rip),%rax
  mov    %rax,%rsi
  lea    D2822(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2736(%rip),%rax
  mov    %rax,%rsi
  lea    D2195(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D2845(%rip),%rax
  mov    %rax,%rsi
  lea    D584(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  lea    D1168(%rip),%rax
  mov    %rax,%rsi
  lea    D1898(%rip),%rax
  mov    %rax,%rdi
  call   <link_hal_pins@plt>
  nop
  pop    %rbp
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D2478
data_type: f64
name: extract_symbolic_data
arguments: data_label: D195
data_type: string
name: extract_symbolic_data
arguments: data_label: D632
data_type: f64
name: extract_symbolic_data
arguments: data_label: D1939
data_type: string
name: extract_symbolic_data
arguments: data_label: D1111
data_type: string
name: extract_symbolic_data
arguments: data_label: D243
data_type: f64
name: extract_symbolic_data
arguments: data_label: D2797
data_type: string
name: extract_symbolic_data
arguments: data_label: D2743
data_type: string
name: extract_symbolic_data
arguments: data_label: D266
data_type: f64
name: extract_symbolic_data
arguments: data_label: D1740
data_type: string
name: extract_symbolic_data
arguments: data_label: D812
data_type: f64
name: extract_symbolic_data
arguments: data_label: D2021
data_type: string
name: extract_symbolic_data
arguments: data_label: D1605
data_type: f64
name: extract_symbolic_data
arguments: data_label: D2484
data_type: string
name: extract_symbolic_data
arguments: data_label: D2878
data_type: f64
name: extract_symbolic_data
arguments: data_label: D1040
data_type: string
name: extract_symbolic_data
arguments: data_label: D1790
data_type: f64
name: extract_symbolic_data
arguments: data_label: D1575
data_type: string
name: extract_symbolic_data
arguments: data_label: D1428
data_type: f64
name: extract_symbolic_data
arguments: data_label: D650
data_type: string
name: extract_symbolic_data
arguments: data_label: D2971
data_type: f64
name: extract_symbolic_data
arguments: data_label: D2763
data_type: string
name: extract_symbolic_data
arguments: data_label: D1530
data_type: f64
name: extract_symbolic_data
arguments: data_label: D852
data_type: string
name: extract_symbolic_data
arguments: data_label: D2523
data_type: f64
name: extract_symbolic_data
arguments: data_label: D1342
data_type: string
name: extract_symbolic_data
arguments: data_label: D2429
data_type: f64
name: extract_symbolic_data
arguments: data_label: D1145
data_type: string
name: extract_symbolic_data
arguments: data_label: D1664
data_type: string
name: extract_symbolic_data
arguments: data_label: D2999
data_type: string
name: extract_symbolic_data
arguments: data_label: D1317
data_type: string
name: extract_symbolic_data
arguments: data_label: D2244
data_type: string
name: extract_symbolic_data
arguments: data_label: D454
data_type: string
name: extract_symbolic_data
arguments: data_label: D279
data_type: string
name: extract_symbolic_data
arguments: data_label: D2354
data_type: string
name: extract_symbolic_data
arguments: data_label: D1018
data_type: string
name: extract_symbolic_data
arguments: data_label: D2876
data_type: string
name: extract_symbolic_data
arguments: data_label: D332
data_type: string
name: extract_symbolic_data
arguments: data_label: D2271
data_type: string
name: extract_symbolic_data
arguments: data_label: D205
data_type: string
name: extract_symbolic_data
arguments: data_label: D413
data_type: string
name: extract_symbolic_data
arguments: data_label: D2200
data_type: string
name: extract_symbolic_data
arguments: data_label: D2509
data_type: string
name: extract_symbolic_data
arguments: data_label: D1377
data_type: f64
name: extract_symbolic_data
arguments: data_label: D1512
data_type: string
name: extract_symbolic_data
arguments: data_label: D3031
data_type: string
name: extract_symbolic_data
arguments: data_label: D2013
data_type: string
name: extract_symbolic_data
arguments: data_label: D529
data_type: string
name: extract_symbolic_data
arguments: data_label: D2440
data_type: string
name: extract_symbolic_data
arguments: data_label: D1526
data_type: string
name: extract_symbolic_data
arguments: data_label: D2154
data_type: string
name: extract_symbolic_data
arguments: data_label: D2671
data_type: string
name: extract_symbolic_data
arguments: data_label: D156
data_type: string
name: extract_symbolic_data
arguments: data_label: D772
data_type: string
name: extract_symbolic_data
arguments: data_label: D1154
data_type: string
name: extract_symbolic_data
arguments: data_label: D91
data_type: string
name: extract_symbolic_data
arguments: data_label: D1996
data_type: string
name: extract_symbolic_data
arguments: data_label: D3040
data_type: string
name: extract_symbolic_data
arguments: data_label: D2338
data_type: string
name: extract_symbolic_data
arguments: data_label: D1219
data_type: string
name: extract_symbolic_data
arguments: data_label: D2033
data_type: string
name: extract_symbolic_data
arguments: data_label: D836
data_type: string
name: extract_symbolic_data
arguments: data_label: D2276
data_type: string
name: extract_symbolic_data
arguments: data_label: D2821
data_type: string
name: extract_symbolic_data
arguments: data_label: D2758
data_type: string
name: extract_symbolic_data
arguments: data_label: D743
data_type: string
name: extract_symbolic_data
arguments: data_label: D2267
data_type: string
name: extract_symbolic_data
arguments: data_label: D2173
data_type: string
name: extract_symbolic_data
arguments: data_label: D2454
data_type: string
name: extract_symbolic_data
arguments: data_label: D1357
data_type: string
name: extract_symbolic_data
arguments: data_label: D322
data_type: string
name: extract_symbolic_data
arguments: data_label: D1366
data_type: string
name: extract_symbolic_data
arguments: data_label: D2534
data_type: string
name: extract_symbolic_data
arguments: data_label: D1695
data_type: string
name: extract_symbolic_data
arguments: data_label: D1649
data_type: string
name: extract_symbolic_data
arguments: data_label: D2965
data_type: string
name: extract_symbolic_data
arguments: data_label: D642
data_type: string
name: extract_symbolic_data
arguments: data_label: D2738
data_type: string
name: extract_symbolic_data
arguments: data_label: D2957
data_type: string
name: extract_symbolic_data
arguments: data_label: D2725
data_type: string
name: extract_symbolic_data
arguments: data_label: D1314
data_type: string
name: extract_symbolic_data
arguments: data_label: D1598
data_type: string
name: extract_symbolic_data
arguments: data_label: D1967
data_type: string
name: extract_symbolic_data
arguments: data_label: D302
data_type: string
name: extract_symbolic_data
arguments: data_label: D420
data_type: string
name: extract_symbolic_data
arguments: data_label: D335
data_type: string
name: extract_symbolic_data
arguments: data_label: D1507
data_type: string
name: extract_symbolic_data
arguments: data_label: D1794
data_type: string
name: extract_symbolic_data
arguments: data_label: D832
data_type: string
name: extract_symbolic_data
arguments: data_label: D1810
data_type: string
name: extract_symbolic_data
arguments: data_label: D2890
data_type: string
name: extract_symbolic_data
arguments: data_label: D465
data_type: string
name: extract_symbolic_data
arguments: data_label: D880
data_type: string
name: extract_symbolic_data
arguments: data_label: D596
data_type: string
name: extract_symbolic_data
arguments: data_label: D1070
data_type: string
name: extract_symbolic_data
arguments: data_label: D2115
data_type: string
name: extract_symbolic_data
arguments: data_label: D2089
data_type: f64
name: extract_symbolic_data
arguments: data_label: D2861
data_type: string
name: extract_symbolic_data
arguments: data_label: D193
data_type: string
name: extract_symbolic_data
arguments: data_label: D89
data_type: string
name: extract_symbolic_data
arguments: data_label: D2888
data_type: string
name: extract_symbolic_data
arguments: data_label: D2894
data_type: string
name: extract_symbolic_data
arguments: data_label: D260
data_type: string
name: extract_symbolic_data
arguments: data_label: D2562
data_type: string
name: extract_symbolic_data
arguments: data_label: D230
data_type: string
name: extract_symbolic_data
arguments: data_label: D1975
data_type: string
name: extract_symbolic_data
arguments: data_label: D58
data_type: string
name: extract_symbolic_data
arguments: data_label: D2843
data_type: string
name: extract_symbolic_data
arguments: data_label: D1418
data_type: string
name: extract_symbolic_data
arguments: data_label: D572
data_type: string
name: extract_symbolic_data
arguments: data_label: D1013
data_type: string
name: extract_symbolic_data
arguments: data_label: D1798
data_type: string
name: extract_symbolic_data
arguments: data_label: D973
data_type: string
name: extract_symbolic_data
arguments: data_label: D2600
data_type: string
name: extract_symbolic_data
arguments: data_label: D1940
data_type: string
name: extract_symbolic_data
arguments: data_label: D315
data_type: string
name: extract_symbolic_data
arguments: data_label: D513
data_type: string
name: extract_symbolic_data
arguments: data_label: D586
data_type: string
name: extract_symbolic_data
arguments: data_label: D2676
data_type: string
name: extract_symbolic_data
arguments: data_label: D2003
data_type: string
name: extract_symbolic_data
arguments: data_label: D308
data_type: string
name: extract_symbolic_data
arguments: data_label: D1304
data_type: string
name: extract_symbolic_data
arguments: data_label: D1732
data_type: string
name: extract_symbolic_data
arguments: data_label: D1048
data_type: string
name: extract_symbolic_data
arguments: data_label: D436
data_type: string
name: extract_symbolic_data
arguments: data_label: D2351
data_type: string
name: extract_symbolic_data
arguments: data_label: D1938
data_type: string
name: extract_symbolic_data
arguments: data_label: D2852
data_type: string
name: extract_symbolic_data
arguments: data_label: D295
data_type: string
name: extract_symbolic_data
arguments: data_label: D556
data_type: string
name: extract_symbolic_data
arguments: data_label: D105
data_type: string
name: extract_symbolic_data
arguments: data_label: D2212
data_type: string
name: extract_symbolic_data
arguments: data_label: D1360
data_type: string
name: extract_symbolic_data
arguments: data_label: D2581
data_type: string
name: extract_symbolic_data
arguments: data_label: D1989
data_type: string
name: extract_symbolic_data
arguments: data_label: D647
data_type: string
name: extract_symbolic_data
arguments: data_label: D2061
data_type: string
name: extract_symbolic_data
arguments: data_label: D2934
data_type: string
name: extract_symbolic_data
arguments: data_label: D430
data_type: string
name: extract_symbolic_data
arguments: data_label: D1084
data_type: string
name: extract_symbolic_data
arguments: data_label: D515
data_type: string
name: extract_symbolic_data
arguments: data_label: D2710
data_type: string
name: extract_symbolic_data
arguments: data_label: D1076
data_type: string
name: extract_symbolic_data
arguments: data_label: D1431
data_type: string
name: extract_symbolic_data
arguments: data_label: D3061
data_type: string
name: extract_symbolic_data
arguments: data_label: D50
data_type: string
name: extract_symbolic_data
arguments: data_label: D1648
data_type: string
name: extract_symbolic_data
arguments: data_label: D805
data_type: string
name: extract_symbolic_data
arguments: data_label: D1537
data_type: string
name: extract_symbolic_data
arguments: data_label: D589
data_type: string
name: extract_symbolic_data
arguments: data_label: D2854
data_type: string
name: extract_symbolic_data
arguments: data_label: D2905
data_type: string
name: extract_symbolic_data
arguments: data_label: D2603
data_type: string
name: extract_symbolic_data
arguments: data_label: D411
data_type: string
name: extract_symbolic_data
arguments: data_label: D3073
data_type: string
name: extract_symbolic_data
arguments: data_label: D2776
data_type: string
name: extract_symbolic_data
arguments: data_label: D248
data_type: string
name: extract_symbolic_data
arguments: data_label: D1256
data_type: string
name: extract_symbolic_data
arguments: data_label: D2001
data_type: string
name: extract_symbolic_data
arguments: data_label: D1608
data_type: string
name: extract_symbolic_data
arguments: data_label: D102
data_type: string
name: extract_symbolic_data
arguments: data_label: D2132
data_type: string
name: extract_symbolic_data
arguments: data_label: D301
data_type: f64
name: extract_symbolic_data
arguments: data_label: D1014
data_type: string
name: extract_symbolic_data
arguments: data_label: D2387
data_type: string
name: extract_symbolic_data
arguments: data_label: D1501
data_type: string
name: extract_symbolic_data
arguments: data_label: D2462
data_type: f64
name: extract_symbolic_data
arguments: data_label: D1358
data_type: string
name: extract_symbolic_data
arguments: data_label: D472
data_type: string
name: extract_symbolic_data
arguments: data_label: D1955
data_type: string
name: extract_symbolic_data
arguments: data_label: D104
data_type: string
name: extract_symbolic_data
arguments: data_label: D2203
data_type: string
name: extract_symbolic_data
arguments: data_label: D982
data_type: string
name: extract_symbolic_data
arguments: data_label: D2831
data_type: string
name: extract_symbolic_data
arguments: data_label: D1743
data_type: string
name: extract_symbolic_data
arguments: data_label: D1982
data_type: string
name: extract_symbolic_data
arguments: data_label: D1878
data_type: string
name: extract_symbolic_data
arguments: data_label: D282
data_type: string
name: extract_symbolic_data
arguments: data_label: D1306
data_type: string
name: extract_symbolic_data
arguments: data_label: D2065
data_type: string
name: extract_symbolic_data
arguments: data_label: D1998
data_type: string
name: extract_symbolic_data
arguments: data_label: D2519
data_type: string
name: extract_symbolic_data
arguments: data_label: D2058
data_type: string
name: extract_symbolic_data
arguments: data_label: D3
data_type: string
name: extract_symbolic_data
arguments: data_label: D2935
data_type: string
name: extract_symbolic_data
arguments: data_label: D1702
data_type: string
name: extract_symbolic_data
arguments: data_label: D1842
data_type: string
name: extract_symbolic_data
arguments: data_label: D1347
data_type: string
name: extract_symbolic_data
arguments: data_label: D661
data_type: string
name: extract_symbolic_data
arguments: data_label: D1668
data_type: string
name: extract_symbolic_data
arguments: data_label: D612
data_type: string
name: extract_symbolic_data
arguments: data_label: D2865
data_type: string
name: extract_symbolic_data
arguments: data_label: D2707
data_type: string
name: extract_symbolic_data
arguments: data_label: D1551
data_type: string
name: extract_symbolic_data
arguments: data_label: D2987
data_type: string
name: extract_symbolic_data
arguments: data_label: D1885
data_type: string
name: extract_symbolic_data
arguments: data_label: D1644
data_type: string
name: extract_symbolic_data
arguments: data_label: D2348
data_type: string
name: extract_symbolic_data
arguments: data_label: D330
data_type: string
name: extract_symbolic_data
arguments: data_label: D2305
data_type: string
name: extract_symbolic_data
arguments: data_label: D2719
data_type: string
name: extract_symbolic_data
arguments: data_label: D2686
data_type: string
name: extract_symbolic_data
arguments: data_label: D866
data_type: string
name: extract_symbolic_data
arguments: data_label: D2072
data_type: string
name: extract_symbolic_data
arguments: data_label: D2321
data_type: string
name: extract_symbolic_data
arguments: data_label: D577
data_type: string
name: extract_symbolic_data
arguments: data_label: D320
data_type: string
name: extract_symbolic_data
arguments: data_label: D1556
data_type: string
name: extract_symbolic_data
arguments: data_label: D2554
data_type: string
name: extract_symbolic_data
arguments: data_label: D1734
data_type: string
name: extract_symbolic_data
arguments: data_label: D666
data_type: string
name: extract_symbolic_data
arguments: data_label: D401
data_type: string
name: extract_symbolic_data
arguments: data_label: D2310
data_type: string
name: extract_symbolic_data
arguments: data_label: D464
data_type: string
name: extract_symbolic_data
arguments: data_label: D1672
data_type: string
name: extract_symbolic_data
arguments: data_label: D931
data_type: string
name: extract_symbolic_data
arguments: data_label: D1763
data_type: string
name: extract_symbolic_data
arguments: data_label: D2695
data_type: string
name: extract_symbolic_data
arguments: data_label: D95
data_type: string
name: extract_symbolic_data
arguments: data_label: D713
data_type: string
name: extract_symbolic_data
arguments: data_label: D283
data_type: string
name: extract_symbolic_data
arguments: data_label: D1057
data_type: string
name: extract_symbolic_data
arguments: data_label: D250
data_type: string
name: extract_symbolic_data
arguments: data_label: D1846
data_type: string
name: extract_symbolic_data
arguments: data_label: D1624
data_type: string
name: extract_symbolic_data
arguments: data_label: D2782
data_type: string
name: extract_symbolic_data
arguments: data_label: D1094
data_type: string
name: extract_symbolic_data
arguments: data_label: D2583
data_type: string
name: extract_symbolic_data
arguments: data_label: D1238
data_type: string
name: extract_symbolic_data
arguments: data_label: D2816
data_type: string
name: extract_symbolic_data
arguments: data_label: D2176
data_type: string
name: extract_symbolic_data
arguments: data_label: D1097
data_type: string
name: extract_symbolic_data
arguments: data_label: D284
data_type: string
name: extract_symbolic_data
arguments: data_label: D2450
data_type: string
name: extract_symbolic_data
arguments: data_label: D1760
data_type: string
name: extract_symbolic_data
arguments: data_label: D1574
data_type: string
name: extract_symbolic_data
arguments: data_label: D616
data_type: string
name: extract_symbolic_data
arguments: data_label: D2688
data_type: string
name: extract_symbolic_data
arguments: data_label: D1325
data_type: string
name: extract_symbolic_data
arguments: data_label: D1565
data_type: string
name: extract_symbolic_data
arguments: data_label: D2163
data_type: string
name: extract_symbolic_data
arguments: data_label: D2720
data_type: string
name: extract_symbolic_data
arguments: data_label: D32
data_type: string
name: extract_symbolic_data
arguments: data_label: D1011
data_type: string
name: extract_symbolic_data
arguments: data_label: D1632
data_type: string
name: extract_symbolic_data
arguments: data_label: D18
data_type: string
name: extract_symbolic_data
arguments: data_label: D1354
data_type: string
name: extract_symbolic_data
arguments: data_label: D702
data_type: f64
name: extract_symbolic_data
arguments: data_label: D51
data_type: string
name: extract_symbolic_data
arguments: data_label: D2023
data_type: string
name: extract_symbolic_data
arguments: data_label: D2361
data_type: string
name: extract_symbolic_data
arguments: data_label: D511
data_type: string
name: extract_symbolic_data
arguments: data_label: D1837
data_type: string
name: extract_symbolic_data
arguments: data_label: D2822
data_type: string
name: extract_symbolic_data
arguments: data_label: D2736
data_type: string
name: extract_symbolic_data
arguments: data_label: D2195
data_type: string
name: extract_symbolic_data
arguments: data_label: D2845
data_type: string
name: extract_symbolic_data
arguments: data_label: D584
data_type: string
name: extract_symbolic_data
arguments: data_label: D1168
data_type: string
name: extract_symbolic_data
arguments: data_label: D1898
data_type: string

tool: D2478: 3

tool: D195: fault0.rt_prio

tool: D632: 4

tool: D1939: rev0.rt_prio

tool: D1111: rev1.rt_prio

tool: D243: 5

tool: D2797: vel0.rt_prio

tool: D2743: vel1.rt_prio

tool: D266: 6

tool: D1740: stp0.rt_prio

tool: D812: 7

tool: D2021: cauto0.rt_prio

tool: D1605: 8

tool: D2484: pid0.rt_prio

tool: D2878: 9

tool: D1040: t2c0.rt_prio

tool: D1790: 10

tool: D1575: curpid0.rt_prio

tool: D1428: 11

tool: D650: pmsm0.rt_prio

tool: D2971: 12

tool: D2763: pmsm_limits0.rt_prio

tool: D1530: 13

tool: D852: idq0.rt_prio

tool: D2523: 14

tool: D1342: hv0.rt_prio

tool: D2429: 15

tool: D1145: sim0.rt_prio

tool: D1664: term0.rt_prio

tool: D2999: rev0.rev

tool: D1317: conf0.cmd_rev

tool: D2244: net0.cmd

tool: D454: vel0.pos_out

tool: D279: stp0.max_vel

tool: D2354: conf0.max_vel

tool: D1018: stp0.max_acc

tool: D2876: conf0.max_acc

tool: D332: vel0.pos_in

tool: D2271: rev0.out

tool: D205: vel0.en

tool: D413: fault0.enable_pid

tool: D2200: net0.cmd_d

tool: D2509: vel0.vel

tool: D1377: 500

tool: D1512: vel0.w

tool: D3031: pid0.pos_ext_cmd

tool: D2013: pid0.vel_ext_cmd

tool: D529: rev1.rev

tool: D2440: conf0.fb_rev

tool: D1526: vel1.pos_in

tool: D2154: rev1.out

tool: D2671: vel1.en

tool: D156: cauto0.fb_in

tool: D772: vel1.pos_out

tool: D1154: vel1.j

tool: D91: conf0.j

tool: D1996: vel1.torque

tool: D3040: pmsm0.torque

tool: D2338: net0.fb_d

tool: D1219: vel1.vel

tool: D2033: net0.fb

tool: D836: cauto0.fb_out

tool: D2276: pid0.pos_fb

tool: D2821: pid0.vel_fb

tool: D2758: fault0.max_dc_cur

tool: D743: conf0.max_dc_cur

tool: D2267: fault0.max_ac_cur

tool: D2173: conf0.max_ac_cur

tool: D2454: fault0.max_dc_volt

tool: D1357: conf0.max_dc_volt

tool: D322: fault0.max_hv_temp

tool: D1366: conf0.max_hv_temp

tool: D2534: fault0.max_core_temp

tool: D1695: conf0.max_core_temp

tool: D1649: fault0.max_motor_temp

tool: D2965: conf0.max_motor_temp

tool: D642: fault0.max_pos_error

tool: D2738: conf0.max_pos_error

tool: D2957: fault0.high_dc_volt

tool: D2725: conf0.high_dc_volt

tool: D1314: fault0.high_hv_temp

tool: D1598: conf0.high_hv_temp

tool: D1967: fault0.high_motor_temp

tool: D302: conf0.high_motor_temp

tool: D420: fault0.low_dc_volt

tool: D335: conf0.low_dc_volt

tool: D1507: fault0.fan_hv_temp

tool: D1794: conf0.fan_hv_temp

tool: D832: fault0.fan_core_temp

tool: D1810: conf0.fan_core_temp

tool: D2890: fault0.fan_motor_temp

tool: D465: conf0.fan_motor_temp

tool: D880: fault0.phase_on_start

tool: D596: conf0.autophase

tool: D1070: fault0.max_sat

tool: D2115: conf0.max_sat

tool: D2089: 0

tool: D2861: fault0.reset

tool: D193: cauto0.start

tool: D89: fault0.phase_start

tool: D2888: fault0.phase_ready

tool: D2894: cauto0.ready

tool: D260: fault0.pos_error

tool: D2562: pid0.pos_error

tool: D230: fault0.sat

tool: D1975: pid0.saturated

tool: D58: fault0.dc_volt

tool: D2843: hv0.dc_volt

tool: D1418: fault0.hv_temp

tool: D572: hv0.hv_temp

tool: D1013: fault0.core_temp0

tool: D1798: net0.core_temp0

tool: D973: fault0.core_temp1

tool: D2600: net0.core_temp1

tool: D1940: fault0.motor_temp

tool: D315: net0.motor_temp

tool: D513: fault0.dc_cur

tool: D586: hv0.dc_cur

tool: D2676: fault0.fb_error

tool: D2003: net0.fb_error

tool: D308: fault0.cmd

tool: D1304: fault0.fb

tool: D1732: cauto0.start_offset

tool: D1048: fault0.start_offset

tool: D436: curpid0.max_cur

tool: D2351: fault0.cur

tool: D1938: io0.brake

tool: D2852: fault0.brake

tool: D295: io0.fan

tool: D556: fault0.hv_fan

tool: D105: hv0.enable

tool: D2212: fault0.enable_out

tool: D1360: pid0.enable

tool: D2581: fault0.enable

tool: D1989: net0.enable

tool: D647: io0.green

tool: D2061: fault0.led_green

tool: D2934: io0.red

tool: D430: fault0.led_red

tool: D1084: term0.fault

tool: D515: fault0.state

tool: D2710: cauto0.mag_offset

tool: D1076: conf0.fb_offset

tool: D1431: cauto0.cur

tool: D3061: conf0.phase_cur

tool: D50: cauto0.time

tool: D1648: conf0.phase_time

tool: D805: pid0.j

tool: D1537: pid0.p

tool: D589: conf0.p

tool: D2854: pid0.pos_p

tool: D2905: conf0.pos_p

tool: D2603: pid0.vel_p

tool: D411: conf0.vel_p

tool: D3073: pid0.acc_p

tool: D2776: conf0.acc_p

tool: D248: pid0.acc_pi

tool: D1256: conf0.acc_pi

tool: D2001: pid0.max_usr_vel

tool: D1608: pid0.max_usr_acc

tool: D102: pid0.max_usr_torque

tool: D2132: conf0.max_force

tool: D301: 4000

tool: D1014: pid0.pos_lp

tool: D2387: pid0.vel_lp

tool: D1501: pid0.acc_lp

tool: D2462: 1

tool: D1358: pid0.torque_ff

tool: D472: pid0.vel_ff

tool: D1955: pid0.acc_ff

tool: D104: t2c0.torque

tool: D2203: pid0.torque_cor_cmd

tool: D982: t2c0.polecount

tool: D2831: conf0.polecount

tool: D1743: t2c0.psi

tool: D1982: conf0.psi

tool: D1878: curpid0.id_cmd

tool: D282: cauto0.i_d

tool: D1306: curpid0.iq_cmd

tool: D2065: t2c0.cur

tool: D1998: curpid0.dc_volt

tool: D2519: curpid0.ac_volt

tool: D2058: hv0.ac_volt

tool: D3: curpid0.rd

tool: D2935: conf0.r

tool: D1702: curpid0.rq

tool: D1842: curpid0.ld

tool: D1347: conf0.l

tool: D661: curpid0.lq

tool: D1668: curpid0.ff

tool: D612: conf0.cur_ff

tool: D2865: curpid0.kp

tool: D2707: conf0.cur_p

tool: D1551: curpid0.ki

tool: D2987: conf0.cur_i

tool: D1885: curpid0.kind

tool: D1644: conf0.cur_ind

tool: D2348: pmsm0.ud

tool: D330: curpid0.ud

tool: D2305: pmsm0.uq

tool: D2719: curpid0.uq

tool: D2686: pmsm0.vel

tool: D866: pmsm0.r

tool: D2072: pmsm0.ld

tool: D2321: pmsm0.lq

tool: D577: pmsm0.psi

tool: D320: curpid0.id_fb

tool: D1556: pmsm0.id

tool: D2554: curpid0.iq_fb

tool: D1734: pmsm0.iq

tool: D666: curpid0.indd_fb

tool: D401: pmsm0.indd

tool: D2310: curpid0.indq_fb

tool: D464: pmsm0.indq

tool: D1672: pmsm0.polecount

tool: D931: hv0.iq

tool: D1763: pmsm_limits0.r

tool: D2695: pmsm_limits0.ld

tool: D95: pmsm_limits0.lq

tool: D713: pmsm_limits0.psi

tool: D283: pmsm_limits0.polecount

tool: D1057: pmsm_limits0.ac_volt

tool: D250: pmsm_limits0.indq

tool: D1846: pmsm_limits0.iq

tool: D1624: pid0.max_torque

tool: D2782: pmsm_limits0.next_max_torque

tool: D1094: pid0.min_torque

tool: D2583: pmsm_limits0.next_min_torque

tool: D1238: pid0.max_vel

tool: D2816: pmsm_limits0.abs_max_vel

tool: D2176: idq0.d

tool: D1097: idq0.q

tool: D284: idq0.polecount

tool: D2450: hv0.a

tool: D1760: idq0.a

tool: D1574: hv0.b

tool: D616: idq0.b

tool: D2688: hv0.rev

tool: D1325: conf0.out_rev

tool: D1565: idq0.pos

tool: D2163: cauto0.pos

tool: D2720: sim0.res

tool: D32: conf0.cmd_res

tool: D1011: term0.wave0

tool: D1632: term0.wave1

tool: D18: term0.wave2

tool: D1354: term0.wave3

tool: D702: 20

tool: D51: term0.gain0

tool: D2023: term0.gain1

tool: D2361: term0.gain2

tool: D511: term0.gain3

tool: D1837: adc0.sin_gain

tool: D2822: conf0.sin_gain

tool: D2736: adc0.cos_gain

tool: D2195: conf0.cos_gain

tool: D2845: adc0.sin_offset

tool: D584: conf0.sin_offset

tool: D1168: adc0.cos_offset

tool: D1898: conf0.cos_offset

assistant: ```c
void link_pid() {
  set_hal_pin("fault0.rt_prio", 3.0);
  set_hal_pin("rev0.rt_prio", 4.0);
  set_hal_pin("rev1.rt_prio", 4.0);
  set_hal_pin("vel0.rt_prio", 5.0);
  set_hal_pin("vel1.rt_prio", 5.0);
  set_hal_pin("stp0.rt_prio", 6.0);
  set_hal_pin("cauto0.rt_prio", 7.0);
  set_hal_pin("pid0.rt_prio", 8.0);
  set_hal_pin("t2c0.rt_prio", 9.0);
  set_hal_pin("curpid0.rt_prio", 10.0);
  set_hal_pin("pmsm0.rt_prio", 11.0);
  set_hal_pin("pmsm_limits0.rt_prio", 12.0);
  set_hal_pin("idq0.rt_prio", 13.0);
  set_hal_pin("hv0.rt_prio", 14.0);
  set_hal_pin("sim0.rt_prio", 15.0);
  set_hal_pin("term0.rt_prio", 15.0);
  link_hal_pins("conf0.cmd_rev", "rev0.rev");
  link_hal_pins("vel0.pos_out", "net0.cmd");
  link_hal_pins("conf0.max_vel", "stp0.max_vel");
  link_hal_pins("conf0.max_acc", "stp0.max_acc");
  link_hal_pins("rev0.out", "vel0.pos_in");
  link_hal_pins("fault0.enable_pid", "vel0.en");
  link_hal_pins("vel0.vel", "net0.cmd_d");
  set_hal_pin("vel0.w", 500.0);
  link_hal_pins("net0.cmd", "pid0.pos_ext_cmd");
  link_hal_pins("net0.cmd_d", "pid0.vel_ext_cmd");
  link_hal_pins("conf0.fb_rev", "rev1.rev");
  link_hal_pins("rev1.out", "vel1.pos_in");
  link_hal_pins("fault0.enable_pid", "vel1.en");
  link_hal_pins("vel1.pos_out", "cauto0.fb_in");
  link_hal_pins("conf0.j", "vel1.j");
  link_hal_pins("pmsm0.torque", "vel1.torque");
  link_hal_pins("vel1.vel", "net0.fb_d");
  link_hal_pins("cauto0.fb_out", "net0.fb");
  link_hal_pins("net0.fb", "pid0.pos_fb");
  link_hal_pins("net0.fb_d", "pid0.vel_fb");
  link_hal_pins("conf0.max_dc_cur", "fault0.max_dc_cur");
  link_hal_pins("conf0.max_ac_cur", "fault0.max_ac_cur");
  link_hal_pins("conf0.max_dc_volt", "fault0.max_dc_volt");
  link_hal_pins("conf0.max_hv_temp", "fault0.max_hv_temp");
  link_hal_pins("conf0.max_core_temp", "fault0.max_core_temp");
  link_hal_pins("conf0.max_motor_temp", "fault0.max_motor_temp");
  link_hal_pins("conf0.max_pos_error", "fault0.max_pos_error");
  link_hal_pins("conf0.high_dc_volt", "fault0.high_dc_volt");
  link_hal_pins("conf0.high_hv_temp", "fault0.high_hv_temp");
  link_hal_pins("conf0.high_motor_temp", "fault0.high_motor_temp");
  link_hal_pins("conf0.low_dc_volt", "fault0.low_dc_volt");
  link_hal_pins("conf0.fan_hv_temp", "fault0.fan_hv_temp");
  link_hal_pins("conf0.fan_core_temp", "fault0.fan_core_temp");
  link_hal_pins("conf0.fan_motor_temp", "fault0.fan_motor_temp");
  link_hal_pins("conf0.autophase", "fault0.phase_on_start");
  link_hal_pins("conf0.max_sat", "fault0.max_sat");
  set_hal_pin("fault0.reset", 0.0);
  link_hal_pins("fault0.phase_start", "cauto0.start");
  link_hal_pins("cauto0.ready", "fault0.phase_ready");
  link_hal_pins("pid0.pos_error", "fault0.pos_error");
  link_hal_pins("pid0.saturated", "fault0.sat");
  link_hal_pins("hv0.dc_volt", "fault0.dc_volt");
  link_hal_pins("hv0.hv_temp", "fault0.hv_temp");
  link_hal_pins("net0.core_temp0", "fault0.core_temp0");
  link_hal_pins("net0.core_temp1", "fault0.core_temp1");
  link_hal_pins("net0.motor_temp", "fault0.motor_temp");
  link_hal_pins("hv0.dc_cur", "fault0.dc_cur");
  link_hal_pins("net0.fb_error", "fault0.fb_error");
  link_hal_pins("net0.cmd", "fault0.cmd");
  link_hal_pins("rev1.out", "fault0.fb");
  link_hal_pins("fault0.start_offset", "cauto0.start_offset");
  link_hal_pins("fault0.cur", "curpid0.max_cur");
  link_hal_pins("fault0.brake", "io0.brake");
  link_hal_pins("fault0.hv_fan", "io0.fan");
  link_hal_pins("fault0.enable_out", "hv0.enable");
  link_hal_pins("fault0.enable_pid", "pid0.enable");
  link_hal_pins("net0.enable", "fault0.enable");
  link_hal_pins("fault0.led_green", "io0.green");
  link_hal_pins("fault0.led_red", "io0.red");
  link_hal_pins("fault0.state", "term0.fault");
  link_hal_pins("conf0.fb_offset", "cauto0.mag_offset");
  link_hal_pins("conf0.phase_cur", "cauto0.cur");
  link_hal_pins("conf0.phase_time", "cauto0.time");
  link_hal_pins("conf0.j", "pid0.j");
  link_hal_pins("conf0.p", "pid0.p");
  link_hal_pins("conf0.pos_p", "pid0.pos_p");
  link_hal_pins("conf0.vel_p", "pid0.vel_p");
  link_hal_pins("conf0.acc_p", "pid0.acc_p");
  link_hal_pins("conf0.acc_pi", "pid0.acc_pi");
  link_hal_pins("conf0.max_vel", "pid0.max_usr_vel");
  link_hal_pins("conf0.max_acc", "pid0.max_usr_acc");
  link_hal_pins("conf0.max_force", "pid0.max_usr_torque");
  set_hal_pin("pid0.pos_lp", 4000.0);
  set_hal_pin("pid0.vel_lp", 4000.0);
  set_hal_pin("pid0.acc_lp", 4000.0);
  set_hal_pin("pid0.torque_ff", 1.0);
  set_hal_pin("pid0.vel_ff", 1.0);
  set_hal_pin("pid0.acc_ff", 1.0);
  set_hal_pin("net0.enable", 1.0);
  link_hal_pins("pid0.torque_cor_cmd", "t2c0.torque");
  link_hal_pins("conf0.polecount", "t2c0.polecount");
  link_hal_pins("conf0.psi", "t2c0.psi");
  link_hal_pins("cauto0.i_d", "curpid0.id_cmd");
  link_hal_pins("t2c0.cur", "curpid0.iq_cmd");
  link_hal_pins("hv0.dc_volt", "curpid0.dc_volt");
  link_hal_pins("hv0.ac_volt", "curpid0.ac_volt");
  link_hal_pins("conf0.r", "curpid0.rd");
  link_hal_pins("conf0.r", "curpid0.rq");
  link_hal_pins("conf0.l", "curpid0.ld");
  link_hal_pins("conf0.l", "curpid0.lq");
  link_hal_pins("conf0.cur_ff", "curpid0.ff");
  link_hal_pins("conf0.cur_p", "curpid0.kp");
  link_hal_pins("conf0.cur_i", "curpid0.ki");
  link_hal_pins("conf0.cur_ind", "curpid0.kind");
  link_hal_pins("curpid0.ud", "pmsm0.ud");
  link_hal_pins("curpid0.uq", "pmsm0.uq");
  link_hal_pins("net0.fb_d", "pmsm0.vel");
  link_hal_pins("conf0.r", "pmsm0.r");
  link_hal_pins("conf0.l", "pmsm0.ld");
  link_hal_pins("conf0.l", "pmsm0.lq");
  link_hal_pins("conf0.psi", "pmsm0.psi");
  link_hal_pins("pmsm0.id", "curpid0.id_fb");
  link_hal_pins("pmsm0.iq", "curpid0.iq_fb");
  link_hal_pins("pmsm0.indd", "curpid0.indd_fb");
  link_hal_pins("pmsm0.indq", "curpid0.indq_fb");
  link_hal_pins("conf0.polecount", "pmsm0.polecount");
  link_hal_pins("pmsm0.iq", "hv0.iq");
  link_hal_pins("conf0.r", "pmsm_limits0.r");
  link_hal_pins("conf0.l", "pmsm_limits0.ld");
  link_hal_pins("conf0.l", "pmsm_limits0.lq");
  link_hal_pins("conf0.psi", "pmsm_limits0.psi");
  link_hal_pins("conf0.polecount", "pmsm_limits0.polecount");
  link_hal_pins("hv0.ac_volt", "pmsm_limits0.ac_volt");
  link_hal_pins("pmsm0.indq", "pmsm_limits0.indq");
  link_hal_pins("pmsm0.iq", "pmsm_limits0.iq");
  link_hal_pins("pmsm_limits0.next_max_torque", "pid0.max_torque");
  link_hal_pins("pmsm_limits0.next_min_torque", "pid0.min_torque");
  link_hal_pins("pmsm_limits0.abs_max_vel", "pid0.max_vel");
  link_hal_pins("curpid0.ud", "idq0.d");
  link_hal_pins("curpid0.uq", "idq0.q");
  link_hal_pins("conf0.polecount", "idq0.polecount");
  link_hal_pins("idq0.a", "hv0.a");
  link_hal_pins("idq0.b", "hv0.b");
  link_hal_pins("conf0.out_rev", "hv0.rev");
  link_hal_pins("cauto0.pos", "idq0.pos");
  link_hal_pins("conf0.cmd_res", "sim0.res");
  link_hal_pins("net0.cmd", "term0.wave0");
  link_hal_pins("net0.fb", "term0.wave1");
  link_hal_pins("net0.cmd_d", "term0.wave2");
  link_hal_pins("net0.fb_d", "term0.wave3");
  set_hal_pin("term0.gain0", 20.0);
  set_hal_pin("term0.gain1", 20.0);
  set_hal_pin("term0.gain2", 1.0);
  set_hal_pin("term0.gain3", 1.0);
  link_hal_pins("conf0.sin_gain", "adc0.sin_gain");
  link_hal_pins("conf0.cos_gain", "adc0.cos_gain");
  link_hal_pins("conf0.sin_offset", "adc0.sin_offset");
  link_hal_pins("conf0.cos_offset", "adc0.cos_offset");
}
```