user: 下面的汇编指令对应的C源代码是什么:

```asm
<UOM_tfromString>:
  endbr64
  push   %rbp
  lea    D657(%rip),%rsi
  mov    %rdi,%rbp
  call   <strcmp@plt>
  mov    %rax,%r8
  xor    %eax,%eax
  test   %r8,%r8
  jne    L684
L205:
  pop    %rbp
  ret
L684:
  lea    D718(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x1,%eax
  test   %r8,%r8
  je     L205
  lea    D198(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x2,%eax
  test   %r8,%r8
  je     L205
  lea    D130(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x3,%eax
  test   %r8,%r8
  je     L205
  lea    D364(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x4,%eax
  test   %r8,%r8
  je     L205
  lea    D774(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x5,%eax
  test   %r8,%r8
  je     L205
  lea    D339(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x6,%eax
  test   %r8,%r8
  je     L205
  lea    D405(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x7,%eax
  test   %r8,%r8
  je     L205
  lea    D166(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x8,%eax
  test   %r8,%r8
  je     L205
  lea    D680(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x9,%eax
  test   %r8,%r8
  je     L205
  lea    D738(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0xa,%eax
  test   %r8,%r8
  je     L205
  lea    D834(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0xb,%eax
  test   %r8,%r8
  je     L205
  lea    D426(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0xc,%eax
  test   %r8,%r8
  je     L205
  lea    D537(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0xd,%eax
  test   %r8,%r8
  je     L205
  lea    D363(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0xe,%eax
  test   %r8,%r8
  je     L205
  lea    D457(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L846
  lea    D240(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L492
  lea    D53(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L782
  lea    D288(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L586
  lea    D404(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L648
  lea    D432(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L628
  lea    D360(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L153
  lea    D36(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L121
  lea    D772(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L488
  lea    D483(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L582
  lea    D27(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L174
  lea    D356(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L754
  lea    D253(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L207
  lea    D648(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L204
  lea    D719(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L293
  lea    D200(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L505
  lea    D579(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L653
  lea    D649(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L481
  lea    D767(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L82
  lea    D655(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L195
  lea    D89(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L378
  lea    D273(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L836
  lea    D653(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L520
  lea    D460(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L676
  lea    D538(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L143
  lea    D642(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L156
  lea    D783(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L845
  lea    D697(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L496
  lea    D234(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L349
  lea    D516(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L483
  lea    D778(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L756
  lea    D812(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L25
  lea    D571(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L681
  lea    D222(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L403
  lea    D299(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L131
  lea    D17(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L221
  lea    D793(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L500
  lea    D855(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L360
  lea    D380(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L473
  lea    D295(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L434
  lea    D463(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L763
  lea    D762(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L132
  lea    D478(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L618
  lea    D613(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L114
  lea    D782(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L668
  lea    D588(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L348
  lea    D740(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L266
  lea    D197(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L287
  lea    D681(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L217
  lea    D768(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L765
  lea    D638(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L518
  lea    D305(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L467
  lea    D818(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L394
  lea    D268(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L554
  lea    D669(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L603
  lea    D349(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L502
  lea    D186(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L140
  lea    D819(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L673
  lea    D232(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L31
  lea    D327(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L189
  lea    D846(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L788
  lea    D672(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L448
  lea    D572(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L827
  lea    D261(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L73
  lea    D675(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L78
  lea    D714(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L392
  lea    D558(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L682
  lea    D419(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L830
  lea    D564(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L667
  lea    D485(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L672
  lea    D297(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L405
  mov    %rbp,%rdi
  lea    D233(%rip),%rsi
  call   <strcmp@plt>
  pop    %rbp
  cmp    $0x1,%rax
  sbb    %eax,%eax
  and    $0x56,%eax
  ret
L846:
  mov    $0xf,%eax
  pop    %rbp
  ret
L492:
  mov    $0x10,%eax
  pop    %rbp
  ret
L782:
  mov    $0x11,%eax
  pop    %rbp
  ret
L586:
  mov    $0x12,%eax
  pop    %rbp
  ret
L648:
  mov    $0x13,%eax
  pop    %rbp
  ret
L405:
  mov    $0x55,%eax
  pop    %rbp
  ret
L672:
  mov    $0x54,%eax
  pop    %rbp
  ret
L667:
  mov    $0x53,%eax
  pop    %rbp
  ret
L830:
  mov    $0x52,%eax
  pop    %rbp
  ret
L682:
  mov    $0x51,%eax
  pop    %rbp
  ret
L392:
  mov    $0x50,%eax
  pop    %rbp
  ret
L488:
  mov    $0x17,%eax
  pop    %rbp
  ret
L121:
  mov    $0x16,%eax
  pop    %rbp
  ret
L153:
  mov    $0x15,%eax
  pop    %rbp
  ret
L628:
  mov    $0x14,%eax
  pop    %rbp
  ret
L653:
  mov    $0x1f,%eax
  pop    %rbp
  ret
L505:
  mov    $0x1e,%eax
  pop    %rbp
  ret
L293:
  mov    $0x1d,%eax
  pop    %rbp
  ret
L204:
  mov    $0x1c,%eax
  pop    %rbp
  ret
L207:
  mov    $0x1b,%eax
  pop    %rbp
  ret
L754:
  mov    $0x1a,%eax
  pop    %rbp
  ret
L174:
  mov    $0x19,%eax
  pop    %rbp
  ret
L582:
  mov    $0x18,%eax
  pop    %rbp
  ret
L681:
  mov    $0x2f,%eax
  pop    %rbp
  ret
L25:
  mov    $0x2e,%eax
  pop    %rbp
  ret
L756:
  mov    $0x2d,%eax
  pop    %rbp
  ret
L483:
  mov    $0x2c,%eax
  pop    %rbp
  ret
L349:
  mov    $0x2b,%eax
  pop    %rbp
  ret
L496:
  mov    $0x2a,%eax
  pop    %rbp
  ret
L845:
  mov    $0x29,%eax
  pop    %rbp
  ret
L156:
  mov    $0x28,%eax
  pop    %rbp
  ret
L143:
  mov    $0x27,%eax
  pop    %rbp
  ret
L676:
  mov    $0x26,%eax
  pop    %rbp
  ret
L520:
  mov    $0x25,%eax
  pop    %rbp
  ret
L836:
  mov    $0x24,%eax
  pop    %rbp
  ret
L378:
  mov    $0x23,%eax
  pop    %rbp
  ret
L195:
  mov    $0x22,%eax
  pop    %rbp
  ret
L82:
  mov    $0x21,%eax
  pop    %rbp
  ret
L481:
  mov    $0x20,%eax
  pop    %rbp
  ret
L78:
  mov    $0x4f,%eax
  pop    %rbp
  ret
L73:
  mov    $0x4e,%eax
  pop    %rbp
  ret
L827:
  mov    $0x4d,%eax
  pop    %rbp
  ret
L448:
  mov    $0x4c,%eax
  pop    %rbp
  ret
L788:
  mov    $0x4b,%eax
  pop    %rbp
  ret
L189:
  mov    $0x4a,%eax
  pop    %rbp
  ret
L31:
  mov    $0x49,%eax
  pop    %rbp
  ret
L673:
  mov    $0x48,%eax
  pop    %rbp
  ret
L140:
  mov    $0x47,%eax
  pop    %rbp
  ret
L502:
  mov    $0x46,%eax
  pop    %rbp
  ret
L603:
  mov    $0x45,%eax
  pop    %rbp
  ret
L554:
  mov    $0x44,%eax
  pop    %rbp
  ret
L394:
  mov    $0x43,%eax
  pop    %rbp
  ret
L467:
  mov    $0x42,%eax
  pop    %rbp
  ret
L518:
  mov    $0x41,%eax
  pop    %rbp
  ret
L765:
  mov    $0x40,%eax
  pop    %rbp
  ret
L217:
  mov    $0x3f,%eax
  pop    %rbp
  ret
L287:
  mov    $0x3e,%eax
  pop    %rbp
  ret
L266:
  mov    $0x3d,%eax
  pop    %rbp
  ret
L348:
  mov    $0x3c,%eax
  pop    %rbp
  ret
L668:
  mov    $0x3b,%eax
  pop    %rbp
  ret
L114:
  mov    $0x3a,%eax
  pop    %rbp
  ret
L618:
  mov    $0x39,%eax
  pop    %rbp
  ret
L132:
  mov    $0x38,%eax
  pop    %rbp
  ret
L763:
  mov    $0x37,%eax
  pop    %rbp
  ret
L434:
  mov    $0x36,%eax
  pop    %rbp
  ret
L473:
  mov    $0x35,%eax
  pop    %rbp
  ret
L360:
  mov    $0x34,%eax
  pop    %rbp
  ret
L500:
  mov    $0x33,%eax
  pop    %rbp
  ret
L221:
  mov    $0x32,%eax
  pop    %rbp
  ret
L131:
  mov    $0x31,%eax
  pop    %rbp
  ret
L403:
  mov    $0x30,%eax
  pop    %rbp
  ret
```

