I would expect, that evalhf works for that without 'manual' translation ...

restart;
interface(version);

  Classic Worksheet Interface, Maple 10.06, Windows, Oct 2 2006 Build ID 255401


tst1:=proc(a,z) (-z)^(-a); end proc:
evalhf(tst1(1.5, 2.5));

  Error, fractional power of a negative


'(-z)^(-a)': '%'= convert(%,exp);
 
tst2:=proc(a,z) exp(-a*ln(-z)); end proc:
evalhf(tst2(1.5, 2.5));

                          (-a)
                      (-z)     = exp(-ln(-z) a)

                                 -9
          0.155662521299999988 10   + 0.252982212799999995 I



Please Wait...