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

```asm
<HO_44>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x40,%rsp
  movsd  %xmm0,-0x18(%rbp)
  movsd  %xmm1,-0x20(%rbp)
  movsd  D165(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D500(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x28(%rbp)
  movsd  D57(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D28(%rip),%xmm1
  movapd %xmm0,%xmm2
  mulsd  %xmm1,%xmm2
  movsd  %xmm2,-0x30(%rbp)
  movsd  D187(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  D430(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D219(%rip),%xmm1
  movapd %xmm0,%xmm4
  mulsd  %xmm1,%xmm4
  movsd  %xmm4,-0x38(%rbp)
  movsd  D351(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  movsd  -0x30(%rbp),%xmm3
  subsd  %xmm0,%xmm3
  movsd  %xmm3,-0x30(%rbp)
  movsd  D138(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D312(%rip),%xmm1
  movapd %xmm0,%xmm5
  mulsd  %xmm1,%xmm5
  movsd  %xmm5,-0x38(%rbp)
  movsd  D501(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  addsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  D401(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D574(%rip),%xmm1
  movapd %xmm0,%xmm3
  mulsd  %xmm1,%xmm3
  movsd  %xmm3,-0x38(%rbp)
  movsd  D449(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  movsd  -0x30(%rbp),%xmm4
  subsd  %xmm0,%xmm4
  movsd  %xmm4,-0x30(%rbp)
  movsd  D212(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D9(%rip),%xmm1
  movapd %xmm0,%xmm6
  mulsd  %xmm1,%xmm6
  movsd  %xmm6,-0x38(%rbp)
  movsd  D86(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  addsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  D384(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D234(%rip),%xmm1
  movapd %xmm0,%xmm2
  mulsd  %xmm1,%xmm2
  movsd  %xmm2,-0x38(%rbp)
  movsd  D25(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  movsd  -0x30(%rbp),%xmm5
  subsd  %xmm0,%xmm5
  movsd  %xmm5,-0x30(%rbp)
  movsd  D15(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D12(%rip),%xmm1
  movapd %xmm0,%xmm3
  mulsd  %xmm1,%xmm3
  movsd  %xmm3,-0x38(%rbp)
  movsd  D496(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  addsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  D515(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D497(%rip),%xmm1
  movapd %xmm0,%xmm4
  mulsd  %xmm1,%xmm4
  movsd  %xmm4,-0x38(%rbp)
  movsd  D298(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  movsd  -0x30(%rbp),%xmm6
  subsd  %xmm0,%xmm6
  movsd  %xmm6,-0x30(%rbp)
  movsd  D697(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D660(%rip),%xmm1
  movapd %xmm0,%xmm5
  mulsd  %xmm1,%xmm5
  movsd  %xmm5,-0x38(%rbp)
  movsd  D539(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  addsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  D200(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D651(%rip),%xmm1
  movapd %xmm0,%xmm6
  mulsd  %xmm1,%xmm6
  movsd  %xmm6,-0x38(%rbp)
  movsd  D698(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  movsd  -0x30(%rbp),%xmm7
  subsd  %xmm0,%xmm7
  movsd  %xmm7,-0x30(%rbp)
  movsd  D462(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D133(%rip),%xmm1
  movapd %xmm0,%xmm2
  mulsd  %xmm1,%xmm2
  movsd  %xmm2,-0x38(%rbp)
  movsd  D649(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  addsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  D628(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D688(%rip),%xmm1
  movapd %xmm0,%xmm3
  mulsd  %xmm1,%xmm3
  movsd  %xmm3,-0x38(%rbp)
  movsd  D57(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  movsd  -0x30(%rbp),%xmm2
  subsd  %xmm0,%xmm2
  movsd  %xmm2,-0x30(%rbp)
  movsd  D324(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D608(%rip),%xmm1
  movapd %xmm0,%xmm4
  mulsd  %xmm1,%xmm4
  movsd  %xmm4,-0x38(%rbp)
  movsd  D138(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  addsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  D313(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D255(%rip),%xmm1
  movapd %xmm0,%xmm5
  mulsd  %xmm1,%xmm5
  movsd  %xmm5,-0x38(%rbp)
  movsd  D212(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  movsd  -0x30(%rbp),%xmm3
  subsd  %xmm0,%xmm3
  movsd  %xmm3,-0x30(%rbp)
  movsd  D685(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D110(%rip),%xmm1
  movapd %xmm0,%xmm6
  mulsd  %xmm1,%xmm6
  movsd  %xmm6,-0x38(%rbp)
  movsd  D15(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  addsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  D292(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D692(%rip),%xmm1
  movapd %xmm0,%xmm2
  mulsd  %xmm1,%xmm2
  movsd  %xmm2,-0x38(%rbp)
  movsd  D697(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  movsd  -0x30(%rbp),%xmm4
  subsd  %xmm0,%xmm4
  movsd  %xmm4,-0x30(%rbp)
  movsd  D128(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D360(%rip),%xmm1
  movapd %xmm0,%xmm3
  mulsd  %xmm1,%xmm3
  movsd  %xmm3,-0x38(%rbp)
  movsd  D462(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  addsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  D284(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D388(%rip),%xmm1
  movapd %xmm0,%xmm4
  mulsd  %xmm1,%xmm4
  movsd  %xmm4,-0x38(%rbp)
  movsd  D324(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  movsd  -0x30(%rbp),%xmm5
  subsd  %xmm0,%xmm5
  movsd  %xmm5,-0x30(%rbp)
  movsd  D185(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D546(%rip),%xmm1
  movapd %xmm0,%xmm6
  mulsd  %xmm1,%xmm6
  movsd  %xmm6,-0x38(%rbp)
  movsd  D685(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  addsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  D26(%rip),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movsd  D676(%rip),%xmm1
  movapd %xmm0,%xmm5
  mulsd  %xmm1,%xmm5
  movsd  %xmm5,-0x38(%rbp)
  movsd  D128(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  movsd  -0x30(%rbp),%xmm6
  subsd  %xmm0,%xmm6
  movsd  %xmm6,-0x30(%rbp)
  movsd  -0x18(%rbp),%xmm1
  movsd  D494(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm2
  mulsd  -0x18(%rbp),%xmm2
  movsd  %xmm2,-0x38(%rbp)
  movsd  D185(%rip),%xmm0
  mov    -0x20(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  mulsd  -0x38(%rbp),%xmm0
  addsd  -0x30(%rbp),%xmm0
  movsd  -0x18(%rbp),%xmm2
  movsd  D35(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x20(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x20(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  D182(%rip),%xmm0
  addsd  %xmm1,%xmm0
  mulsd  -0x28(%rbp),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  movsd  -0x18(%rbp),%xmm0
  movq   D60(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  mulsd  -0x20(%rbp),%xmm0
  mulsd  -0x20(%rbp),%xmm0
  movsd  D477(%rip),%xmm1
  movapd %xmm0,%xmm7
  divsd  %xmm1,%xmm7
  movq   %xmm7,%rax
  movq   %rax,%xmm0
  call   <exp@plt>
  movsd  -0x28(%rbp),%xmm1
  mulsd  %xmm0,%xmm1
  movsd  D137(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  D42(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x8(%rbp),%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  leave
  ret
```

