user: Translate the below assembly code into C programming language:

```asm
<grace_get_x_tick_major_minor>:
  endbr64
  cmp    $0x1,%edx
  je     L171
  cmp    $0x2,%edx
  je     L110
  cmp    $0x3,%edx
  je     L78
  cmp    $0x7,%edx
  jle    L126
  cmp    $0xe,%edx
  jle    L90
  cmp    $0x3e,%edx
  jle    L4
  cmp    $0x64,%edx
  jle    L155
  cmp    $0xb4,%edx
  jle    L5
  cmp    $0x16e,%edx
  jle    L12
  cmp    $0x2dc,%edx
  jle    L194
  cmp    $0x44a,%edx
  jle    L103
  cmp    $0xe4c,%edx
  jle    L105
  cmp    $0x1c98,%edx
  jg     L239
  movsd  D33(%rip),%xmm0
  mov    $0x1,%eax
  jmp    L195
L171:
  movsd  D98(%rip),%xmm0
  mov    $0x5,%eax
L195:
  movsd  %xmm0,(%rdi)
  mov    %eax,(%rsi)
  ret
L110:
  movsd  D16(%rip),%xmm0
  mov    $0xb,%eax
  jmp    L195
L78:
  movsd  D134(%rip),%xmm0
  mov    $0x5,%eax
  jmp    L195
L126:
  movsd  D134(%rip),%xmm0
  mov    $0x3,%eax
  jmp    L195
L90:
  movsd  D115(%rip),%xmm0
  mov    $0x1,%eax
  jmp    L195
L4:
  movsd  D11(%rip),%xmm0
  mov    $0x6,%eax
  jmp    L195
L155:
  movsd  D84(%rip),%xmm0
  mov    $0x1,%eax
  jmp    L195
L5:
  movsd  D44(%rip),%xmm0
  mov    $0x3,%eax
  jmp    L195
L12:
  movsd  D59(%rip),%xmm0
  mov    $0x3,%eax
  jmp    L195
L194:
  movsd  D26(%rip),%xmm0
  mov    $0x4,%eax
  jmp    L195
L103:
  movsd  D120(%rip),%xmm0
  mov    $0xb,%eax
  jmp    L195
L105:
  movsd  D24(%rip),%xmm0
  mov    $0x3,%eax
  jmp    L195
L239:
  movsd  D103(%rip),%xmm0
  mov    $0x3,%eax
  jmp    L195
```

tool_calls: name: disassemble_data
arguments: data_tag: D33
type: byte[8]
name: disassemble_data
arguments: data_tag: D98
type: f64
name: disassemble_data
arguments: data_tag: D16
type: f64
name: disassemble_data
arguments: data_tag: D134
type: f64
name: disassemble_data
arguments: data_tag: D115
type: f64
name: disassemble_data
arguments: data_tag: D11
type: f64
name: disassemble_data
arguments: data_tag: D84
type: f64
name: disassemble_data
arguments: data_tag: D44
type: f64
name: disassemble_data
arguments: data_tag: D59
type: f64
name: disassemble_data
arguments: data_tag: D26
type: f64
name: disassemble_data
arguments: data_tag: D120
type: f64
name: disassemble_data
arguments: data_tag: D24
type: f64
name: disassemble_data
arguments: data_tag: D103
type: byte[8]

tool: {"D33": [0x00,0x00,0x00,0x00,0x00,0xd0,0x86,0x40]}

tool: D98: 0.25

tool: D16: 0.5

tool: D134: 1

tool: D115: 2

tool: D11: 7

tool: D84: 10

tool: D44: 15

tool: D59: 30

tool: D26: 90

tool: D120: 365

tool: D24: 365.25

tool: {"D103": [0x00,0x00,0x00,0x00,0x00,0xd0,0x96,0x40]}

assistant: ```c
void grace_get_x_tick_major_minor(double *x_tick_major, int *x_tick_minor, int number_of_days) {
  if (number_of_days == 1) {
    *x_tick_major = 0.25;
    *x_tick_minor = 5;
  } else if (number_of_days == 2) {
    *x_tick_major = 0.50;
    *x_tick_minor = 11;
  } else if (number_of_days == 3) {
    *x_tick_major = 1.0;
    *x_tick_minor = 5;
  } else if (number_of_days <= 7) {
    *x_tick_major = 1.0;
    *x_tick_minor = 3;
  } else if (number_of_days <= 14) {
    *x_tick_major = 2.0;
    *x_tick_minor = 1;
  } else if (number_of_days <= 62) {
    *x_tick_major = 7.0;
    *x_tick_minor = 6;
  } else if (number_of_days <= 100) {
    *x_tick_major = 10.0;
    *x_tick_minor = 1;
  } else if (number_of_days <= 180) {
    *x_tick_major = 15.0;
    *x_tick_minor = 3;
  } else if (number_of_days <= 366) {
    *x_tick_major = 30.0;
    *x_tick_minor = 3;
  } else if (number_of_days <= (366 * 2)) {
    *x_tick_major = 90.0;
    *x_tick_minor = 4;
  } else if (number_of_days <= (366 * 3)) {
    *x_tick_major = 365.0;
    *x_tick_minor = 11;
  } else if (number_of_days <= 366 * 10) {
    *x_tick_major = 365.25;
    *x_tick_minor = 3;
  } else if (number_of_days <= (366 * 15)) {
    *x_tick_major = (365.0 * 2);
    *x_tick_minor = 1;
  } else if (number_of_days <= (366 * 20)) {
    *x_tick_major = (365.0 * 2);
    *x_tick_minor = 1;
  } else {
    *x_tick_major = (365 * 4);
    *x_tick_minor = 3;
  }
}
```