If we do check the assembly of the code you have you may see the difference
program
int main()
{
    int x,y;
    for(x=0,y=0;x<4,y<5;x++,y++);
    printf("New one");
    for(x=0,y=0;x<4 && y<5;x++,y++);
}
command to get assembly : gcc -S <program name>
Assembly
          .file   "for1.c"
    .section    .rodata
.LC0:
    .string "New one"
    .text
    .globl  main
    .type   main, @function
main:
.LFB0:
    .cfi_startproc
    pushl   %ebp
    .cfi_def_cfa_offset 8
    .cfi_offset 5, -8
    movl    %esp, %ebp
    .cfi_def_cfa_register 5
    andl    $-16, %esp
    subl    $32, %esp
    movl    $0, 24(%esp)
    movl    $0, 28(%esp)
    jmp .L2
.L3:
    addl    $1, 24(%esp)
    addl    $1, 28(%esp)
.L2:
    cmpl    $4, 28(%esp) //Here only one condition
    jle .L3
    movl    $.LC0, (%esp)
    call    printf
    movl    $0, 24(%esp)
    movl    $0, 28(%esp)
    jmp .L4
.L6:
    addl    $1, 24(%esp)
    addl    $1, 28(%esp)
.L4:
    cmpl    $3, 24(%esp) //First Condition
    jg  .L7
    cmpl    $4, 28(%esp) //Second Condition
    jle .L6
.L7:
    leave
    .cfi_restore 5
    .cfi_def_cfa 4, 4
    ret
    .cfi_endproc
.LFE0:
    .size   main, .-main
    .ident  "GCC: (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3"
    .section    .note.GNU-stack,"",@progbits
So, it is clear if we have 2 condition then it will be more time taking.