tool_calls: name: disassemble_data
arguments: data_tag: D165
data_type: byte[8]
name: disassemble_data
arguments: data_tag: D500
data_type: byte[8]
name: disassemble_data
arguments: data_tag: D57
data_type: f64
name: disassemble_data
arguments: data_tag: D28
data_type: f64
name: disassemble_data
arguments: data_tag: D187
data_type: f64
name: disassemble_data
arguments: data_tag: D430
data_type: f64
name: disassemble_data
arguments: data_tag: D219
data_type: f64
name: disassemble_data
arguments: data_tag: D351
data_type: f64
name: disassemble_data
arguments: data_tag: D138
data_type: f64
name: disassemble_data
arguments: data_tag: D312
data_type: f64
name: disassemble_data
arguments: data_tag: D501
data_type: f64
name: disassemble_data
arguments: data_tag: D401
data_type: f64
name: disassemble_data
arguments: data_tag: D574
data_type: f64
name: disassemble_data
arguments: data_tag: D449
data_type: f64
name: disassemble_data
arguments: data_tag: D212
data_type: f64
name: disassemble_data
arguments: data_tag: D9
data_type: f64
name: disassemble_data
arguments: data_tag: D86
data_type: f64
name: disassemble_data
arguments: data_tag: D384
data_type: f64
name: disassemble_data
arguments: data_tag: D234
data_type: f64
name: disassemble_data
arguments: data_tag: D25
data_type: f64
name: disassemble_data
arguments: data_tag: D15
data_type: f64
name: disassemble_data
arguments: data_tag: D12
data_type: f64
name: disassemble_data
arguments: data_tag: D496
data_type: f64
name: disassemble_data
arguments: data_tag: D515
data_type: f64
name: disassemble_data
arguments: data_tag: D497
data_type: f64
name: disassemble_data
arguments: data_tag: D298
data_type: f64
name: disassemble_data
arguments: data_tag: D697
data_type: f64
name: disassemble_data
arguments: data_tag: D660
data_type: f64
name: disassemble_data
arguments: data_tag: D539
data_type: f64
name: disassemble_data
arguments: data_tag: D200
data_type: f64
name: disassemble_data
arguments: data_tag: D651
data_type: f64
name: disassemble_data
arguments: data_tag: D698
data_type: f64
name: disassemble_data
arguments: data_tag: D462
data_type: f64
name: disassemble_data
arguments: data_tag: D133
data_type: f64
name: disassemble_data
arguments: data_tag: D649
data_type: f64
name: disassemble_data
arguments: data_tag: D628
data_type: f64
name: disassemble_data
arguments: data_tag: D688
data_type: f64
name: disassemble_data
arguments: data_tag: D324
data_type: f64
name: disassemble_data
arguments: data_tag: D608
data_type: f64
name: disassemble_data
arguments: data_tag: D313
data_type: f64
name: disassemble_data
arguments: data_tag: D255
data_type: f64
name: disassemble_data
arguments: data_tag: D685
data_type: f64
name: disassemble_data
arguments: data_tag: D110
data_type: f64
name: disassemble_data
arguments: data_tag: D292
data_type: f64
name: disassemble_data
arguments: data_tag: D692
data_type: f64
name: disassemble_data
arguments: data_tag: D128
data_type: f64
name: disassemble_data
arguments: data_tag: D360
data_type: f64
name: disassemble_data
arguments: data_tag: D284
data_type: f64
name: disassemble_data
arguments: data_tag: D388
data_type: f64
name: disassemble_data
arguments: data_tag: D185
data_type: f64
name: disassemble_data
arguments: data_tag: D546
data_type: f64
name: disassemble_data
arguments: data_tag: D26
data_type: f64
name: disassemble_data
arguments: data_tag: D676
data_type: f64
name: disassemble_data
arguments: data_tag: D494
data_type: f64
name: disassemble_data
arguments: data_tag: D35
data_type: f64
name: disassemble_data
arguments: data_tag: D182
data_type: f64
name: disassemble_data
arguments: data_tag: D60
data_type: byte[8]
name: disassemble_data
arguments: data_tag: D477
data_type: f64
name: disassemble_data
arguments: data_tag: D137
data_type: byte[8]
name: disassemble_data
arguments: data_tag: D42
data_type: f64

