user: What is the c source code of the assembly code below?

```asm
<UOM_tfromString>:
  endbr64
  push   %rbp
  lea    D225(%rip),%rsi
  mov    %rdi,%rbp
  call   <strcmp@plt>
  mov    %rax,%r8
  xor    %eax,%eax
  test   %r8,%r8
  jne    L307
L295:
  pop    %rbp
  ret
L307:
  lea    D5(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x1,%eax
  test   %r8,%r8
  je     L295
  lea    D825(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x2,%eax
  test   %r8,%r8
  je     L295
  lea    D560(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x3,%eax
  test   %r8,%r8
  je     L295
  lea    D558(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x4,%eax
  test   %r8,%r8
  je     L295
  lea    D557(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x5,%eax
  test   %r8,%r8
  je     L295
  lea    D241(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x6,%eax
  test   %r8,%r8
  je     L295
  lea    D836(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x7,%eax
  test   %r8,%r8
  je     L295
  lea    D763(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x8,%eax
  test   %r8,%r8
  je     L295
  lea    D852(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x9,%eax
  test   %r8,%r8
  je     L295
  lea    D285(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0xa,%eax
  test   %r8,%r8
  je     L295
  lea    D667(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0xb,%eax
  test   %r8,%r8
  je     L295
  lea    D143(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0xc,%eax
  test   %r8,%r8
  je     L295
  lea    D400(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0xd,%eax
  test   %r8,%r8
  je     L295
  lea    D126(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0xe,%eax
  test   %r8,%r8
  je     L295
  lea    D572(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L417
  lea    D246(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L299
  lea    D307(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L424
  lea    D480(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L475
  lea    D192(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L829
  lea    D320(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L550
  lea    D578(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L1
  lea    D250(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L301
  lea    D802(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L654
  lea    D790(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L112
  lea    D750(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L63
  lea    D697(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L379
  lea    D555(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L855
  lea    D105(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L377
  lea    D76(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L70
  lea    D639(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L124
  lea    D496(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L68
  lea    D344(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L317
  lea    D4(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L701
  lea    D456(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L371
  lea    D550(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L544
  lea    D674(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L575
  lea    D25(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L22
  lea    D847(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L172
  lea    D77(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L340
  lea    D502(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L759
  lea    D66(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L593
  lea    D172(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L775
  lea    D602(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L783
  lea    D345(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L567
  lea    D523(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L335
  lea    D853(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L480
  lea    D505(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L773
  lea    D837(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L779
  lea    D365(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L209
  lea    D9(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L657
  lea    D24(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L11
  lea    D314(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L394
  lea    D312(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L452
  lea    D765(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L731
  lea    D234(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L470
  lea    D121(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L46
  lea    D97(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L718
  lea    D689(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L19
  lea    D75(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L189
  lea    D537(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L723
  lea    D800(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L787
  lea    D180(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L801
  lea    D561(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L835
  lea    D803(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L522
  lea    D690(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L833
  lea    D407(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L494
  lea    D297(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L583
  lea    D490(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L601
  lea    D125(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L148
  lea    D435(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L553
  lea    D207(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L573
  lea    D552(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L715
  lea    D718(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L255
  lea    D811(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L634
  lea    D221(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L685
  lea    D422(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L463
  lea    D685(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L505
  lea    D644(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L192
  lea    D350(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L820
  lea    D198(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L103
  lea    D843(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L270
  lea    D95(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L799
  lea    D145(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L395
  lea    D454(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L396
  lea    D392(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L376
  mov    %rbp,%rdi
  lea    D673(%rip),%rsi
  call   <strcmp@plt>
  pop    %rbp
  cmp    $0x1,%rax
  sbb    %eax,%eax
  and    $0x56,%eax
  ret
L417:
  mov    $0xf,%eax
  pop    %rbp
  ret
L299:
  mov    $0x10,%eax
  pop    %rbp
  ret
L424:
  mov    $0x11,%eax
  pop    %rbp
  ret
L475:
  mov    $0x12,%eax
  pop    %rbp
  ret
L829:
  mov    $0x13,%eax
  pop    %rbp
  ret
L376:
  mov    $0x55,%eax
  pop    %rbp
  ret
L396:
  mov    $0x54,%eax
  pop    %rbp
  ret
L395:
  mov    $0x53,%eax
  pop    %rbp
  ret
L799:
  mov    $0x52,%eax
  pop    %rbp
  ret
L270:
  mov    $0x51,%eax
  pop    %rbp
  ret
L103:
  mov    $0x50,%eax
  pop    %rbp
  ret
L654:
  mov    $0x17,%eax
  pop    %rbp
  ret
L301:
  mov    $0x16,%eax
  pop    %rbp
  ret
L1:
  mov    $0x15,%eax
  pop    %rbp
  ret
L550:
  mov    $0x14,%eax
  pop    %rbp
  ret
L68:
  mov    $0x1f,%eax
  pop    %rbp
  ret
L124:
  mov    $0x1e,%eax
  pop    %rbp
  ret
L70:
  mov    $0x1d,%eax
  pop    %rbp
  ret
L377:
  mov    $0x1c,%eax
  pop    %rbp
  ret
L855:
  mov    $0x1b,%eax
  pop    %rbp
  ret
L379:
  mov    $0x1a,%eax
  pop    %rbp
  ret
L63:
  mov    $0x19,%eax
  pop    %rbp
  ret
L112:
  mov    $0x18,%eax
  pop    %rbp
  ret
L773:
  mov    $0x2f,%eax
  pop    %rbp
  ret
L480:
  mov    $0x2e,%eax
  pop    %rbp
  ret
L335:
  mov    $0x2d,%eax
  pop    %rbp
  ret
L567:
  mov    $0x2c,%eax
  pop    %rbp
  ret
L783:
  mov    $0x2b,%eax
  pop    %rbp
  ret
L775:
  mov    $0x2a,%eax
  pop    %rbp
  ret
L593:
  mov    $0x29,%eax
  pop    %rbp
  ret
L759:
  mov    $0x28,%eax
  pop    %rbp
  ret
L340:
  mov    $0x27,%eax
  pop    %rbp
  ret
L172:
  mov    $0x26,%eax
  pop    %rbp
  ret
L22:
  mov    $0x25,%eax
  pop    %rbp
  ret
L575:
  mov    $0x24,%eax
  pop    %rbp
  ret
L544:
  mov    $0x23,%eax
  pop    %rbp
  ret
L371:
  mov    $0x22,%eax
  pop    %rbp
  ret
L701:
  mov    $0x21,%eax
  pop    %rbp
  ret
L317:
  mov    $0x20,%eax
  pop    %rbp
  ret
L820:
  mov    $0x4f,%eax
  pop    %rbp
  ret
L192:
  mov    $0x4e,%eax
  pop    %rbp
  ret
L505:
  mov    $0x4d,%eax
  pop    %rbp
  ret
L463:
  mov    $0x4c,%eax
  pop    %rbp
  ret
L685:
  mov    $0x4b,%eax
  pop    %rbp
  ret
L634:
  mov    $0x4a,%eax
  pop    %rbp
  ret
L255:
  mov    $0x49,%eax
  pop    %rbp
  ret
L715:
  mov    $0x48,%eax
  pop    %rbp
  ret
L573:
  mov    $0x47,%eax
  pop    %rbp
  ret
L553:
  mov    $0x46,%eax
  pop    %rbp
  ret
L148:
  mov    $0x45,%eax
  pop    %rbp
  ret
L601:
  mov    $0x44,%eax
  pop    %rbp
  ret
L583:
  mov    $0x43,%eax
  pop    %rbp
  ret
L494:
  mov    $0x42,%eax
  pop    %rbp
  ret
L833:
  mov    $0x41,%eax
  pop    %rbp
  ret
L522:
  mov    $0x40,%eax
  pop    %rbp
  ret
L835:
  mov    $0x3f,%eax
  pop    %rbp
  ret
L801:
  mov    $0x3e,%eax
  pop    %rbp
  ret
L787:
  mov    $0x3d,%eax
  pop    %rbp
  ret
L723:
  mov    $0x3c,%eax
  pop    %rbp
  ret
L189:
  mov    $0x3b,%eax
  pop    %rbp
  ret
L19:
  mov    $0x3a,%eax
  pop    %rbp
  ret
L718:
  mov    $0x39,%eax
  pop    %rbp
  ret
L46:
  mov    $0x38,%eax
  pop    %rbp
  ret
L470:
  mov    $0x37,%eax
  pop    %rbp
  ret
L731:
  mov    $0x36,%eax
  pop    %rbp
  ret
L452:
  mov    $0x35,%eax
  pop    %rbp
  ret
L394:
  mov    $0x34,%eax
  pop    %rbp
  ret
L11:
  mov    $0x33,%eax
  pop    %rbp
  ret
L657:
  mov    $0x32,%eax
  pop    %rbp
  ret
L209:
  mov    $0x31,%eax
  pop    %rbp
  ret
L779:
  mov    $0x30,%eax
  pop    %rbp
  ret
```

