Details

Time bar (total: 10.6s)

analyze68.0ms (0.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
100%0%0%1
Compiler

Compiled 66 to 53 computations (19.7% saved)

sample49.0ms (0.5%)

Algorithm
intervals
Results
41.0ms256×body128valid
Compiler

Compiled 132 to 106 computations (19.7% saved)

simplify62.0ms (0.6%)

Algorithm
egg-herbie
Rules
660×fma-neg_binary64
578×times-frac_binary64
564×cancel-sign-sub-inv_binary64
389×fma-def_binary64
380×distribute-rgt-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02793
19169
227069
382569
4284069
5483969
6507469

prune6.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
14.8b
Counts
3 → 1
Alt Table
StatusErrorProgram
14.8b
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
Compiler

Compiled 241 to 190 computations (21.2% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496)))))))
0.2b
(*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496)))))
0.5b
(+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))
14.8b
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))

series950.0ms (9%)

Counts
4 → 48
Calls

4 calls:

420.0ms
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
239.0ms
(+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))
179.0ms
(*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496)))))))
112.0ms
(*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496)))))

rewrite44.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
37×add-sqr-sqrt_binary64
30×associate-*l*_binary64
25×*-un-lft-identity_binary64
23×add-cube-cbrt_binary64
22×times-frac_binary64
Counts
4 → 128
Calls

4 calls:

15.0ms
(*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496)))))))
9.0ms
(*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496)))))
4.0ms
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
3.0ms
(+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))

simplify331.0ms (3.1%)

Algorithm
egg-herbie
Rules
354×cancel-sign-sub-inv_binary64
284×distribute-rgt-in_binary64
281×fma-neg_binary64
266×associate-*l*_binary64
260×distribute-lft-in_binary64
Counts
176 → 222
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
026413102
185510276
2316810056
3478610056
4489610056

prune868.0ms (8.2%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2148222
Fresh000
Picked101
Done000
Total2158223
Error
14.7b
Counts
223 → 8
Alt Table
StatusErrorProgram
15.6b
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (cbrt.f64 (pow.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) 3)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
14.8b
(+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))) (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496)))))))))))) (fma.f64 (neg.f64 (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))) (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (*.f64 (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))) (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))))))
14.8b
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (expm1.f64 (log1p.f64 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
14.8b
(log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))
15.6b
(log.f64 (/.f64 (exp.f64 1) (exp.f64 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))
14.8b
(/.f64 (-.f64 (pow.f64 1 3) (pow.f64 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))) 3)) (+.f64 (*.f64 1 1) (+.f64 (*.f64 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))) (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))))) (*.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))
14.8b
(exp.f64 (log1p.f64 (/.f64 (/.f64 (-.f64 -2295300911148351/9007199254740992 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (exp.f64 (*.f64 x x))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))))
14.8b
(/.f64 (+.f64 1 (*.f64 (/.f64 -1 (pow.f64 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1) 2)) (*.f64 (*.f64 (+.f64 2295300911148351/9007199254740992 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (+.f64 2295300911148351/9007199254740992 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))) (pow.f64 (exp.f64 -1) (*.f64 2 (*.f64 x x)))))) (+.f64 1 (/.f64 (/.f64 (+.f64 2295300911148351/9007199254740992 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) (exp.f64 (*.f64 x x)))))
Compiler

Compiled 20789 to 15505 computations (25.4% saved)

localize25.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496)))))
0.5b
(+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))
14.8b
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
14.8b
(log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))

series384.0ms (3.6%)

Counts
1 → 12
Calls

1 calls:

384.0ms
(log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))

rewrite8.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
log-prod_binary64
exp-sum_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
Counts
1 → 23
Calls

1 calls:

4.0ms
(log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))

simplify141.0ms (1.3%)

Algorithm
egg-herbie
Rules
488×cancel-sign-sub-inv_binary64
463×fma-neg_binary64
249×exp-prod_binary64
197×fma-def_binary64
192×distribute-rgt-in_binary64
Counts
35 → 42
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01074917
12323413
27202991
326262967
445492967
548542967