tool_calls: name: read_data
arguments: data_label: D657
datatype: string
name: read_data
arguments: data_label: D718
datatype: string
name: read_data
arguments: data_label: D198
datatype: string
name: read_data
arguments: data_label: D130
datatype: string
name: read_data
arguments: data_label: D364
datatype: string
name: read_data
arguments: data_label: D774
datatype: string
name: read_data
arguments: data_label: D339
datatype: string
name: read_data
arguments: data_label: D405
datatype: string
name: read_data
arguments: data_label: D166
datatype: string
name: read_data
arguments: data_label: D680
datatype: string
name: read_data
arguments: data_label: D738
datatype: string
name: read_data
arguments: data_label: D834
datatype: string
name: read_data
arguments: data_label: D426
datatype: string
name: read_data
arguments: data_label: D537
datatype: string
name: read_data
arguments: data_label: D363
datatype: string
name: read_data
arguments: data_label: D457
datatype: string
name: read_data
arguments: data_label: D240
datatype: string
name: read_data
arguments: data_label: D53
datatype: string
name: read_data
arguments: data_label: D288
datatype: string
name: read_data
arguments: data_label: D404
datatype: string
name: read_data
arguments: data_label: D432
datatype: string
name: read_data
arguments: data_label: D360
datatype: string
name: read_data
arguments: data_label: D36
datatype: string
name: read_data
arguments: data_label: D772
datatype: string
name: read_data
arguments: data_label: D483
datatype: string
name: read_data
arguments: data_label: D27
datatype: string
name: read_data
arguments: data_label: D356
datatype: string
name: read_data
arguments: data_label: D253
datatype: string
name: read_data
arguments: data_label: D648
datatype: string
name: read_data
arguments: data_label: D719
datatype: string
name: read_data
arguments: data_label: D200
datatype: string
name: read_data
arguments: data_label: D579
datatype: string
name: read_data
arguments: data_label: D649
datatype: string
name: read_data
arguments: data_label: D767
datatype: string
name: read_data
arguments: data_label: D655
datatype: string
name: read_data
arguments: data_label: D89
datatype: string
name: read_data
arguments: data_label: D273
datatype: string
name: read_data
arguments: data_label: D653
datatype: string
name: read_data
arguments: data_label: D460
datatype: string
name: read_data
arguments: data_label: D538
datatype: string
name: read_data
arguments: data_label: D642
datatype: string
name: read_data
arguments: data_label: D783
datatype: string
name: read_data
arguments: data_label: D697
datatype: string
name: read_data
arguments: data_label: D234
datatype: string
name: read_data
arguments: data_label: D516
datatype: string
name: read_data
arguments: data_label: D778
datatype: string
name: read_data
arguments: data_label: D812
datatype: string
name: read_data
arguments: data_label: D571
datatype: string
name: read_data
arguments: data_label: D222
datatype: string
name: read_data
arguments: data_label: D299
datatype: string
name: read_data
arguments: data_label: D17
datatype: string
name: read_data
arguments: data_label: D793
datatype: string
name: read_data
arguments: data_label: D855
datatype: string
name: read_data
arguments: data_label: D380
datatype: string
name: read_data
arguments: data_label: D295
datatype: string
name: read_data
arguments: data_label: D463
datatype: string
name: read_data
arguments: data_label: D762
datatype: string
name: read_data
arguments: data_label: D478
datatype: string
name: read_data
arguments: data_label: D613
datatype: string
name: read_data
arguments: data_label: D782
datatype: string
name: read_data
arguments: data_label: D588
datatype: string
name: read_data
arguments: data_label: D740
datatype: string
name: read_data
arguments: data_label: D197
datatype: string
name: read_data
arguments: data_label: D681
datatype: string
name: read_data
arguments: data_label: D768
datatype: string
name: read_data
arguments: data_label: D638
datatype: string
name: read_data
arguments: data_label: D305
datatype: string
name: read_data
arguments: data_label: D818
datatype: string
name: read_data
arguments: data_label: D268
datatype: string
name: read_data
arguments: data_label: D669
datatype: string
name: read_data
arguments: data_label: D349
datatype: string
name: read_data
arguments: data_label: D186
datatype: string
name: read_data
arguments: data_label: D819
datatype: string
name: read_data
arguments: data_label: D232
datatype: string
name: read_data
arguments: data_label: D327
datatype: string
name: read_data
arguments: data_label: D846
datatype: string
name: read_data
arguments: data_label: D672
datatype: string
name: read_data
arguments: data_label: D572
datatype: string
name: read_data
arguments: data_label: D261
datatype: string
name: read_data
arguments: data_label: D675
datatype: string
name: read_data
arguments: data_label: D714
datatype: string
name: read_data
arguments: data_label: D558
datatype: string
name: read_data
arguments: data_label: D419
datatype: string
name: read_data
arguments: data_label: D564
datatype: string
name: read_data
arguments: data_label: D485
datatype: string
name: read_data
arguments: data_label: D297
datatype: string
name: read_data
arguments: data_label: D233
datatype: string

