How to implement following function in CVX?

K=4;
A =[ 24.0173 17.6637 78.0226 60.4402];
B =[ 156.1265 162.4801 102.1212 119.7036];

 cvx_begin 
   variable tau0 nonnegative
   tau1=1-tau0;
    for i=1:K
       R1=-rel_entr(tau1+ ((B(i)./c(i)) .* tau0 ), tau1+((B(i)+A(i))./c(i)) .* tau0 );

       R2=-rel_entr( (B(i) ./ A(i)).*tau1 + (B(i)^2 ./( A(i).*c(i) ) ).*tau0, ...
             (B(i) ./ A(i)).*tau1 + (B(i)^2 ./( A(i).*c(i) ) ).*tau0+ (B(i) ./ c(i)).*tau0) ;

       R3=-rel_entr((B(i) ./ A(i)).*tau1 + (B(i)^2 ./( A(i).*c(i)) ).*tau0+ (B(i) ./ c(i)).*tau0,...
             (B(i) ./ A(i)).*tau1 + (B(i)^2 ./( A(i).*c(i) ) ).*tau0) ;
    end
 maximize (R1+R2+R3);                     
 subject to
       tau0<=1;
 cvx_end  

CVX Warning:
Models involving “rel_entr” or other functions in the log, exp, and entropy
family are solved using an experimental successive approximation method.
This method is slower and less reliable than the method CVX employs for
other models. Please see the section of the user’s guide entitled
The successive approximation method
for more details about the approach, and for instructions on how to
suppress this warning message in the future.

Successive approximation method to be employed.
For improved efficiency, SDPT3 is solving the dual problem.
SDPT3 will be called several times to refine the solution.
Original size: 38 variables, 13 equality constraints
12 exponentials add 96 variables, 60 equality constraints

Cones | Errors |
Mov/Act | Centering Exp cone Poly cone | Status
--------±--------------------------------±--------
3/ 3 | 1.452e+00 1.422e-01 0.000e+00 | Failed
3/ 3 | 1.966e-01 3.158e-03 0.000e+00 | Failed
2/ 2 | 1.044e-02 6.073e-06 0.000e+00 | Failed
0/ 2 | 8.000e+00 1.399e+06 1.399e+06 | Failed
0/ 0 | 0.000e+00 0.000e+00 0.000e+00 | Failed
0/ 2 | 8.000e+00 1.417e+08 1.417e+08 | Failed

Status: Failed
Optimal value (cvx_optval): NaN

For my code , CVX failed to solve the problem. And I have noticed a suggestion for such issues. Hence I installed CVXQUAD.
As I noticed, rel_entr_quad(x,y)=x.*log(x./y). I replaced rel_entr(x,y) in the above program as rel_entr_quad(x,y). Then, again problem is not solved. And obtained as follows.

Calling SDPT3 4.0: 242 variables, 97 equality constraints
For improved efficiency, SDPT3 is solving the dual problem.

num. of constraints = 97
dim. of sdp var = 144, num. of sdp blk = 72
dim. of linear var = 26


SDPT3: Infeasible path-following algorithms


version predcorr gam expon scale_data
HKM 1 0.000 1 0
it pstep dstep pinfeas dinfeas gap prim-obj dual-obj cputime