prune871.0ms (8.2%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1852187
Fresh167
Picked101
Done000
Total1878195
Error
14.7b
Counts
195 → 8
Alt Table
StatusErrorProgram
15.6b
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (cbrt.f64 (pow.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) 3)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
14.8b
(+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))) (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496)))))))))))) (fma.f64 (neg.f64 (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))) (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (*.f64 (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))) (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))))))
14.8b
(log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))
14.8b
(/.f64 (-.f64 (pow.f64 1 3) (pow.f64 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))) 3)) (+.f64 (*.f64 1 1) (+.f64 (*.f64 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))) (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))))) (*.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))
14.8b
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (expm1.f64 (log1p.f64 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
14.8b
(exp.f64 (log.f64 (log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))))
14.8b
(exp.f64 (log1p.f64 (/.f64 (/.f64 (-.f64 -2295300911148351/9007199254740992 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (exp.f64 (*.f64 x x))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))))
14.8b
(/.f64 (+.f64 1 (*.f64 (/.f64 -1 (pow.f64 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1) 2)) (*.f64 (*.f64 (+.f64 2295300911148351/9007199254740992 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (+.f64 2295300911148351/9007199254740992 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))) (pow.f64 (exp.f64 -1) (*.f64 2 (*.f64 x x)))))) (+.f64 1 (/.f64 (/.f64 (+.f64 2295300911148351/9007199254740992 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) (exp.f64 (*.f64 x x)))))
Compiler

Compiled 18635 to 13923 computations (25.3% saved)

localize25.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))))
0.5b
(+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))
14.8b
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
14.8b
(log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))

series1.3s (12.2%)

Counts
4 → 48
Calls

4 calls:

428.0ms
(log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))
424.0ms
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
238.0ms
(+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))
204.0ms
(*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))))

rewrite50.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
25×add-sqr-sqrt_binary64
21×*-un-lft-identity_binary64
18×add-cube-cbrt_binary64
15×associate-*l*_binary64
13×add-exp-log_binary64
Counts
4 → 107
Calls

4 calls:

24.0ms
(*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))))
8.0ms
(log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))
3.0ms
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
3.0ms
(+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))

simplify412.0ms (3.9%)

Algorithm
egg-herbie
Rules
878×fma-def_binary64
572×times-frac_binary64
300×fma-neg_binary64
267×cancel-sign-sub-inv_binary64
171×distribute-rgt-neg-in_binary64
Counts
155 → 176
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
024212828
166111443
2218210932
3471610932
4498710932
5489710932

prune834.0ms (7.9%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1751176
Fresh167
Picked101
Done000
Total1777184
Error
14.7b
Counts
184 → 7
Alt Table
StatusErrorProgram
15.6b
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (cbrt.f64 (pow.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) 3)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
14.8b
(+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))) (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496)))))))))))) (fma.f64 (neg.f64 (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))) (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (*.f64 (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))) (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))))))
14.8b
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (expm1.f64 (log1p.f64 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
14.8b
(exp.f64 (log.f64 (log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))))
14.8b
(/.f64 (-.f64 (pow.f64 1 3) (pow.f64 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))) 3)) (+.f64 (*.f64 1 1) (+.f64 (*.f64 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))) (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))))) (*.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))
14.8b
(exp.f64 (log1p.f64 (/.f64 (/.f64 (-.f64 -2295300911148351/9007199254740992 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (exp.f64 (*.f64 x x))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))))
14.8b
(/.f64 (+.f64 1 (*.f64 (/.f64 -1 (pow.f64 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1) 2)) (*.f64 (*.f64 (+.f64 2295300911148351/9007199254740992 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (+.f64 2295300911148351/9007199254740992 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))) (pow.f64 (exp.f64 -1) (*.f64 2 (*.f64 x x)))))) (+.f64 1 (/.f64 (/.f64 (+.f64 2295300911148351/9007199254740992 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) (exp.f64 (*.f64 x x)))))
Compiler

Compiled 16431 to 11872 computations (27.7% saved)

localize31.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))
1.3b
(exp.f64 (log.f64 (log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))))
14.8b
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
14.8b
(log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))

series445.0ms (4.2%)

Counts
1 → 12
Calls

1 calls:

444.0ms
(exp.f64 (log.f64 (log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))))