tool: {"D165": [0x00,0x00,0x00,0x00,0x00,0x00,0xd0,0x3f]}

tool: {"D500": [0x48,0x1d,0x13,0x43,0x37,0x22,0x26,0x41]}

tool: D57: 22

tool: D28: 4194304

tool: D187: 44

tool: D430: 21

tool: D219: 1983905792

tool: D351: 42

tool: D138: 20

tool: D312: 427035721728

tool: D501: 40

tool: D401: 19

tool: D574: 55514643824640

tool: D449: 38

tool: D212: 18

tool: D9: 4878349326090240.0

tool: D86: 36

tool: D384: 17

tool: D234: 3.073360075436851e+17

tool: D25: 34

tool: D15: 16

tool: D12: 1.436795835266728e+19

tool: D496: 32

tool: D515: 15

tool: D497: 5.090362387802122e+20

tool: D298: 30

tool: D697: 14

tool: D660: 1.3839422741837018e+22

tool: D539: 28

tool: D200: 13

tool: D651: 2.906278775785774e+23

tool: D698: 26

tool: D462: 12

tool: D133: 4.7227030106518826e+24

tool: D649: 24

tool: D628: 11

tool: D688: 5.924845595181453e+25

tool: D324: 10

tool: D608: 5.702663885362148e+26