tool_calls: name: retrieve_data
arguments: label: D225
type: string
name: retrieve_data
arguments: label: D5
type: string
name: retrieve_data
arguments: label: D825
type: string
name: retrieve_data
arguments: label: D560
type: string
name: retrieve_data
arguments: label: D558
type: string
name: retrieve_data
arguments: label: D557
type: string
name: retrieve_data
arguments: label: D241
type: string
name: retrieve_data
arguments: label: D836
type: string
name: retrieve_data
arguments: label: D763
type: string
name: retrieve_data
arguments: label: D852
type: string
name: retrieve_data
arguments: label: D285
type: string
name: retrieve_data
arguments: label: D667
type: string
name: retrieve_data
arguments: label: D143
type: string
name: retrieve_data
arguments: label: D400
type: string
name: retrieve_data
arguments: label: D126
type: string
name: retrieve_data
arguments: label: D572
type: string
name: retrieve_data
arguments: label: D246
type: string
name: retrieve_data
arguments: label: D307
type: string
name: retrieve_data
arguments: label: D480
type: string
name: retrieve_data
arguments: label: D192
type: string
name: retrieve_data
arguments: label: D320
type: string
name: retrieve_data
arguments: label: D578
type: string
name: retrieve_data
arguments: label: D250
type: string
name: retrieve_data
arguments: label: D802
type: string
name: retrieve_data
arguments: label: D790
type: string
name: retrieve_data
arguments: label: D750
type: string
name: retrieve_data
arguments: label: D697
type: string
name: retrieve_data
arguments: label: D555
type: string
name: retrieve_data
arguments: label: D105
type: string
name: retrieve_data
arguments: label: D76
type: string
name: retrieve_data
arguments: label: D639
type: string
name: retrieve_data
arguments: label: D496
type: string
name: retrieve_data
arguments: label: D344
type: string
name: retrieve_data
arguments: label: D4
type: string
name: retrieve_data
arguments: label: D456
type: string
name: retrieve_data
arguments: label: D550
type: string
name: retrieve_data
arguments: label: D674
type: string
name: retrieve_data
arguments: label: D25
type: string
name: retrieve_data
arguments: label: D847
type: string
name: retrieve_data
arguments: label: D77
type: string
name: retrieve_data
arguments: label: D502
type: string
name: retrieve_data
arguments: label: D66
type: string
name: retrieve_data
arguments: label: D172
type: string
name: retrieve_data
arguments: label: D602
type: string
name: retrieve_data
arguments: label: D345
type: string
name: retrieve_data
arguments: label: D523
type: string
name: retrieve_data
arguments: label: D853
type: string
name: retrieve_data
arguments: label: D505
type: string
name: retrieve_data
arguments: label: D837
type: string
name: retrieve_data
arguments: label: D365
type: string
name: retrieve_data
arguments: label: D9
type: string
name: retrieve_data
arguments: label: D24
type: string
name: retrieve_data
arguments: label: D314
type: string
name: retrieve_data
arguments: label: D312
type: string
name: retrieve_data
arguments: label: D765
type: string
name: retrieve_data
arguments: label: D234
type: string
name: retrieve_data
arguments: label: D121
type: string
name: retrieve_data
arguments: label: D97
type: string
name: retrieve_data
arguments: label: D689
type: string
name: retrieve_data
arguments: label: D75
type: string
name: retrieve_data
arguments: label: D537
type: string
name: retrieve_data
arguments: label: D800
type: string
name: retrieve_data
arguments: label: D180
type: string
name: retrieve_data
arguments: label: D561
type: string
name: retrieve_data
arguments: label: D803
type: string
name: retrieve_data
arguments: label: D690
type: string
name: retrieve_data
arguments: label: D407
type: string
name: retrieve_data
arguments: label: D297
type: string
name: retrieve_data
arguments: label: D490
type: string
name: retrieve_data
arguments: label: D125
type: string
name: retrieve_data
arguments: label: D435
type: string
name: retrieve_data
arguments: label: D207
type: string
name: retrieve_data
arguments: label: D552
type: string
name: retrieve_data
arguments: label: D718
type: string
name: retrieve_data
arguments: label: D811
type: string
name: retrieve_data
arguments: label: D221
type: string
name: retrieve_data
arguments: label: D422
type: string
name: retrieve_data
arguments: label: D685
type: string
name: retrieve_data
arguments: label: D644
type: string
name: retrieve_data
arguments: label: D350
type: string
name: retrieve_data
arguments: label: D198
type: string
name: retrieve_data
arguments: label: D843
type: string
name: retrieve_data
arguments: label: D95
type: string
name: retrieve_data
arguments: label: D145
type: string
name: retrieve_data
arguments: label: D454
type: string
name: retrieve_data
arguments: label: D392
type: string
name: retrieve_data
arguments: label: D673
type: string