0|0.000|0.000|8.7e+01|1.9e+01|5.9e+04| 6.396305e+02 0.000000e+00| 0:0:00| chol 1 1
1|0.603|0.860|3.5e+01|2.9e+00|2.3e+04| 4.525474e+02 -4.035508e+02| 0:0:00| chol 1 1
2|0.602|0.959|1.4e+01|1.5e-01|1.2e+04| 2.911977e+02 -3.647883e+02| 0:0:00| chol 1 1
3|0.872|0.994|1.8e+00|3.9e-03|1.6e+03| 2.994727e+01 -1.665109e+02| 0:0:00| chol 1 1
4|0.778|1.000|3.9e-01|3.0e-04|5.0e+02| 2.155566e+00 -9.241729e+01| 0:0:00| chol 1 1
5|0.887|1.000|4.4e-02|9.0e-05|5.4e+01|-7.986274e+00 -1.681680e+01| 0:0:00| chol 1 1
6|0.962|0.969|1.7e-03|3.9e-04|2.4e+00|-9.305796e+00 -9.688913e+00| 0:0:00| chol 1 1
7|0.895|0.963|1.8e-04|5.0e-05|1.8e-01|-9.344975e+00 -9.293160e+00| 0:0:00| chol 2 2
8|0.267|0.240|1.3e-04|6.7e-05|1.8e-01|-9.312006e+00 -9.276831e+00| 0:0:00| chol 2 2
9|0.256|0.224|1.0e-04|7.9e-05|1.9e-01|-9.289458e+00 -9.266299e+00| 0:0:00| chol 2 2
10|0.144|0.253|8.6e-05|7.9e-05|2.0e-01|-9.279087e+00 -9.257261e+00| 0:0:00| chol 2 2
11|0.199|0.221|6.9e-05|7.9e-05|2.0e-01|-9.265512e+00 -9.251226e+00| 0:0:00| chol 2 2
12|0.239|0.227|5.3e-05|7.5e-05|1.9e-01|-9.252567e+00 -9.246240e+00| 0:0:00| chol 2 2
13|0.170|0.253|4.4e-05|6.6e-05|1.9e-01|-9.246127e+00 -9.241606e+00| 0:0:00| chol 2 2
14|0.246|0.293|3.3e-05|5.6e-05|1.7e-01|-9.237954e+00 -9.237355e+00| 0:0:00| chol 2 2
15|0.359|0.376|2.1e-05|4.1e-05|1.5e-01|-9.229331e+00 -9.232821e+00| 0:0:00| chol 2 2
16|0.657|0.436|7.3e-06|2.8e-05|7.7e-02|-9.220882e+00 -9.227992e+00| 0:0:00| chol 2 2
17|0.113|0.445|6.5e-06|1.7e-05|7.7e-02|-9.219804e+00 -9.222825e+00| 0:0:00| chol 2 2
18|0.229|0.402|5.0e-06|1.1e-05|7.1e-02|-9.217905e+00 -9.219596e+00| 0:0:00| chol 3 3
19|0.188|0.575|4.1e-06|5.8e-06|7.3e-02|-9.216276e+00 -9.216479e+00| 0:0:00| chol 3 2
20|0.163|0.936|3.4e-06|1.2e-06|8.1e-02|-9.214699e+00 -9.213638e+00| 0:0:00| chol 3 3
21|0.455|0.974|1.9e-06|7.1e-07|6.1e-02|-9.210989e+00 -9.212615e+00| 0:0:01| chol 3 3
22|0.844|1.000|2.8e-07|3.7e-07|1.2e-02|-9.209798e+00 -9.210262e+00| 0:0:01| chol 5 5
23|0.527|0.611|1.3e-07|2.0e-07|6.1e-03|-9.209346e+00 -9.208964e+00| 0:0:01| chol
linsysolve: Schur complement matrix not positive definite
switch to LU factor. lu 11 2
24|0.074|0.059|1.5e-07|2.2e-07|5.7e-03|-9.209583e+00 -9.209006e+00| 0:0:01| lu 11 2
25|0.450|0.384|1.4e-07|1.6e-07|4.0e-03|-9.209782e+00 -9.208957e+00| 0:0:01| lu 11 ^25
26|0.059|0.002|1.5e-07|1.9e-07|4.1e-03|-9.210310e+00 -9.208963e+00| 0:0:01| lu 23 2
27|0.132|0.087|1.6e-07|2.1e-07|4.1e-03|-9.210735e+00 -9.209177e+00| 0:0:01|
stop: progress is too slow
stop: progress is bad

number of iterations = 27
primal objective value = -9.20978219e+00
dual objective value = -9.20895652e+00
gap := trace(XZ) = 3.95e-03
relative gap = 2.03e-04
actual relative gap = -4.25e-05
rel. primal infeas (scaled problem) = 1.45e-07
rel. dual " " " = 1.63e-07
rel. primal infeas (unscaled problem) = 0.00e+00
rel. dual " " " = 0.00e+00
norm(X), norm(y), norm(Z) = 1.0e+03, 1.9e+04, 2.5e+04
norm(A), norm(b), norm© = 3.1e+01, 2.8e+01, 6.7e+00
Total CPU time (secs) = 0.60
CPU time per iteration = 0.02
termination code = -5
DIMACS: 2.0e-07 0.0e+00 5.5e-07 0.0e+00 -4.3e-05 2.0e-04


Status: Failed
Optimal value (cvx_optval): NaN

Anyway as per the suggestion here, no modifications are needed for my original code. Still I cannot understand why my problem is not solved.