rewrite7.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
exp-sum_binary64
log-prod_binary64
exp-prod_binary64
log-pow_binary64
*-un-lft-identity_binary64
Counts
1 → 21
Calls

1 calls:

4.0ms
(exp.f64 (log.f64 (log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))))

simplify129.0ms (1.2%)

Algorithm
egg-herbie
Rules
820×fma-def_binary64
480×distribute-rgt-in_binary64
434×fma-neg_binary64
381×cancel-sign-sub-inv_binary64
322×exp-prod_binary64
Counts
33 → 35
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01103633
11903020
25252876
318162724
444872724
550872724

prune618.0ms (5.8%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1313134
Fresh246
Picked101
Done000
Total1347141
Error
13.9b
Counts
141 → 7
Alt Table
StatusErrorProgram
15.6b
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (cbrt.f64 (pow.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) 3)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
14.8b
(+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))) (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496)))))))))))) (fma.f64 (neg.f64 (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))) (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))) (*.f64 (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))) (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 6401478394306903/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -6544414927309881/4503599627370496 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) 4780145094533421/4503599627370496))))))))))))
14.8b
(-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (expm1.f64 (log1p.f64 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))
14.8b
(*.f64 (exp.f64 (log.f64 (*.f64 (cbrt.f64 (log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))) (cbrt.f64 (log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))))) (exp.f64 (log.f64 (cbrt.f64 (log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))))))
14.0b
(pow.f64 (exp.f64 (*.f64 (cbrt.f64 (log1p.f64 (/.f64 (-.f64 -2295300911148351/9007199254740992 (/.f64 (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (*.f64 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1) (exp.f64 (*.f64 x x)))))) (cbrt.f64 (log1p.f64 (/.f64 (-.f64 -2295300911148351/9007199254740992 (/.f64 (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (*.f64 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1) (exp.f64 (*.f64 x x)))))))) (cbrt.f64 (log.f64 (log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))))
14.7b
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (log.f64 (log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))))) (cbrt.f64 (exp.f64 (log.f64 (log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))))))))))) (cbrt.f64 (exp.f64 (log.f64 (log.f64 (exp.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 2295300911148351/9007199254740992 (*.f64 (/.f64 1 (+.f64 1 (*.f64 1475339155889891/4503599627370496 (fabs.f64 x)))) (+.f64 -5125037576950889/18014398509481984 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))))) (exp.f64 (neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 x))))))))))))
14.8b
(/.f64 (+.f64 1 (*.f64 (/.f64 -1 (pow.f64 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1) 2)) (*.f64 (*.f64 (+.f64 2295300911148351/9007199254740992 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (+.f64 2295300911148351/9007199254740992 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)))) (pow.f64 (exp.f64 -1) (*.f64 2 (*.f64 x x)))))) (+.f64 1 (/.f64 (/.f64 (+.f64 2295300911148351/9007199254740992 (/.f64 (+.f64 (/.f64 (+.f64 6401478394306903/4503599627370496 (/.f64 (+.f64 -6544414927309881/4503599627370496 (/.f64 4780145094533421/4503599627370496 (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) -5125037576950889/18014398509481984) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1))) (fma.f64 (fabs.f64 x) 1475339155889891/4503599627370496 1)) (exp.f64 (*.f64 x x)))))
Compiler

Compiled 13102 to 9458 computations (27.8% saved)

regimes708.0ms (6.7%)

Accuracy

Total 0.0b remaining (0.2%)

Threshold costs 0.0b (0.2%)

Counts
62 → 1
Compiler

Compiled 26731 to 20470 computations (23.4% saved)

simplify17.0ms (0.2%)

Algorithm
egg-herbie
Rules
23×+-commutative_binary64
21×*-commutative_binary64
18×sub-neg_binary64
16×neg-sub0_binary64
16×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044235
169235
295235
3125235
4151235
5167235
6176235
7186235
8195235
9198235
10199235
11192235

end3.0ms (0%)

Compiler

Compiled 153 to 115 computations (24.8% saved)

sample2.2s (20.7%)

Algorithm
intervals
Results
1.4s8000×body128valid
Compiler

Compiled 1182 to 893 computations (24.5% saved)

Profiling

Loading profile data...