// File: jstaursky[P]hutch/src/Sleigh/float.cc
// Function: FloatFormat::restoreXml(Element const*)
void FloatFormat::restoreXml(const Element *el)

{
  {
    istringstream s(el->getAttributeValue("size"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> size;
  }
  {
    istringstream s(el->getAttributeValue("signpos"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> signbit_pos;
  }
  {
    istringstream s(el->getAttributeValue("fracpos"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> frac_pos;
  }
  {
    istringstream s(el->getAttributeValue("fracsize"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> frac_size;
  }
  {
    istringstream s(el->getAttributeValue("exppos"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> exp_pos;
  }
  {
    istringstream s(el->getAttributeValue("expsize"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> exp_size;
  }
  {
    istringstream s(el->getAttributeValue("bias"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> bias;
  }
  jbitimplied = xml_readbool(el->getAttributeValue("jbitimplied"));
  maxexponent = (1<<exp_size)-1;
}

// Assembly:
subq $0xd58, %rsp            # imm = 0xD58
movq %rdi, 0xd50(%rsp)
movq %rsi, 0xd48(%rsp)
movq 0xd50(%rsp), %rax
movq %rax, 0x160(%rsp)
movq 0xd48(%rsp), %rax
movq %rax, 0x168(%rsp)
leaq 0xba7(%rsp), %rdi
movq %rdi, 0x170(%rsp)
callq 0xe0c80
movq 0x170(%rsp), %rdx
leaq 0xa3e32(%rip), %rsi     # 0x18d9ad
leaq 0xba8(%rsp), %rdi
callq 0xe00a0
jmp 0xe9b8a
movq 0x168(%rsp), %rdi
leaq 0xba8(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0x158(%rsp)
jmp 0xe9ba9
movq 0x158(%rsp), %rsi
leaq 0xbc8(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0xe9bc5
leaq 0xba8(%rsp), %rdi
callq 0xd4550
leaq 0xba7(%rsp), %rdi
callq 0xd8ec0
movq 0xbc8(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0xbc8(%rsp,%rax), %rax
movq %rax, 0x148(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0x154(%rsp)
jmp 0xe9c13
movl 0x154(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0x144(%rsp)
jmp 0xe9c2d
movl 0x144(%rsp), %esi
movq 0x148(%rsp), %rdi
callq 0xda6e0
jmp 0xe9c43
movq 0x160(%rsp), %rsi
leaq 0xbc8(%rsp), %rdi
callq 0xd4480
jmp 0xe9c5a
leaq 0xbc8(%rsp), %rdi
callq 0xd25a0
movq 0xd48(%rsp), %rax
movq %rax, 0x130(%rsp)
leaq 0x9ef(%rsp), %rdi
movq %rdi, 0x138(%rsp)
callq 0xe0c80
movq 0x138(%rsp), %rdx
leaq 0x9d502(%rip), %rsi     # 0x18719d
leaq 0x9f0(%rsp), %rdi
callq 0xe00a0
jmp 0xe9caa
movq 0x130(%rsp), %rdi
leaq 0x9f0(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0x128(%rsp)
jmp 0xe9cc9
movq 0x128(%rsp), %rsi
leaq 0xa10(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0xe9ce5
leaq 0x9f0(%rsp), %rdi
callq 0xd4550
leaq 0x9ef(%rsp), %rdi
callq 0xd8ec0
movq 0xa10(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0xa10(%rsp,%rax), %rax
movq %rax, 0x118(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0x124(%rsp)
jmp 0xe9d33
movl 0x124(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0x114(%rsp)
jmp 0xe9d4d
movl 0x114(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0xda6e0
jmp 0xe9d63
movq 0x160(%rsp), %rsi
addq $0x4, %rsi
leaq 0xa10(%rsp), %rdi
callq 0xd4480
jmp 0xe9d7e
leaq 0xa10(%rsp), %rdi
callq 0xd25a0
movq 0xd48(%rsp), %rax
movq %rax, 0x100(%rsp)
leaq 0x847(%rsp), %rdi
movq %rdi, 0x108(%rsp)
callq 0xe0c80
movq 0x108(%rsp), %rdx
leaq 0x9d3e6(%rip), %rsi     # 0x1871a5
leaq 0x848(%rsp), %rdi
callq 0xe00a0
jmp 0xe9dce
movq 0x100(%rsp), %rdi
leaq 0x848(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0xf8(%rsp)
jmp 0xe9ded
movq 0xf8(%rsp), %rsi
leaq 0x868(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0xe9e09
leaq 0x848(%rsp), %rdi
callq 0xd4550
leaq 0x847(%rsp), %rdi
callq 0xd8ec0
movq 0x868(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0x868(%rsp,%rax), %rax
movq %rax, 0xe8(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0xf4(%rsp)
jmp 0xe9e57
movl 0xf4(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0xe4(%rsp)
jmp 0xe9e71
movl 0xe4(%rsp), %esi
movq 0xe8(%rsp), %rdi
callq 0xda6e0
jmp 0xe9e87
movq 0x160(%rsp), %rsi
addq $0x8, %rsi
leaq 0x868(%rsp), %rdi
callq 0xd4480
jmp 0xe9ea2
leaq 0x868(%rsp), %rdi
callq 0xd25a0
movq 0xd48(%rsp), %rax
movq %rax, 0xd0(%rsp)
leaq 0x69f(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0xe0c80
movq 0xd8(%rsp), %rdx
leaq 0x9d2ca(%rip), %rsi     # 0x1871ad
leaq 0x6a0(%rsp), %rdi
callq 0xe00a0
jmp 0xe9ef2
movq 0xd0(%rsp), %rdi
leaq 0x6a0(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0xc8(%rsp)
jmp 0xe9f11
movq 0xc8(%rsp), %rsi
leaq 0x6c0(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0xe9f2d
leaq 0x6a0(%rsp), %rdi
callq 0xd4550
leaq 0x69f(%rsp), %rdi
callq 0xd8ec0
movq 0x6c0(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0x6c0(%rsp,%rax), %rax
movq %rax, 0xb8(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0xc4(%rsp)
jmp 0xe9f7b
movl 0xc4(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0xb4(%rsp)
jmp 0xe9f95
movl 0xb4(%rsp), %esi
movq 0xb8(%rsp), %rdi
callq 0xda6e0
jmp 0xe9fab
movq 0x160(%rsp), %rsi
addq $0xc, %rsi
leaq 0x6c0(%rsp), %rdi
callq 0xd4480
jmp 0xe9fc6
leaq 0x6c0(%rsp), %rdi
callq 0xd25a0
movq 0xd48(%rsp), %rax
movq %rax, 0xa0(%rsp)
leaq 0x4f7(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0xe0c80
movq 0xa8(%rsp), %rdx
leaq 0x9d1af(%rip), %rsi     # 0x1871b6
leaq 0x4f8(%rsp), %rdi
callq 0xe00a0
jmp 0xea016
movq 0xa0(%rsp), %rdi
leaq 0x4f8(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0x98(%rsp)
jmp 0xea035
movq 0x98(%rsp), %rsi
leaq 0x518(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0xea051
leaq 0x4f8(%rsp), %rdi
callq 0xd4550
leaq 0x4f7(%rsp), %rdi
callq 0xd8ec0
movq 0x518(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0x518(%rsp,%rax), %rax
movq %rax, 0x88(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0x94(%rsp)
jmp 0xea09f
movl 0x94(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0x84(%rsp)
jmp 0xea0b9
movl 0x84(%rsp), %esi
movq 0x88(%rsp), %rdi
callq 0xda6e0
jmp 0xea0cf
movq 0x160(%rsp), %rsi
addq $0x10, %rsi
leaq 0x518(%rsp), %rdi
callq 0xd4480
jmp 0xea0ea
leaq 0x518(%rsp), %rdi
callq 0xd25a0
movq 0xd48(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x34f(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0xe0c80
movq 0x78(%rsp), %rdx
leaq 0x9d09b(%rip), %rsi     # 0x1871bd
leaq 0x350(%rsp), %rdi
callq 0xe00a0
jmp 0xea131
movq 0x70(%rsp), %rdi
leaq 0x350(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0x68(%rsp)
jmp 0xea14a
movq 0x68(%rsp), %rsi
leaq 0x370(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0xea163
leaq 0x350(%rsp), %rdi
callq 0xd4550
leaq 0x34f(%rsp), %rdi
callq 0xd8ec0
movq 0x370(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0x370(%rsp,%rax), %rax
movq %rax, 0x58(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0x64(%rsp)
jmp 0xea1ab
movl 0x64(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0x54(%rsp)
jmp 0xea1bf
movl 0x54(%rsp), %esi
movq 0x58(%rsp), %rdi
callq 0xda6e0
jmp 0xea1cf
movq 0x160(%rsp), %rsi
addq $0x14, %rsi
leaq 0x370(%rsp), %rdi
callq 0xd4480
jmp 0xea1ea
leaq 0x370(%rsp), %rdi
callq 0xd25a0
movq 0xd48(%rsp), %rax
movq %rax, 0x40(%rsp)
leaq 0x1a7(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0xe0c80
movq 0x48(%rsp), %rdx
leaq 0x9cfa3(%rip), %rsi     # 0x1871c5
leaq 0x1a8(%rsp), %rdi
callq 0xe00a0
jmp 0xea231
movq 0x40(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0x38(%rsp)
jmp 0xea24a
movq 0x38(%rsp), %rsi
leaq 0x1c8(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0xea263
leaq 0x1a8(%rsp), %rdi
callq 0xd4550
leaq 0x1a7(%rsp), %rdi
callq 0xd8ec0
movq 0x1c8(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0x1c8(%rsp,%rax), %rax
movq %rax, 0x28(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0x34(%rsp)
jmp 0xea2ab
movl 0x34(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0x24(%rsp)
jmp 0xea2bf
movl 0x24(%rsp), %esi
movq 0x28(%rsp), %rdi
callq 0xda6e0
jmp 0xea2cf
movq 0x160(%rsp), %rsi
addq $0x18, %rsi
leaq 0x1c8(%rsp), %rdi
callq 0xd4480
jmp 0xea2ea
leaq 0x1c8(%rsp), %rdi
callq 0xd25a0
movq 0xd48(%rsp), %rax
movq %rax, 0x10(%rsp)
leaq 0x17f(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xe0c80
movq 0x18(%rsp), %rdx
leaq 0x9cea8(%rip), %rsi     # 0x1871ca
leaq 0x180(%rsp), %rdi
callq 0xe00a0
jmp 0xea331
movq 0x10(%rsp), %rdi
leaq 0x180(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0x8(%rsp)
jmp 0xea34a
movq 0x8(%rsp), %rdi
callq 0xd9e90
movb %al, 0x7(%rsp)
jmp 0xea35a
movq 0x160(%rsp), %rax
movb 0x7(%rsp), %cl
andb $0x1, %cl
movb %cl, 0x20(%rax)
leaq 0x180(%rsp), %rdi
callq 0xd4550
leaq 0x17f(%rsp), %rdi
callq 0xd8ec0
movq 0x160(%rsp), %rax
movl 0x14(%rax), %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
movl %ecx, 0x1c(%rax)
addq $0xd58, %rsp            # imm = 0xD58
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
jmp 0xea3df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
leaq 0xba8(%rsp), %rdi
callq 0xd4550
leaq 0xba7(%rsp), %rdi
callq 0xd8ec0
jmp 0xea6ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
leaq 0xbc8(%rsp), %rdi
callq 0xd25a0
jmp 0xea6ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
jmp 0xea44e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
leaq 0x9f0(%rsp), %rdi
callq 0xd4550
leaq 0x9ef(%rsp), %rdi
callq 0xd8ec0
jmp 0xea6ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
leaq 0xa10(%rsp), %rdi
callq 0xd25a0
jmp 0xea6ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
jmp 0xea4bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
leaq 0x848(%rsp), %rdi
callq 0xd4550
leaq 0x847(%rsp), %rdi
callq 0xd8ec0
jmp 0xea6ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
leaq 0x868(%rsp), %rdi
callq 0xd25a0
jmp 0xea6ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
jmp 0xea52c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
leaq 0x6a0(%rsp), %rdi
callq 0xd4550
leaq 0x69f(%rsp), %rdi
callq 0xd8ec0
jmp 0xea6ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
leaq 0x6c0(%rsp), %rdi
callq 0xd25a0
jmp 0xea6ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
jmp 0xea59b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
leaq 0x4f8(%rsp), %rdi
callq 0xd4550
leaq 0x4f7(%rsp), %rdi
callq 0xd8ec0
jmp 0xea6ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
leaq 0x518(%rsp), %rdi
callq 0xd25a0
jmp 0xea6ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
jmp 0xea60a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
leaq 0x350(%rsp), %rdi
callq 0xd4550
leaq 0x34f(%rsp), %rdi
callq 0xd8ec0
jmp 0xea6ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
leaq 0x370(%rsp), %rdi
callq 0xd25a0
jmp 0xea6ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
jmp 0xea679
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
leaq 0x1a8(%rsp), %rdi
callq 0xd4550
leaq 0x1a7(%rsp), %rdi
callq 0xd8ec0
jmp 0xea6ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
leaq 0x1c8(%rsp), %rdi
callq 0xd25a0
jmp 0xea6ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
jmp 0xea6e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb98(%rsp)
movl %eax, 0xb94(%rsp)
leaq 0x180(%rsp), %rdi
callq 0xd4550
leaq 0x17f(%rsp), %rdi
callq 0xd8ec0
movq 0xb98(%rsp), %rdi
callq 0xe0be0
nopl (%rax)