// File: orbitcowboy[P]gnuplot-cpp/./gnuplot_i.hpp
// Function: Gnuplot::plotfile_xyz(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, unsigned int, unsigned int, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
Gnuplot& Gnuplot::plotfile_xyz(const std::string &filename,
                               const unsigned int column_x,
                               const unsigned int column_y,
                               const unsigned int column_z,
                               const std::string &title)
{
    //
    // check if file exists
    //
    file_available(filename);

    std::ostringstream cmdstr;
    //
    // command to be sent to gnuplot
    //
    if (nplots > 0  &&  two_dim == false)
    {
        cmdstr << "replot ";
    }
    else
    {
        cmdstr << "splot ";
    }

    cmdstr << "\"" << filename << "\" using " << column_x << ":" << column_y
           << ":" << column_z;

    if (title.empty())
    {
        cmdstr << " notitle with " << pstyle;
    }
    else
    {
        cmdstr << " title \"" << title << "\" with " << pstyle;
    }

    //
    // Do the actual plot
    //
    return cmd(cmdstr.str());
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x240, %rsp            # imm = 0x240
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl %ecx, -0x18(%rbp)
movl %r8d, -0x1c(%rbp)
movq %r9, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x1d8(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5cb0
leaq -0x1a0(%rbp), %rdi
callq 0x33d0
movq -0x1d8(%rbp), %rax
cmpl $0x0, 0xc(%rax)
jle 0x6540
movq -0x1d8(%rbp), %rax
movb 0x9(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x6540
leaq 0x9d02(%rip), %rsi      # 0x1021b
leaq -0x1a0(%rbp), %rdi
callq 0x3280
jmp 0x6527
jmp 0x6557
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a8(%rbp)
movl %eax, -0x1ac(%rbp)
jmp 0x674a
leaq 0x9cfd(%rip), %rsi      # 0x10244
leaq -0x1a0(%rbp), %rdi
callq 0x3280
jmp 0x6555
jmp 0x6557
leaq 0x9e47(%rip), %rsi      # 0x103a5
leaq -0x1a0(%rbp), %rdi
callq 0x3280
movq %rax, -0x1e0(%rbp)
jmp 0x6573
movq -0x1e0(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x3270
movq %rax, -0x1e8(%rbp)
jmp 0x658c
movq -0x1e8(%rbp), %rdi
leaq 0x9cbb(%rip), %rsi      # 0x10255
callq 0x3280
movq %rax, -0x1f0(%rbp)
jmp 0x65a8
movq -0x1f0(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x33c0
movq %rax, -0x1f8(%rbp)
jmp 0x65c0
movq -0x1f8(%rbp), %rdi
leaq 0x9c24(%rip), %rsi      # 0x101f2
callq 0x3280
movq %rax, -0x200(%rbp)
jmp 0x65dc
movq -0x200(%rbp), %rdi
movl -0x18(%rbp), %esi
callq 0x33c0
movq %rax, -0x208(%rbp)
jmp 0x65f4
movq -0x208(%rbp), %rdi
leaq 0x9bf0(%rip), %rsi      # 0x101f2
callq 0x3280
movq %rax, -0x210(%rbp)
jmp 0x6610
movq -0x210(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x33c0
jmp 0x6621
movq -0x28(%rbp), %rdi
callq 0x3490
testb $0x1, %al
jne 0x6630
jmp 0x6667
leaq 0x9c4d(%rip), %rsi      # 0x10284
leaq -0x1a0(%rbp), %rdi
callq 0x3280
movq %rax, -0x218(%rbp)
jmp 0x664c
movq -0x218(%rbp), %rdi
movq -0x1d8(%rbp), %rsi
addq $0x10, %rsi
callq 0x3270
jmp 0x6665
jmp 0x66d3
leaq 0x9c33(%rip), %rsi      # 0x102a1
leaq -0x1a0(%rbp), %rdi
callq 0x3280
movq %rax, -0x220(%rbp)
jmp 0x6683
movq -0x220(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x3270
movq %rax, -0x228(%rbp)
jmp 0x669c
movq -0x228(%rbp), %rdi
leaq 0x9b89(%rip), %rsi      # 0x10233
callq 0x3280
movq %rax, -0x230(%rbp)
jmp 0x66b8
movq -0x230(%rbp), %rdi
movq -0x1d8(%rbp), %rsi
addq $0x10, %rsi
callq 0x3270
jmp 0x66d1
jmp 0x66d3
leaq -0x1d0(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x32b0
jmp 0x66e8
movq -0x1d8(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x3d00
movq %rax, -0x238(%rbp)
jmp 0x6704
leaq -0x1d0(%rbp), %rdi
callq 0x35c8
leaq -0x1a0(%rbp), %rdi
callq 0x3090
movq -0x238(%rbp), %rax
addq $0x240, %rsp            # imm = 0x240
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a8(%rbp)
movl %eax, -0x1ac(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x35c8
leaq -0x1a0(%rbp), %rdi
callq 0x3090
movq -0x1a8(%rbp), %rdi
callq 0x3500
nopw %cs:(%rax,%rax)