tool: D657: unknown

tool: D718: ft

tool: D198: in

tool: D130: um

tool: D364: mils

tool: D774: microns

tool: D339: mm

tool: D405: ips

tool: D166: mm_sec

tool: D680: m_s

tool: D738: m_min

tool: D834: um_min

tool: D426: um_sec

tool: D537: ft_min

tool: D363: gs

tool: D457: m_s2

tool: D240: Amp

tool: D53: Amperage

tool: D288: bars

tool: D404: BOV

tool: D432: BTU

tool: D360: BTU_h

tool: D36: BTU_min

tool: D772: CFH

tool: D483: cfu_ml_log

tool: D27: count

tool: D356: CPM

tool: D253: deg_C

tool: D648: deg_F

tool: D719: deg_K

tool: D200: dynes

tool: D579: Ergs

tool: D649: fathoms

tool: D767: ft_lb

tool: D655: ft_lb_min

tool: D89: ft_lb_s

tool: D273: Gallons

tool: D653: gpm

tool: D460: hrs

tool: D538: Hz

tool: D642: Inches_H2O

tool: D783: inches_HG

tool: D697: J

tool: D234: J_s

tool: D516: kA

tool: D778: kg

tool: D812: kg_Cal

tool: D571: kg_Cal_min

tool: D222: kg_m