tool: D313: 9

tool: D255: 4.1673313008415697e+27

tool: D685: 8

tool: D110: 2.2771488893884295e+28

tool: D292: 7

tool: D692: 9.108595557553718e+28

tool: D128: 6

tool: D360: 2.5902568616793384e+29

tool: D284: 5

tool: D388: 5.0281456726716565e+29

tool: D185: 4

tool: D546: 6.2851820908395706e+29

tool: D26: 3

tool: D676: 4.631186803776526e+29

tool: D494: 1.736695051416197e+29

tool: D35: 2.4809929305945673e+28

tool: D182: 5.638620296805835e+26

tool: {"D60": [0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80]}

tool: D477: 2

tool: {"D137": [0x5f,0xfa,0x11,0x70,0x38,0x09,0xe8,0x3f]}

tool: D42: 1.1825043832686951e+33

assistant: ```c
double HO_44(const double a, const double x) {
  double retval = sqrt(0.526024740930e12) * pow(a, 0.1e1 / 0.4e1) * (0.4194304e7 * pow(a, 0.22e2) * pow(x, 0.44e2) - 0.1983905792e10 * pow(a, 0.21e2) * pow(x, 0.42e2) + 0.427035721728e12 * pow(a, 0.20e2) * pow(x, 0.40e2) - 0.55514643824640e14 * pow(a, 0.19e2) * pow(x, 0.38e2) + 0.4878349326090240e16 * pow(a, 0.18e2) * pow(x, 0.36e2) - 0.307336007543685120e18 * pow(a, 0.17e2) * pow(x, 0.34e2) + 0.14367958352667279360e20 * pow(a, 0.16e2) * pow(x, 0.32e2) - 0.509036238780212183040e21 * pow(a, 0.15e2) * pow(x, 0.30e2) + 0.13839422741837018726400e23 * pow(a, 0.14e2) * pow(x, 0.28e2) - 0.290627877578577393254400e24 * pow(a, 0.13e2) * pow(x, 0.26e2) + 0.4722703010651882640384000e25 * pow(a, 0.12e2) * pow(x, 0.24e2) - 0.59248455951814527670272000e26 * pow(a, 0.11e2) * pow(x, 0.22e2) + 0.570266388536214828826368000e27 * pow(a, 0.10e2) * pow(x, 0.20e2) - 0.4167331300841569902961920000e28 * pow(a, 0.9e1) * pow(x, 0.18e2) + 0.22771488893884292684041920000e29 * pow(a, 0.8e1) * pow(x, 0.16e2) - 0.91085955575537170736167680000e29 * pow(a, 0.7e1) * pow(x, 0.14e2) + 0.259025686167933829280976840000e30 * pow(a, 0.6e1) * pow(x, 0.12e2) - 0.502814567267165668604249160000e30 * pow(a, 0.5e1) * pow(x, 0.10e2) + 0.628518209083957085755311450000e30 * pow(a, 0.4e1) * pow(x, 0.8e1) - 0.463118680377652589503913700000e30 * pow(a, 0.3e1) * pow(x, 0.6e1) + 0.173669505141619721063967637500e30 * a * a * pow(x, 0.4e1) - 0.24809929305945674437709662500e29 * a * x * x + 0.563862029680583509947946875e27) * exp(-a * x * x / 0.2e1) * pow(0.3141592654e1, -0.1e1 / 0.4e1) / 0.1182504383268695069054356684800000e34;
  return retval;
}
```