// File: /workspace/github_cpp_makefile_star2_O3/ef-gy[P]libefgy/include/ef.gy/parametric.h
// Function: efgy::geometry::parametricIterator<float, 3ul, efgy::geometry::formula::plane>::parametricIterator(efgy::geometry::parameters<float> const&)
parametricIterator(const parameters<Q> &pParameter) : parameter(pParameter) {
    for (std::size_t dim = 0; dim < od; dim++) {
      range<Q> qs = source::getRange(parameter, dim);
      positions.push_back(qs.begin());
      starts.push_back(qs.begin());
      ends.push_back(qs.end());
      strides[dim] = qs.stride;
    }

    base = getBase(strides);
    basePosition = 0;
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %rdi, %rbx
leaq 0x18(%rdi), %r14
leaq 0x30(%rdi), %r15
xorps %xmm0, %xmm0
movups %xmm0, 0x30(%rdi)
movups %xmm0, 0x20(%rdi)
movups %xmm0, 0x10(%rdi)
movups %xmm0, (%rdi)
movups %xmm0, 0x40(%rdi)
movl $0x0, 0x50(%rdi)
leaq 0x58(%rdi), %rax
movq %rax, 0x18(%rsp)
movups %xmm0, 0x58(%rdi)
movq $0x0, 0x68(%rdi)
movups (%rsi), %xmm0
movups 0x10(%rsi), %xmm1
movups 0x20(%rsi), %xmm2
movups %xmm0, 0x78(%rdi)
movups %xmm1, 0x88(%rdi)
movups %xmm2, 0x98(%rdi)
addq $0xa8, %rdi
addq $0x30, %rsi
movq %rdi, 0x20(%rsp)
callq 0x1e2ee
leaq 0x48(%rbx), %rax
movq %rax, 0x28(%rsp)
movl $0x12, %r13d
movq %rsp, %r12
movss 0x78(%rbx), %xmm2
movss 0x84(%rbx), %xmm0
movaps %xmm2, %xmm1
cvttss2si %xmm0, %rax
mulss 0x512c(%rip), %xmm2     # 0x241d4
movq %rax, %rcx
sarq $0x3f, %rcx
subss 0x5121(%rip), %xmm0     # 0x241d8
cvttss2si %xmm0, %rbp
andq %rcx, %rbp
orq %rax, %rbp
js 0x1f0ce
xorps %xmm0, %xmm0
cvtsi2ss %rbp, %xmm0
jmp 0x1f0e8
movq %rbp, %rax
shrq %rax
movl %ebp, %ecx
andl $0x1, %ecx
orq %rax, %rcx
xorps %xmm0, %xmm0
cvtsi2ss %rcx, %xmm0
addss %xmm0, %xmm0
addss %xmm1, %xmm1
subss %xmm2, %xmm1
divss %xmm0, %xmm1
movaps %xmm1, 0x40(%rsp)
unpcklps %xmm1, %xmm2            # xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]
movaps %xmm2, 0x30(%rsp)
movlps %xmm2, (%rsp)
movq $0x0, 0x8(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1f126
movups (%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x8(%rbx)
jmp 0x1f131
movq %rbx, %rdi
movq %r12, %rdx
callq 0x1e3aa
movaps 0x30(%rsp), %xmm0
movlps %xmm0, (%rsp)
movq $0x0, 0x8(%rsp)
movq 0x20(%rbx), %rsi
cmpq 0x28(%rbx), %rsi
je 0x1f15b
movups (%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x20(%rbx)
jmp 0x1f166
movq %r14, %rdi
movq %r12, %rdx
callq 0x1e3aa
movaps 0x30(%rsp), %xmm0
movlps %xmm0, (%rsp)
movq %rbp, 0x8(%rsp)
movq 0x38(%rbx), %rsi
cmpq 0x40(%rbx), %rsi
je 0x1f18c
movups (%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x10, 0x38(%rbx)
jmp 0x1f197
movq %r15, %rdi
movq %r12, %rdx
callq 0x1e3aa
movaps 0x40(%rsp), %xmm0
movss %xmm0, (%rbx,%r13,4)
incq %r13
cmpq $0x15, %r13
jne 0x1f08b
movq %rsp, %rdi
movq 0x28(%rsp), %rsi
callq 0x1f298
movq %rsp, %rsi
movq 0x18(%rsp), %rdi
callq 0x1f466
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1f1df
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x4260
movq $0x0, 0x70(%rbx)
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r12
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1f21f
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x4260
jmp 0x1f21f
jmp 0x1f21c
movq %rax, %r12
jmp 0x1f23b
jmp 0x1f21c
jmp 0x1f21c
movq %rax, %r12
movq 0x20(%rsp), %rax
movq (%rax), %rdi
testq %rdi, %rdi
je 0x1f23b
movq 0xb8(%rbx), %rsi
subq %rdi, %rsi
callq 0x4260
movq 0x18(%rsp), %rax
movq (%rax), %rdi
testq %rdi, %rdi
je 0x1f254
movq 0x68(%rbx), %rsi
subq %rdi, %rsi
callq 0x4260
movq (%r15), %rdi
testq %rdi, %rdi
je 0x1f268
movq 0x40(%rbx), %rsi
subq %rdi, %rsi
callq 0x4260
movq (%r14), %rdi
testq %rdi, %rdi
je 0x1f27c
movq 0x28(%rbx), %rsi
subq %rdi, %rsi
callq 0x4260
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1f290
movq 0x10(%rbx), %rsi
subq %rdi, %rsi
callq 0x4260
movq %r12, %rdi
callq 0x4400