| 152× | rewrite-expression-head |
460 calls:
| 1.5m | (* (/ (* (pow (+ (+ (- z 1.0) 7.0) 0.5) (+ (- z 1.0) 0.5)) (sqrt (* PI 2.0))) (exp (+ (+ (- z 1.0) 7.0) 0.5))) (+ (+ (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))) (/ 12.507343278686905 (+ (- z 1.0) 5.0))) (+ (/ -176.6150291621406 (+ (- z 1.0) 4.0)) (+ (+ (/ -0.13857109526572012 (+ (- z 1.0) 6.0)) (/ 771.3234287776531 (+ (- z 1.0) 3.0))) (+ (/ 676.5203681218851 z) (+ (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) 0.9999999999998099)))))) |
| 1.0m | (* (exp (- (- 1.0 7.0) 0.5)) (+ (+ (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))) (/ 12.507343278686905 (+ (- z 1.0) 5.0))) (+ (/ -176.6150291621406 (+ (- z 1.0) 4.0)) (+ (+ (/ -0.13857109526572012 (+ (- z 1.0) 6.0)) (/ 771.3234287776531 (+ (- z 1.0) 3.0))) (+ (/ 676.5203681218851 z) (+ (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) 0.9999999999998099)))))) |
| 43.3s | (* (/ (* (pow (+ (+ (- z 1.0) 7.0) 0.5) (+ (- z 1.0) 0.5)) (sqrt (* PI 2.0))) (exp z)) (* (exp (- (- 1.0 7.0) 0.5)) (+ (+ (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))) (/ 12.507343278686905 (+ (- z 1.0) 5.0))) (+ (/ -176.6150291621406 (+ (- z 1.0) 4.0)) (+ (+ (/ -0.13857109526572012 (+ (- z 1.0) 6.0)) (/ 771.3234287776531 (+ (- z 1.0) 3.0))) (+ (/ 676.5203681218851 z) (+ (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) 0.9999999999998099))))))) |
| 25.6s | (* (/ (+ (+ (+ (+ (+ 1.0 (* 0.1049934947 (* x x))) (* 0.0424060604 (* (* x x) (* x x)))) (* 0.0072644182 (* (* (* x x) (* x x)) (* x x)))) (* 0.0005064034 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0001789971 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (+ (+ (+ (+ (+ (+ 1.0 (* 0.7715471019 (* x x))) (* 0.2909738639 (* (* x x) (* x x)))) (* 0.0694555761 (* (* (* x x) (* x x)) (* x x)))) (* 0.0140005442 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0008327945 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2.0 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x) |
| 23.1s | (+ (/ -1259.1392167224028 (+ (- z) 2.0)) (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))) (/ -176.6150291621406 (+ 4.0 (- z)))) (/ 771.3234287776531 (+ 3.0 (- z)))) (+ (/ 12.507343278686905 (+ 5.0 (- z))) (+ (/ 1.5056327351493116e-07 (+ 8.0 (- z))) (+ (/ 9.984369578019572e-06 (+ (- z) 7.0)) (/ -0.13857109526572012 (+ 6.0 (- z)))))))) |
| 11422× | times-frac |
| 10413× | *-un-lft-identity |
| 8521× | add-sqr-sqrt |
| 6523× | add-cube-cbrt |
| 3601× | sqrt-prod |
| 2803× | frac-add |
| 2425× | add-exp-log |
| 1967× | add-cbrt-cube |
| 1535× | distribute-lft-out |
| 1487× | pow1 |
| 1112× | flip-+ flip3-+ |
| 1092× | associate-*l* |
| 888× | associate-*r* |
| 887× | prod-exp |
| 829× | associate-/l* |
| 819× | prod-diff |
| 708× | associate-*r/ |
| 697× | add-log-exp |
| 673× | frac-times |
| 666× | cbrt-unprod |
| 591× | difference-of-squares |
| 573× | distribute-lft-out-- |
| 532× | associate-/r* |
| 507× | div-exp |
| 463× | log1p-expm1-u |
| 461× | expm1-log1p-u |
| 458× | unpow-prod-down |
| 414× | div-inv |
| 406× | pow-prod-down |
| 383× | cbrt-undiv |
| 361× | cbrt-prod |
| 318× | unswap-sqr cube-prod |
| 267× | associate-/r/ |
| 257× | exp-diff |
| 221× | log-pow |
| 218× | cbrt-div |
| 209× | associate-*l/ |
| 202× | sqrt-div |
| 167× | fma-def |
| 147× | distribute-rgt-in distribute-lft-in |
| 145× | fma-neg |
| 142× | pow1/3 |
| 126× | sqr-pow |
| 121× | *-commutative |
| 120× | pow-exp |
| 119× | sum-log |
| 117× | flip-- flip3-- |
| 111× | exp-sum |
| 107× | pow-prod-up |
| 101× | frac-2neg clear-num |
| 88× | associate-/l/ pow-to-exp |
| 85× | sqrt-pow1 |
| 81× | pow-unpow |
| 73× | log-prod |
| 68× | associate--l+ |
| 66× | fma-udef |
| 63× | swap-sqr |
| 58× | pow-plus |
| 57× | pow1/2 pow-sqr |
| 52× | sub-neg |
| 49× | 1-exp rec-exp pow-pow |
| 48× | unpow3 cube-mult |
| 39× | diff-log |
| 32× | pow2 |
| 26× | associate-+l+ |
| 24× | +-commutative |
| 23× | cube-div |
| 22× | rem-cube-cbrt |
| 20× | frac-sub distribute-rgt-neg-in |
| 19× | rem-sqrt-square unpow2 |
| 17× | div-sub |
| 14× | associate-+l- |
| 13× | pow-flip |
| 11× | inv-pow hypot-udef associate--r+ |
| 10× | exp-prod |
| 7× | un-div-inv pow-sub |
| 6× | sub-div cos-sum |
| 5× | pow3 unpow-prod-up hypot-def rem-log-exp |
| 4× | sqrt-pow2 log1p-udef associate--l- log1p-expm1 expm1-log1p expm1-udef log-div |
| 3× | sqrt-undiv sin-sum associate-+r+ |
| 2× | sqrt-unprod rem-square-sqrt rem-cbrt-cube |
| 1× | rem-exp-log distribute-rgt-out-- distribute-rgt-out associate--r- sum-cubes |
| 99× | intervals |
| 1.3m | 15544× | body | 10240 | exit |
| 49.2s | 437767× | body | 80 | valid |
| 29.5s | 30263× | body | 1280 | valid |
| 17.7s | 23358× | body | 640 | valid |
| 7.9s | 69959× | body | 80 | nan |
| 6.6s | 3043× | body | 1280 | nan |
| 4.5s | 9993× | body | 160 | valid |
| 4.4s | 12027× | body | 320 | valid |
| 3.9s | 2442× | body | 640 | nan |
| 2.1s | 49536× | pre | 80 | true |
| 1.2s | 1468× | body | 2560 | valid |
| 1.2s | 1320× | body | 320 | nan |
| 355.0ms | 630× | body | 160 | nan |
| 354.0ms | 569× | body | 5120 | valid |
460 calls:
| 1.9s | (fma -1259.1392167224028 (* (fma (/ 12.507343278686905 (- 5.0 z)) (/ 12.507343278686905 (- 5.0 z)) (* (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (- (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (/ 12.507343278686905 (- 5.0 z))))) (* (- 3.0 z) (- (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))) (/ -176.6150291621406 (- 4.0 z))))) (* (fma (fma (- (* (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z)))) (* (/ -176.6150291621406 (- 4.0 z)) (/ -176.6150291621406 (- 4.0 z)))) (- 3.0 z) (* (- (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))) (/ -176.6150291621406 (- 4.0 z))) 771.3234287776531)) (fma (/ 12.507343278686905 (- 5.0 z)) (/ 12.507343278686905 (- 5.0 z)) (* (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (- (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (/ 12.507343278686905 (- 5.0 z))))) (* (* (- 3.0 z) (- (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))) (/ -176.6150291621406 (- 4.0 z)))) (+ (pow (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) 3) (pow (/ 12.507343278686905 (- 5.0 z)) 3)))) (+ (- z) 2.0))) |
| 1.7s | (* (pow (* (pow (log u1) 1.0) (pow -2.0 1.0)) 0.5) (- 0.16666666666666666 (* 0.3333333333333333 (* (pow u2 2) (pow PI 2))))) |
| 1.5s | (cbrt (- (fma (exp (- (pow (fabs x) 2))) (+ (/ 0.284496736 (pow (fma (fabs x) 0.3275911 1.0) 2)) (/ 1.453152027 (pow (fma (fabs x) 0.3275911 1.0) 4))) 1.0) (fma (exp (- (pow (fabs x) 2))) (+ (/ 1.061405429 (pow (fma (fabs x) 0.3275911 1.0) 5)) (/ 0.254829592 (fma 0.3275911 (fabs x) 1.0))) (/ 1.421413741 (* (exp (pow (fabs x) 2)) (pow (fma (fabs x) 0.3275911 1.0) 3)))))) |
| 1.5s | (* (* (* (pow (+ (+ (- z 1.0) 7.0) 0.5) (+ (- z 1.0) 0.5)) (sqrt (* PI 2.0))) (exp (- (- 1.0 7.0) 0.5))) (fma (+ (pow (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))) 3) (pow (/ 12.507343278686905 (+ (- z 1.0) 5.0)) 3)) (* (* (+ (- z 1.0) 4.0) (* (+ (- z 1.0) 6.0) (+ (- z 1.0) 3.0))) (* z (fma (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (* 0.9999999999998099 (- 0.9999999999998099 (/ -1259.1392167224028 (+ (- z 1.0) 2.0))))))) (* (fma (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))) (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))) (* (/ 12.507343278686905 (+ (- z 1.0) 5.0)) (- (/ 12.507343278686905 (+ (- z 1.0) 5.0)) (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0)))))) (fma -176.6150291621406 (* (* (+ (- z 1.0) 6.0) (+ (- z 1.0) 3.0)) (* z (fma (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (* 0.9999999999998099 (- 0.9999999999998099 (/ -1259.1392167224028 (+ (- z 1.0) 2.0))))))) (* (+ (- z 1.0) 4.0) (fma (fma -0.13857109526572012 (+ (- z 1.0) 3.0) (* (+ (- z 1.0) 6.0) 771.3234287776531)) (* z (fma (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (* 0.9999999999998099 (- 0.9999999999998099 (/ -1259.1392167224028 (+ (- z 1.0) 2.0)))))) (* (* (+ (- z 1.0) 6.0) (+ (- z 1.0) 3.0)) (fma 676.5203681218851 (fma (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) (* 0.9999999999998099 (- 0.9999999999998099 (/ -1259.1392167224028 (+ (- z 1.0) 2.0))))) (* z (+ (pow (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) 3) (pow 0.9999999999998099 3))))))))))) |
| 1.4s | (pow (* (pow (log u1) 1.0) (pow -2.0 1.0)) 0.5) |
Total 26.6b remaining (19.8%)
Threshold costs 7.5b (5.6%)
| 7.0b | 35.7% | _divideComplex, real part |
| 3.7b | 72.8% | Octave 3.8, jcobi/1 |
| 2.8b | 0% | Octave 3.8, jcobi/3 |
| 2.6b | 33.4% | Octave 3.8, jcobi/4 |
| 1.9b | 0% | math.sqrt on complex, real part |