tool: D225: unknown

tool: D5: ft

tool: D825: in

tool: D560: um

tool: D558: mils

tool: D557: microns

tool: D241: mm

tool: D836: ips

tool: D763: mm_sec

tool: D852: m_s

tool: D285: m_min

tool: D667: um_min

tool: D143: um_sec

tool: D400: ft_min

tool: D126: gs

tool: D572: m_s2

tool: D246: Amp

tool: D307: Amperage

tool: D480: bars

tool: D192: BOV

tool: D320: BTU

tool: D578: BTU_h

tool: D250: BTU_min

tool: D802: CFH

tool: D790: cfu_ml_log

tool: D750: count

tool: D697: CPM

tool: D555: deg_C

tool: D105: deg_F

tool: D76: deg_K

tool: D639: dynes

tool: D496: Ergs

tool: D344: fathoms

tool: D4: ft_lb

tool: D456: ft_lb_min

tool: D550: ft_lb_s

tool: D674: Gallons

tool: D25: gpm

tool: D847: hrs

tool: D77: Hz

tool: D502: Inches_H2O

tool: D66: inches_HG

tool: D172: J

tool: D602: J_s

tool: D345: kA

tool: D523: kg

tool: D853: kg_Cal

tool: D505: kg_Cal_min

tool: D837: kg_m

tool: D365: kg_cm2

tool: D9: Knots

tool: D24: kPa

tool: D314: kV

tool: D312: kva

tool: D765: kW

tool: D234: kWh

tool: D121: lbs

tool: D97: lbs_of_F

tool: D689: load

tool: D75: Loaded_Hours

tool: D537: Loaded_PSI

tool: D800: mA

tool: D180: min

tool: D561: minutes

tool: D803: Mohm

tool: D690: Moisture_PPM

tool: D407: mV

tool: D297: MW

tool: D490: N

tool: D125: Pa

tool: D435: Percent

tool: D207: pH

tool: D552: ppb

tool: D718: ppm

tool: D811: prtcls_mL

tool: D221: PSF

tool: D422: PSI

tool: D685: PSID

tool: D644: RPM

tool: D350: Torrs

tool: D198: Total_Acid_Number

tool: D843: uMhos

tool: D95: uS

tool: D145: uS_cm

tool: D454: V

tool: D392: Vdc

tool: D673: 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;
}
```