tool: D299: kg_cm2

tool: D17: Knots

tool: D793: kPa

tool: D855: kV

tool: D380: kva

tool: D295: kW

tool: D463: kWh

tool: D762: lbs

tool: D478: lbs_of_F

tool: D613: load

tool: D782: Loaded_Hours

tool: D588: Loaded_PSI

tool: D740: mA

tool: D197: min

tool: D681: minutes

tool: D768: Mohm

tool: D638: Moisture_PPM

tool: D305: mV

tool: D818: MW

tool: D268: N

tool: D669: Pa

tool: D349: Percent

tool: D186: pH

tool: D819: ppb

tool: D232: ppm

tool: D327: prtcls_mL

tool: D846: PSF

tool: D672: PSI

tool: D572: PSID

tool: D261: RPM

tool: D675: Torrs

tool: D714: Total_Acid_Number

tool: D558: uMhos

tool: D419: uS

tool: D564: uS_cm

tool: D485: V

tool: D297: Vdc

tool: D233: watts

assistant: ```c
int UOM_tfromString(char *UOM) {
  if (strcmp(UOM, "unknown") == 0) {
    return 0;
  }
  if (strcmp(UOM, "ft") == 0) {
    return 1;
  }
  if (strcmp(UOM, "in") == 0) {
    return 2;
  }
  if (strcmp(UOM, "um") == 0) {
    return 3;
  }
  if (strcmp(UOM, "mils") == 0) {
    return 4;
  }
  if (strcmp(UOM, "microns") == 0) {
    return 5;
  }
  if (strcmp(UOM, "mm") == 0) {
    return 6;
  }
  if (strcmp(UOM, "ips") == 0) {
    return 7;
  }
  if (strcmp(UOM, "mm_sec") == 0) {
    return 8;
  }
  if (strcmp(UOM, "m_s") == 0) {
    return 9;
  }
  if (strcmp(UOM, "m_min") == 0) {
    return 10;
  }
  if (strcmp(UOM, "um_min") == 0) {
    return 11;
  }
  if (strcmp(UOM, "um_sec") == 0) {
    return 12;
  }
  if (strcmp(UOM, "ft_min") == 0) {
    return 13;
  }
  if (strcmp(UOM, "gs") == 0) {
    return 14;
  }
  if (strcmp(UOM, "m_s2") == 0) {
    return 15;
  }
  if (strcmp(UOM, "Amp") == 0) {
    return 16;
  }
  if (strcmp(UOM, "Amperage") == 0) {
    return 17;
  }
  if (strcmp(UOM, "bars") == 0) {
    return 18;
  }
  if (strcmp(UOM, "BOV") == 0) {
    return 19;
  }
  if (strcmp(UOM, "BTU") == 0) {
    return 20;
  }
  if (strcmp(UOM, "BTU_h") == 0) {
    return 21;
  }
  if (strcmp(UOM, "BTU_min") == 0) {
    return 22;
  }
  if (strcmp(UOM, "CFH") == 0) {
    return 23;
  }
  if (strcmp(UOM, "cfu_ml_log") == 0) {
    return 24;
  }
  if (strcmp(UOM, "count") == 0) {
    return 25;
  }
  if (strcmp(UOM, "CPM") == 0) {
    return 26;
  }
  if (strcmp(UOM, "deg_C") == 0) {
    return 27;
  }
  if (strcmp(UOM, "deg_F") == 0) {
    return 28;
  }
  if (strcmp(UOM, "deg_K") == 0) {
    return 29;
  }
  if (strcmp(UOM, "dynes") == 0) {
    return 30;
  }
  if (strcmp(UOM, "Ergs") == 0) {
    return 31;
  }
  if (strcmp(UOM, "fathoms") == 0) {
    return 32;
  }
  if (strcmp(UOM, "ft_lb") == 0) {
    return 33;
  }
  if (strcmp(UOM, "ft_lb_min") == 0) {
    return 34;
  }
  if (strcmp(UOM, "ft_lb_s") == 0) {
    return 35;
  }
  if (strcmp(UOM, "Gallons") == 0) {
    return 36;
  }
  if (strcmp(UOM, "gpm") == 0) {
    return 37;
  }
  if (strcmp(UOM, "hrs") == 0) {
    return 38;
  }
  if (strcmp(UOM, "Hz") == 0) {
    return 39;
  }
  if (strcmp(UOM, "Inches_H2O") == 0) {
    return 40;
  }
  if (strcmp(UOM, "inches_HG") == 0) {
    return 41;
  }
  if (strcmp(UOM, "J") == 0) {
    return 42;
  }
  if (strcmp(UOM, "J_s") == 0) {
    return 43;
  }
  if (strcmp(UOM, "kA") == 0) {
    return 44;
  }
  if (strcmp(UOM, "kg") == 0) {
    return 45;
  }
  if (strcmp(UOM, "kg_Cal") == 0) {
    return 46;
  }
  if (strcmp(UOM, "kg_Cal_min") == 0) {
    return 47;
  }
  if (strcmp(UOM, "kg_m") == 0) {
    return 48;
  }
  if (strcmp(UOM, "kg_cm2") == 0) {
    return 49;
  }
  if (strcmp(UOM, "Knots") == 0) {
    return 50;
  }
  if (strcmp(UOM, "kPa") == 0) {
    return 51;
  }
  if (strcmp(UOM, "kV") == 0) {
    return 52;
  }
  if (strcmp(UOM, "kva") == 0) {
    return 53;
  }
  if (strcmp(UOM, "kW") == 0) {
    return 54;
  }
  if (strcmp(UOM, "kWh") == 0) {
    return 55;
  }
  if (strcmp(UOM, "lbs") == 0) {
    return 56;
  }
  if (strcmp(UOM, "lbs_of_F") == 0) {
    return 57;
  }
  if (strcmp(UOM, "load") == 0) {
    return 58;
  }
  if (strcmp(UOM, "Loaded_Hours") == 0) {
    return 59;
  }
  if (strcmp(UOM, "Loaded_PSI") == 0) {
    return 60;
  }
  if (strcmp(UOM, "mA") == 0) {
    return 61;
  }
  if (strcmp(UOM, "min") == 0) {
    return 62;
  }
  if (strcmp(UOM, "minutes") == 0) {
    return 63;
  }
  if (strcmp(UOM, "Mohm") == 0) {
    return 64;
  }
  if (strcmp(UOM, "Moisture_PPM") == 0) {
    return 65;
  }
  if (strcmp(UOM, "mV") == 0) {
    return 66;
  }
  if (strcmp(UOM, "MW") == 0) {
    return 67;
  }
  if (strcmp(UOM, "N") == 0) {
    return 68;
  }
  if (strcmp(UOM, "Pa") == 0) {
    return 69;
  }
  if (strcmp(UOM, "Percent") == 0) {
    return 70;
  }
  if (strcmp(UOM, "pH") == 0) {
    return 71;
  }
  if (strcmp(UOM, "ppb") == 0) {
    return 72;
  }
  if (strcmp(UOM, "ppm") == 0) {
    return 73;
  }
  if (strcmp(UOM, "prtcls_mL") == 0) {
    return 74;
  }
  if (strcmp(UOM, "PSF") == 0) {
    return 75;
  }
  if (strcmp(UOM, "PSI") == 0) {
    return 76;
  }
  if (strcmp(UOM, "PSID") == 0) {
    return 77;
  }
  if (strcmp(UOM, "RPM") == 0) {
    return 78;
  }
  if (strcmp(UOM, "Torrs") == 0) {
    return 79;
  }
  if (strcmp(UOM, "Total_Acid_Number") == 0) {
    return 80;
  }
  if (strcmp(UOM, "uMhos") == 0) {
    return 81;
  }
  if (strcmp(UOM, "uS") == 0) {
    return 82;
  }
  if (strcmp(UOM, "uS_cm") == 0) {
    return 83;
  }
  if (strcmp(UOM, "V") == 0) {
    return 84;
  }
  if (strcmp(UOM, "Vdc") == 0) {
    return 85;
  }
  if (strcmp(UOM, "watts") == 0) {
    return 86;
  }
  return 0;
}
```