Details

Time bar (total: 12.0s)

analyze147.0ms (1.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
50%50%50%0.1%0%0%0%5
50%50%50%0.1%0%0%0%6
57.1%50%37.5%0.1%12.5%0%0%7
57.1%50%37.5%0.1%12.5%0%0%8
61.5%50%31.2%0.1%18.7%0%0%9
61.5%50%31.2%0.1%18.7%0%0%10
64%50%28.1%0.1%21.9%0%0%11
64%50%28.1%0.1%21.9%0%0%12
Compiler

Compiled 15 to 12 computations (20% saved)

sample5.1s (43%)

Results
2.8s5055×body1024valid
741.0ms2029×body1024infinite
536.0ms1749×body512valid
432.0ms430×body2048valid
266.0ms1066×body512infinite
211.0ms1485×body256infinite
164.0ms1022×body256valid
Bogosity

preprocess66.0ms (0.6%)

Algorithm
egg-herbie
Rules
738×div-sub_binary64
692×fma-def_binary64
564×times-frac_binary64
463×associate-/r*_binary64
454×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01936
14036
29536
325536
454134
591534
6181934
7375134
8734934
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 im) (-.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (cos.f64 im) (fma.f64 (exp.f64 re) -1/2 (/.f64 1/2 (exp.f64 re))))
Compiler

Compiled 16 to 13 computations (18.8% saved)

simplify51.0ms (0.4%)

Algorithm
egg-herbie
Rules
626×associate-/l*_binary64
546×div-sub_binary64
462×times-frac_binary64
367×associate-/r*_binary64
358×fma-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01218
12318
25218
313418
428217
547417
693117
7239117
8625817
Stop Event
node limit
Counts
1 → 5
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 58 to 28 computations (51.7% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New415
Fresh101
Picked000
Done000
Total516
Error
58.7b
Counts
6 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
58.7b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 13 to 10 computations (23.1% saved)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 re)
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
4.9b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 35 to 13 computations (62.9% saved)

series23.0ms (0.2%)

Counts
3 → 0
Calls

12 calls:

TimeVariablePointExpression
3.0ms
im
@-inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
im
@0
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@0
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 2435 to 1190 computations (51.1% saved)

rewrite120.0ms (1%)

Algorithm
egg-rewrite
egg-rewrite-iter-limit
batch-egg-rewrite
Rules
416×log1p-udef_binary64
274×associate-*r*_binary64
272×pow1_binary64
262×add-sqr-sqrt_binary64
257×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01130
122830
2355030
0610
112710
2211610
0610
01118
122818
2354518
01118
033
1583
26733
374123
Stop Event
node limit
iter limit
unsound
iter limit
unsound
unsound
Counts
3 → 67
Calls
Call 1
Inputs
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(cos.f64 re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 re) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (+.f64 re 1)) (cos.f64 1)) (*.f64 (sin.f64 (+.f64 re 1)) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 re) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 re) 1/6) (*.f64 (pow.f64 (cos.f64 re) 1/6) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 re) 1/4) (sqrt.f64 (pow.f64 (cos.f64 re) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 re) 1/4) (*.f64 (pow.f64 (cos.f64 re) 1/4) (sqrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (pow.f64 (cos.f64 re) 1/4)) (pow.f64 (cos.f64 re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 5/2)) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 5)) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cos.f64 re) 3/2)) (pow.f64 (cos.f64 re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cos.f64 re) 5/2) 1/3) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cos.f64 re) 1/6)) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1) (+.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) (+.f64 1 (+.f64 (cos.f64 re) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) 1) (+.f64 (+.f64 (cos.f64 re) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 re))) 2)) (cbrt.f64 (log.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cos.f64 re)))) (sqrt.f64 (log.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (cos.f64 re))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cos.f64 re))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (cos.f64 re))) 2))))))

simplify52.0ms (0.4%)

Algorithm
egg-herbie
Rules
595×distribute-rgt-in_binary64
574×fma-def_binary64
561×distribute-lft-in_binary64
420×log-prod_binary64
303×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0190736
1427705
21518694
37209692
Stop Event
node limit
Counts
67 → 96
Calls
Call 1
Inputs
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(*.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(cbrt.f64 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(expm1.f64 (log1p.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(log1p.f64 (expm1.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(+.f64 (+.f64 (cos.f64 re) 1) -1)
(+.f64 0 (cos.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 (*.f64 (cos.f64 (+.f64 re 1)) (cos.f64 1)) (*.f64 (sin.f64 (+.f64 re 1)) (sin.f64 1)))
(-.f64 (+.f64 (cos.f64 re) 1) 1)
(*.f64 (cos.f64 re) 1)
(*.f64 1 (cos.f64 re))
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (cbrt.f64 (cos.f64 re))))
(*.f64 (pow.f64 (cos.f64 re) 1/6) (*.f64 (pow.f64 (cos.f64 re) 1/6) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(*.f64 (pow.f64 (cos.f64 re) 1/4) (sqrt.f64 (pow.f64 (cos.f64 re) 3/2)))
(*.f64 (pow.f64 (cos.f64 re) 1/4) (*.f64 (pow.f64 (cos.f64 re) 1/4) (sqrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (pow.f64 (cos.f64 re) 1/4)) (pow.f64 (cos.f64 re) 1/4))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 5/2)) (pow.f64 (cos.f64 re) 1/6))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 5)) (pow.f64 (cos.f64 re) 1/6))
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 re) 3/2)) (pow.f64 (cos.f64 re) 1/4))
(*.f64 (pow.f64 1 1/3) (cos.f64 re))
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (pow.f64 (pow.f64 (cos.f64 re) 5/2) 1/3) (pow.f64 (cos.f64 re) 1/6))
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (pow.f64 (cos.f64 re) 1/6))
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cos.f64 re) 1/6)) (pow.f64 (cos.f64 re) 1/6))
(/.f64 (sqrt.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0))) (sqrt.f64 2))
(/.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1) (+.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) (+.f64 1 (+.f64 (cos.f64 re) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) 1) (+.f64 (+.f64 (cos.f64 re) 1) 1))
(pow.f64 (cos.f64 re) 1)
(pow.f64 (pow.f64 (cos.f64 re) 2) 1/2)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(pow.f64 (E.f64) (log.f64 (cos.f64 re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 re))) 2)) (cbrt.f64 (log.f64 (cos.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cos.f64 re)))) (sqrt.f64 (log.f64 (cos.f64 re))))
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(fabs.f64 (cos.f64 re))
(log.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(expm1.f64 (log1p.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (cos.f64 re))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cos.f64 re))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (cos.f64 re))) 2))
Outputs
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (exp.f64 (+.f64 (neg.f64 im) (neg.f64 im))) (*.f64 (exp.f64 im) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im))))
(/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (-.f64 (exp.f64 (+.f64 (neg.f64 im) (neg.f64 im))) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(cbrt.f64 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(expm1.f64 (log1p.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(log1p.f64 (expm1.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(+.f64 (+.f64 (cos.f64 re) 1) -1)
(cos.f64 re)
(+.f64 0 (cos.f64 re))
(cos.f64 re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))
(cos.f64 re)
(+.f64 (*.f64 (cos.f64 (+.f64 re 1)) (cos.f64 1)) (*.f64 (sin.f64 (+.f64 re 1)) (sin.f64 1)))
(fma.f64 (cos.f64 (+.f64 1 re)) (cos.f64 1) (*.f64 (sin.f64 (+.f64 1 re)) (sin.f64 1)))
(-.f64 (+.f64 (cos.f64 re) 1) 1)
(cos.f64 re)
(*.f64 (cos.f64 re) 1)
(cos.f64 re)
(*.f64 1 (cos.f64 re))
(cos.f64 re)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(cos.f64 re)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (cbrt.f64 (cos.f64 re))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4)) (*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2)))
(*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4))))
(*.f64 (pow.f64 (cos.f64 re) 1/6) (*.f64 (pow.f64 (cos.f64 re) 1/6) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(cos.f64 re)
(*.f64 (pow.f64 (cos.f64 re) 1/4) (sqrt.f64 (pow.f64 (cos.f64 re) 3/2)))
(*.f64 (pow.f64 (cos.f64 re) 1/4) (pow.f64 (cos.f64 re) 3/4))
(*.f64 (pow.f64 (cos.f64 re) 1/4) (*.f64 (pow.f64 (cos.f64 re) 1/4) (sqrt.f64 (cos.f64 re))))
(cos.f64 re)
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (pow.f64 (cos.f64 re) 1/4)) (pow.f64 (cos.f64 re) 1/4))
(cos.f64 re)
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 8)))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 5/2)) (pow.f64 (cos.f64 re) 1/6))
(*.f64 (pow.f64 (cos.f64 re) 1/6) (cbrt.f64 (pow.f64 (cos.f64 re) 5/2)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 5)) (pow.f64 (cos.f64 re) 1/6))
(*.f64 (pow.f64 (cos.f64 re) 1/6) (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 5)))
(*.f64 (pow.f64 (cos.f64 re) 1/6) (pow.f64 (cbrt.f64 (cos.f64 re)) 5/2))
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 re) 3/2)) (pow.f64 (cos.f64 re) 1/4))
(*.f64 (pow.f64 (cos.f64 re) 1/4) (sqrt.f64 (pow.f64 (cos.f64 re) 3/2)))
(*.f64 (pow.f64 (cos.f64 re) 1/4) (pow.f64 (cos.f64 re) 3/4))
(*.f64 (pow.f64 1 1/3) (cos.f64 re))
(cos.f64 re)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 8)))
(*.f64 (pow.f64 (pow.f64 (cos.f64 re) 5/2) 1/3) (pow.f64 (cos.f64 re) 1/6))
(*.f64 (pow.f64 (cos.f64 re) 1/6) (cbrt.f64 (pow.f64 (cos.f64 re) 5/2)))
(*.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (cbrt.f64 (cos.f64 re))) (pow.f64 (cos.f64 re) 1/6))
(*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cos.f64 re) 1/6)))
(*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (pow.f64 (cos.f64 re) 1/6)))
(*.f64 (*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4)) (*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2)))
(*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 4))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(cos.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cos.f64 re) 1/6)) (pow.f64 (cos.f64 re) 1/6))
(cos.f64 re)
(/.f64 (sqrt.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0))) (sqrt.f64 2))
(/.f64 (sqrt.f64 (+.f64 1 (cos.f64 (+.f64 re re)))) (sqrt.f64 2))
(/.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1) (+.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) (+.f64 1 (+.f64 (cos.f64 re) 1))))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) -1) (fma.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re)) (+.f64 (cos.f64 re) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (fma.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re)) (+.f64 (cos.f64 re) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (fma.f64 (+.f64 1 (cos.f64 re)) (+.f64 (cos.f64 re) 2) 1))
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 re) 1) (+.f64 (cos.f64 re) 1)) 1) (+.f64 (+.f64 (cos.f64 re) 1) 1))
(/.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (+.f64 (cos.f64 re) 2))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) 2))
(pow.f64 (cos.f64 re) 1)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 2) 1/2)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(cos.f64 re)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(cos.f64 re)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(cos.f64 re)
(pow.f64 (E.f64) (log.f64 (cos.f64 re)))
(cos.f64 re)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 re))) 2)) (cbrt.f64 (log.f64 (cos.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cos.f64 re)))) (sqrt.f64 (log.f64 (cos.f64 re))))
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(cos.f64 re)
(fabs.f64 (cos.f64 re))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (cos.f64 re))) 1/3))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cos.f64 re))) 3))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (cos.f64 re))) 2))
(cos.f64 re)

eval35.0ms (0.3%)

Compiler

Compiled 1872 to 792 computations (57.7% saved)

prune36.0ms (0.3%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New861096
Fresh000
Picked011
Done000
Total861197
Error
58.5b
Counts
97 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
58.7b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7b
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (exp.f64 (+.f64 (neg.f64 im) (neg.f64 im))) (*.f64 (exp.f64 im) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
58.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
58.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.7b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7b
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
59.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.7b
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.8b
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Compiler

Compiled 403 to 308 computations (23.6% saved)

localize51.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 re)
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
0.0b
(/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im))))
5.2b
(-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im)))
Compiler

Compiled 119 to 91 computations (23.5% saved)

series71.0ms (0.6%)

Counts
3 → 0
Calls

12 calls:

TimeVariablePointExpression
22.0ms
re
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
4.0ms
im
@0
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
4.0ms
im
@inf
(/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im))))
2.0ms
im
@0
(/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im))))
1.0ms
re
@0
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
Compiler

Compiled 5975 to 4605 computations (22.9% saved)

rewrite105.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
395×expm1-udef_binary64
395×log1p-udef_binary64
255×add-sqr-sqrt_binary64
245×pow1_binary64
244×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02488
150988
2683188
Stop Event
node limit
Counts
3 → 98
Calls
Call 1
Inputs
(-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im)))
(/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (exp.f64 3) im) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (fma.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) 1 (pow.f64 (exp.f64 3) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (exp.f64 3) im))) (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 3) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (fma.f64 (neg.f64 (pow.f64 (exp.f64 im) -3/2)) (pow.f64 (exp.f64 im) -3/2) (pow.f64 (exp.f64 3) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (pow.f64 (exp.f64 3) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (exp.f64 im) -9)) (/.f64 1 (+.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (pow.f64 (exp.f64 im) -6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (exp.f64 im) -3/2) (pow.f64 (exp.f64 im) -3/2)) (-.f64 (pow.f64 (exp.f64 im) -3/2) (pow.f64 (exp.f64 im) -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (pow.f64 (exp.f64 im) -6)) (-.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (exp.f64 im) -9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (exp.f64 im) -9)) (+.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (pow.f64 (exp.f64 im) -6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (+.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (exp.f64 im) -9))) (neg.f64 (+.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (pow.f64 (exp.f64 im) -6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6))) (neg.f64 (+.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) 3)) (+.f64 (pow.f64 (exp.f64 im) -6) (-.f64 (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im))) (*.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im)))) (-.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (exp.f64 -2) im) (cbrt.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (exp.f64 im) -3/2) (pow.f64 (exp.f64 im) -3/2) (neg.f64 (pow.f64 (exp.f64 3) im)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (-.f64 (*.f64 im -3) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2)))))) (neg.f64 (exp.f64 (-.f64 (*.f64 im -3) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (-.f64 (*.f64 im -3) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2)))))) (exp.f64 (-.f64 (*.f64 im -3) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2) (*.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (/.f64 1 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) (pow.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) 2) (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (*.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (/.f64 1 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) (sqrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (/.f64 1 (neg.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 2)) (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2)))))) (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2) 1) (/.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 1) (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 2)) (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 2)) (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2) (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2)))))) (/.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 1 (pow.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))) 3))) (+.f64 1 (-.f64 (pow.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))) 2) (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (-.f64 1 (pow.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))) 2))) (-.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (pow.f64 (exp.f64 -2) im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)) (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (neg.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 3) (pow.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)) (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)) (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re))) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re)))) (neg.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re))) 1) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re))) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 2)) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re))) (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2)))))) (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (*.f64 1/2 (cos.f64 re))) (neg.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)))) (neg.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re)))) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 (log.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re)))) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))) 1))))))

simplify43.0ms (0.4%)

Algorithm
egg-herbie
Rules
365×times-frac_binary64
278×associate-*l*_binary64
241×associate-*r*_binary64
206×associate-/l*_binary64
193×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0253152
1680136
22297136
36904136
Stop Event
unsound
Counts
98 → 101
Calls
Call 1
Inputs
(+.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im)))
(+.f64 (pow.f64 (exp.f64 3) im) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) 1))
(+.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (fma.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) 1 (pow.f64 (exp.f64 3) im)))
(+.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (exp.f64 3) im))) (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 3) im)))
(+.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (fma.f64 (neg.f64 (pow.f64 (exp.f64 im) -3/2)) (pow.f64 (exp.f64 im) -3/2) (pow.f64 (exp.f64 3) im)))
(+.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (pow.f64 (exp.f64 3) im))
(*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 1)
(*.f64 1 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)))
(*.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
(*.f64 (-.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (exp.f64 im) -9)) (/.f64 1 (+.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (pow.f64 (exp.f64 im) -6))))
(*.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
(*.f64 (+.f64 (pow.f64 (exp.f64 im) -3/2) (pow.f64 (exp.f64 im) -3/2)) (-.f64 (pow.f64 (exp.f64 im) -3/2) (pow.f64 (exp.f64 im) -3/2)))
(/.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (pow.f64 (exp.f64 im) -6)) (-.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (exp.f64 im) -9))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (exp.f64 im) -9)) (+.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (pow.f64 (exp.f64 im) -6)))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (+.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (exp.f64 im) -9))) (neg.f64 (+.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (pow.f64 (exp.f64 im) -6))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6))) (neg.f64 (+.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) 3)) (+.f64 (pow.f64 (exp.f64 im) -6) (-.f64 (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im))) (*.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im))))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im)))) (-.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im))))
(pow.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 1)
(pow.f64 (pow.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 3) 1/3)
(pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 3)
(pow.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2)
(sqrt.f64 (pow.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 2))
(log.f64 (exp.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
(log.f64 (+.f64 1 (expm1.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)))))
(cbrt.f64 (pow.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 3))
(expm1.f64 (log1p.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
(log1p.f64 (expm1.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
(exp.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
(exp.f64 (*.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 1))
(fma.f64 1 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im)))
(fma.f64 (pow.f64 (exp.f64 -2) im) (cbrt.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im)))
(fma.f64 (pow.f64 (exp.f64 im) -3/2) (pow.f64 (exp.f64 im) -3/2) (neg.f64 (pow.f64 (exp.f64 3) im)))
(+.f64 (exp.f64 (-.f64 (*.f64 im -3) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2)))))) (neg.f64 (exp.f64 (-.f64 (*.f64 im -3) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))))))
(-.f64 (exp.f64 (-.f64 (*.f64 im -3) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2)))))) (exp.f64 (-.f64 (*.f64 im -3) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2)))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))) 1)
(*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
(*.f64 1 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
(*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 1)
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2) (*.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (/.f64 1 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
(*.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) (pow.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) 2) (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (*.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (/.f64 1 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
(*.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) (sqrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
(*.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (/.f64 1 (neg.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
(*.f64 (/.f64 1 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 2)) (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
(*.f64 (/.f64 1 (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2)))))) (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2)))))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2) 1) (/.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 1) (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 2)) (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 2)) (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2) (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2)))))) (/.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2)))))))
(*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 1 (pow.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))) 3))) (+.f64 1 (-.f64 (pow.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))) 2) (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))))
(*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (-.f64 1 (pow.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))) 2))) (-.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (pow.f64 (exp.f64 -2) im)))
(pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 1)
(pow.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) 3)
(pow.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) 2)
(pow.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)) (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) -1)
(neg.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (neg.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
(sqrt.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 2))
(log.f64 (exp.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))))
(cbrt.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 3))
(cbrt.f64 (/.f64 (pow.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 3) (pow.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)) 3)))
(expm1.f64 (log1p.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
(log1p.f64 (expm1.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
(exp.f64 (-.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))))
(exp.f64 (*.f64 (-.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))))) 1)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)) (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re)))))
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)) (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
(/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re))) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re)))) (neg.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
(/.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re))) 1) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))
(/.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re))) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 2)) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
(/.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re))) (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2)))))) (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2))))))
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (*.f64 1/2 (cos.f64 re))) (neg.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)))) (neg.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
(pow.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))) 1)
(pow.f64 (pow.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re)))) 3)
(pow.f64 (sqrt.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re)))) 2)
(sqrt.f64 (pow.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))))))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))) 3))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 3)))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re)))))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re)))))
(exp.f64 (-.f64 (log.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re)))) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))))
(exp.f64 (*.f64 (-.f64 (log.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re)))) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))) 1))
Outputs
(+.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im)))
0
(+.f64 (pow.f64 (exp.f64 3) im) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) 1))
0
(+.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (fma.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) 1 (pow.f64 (exp.f64 3) im)))
0
(+.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (exp.f64 3) im))) (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 3) im)))
0
(+.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (fma.f64 (neg.f64 (pow.f64 (exp.f64 im) -3/2)) (pow.f64 (exp.f64 im) -3/2) (pow.f64 (exp.f64 3) im)))
0
(+.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (pow.f64 (exp.f64 3) im))
0
(*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 1)
0
(*.f64 1 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)))
0
(*.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2))
0
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
0
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
0
(*.f64 (-.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (exp.f64 im) -9)) (/.f64 1 (+.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (pow.f64 (exp.f64 im) -6))))
0
(*.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
0
(*.f64 (+.f64 (pow.f64 (exp.f64 im) -3/2) (pow.f64 (exp.f64 im) -3/2)) (-.f64 (pow.f64 (exp.f64 im) -3/2) (pow.f64 (exp.f64 im) -3/2)))
0
(/.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (pow.f64 (exp.f64 im) -6)) (-.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (exp.f64 im) -9))))
0
(/.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6))))
0
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (exp.f64 im) -9)) (+.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (pow.f64 (exp.f64 im) -6)))
0
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (+.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)))
0
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (exp.f64 im) -9))) (neg.f64 (+.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (pow.f64 (exp.f64 im) -6))))
0
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6))) (neg.f64 (+.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
0
(/.f64 (+.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) 3)) (+.f64 (pow.f64 (exp.f64 im) -6) (-.f64 (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im))) (*.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) 3)) (+.f64 (pow.f64 (exp.f64 im) -6) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (-.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (pow.f64 (exp.f64 3) im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -9) (pow.f64 (pow.f64 (exp.f64 3) im) 3)) (+.f64 (pow.f64 (exp.f64 im) -6) (*.f64 2 (pow.f64 (exp.f64 3) (*.f64 im 2)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im)))) (-.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im))))
0
(pow.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 1)
0
(pow.f64 (pow.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 3) 1/3)
0
(pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 3)
0
(pow.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2)
0
(sqrt.f64 (pow.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 2))
0
(log.f64 (exp.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
0
(log.f64 (+.f64 1 (expm1.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)))))
0
(cbrt.f64 (pow.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 3))
0
(expm1.f64 (log1p.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
0
(log1p.f64 (expm1.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
0
(exp.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
0
(exp.f64 (*.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 1))
0
(fma.f64 1 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im)))
0
(fma.f64 (pow.f64 (exp.f64 -2) im) (cbrt.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im)))
0
(fma.f64 (pow.f64 (exp.f64 im) -3/2) (pow.f64 (exp.f64 im) -3/2) (neg.f64 (pow.f64 (exp.f64 3) im)))
0
(+.f64 (exp.f64 (-.f64 (*.f64 im -3) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2)))))) (neg.f64 (exp.f64 (-.f64 (*.f64 im -3) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))))))
0
(-.f64 (exp.f64 (-.f64 (*.f64 im -3) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2)))))) (exp.f64 (-.f64 (*.f64 im -3) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2)))))))
0
(-.f64 (exp.f64 (log1p.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))) 1)
0
(*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
0
(*.f64 1 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
0
(*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 1)
0
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2) (*.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (/.f64 1 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
0
(*.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) (pow.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) 2))
0
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) 2) (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
0
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (*.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (/.f64 1 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
0
(*.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) (sqrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
0
(*.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (/.f64 1 (neg.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
0
(*.f64 (/.f64 1 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)))
0
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 2)) (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
0
(*.f64 (/.f64 1 (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2)))))) (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2)))))))
0
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2) 1) (/.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
0
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 1) (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
0
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 2)) (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
0
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 2)) (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
0
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) 2) (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2)))))) (/.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2)))))))
0
(*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 1 (pow.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))) 3))) (+.f64 1 (-.f64 (pow.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))) 2) (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))))
0
(*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (-.f64 1 (pow.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))) 2))) (-.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (pow.f64 (exp.f64 -2) im)))
0
(pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 1)
0
(pow.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 3) 1/3)
0
(pow.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) 3)
0
(pow.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))) 2)
0
(pow.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)) (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) -1)
0
(neg.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (neg.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
0
(sqrt.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 2))
0
(log.f64 (exp.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
0
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))))
0
(cbrt.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 3))
0
(cbrt.f64 (/.f64 (pow.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) 3) (pow.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)) 3)))
0
(expm1.f64 (log1p.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
0
(log1p.f64 (expm1.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
0
(exp.f64 (-.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))))
0
(exp.f64 (*.f64 (-.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))) 1))
0
(-.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))))) 1)
0
(/.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)) (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re)))))
0
(/.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)) (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))))
0
(/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re))) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))
0
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re)))) (neg.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
0
(/.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re))) 1) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))
0
(/.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re))) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 2)) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
0
(/.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re))) (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2)))))) (hypot.f64 1 (hypot.f64 (pow.f64 (exp.f64 im) -1) (sqrt.f64 (exp.f64 (*.f64 im 2))))))
0
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im))) (*.f64 1/2 (cos.f64 re))) (neg.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
0
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)))) (neg.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))))
0
(pow.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))) 1)
0
(pow.f64 (pow.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))) 3) 1/3)
0
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re)))) 3)
0
(pow.f64 (sqrt.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re)))) 2)
0
(sqrt.f64 (pow.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))) 2))
0
(log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (cos.f64 re)) (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1)))))
0
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))))))
0
(cbrt.f64 (pow.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re))) 3))
0
(cbrt.f64 (*.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)))
0
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) 3)))
0
(expm1.f64 (log1p.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re)))))
0
(log1p.f64 (expm1.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 (exp.f64 (*.f64 im 2)) 1))) (*.f64 1/2 (cos.f64 re)))))
0
(exp.f64 (-.f64 (log.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re)))) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))))
0
(exp.f64 (*.f64 (-.f64 (log.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 3) im) (pow.f64 (exp.f64 3) im)) (*.f64 1/2 (cos.f64 re)))) (log1p.f64 (+.f64 (pow.f64 (exp.f64 -2) im) (exp.f64 (*.f64 im 2))))) 1))
0

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.3b
(-.f64 (+.f64 (cos.f64 re) 1) 1)
0.4b
(+.f64 (cos.f64 re) 1)
4.9b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 54 to 28 computations (48.1% saved)

series22.0ms (0.2%)

Counts
3 → 0
Calls

12 calls:

TimeVariablePointExpression
0.0ms
re
@0
(+.f64 (cos.f64 re) 1)
0.0ms
re
@0
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0ms
im
@0
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0ms
im
@inf
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0ms
re
@inf
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 2495 to 1170 computations (53.1% saved)

rewrite93.0ms (0.8%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
630×pow1_binary64
590×add-log-exp_binary64
590×log1p-expm1-u_binary64
590×expm1-log1p-u_binary64
580×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01433
130233
2494033
056
11026
212626
066
11353
218503
01421
130221
2494621
01421
Stop Event
iter limit
unsound
node limit
node limit
unsound
Counts
3 → 78
Calls
Call 1
Inputs
(+.f64 (cos.f64 re) 1)
(-.f64 (+.f64 (cos.f64 re) 1) 1)
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (cos.f64 re) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 1 (+.f64 (cos.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 re) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))) (+.f64 1 (pow.f64 (cos.f64 re) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 re) -1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 1 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (cos.f64 re) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (cos.f64 re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 re) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (cos.f64 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (/.f64 1 (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1) (-.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 re) 2) (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (+.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (-.f64 (+.f64 (cos.f64 re) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1)) (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))) (neg.f64 (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 0) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 0 (*.f64 (cos.f64 re) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 re) 2) 0) (-.f64 (cos.f64 re) 0))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 re)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (cos.f64 re) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))

simplify41.0ms (0.3%)

Algorithm
egg-herbie
Rules
609×associate-/l*_binary64
557×fma-neg_binary64
446×associate-/r*_binary64
432×cancel-sign-sub-inv_binary64
308×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0162848
1382764
21761700
Stop Event
node limit
Counts
78 → 89
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (+.f64 (cos.f64 re) 1)) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 1 (+.f64 (cos.f64 re) -1)))
(*.f64 1 (+.f64 (cos.f64 re) 1))
(*.f64 (+.f64 (cos.f64 re) 1) 1)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)))
(*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) -1)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))) (+.f64 1 (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) -1))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) -1)))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 1 (cos.f64 re)))
(pow.f64 (+.f64 (cos.f64 re) 1) 1)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 2)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) 1)))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 1)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 1)))
(exp.f64 (log1p.f64 (cos.f64 re)))
(fma.f64 1 (cos.f64 re) 1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1)
(+.f64 (cos.f64 re) 0)
(+.f64 1 (+.f64 (cos.f64 re) -1))
(+.f64 (+.f64 (cos.f64 re) 1) -1)
(+.f64 0 (cos.f64 re))
(+.f64 -1 (+.f64 (cos.f64 re) 1))
(*.f64 (cos.f64 re) 1)
(*.f64 1 (cos.f64 re))
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1))
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1))
(*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))))
(*.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (/.f64 1 (+.f64 (cos.f64 re) 2)))
(*.f64 (+.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1) (-.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 2) (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 1) -1))))
(/.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (+.f64 (cos.f64 re) 2))
(/.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (-.f64 (+.f64 (cos.f64 re) 1) -1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1)) (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))))
(/.f64 (neg.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))) (neg.f64 (+.f64 (cos.f64 re) 2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 0) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 0 (*.f64 (cos.f64 re) 0))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) 0) (-.f64 (cos.f64 re) 0))
(pow.f64 (cos.f64 re) 1)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(log.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(fma.f64 1 (cos.f64 re) 0)
(fma.f64 1 (+.f64 (cos.f64 re) 1) -1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 0)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)) -1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 0)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)) -1)
(pow.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Outputs
(-.f64 (+.f64 1 (+.f64 (cos.f64 re) 1)) 1)
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 1 (+.f64 (cos.f64 re) -1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 -1 (+.f64 (cos.f64 re) -1)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 1 (cos.f64 re)))
(*.f64 1 (+.f64 (cos.f64 re) 1))
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(*.f64 (+.f64 (cos.f64 re) 1) 1)
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2))
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)))
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)))
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1) 1))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) -1)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 1 (+.f64 (cos.f64 re) -1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 -1 (+.f64 (cos.f64 re) -1)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 1 (cos.f64 re)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))) (+.f64 1 (pow.f64 (cos.f64 re) 3))))
(*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1) 1))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 1 (+.f64 (cos.f64 re) -1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 -1 (+.f64 (cos.f64 re) -1)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 1 (cos.f64 re)))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))
(*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1) 1))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))
(*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) -1))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 1 (+.f64 (cos.f64 re) -1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 -1 (+.f64 (cos.f64 re) -1)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 1 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(*.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re)))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1) 1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) -1)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 1 (+.f64 (cos.f64 re) -1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 -1 (+.f64 (cos.f64 re) -1)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 1 (cos.f64 re)))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 1 (cos.f64 re)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 1 (+.f64 (cos.f64 re) -1)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -1)) (/.f64 -1 (+.f64 (cos.f64 re) -1)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 1 (cos.f64 re)))
(pow.f64 (+.f64 (cos.f64 re) 1) 1)
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1/3)
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3)
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 2)
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2))
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) 1)))
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3))
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 1)))
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 1)))
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(exp.f64 (log1p.f64 (cos.f64 re)))
(fma.f64 1 (cos.f64 re) 1)
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 1)
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1)
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(+.f64 1 (cos.f64 re))
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(+.f64 (+.f64 (cos.f64 re) 1) -1)
(cos.f64 re)
(+.f64 0 (cos.f64 re))
(cos.f64 re)
(+.f64 -1 (+.f64 (cos.f64 re) 1))
(cos.f64 re)
(*.f64 (cos.f64 re) 1)
(cos.f64 re)
(*.f64 1 (cos.f64 re))
(cos.f64 re)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1))
(cos.f64 re)
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1))
(cos.f64 re)
(*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 (cos.f64 re) (+.f64 2 (pow.f64 (+.f64 1 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 (cos.f64 re) 2))))
(*.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (/.f64 1 (+.f64 (cos.f64 re) 2)))
(cos.f64 re)
(*.f64 (+.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1) (-.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1))
(cos.f64 re)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1)))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 (cos.f64 re) (+.f64 2 (pow.f64 (+.f64 1 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 (cos.f64 re) 2))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 2) (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))))
(cos.f64 re)
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2)))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 (cos.f64 re) (+.f64 2 (pow.f64 (+.f64 1 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 1) -1))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 (cos.f64 re) (+.f64 2 (pow.f64 (+.f64 1 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 (cos.f64 re) 2))))
(/.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (+.f64 (cos.f64 re) 2))
(cos.f64 re)
(/.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (-.f64 (+.f64 (cos.f64 re) 1) -1))
(cos.f64 re)
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1)) (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 2))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 2) (+.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 (cos.f64 re) (+.f64 2 (pow.f64 (+.f64 1 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 (cos.f64 re) 2))))
(/.f64 (neg.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))) (neg.f64 (+.f64 (cos.f64 re) 2)))
(cos.f64 re)
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 0) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 0 (*.f64 (cos.f64 re) 0))))
(cos.f64 re)
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) 0) (-.f64 (cos.f64 re) 0))
(cos.f64 re)
(pow.f64 (cos.f64 re) 1)
(cos.f64 re)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(cos.f64 re)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(cos.f64 re)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(fma.f64 1 (cos.f64 re) 0)
(cos.f64 re)
(fma.f64 1 (+.f64 (cos.f64 re) 1) -1)
(cos.f64 re)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 0)
(cos.f64 re)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)) -1)
(cos.f64 re)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 0)
(cos.f64 re)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)) -1)
(cos.f64 re)
(pow.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (+.f64 (cos.f64 re) 0)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

localize37.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0b
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
0.0b
(expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
4.9b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 60 to 22 computations (63.3% saved)

series36.0ms (0.3%)

Counts
2 → 0
Calls

12 calls:

TimeVariablePointExpression
7.0ms
im
@0
(expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
2.0ms
re
@0
(expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
0.0ms
re
@inf
(expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
0.0ms
im
@-inf
(expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
0.0ms
re
@-inf
(expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
Compiler

Compiled 4750 to 2175 computations (54.2% saved)

rewrite83.0ms (0.7%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
126×add-sqr-sqrt_binary64
126×add-sqr-sqrt_binary64
126×add-sqr-sqrt_binary64
122×pow1_binary64
122×pow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01340
125040
2378740
01220
124620
2375620
01220
01318
125018
2378718
01318
Stop Event
iter limit
unsound
iter limit
unsound
unsound
Counts
2 → 21
Calls
Call 1
Inputs
(expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (cbrt.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (cbrt.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (sqrt.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (sqrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))

simplify50.0ms (0.4%)

Algorithm
egg-herbie
Rules
412×fma-def_binary64
400×unswap-sqr_binary64
356×exp-sum_binary64
311×prod-exp_binary64
292×log-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
053396
1104396
2495396
31968396
45472396
Stop Event
node limit
Counts
21 → 23
Calls
Call 1
Inputs
(-.f64 (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 1)
(*.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 (cbrt.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (cbrt.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (cbrt.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(*.f64 (sqrt.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (sqrt.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(pow.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 1)
(log.f64 (exp.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(cbrt.f64 (*.f64 (*.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(log1p.f64 (expm1.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(exp.f64 (log.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (sqrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Outputs
(-.f64 (exp.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 1)
(expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 (*.f64 (cbrt.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (cbrt.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (cbrt.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 (sqrt.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (sqrt.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))
(pow.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 1)
(expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))
(log.f64 (exp.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))
(cbrt.f64 (*.f64 (*.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))
(log1p.f64 (expm1.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))
(exp.f64 (log.f64 (expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))
(expm1.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (sqrt.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 re)
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
4.8b
(log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
4.9b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 52 to 15 computations (71.2% saved)

series40.0ms (0.3%)

Counts
2 → 0
Calls

9 calls:

TimeVariablePointExpression
26.0ms
re
@0
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
0.0ms
im
@0
(log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
0.0ms
re
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
0.0ms
im
@0
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
0.0ms
im
@inf
(log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
Compiler

Compiled 2355 to 1020 computations (56.7% saved)

rewrite52.0ms (0.4%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
126×add-sqr-sqrt_binary64
126×add-sqr-sqrt_binary64
122×pow1_binary64
122×pow1_binary64
121×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01320
125220
2378520
0810
115110
2234510
0810
01318
125218
2377518
01318
Stop Event
iter limit
unsound
iter limit
unsound
unsound
Counts
2 → 18
Calls
Call 1
Inputs
(log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))

simplify50.0ms (0.4%)

Algorithm
egg-herbie
Rules
466×exp-sum_binary64
457×fma-def_binary64
340×prod-exp_binary64
296×associate-+r+_binary64
276×associate-+l+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
055263
1130253
2571251
32283251
46258251
Stop Event
node limit
Counts
18 → 24
Calls
Call 1
Inputs
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(cbrt.f64 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(expm1.f64 (log1p.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(log1p.f64 (expm1.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Outputs
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (fma.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)) (*.f64 (exp.f64 im) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (exp.f64 (*.f64 im -2)) (fma.f64 (exp.f64 im) (exp.f64 im) 1)))
(/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (pow.f64 (exp.f64 im) 3)) (+.f64 1 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 im) 3)) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 1 (pow.f64 (exp.f64 2) im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 -3) im) (exp.f64 (*.f64 im 3))) (+.f64 (pow.f64 (exp.f64 -2) im) (+.f64 1 (pow.f64 (exp.f64 2) im))))
(/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(cbrt.f64 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(expm1.f64 (log1p.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(log1p.f64 (expm1.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (cos.f64 re)))

localize30.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0b
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
5.3b
(-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im)))
Compiler

Compiled 85 to 35 computations (58.8% saved)

series44.0ms (0.4%)

Counts
4 → 0
Calls

15 calls:

TimeVariablePointExpression
1.0ms
re
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
1.0ms
im
@-inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
1.0ms
re
@0
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
1.0ms
re
@-inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
Compiler

Compiled 5655 to 3535 computations (37.5% saved)

rewrite135.0ms (1.1%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
701×pow1_binary64
661×add-log-exp_binary64
659×log1p-expm1-u_binary64
659×expm1-log1p-u_binary64
649×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01856
139256
2693356
0814
117414
2253114
01834
139234
2690734
01834
0610
112610
2208210
0610
01326
128926
2529926
01326
Stop Event
iter limit
unsound
iter limit
unsound
iter limit
unsound
node limit
unsound
Counts
4 → 64
Calls
Call 1
Inputs
(-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (+.f64 im im)) (neg.f64 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (+.f64 im im)) (*.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) (fma.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) (fma.f64 (neg.f64 (exp.f64 im)) (exp.f64 im) (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) (fma.f64 (neg.f64 (cbrt.f64 (exp.f64 (+.f64 im im)))) (cbrt.f64 (pow.f64 (exp.f64 im) -4)) (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (exp.f64 (+.f64 im im))) (exp.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) (pow.f64 (cbrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) 2) (cbrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) (sqrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 im) -4) (+.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4)) (/.f64 1 (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (exp.f64 im) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 im) -4) (+.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4))) (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (+.f64 (pow.f64 (exp.f64 im) -4) (+.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4)) (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6))) (neg.f64 (+.f64 (pow.f64 (exp.f64 im) -4) (+.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4))) (neg.f64 (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (neg.f64 (exp.f64 (+.f64 im im))) 3)) (+.f64 (pow.f64 (exp.f64 im) -4) (-.f64 (*.f64 (neg.f64 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 (+.f64 im im)) (neg.f64 (exp.f64 (+.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (*.f64 (neg.f64 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 (+.f64 im im))))) (-.f64 (exp.f64 (+.f64 im im)) (neg.f64 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (exp.f64 (+.f64 im im)) (neg.f64 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (exp.f64 im) (exp.f64 im) (neg.f64 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) -4)) (cbrt.f64 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 (+.f64 im im))))))))
((#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (exp.f64 im) -2) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (exp.f64 (+.f64 im im)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (/.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (sqrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))

simplify63.0ms (0.5%)

Algorithm
egg-herbie
Rules
646×fma-neg_binary64
367×associate-*l/_binary64
290×associate-/r*_binary64
285×associate-*r/_binary64
258×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0168852
1427815
21488795
36547795
Stop Event
node limit
Counts
64 → 91
Calls
Call 1
Inputs
(+.f64 (exp.f64 (+.f64 im im)) (neg.f64 (exp.f64 (+.f64 im im))))
(+.f64 (exp.f64 (+.f64 im im)) (*.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1))
(+.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) (fma.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1 (exp.f64 (+.f64 im im))))
(+.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) (fma.f64 (neg.f64 (exp.f64 im)) (exp.f64 im) (exp.f64 (+.f64 im im))))
(+.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) (fma.f64 (neg.f64 (cbrt.f64 (exp.f64 (+.f64 im im)))) (cbrt.f64 (pow.f64 (exp.f64 im) -4)) (exp.f64 (+.f64 im im))))
(+.f64 (neg.f64 (exp.f64 (+.f64 im im))) (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) 1)
(*.f64 1 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))))
(*.f64 (cbrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) (pow.f64 (cbrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) 2) (cbrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
(*.f64 (sqrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) (sqrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
(*.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 im) -4) (+.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4)))))
(*.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4)) (/.f64 1 (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (exp.f64 im) (exp.f64 im)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 im) -4) (+.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4))) (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6))))
(/.f64 1 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (+.f64 (pow.f64 (exp.f64 im) -4) (+.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4)) (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6))) (neg.f64 (+.f64 (pow.f64 (exp.f64 im) -4) (+.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4))) (neg.f64 (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (neg.f64 (exp.f64 (+.f64 im im))) 3)) (+.f64 (pow.f64 (exp.f64 im) -4) (-.f64 (*.f64 (neg.f64 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 (+.f64 im im)) (neg.f64 (exp.f64 (+.f64 im im)))))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (*.f64 (neg.f64 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 (+.f64 im im))))) (-.f64 (exp.f64 (+.f64 im im)) (neg.f64 (exp.f64 (+.f64 im im)))))
(pow.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) 1)
(pow.f64 (pow.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) 3) 1/3)
(pow.f64 (cbrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) 3)
(pow.f64 (sqrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) 2)
(sqrt.f64 (pow.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) 2))
(log.f64 (exp.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
(cbrt.f64 (pow.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) 3))
(expm1.f64 (log1p.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
(log1p.f64 (expm1.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
(exp.f64 (log.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
(fma.f64 1 (exp.f64 (+.f64 im im)) (neg.f64 (exp.f64 (+.f64 im im))))
(fma.f64 (exp.f64 im) (exp.f64 im) (neg.f64 (exp.f64 (+.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) -4)) (cbrt.f64 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(pow.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(log.f64 (exp.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(cbrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (log1p.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(exp.f64 (log.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(log.f64 (exp.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(cbrt.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(exp.f64 (log.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (/.f64 (pow.f64 (exp.f64 im) -2) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (exp.f64 (+.f64 im im)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (/.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (sqrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(log.f64 (exp.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(cbrt.f64 (*.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (log1p.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(exp.f64 (log.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Outputs
(+.f64 (exp.f64 (+.f64 im im)) (neg.f64 (exp.f64 (+.f64 im im))))
0
(+.f64 (exp.f64 (+.f64 im im)) (*.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1))
0
(+.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) (fma.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1 (exp.f64 (+.f64 im im))))
0
(+.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) (fma.f64 (neg.f64 (exp.f64 im)) (exp.f64 im) (exp.f64 (+.f64 im im))))
0
(+.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) (fma.f64 (neg.f64 (cbrt.f64 (exp.f64 (+.f64 im im)))) (cbrt.f64 (pow.f64 (exp.f64 im) -4)) (exp.f64 (+.f64 im im))))
(+.f64 0 (fma.f64 (neg.f64 (cbrt.f64 (exp.f64 (+.f64 im im)))) (cbrt.f64 (pow.f64 (exp.f64 im) -4)) (exp.f64 (+.f64 im im))))
(fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (exp.f64 2) im))) (cbrt.f64 (pow.f64 (exp.f64 im) -4)) (pow.f64 (exp.f64 2) im))
(fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 2))) (cbrt.f64 (pow.f64 (exp.f64 im) -4)) (pow.f64 (exp.f64 im) 2))
(fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 2)) (neg.f64 (cbrt.f64 (pow.f64 (exp.f64 im) -4))) (pow.f64 (exp.f64 im) 2))
(+.f64 (neg.f64 (exp.f64 (+.f64 im im))) (exp.f64 (+.f64 im im)))
0
(*.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) 1)
0
(*.f64 1 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))))
0
(*.f64 (cbrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) (pow.f64 (cbrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) 2))
0
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) 2) (cbrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
0
(*.f64 (sqrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) (sqrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
0
(*.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 im) -4) (+.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4)))))
0
(*.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4)) (/.f64 1 (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
0
(*.f64 (+.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (exp.f64 im) (exp.f64 im)))
0
(/.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 im) -4) (+.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4))) (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6))))
0
(/.f64 1 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4))))
0
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6)) (+.f64 (pow.f64 (exp.f64 im) -4) (+.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4))))
0
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4)) (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))))
0
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) -6))) (neg.f64 (+.f64 (pow.f64 (exp.f64 im) -4) (+.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4)))))
0
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) -4))) (neg.f64 (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
0
(/.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (neg.f64 (exp.f64 (+.f64 im im))) 3)) (+.f64 (pow.f64 (exp.f64 im) -4) (-.f64 (*.f64 (neg.f64 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 (+.f64 im im)) (neg.f64 (exp.f64 (+.f64 im im)))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (neg.f64 (exp.f64 (+.f64 im im))) 3)) (+.f64 (pow.f64 (exp.f64 im) -4) (*.f64 (neg.f64 (exp.f64 (+.f64 im im))) (-.f64 (neg.f64 (exp.f64 (+.f64 im im))) (exp.f64 (+.f64 im im))))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (pow.f64 (exp.f64 2) im) 3)) (+.f64 (pow.f64 (exp.f64 im) -4) (*.f64 2 (*.f64 (exp.f64 im) (pow.f64 (exp.f64 im) 3)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (pow.f64 (exp.f64 im) 6)) (fma.f64 2 (pow.f64 (exp.f64 im) 4) (pow.f64 (exp.f64 im) -4)))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (*.f64 (neg.f64 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 (+.f64 im im))))) (-.f64 (exp.f64 (+.f64 im im)) (neg.f64 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (*.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) (-.f64 (exp.f64 (+.f64 im im)) (neg.f64 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (*.f64 (exp.f64 im) (pow.f64 (exp.f64 im) 3))) (*.f64 (pow.f64 (exp.f64 2) im) 2))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 2) 2))
(pow.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) 1)
0
(pow.f64 (pow.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) 3) 1/3)
0
(pow.f64 (cbrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) 3)
0
(pow.f64 (sqrt.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))) 2)
0
(sqrt.f64 (pow.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) 2))
(sqrt.f64 0)
(log.f64 (exp.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
0
(cbrt.f64 (pow.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im))) 3))
0
(expm1.f64 (log1p.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
0
(log1p.f64 (expm1.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
0
(exp.f64 (log.f64 (-.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im im)))))
0
(fma.f64 1 (exp.f64 (+.f64 im im)) (neg.f64 (exp.f64 (+.f64 im im))))
0
(fma.f64 (exp.f64 im) (exp.f64 im) (neg.f64 (exp.f64 (+.f64 im im))))
0
(fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) -4)) (cbrt.f64 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 2) im)) (cbrt.f64 (pow.f64 (exp.f64 im) -4))) (pow.f64 (exp.f64 2) im))
(fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 2)) (cbrt.f64 (pow.f64 (exp.f64 im) -4)) (neg.f64 (pow.f64 (exp.f64 im) 2)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(pow.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log.f64 (exp.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cbrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(expm1.f64 (log1p.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(log1p.f64 (expm1.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(exp.f64 (log.f64 (/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (/.f64 (*.f64 (cos.f64 re) (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (exp.f64 (+.f64 (neg.f64 im) (neg.f64 im))) (*.f64 (exp.f64 im) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (pow.f64 (exp.f64 im) -2) (+.f64 (pow.f64 (exp.f64 2) im) -1)))
(/.f64 (+.f64 (exp.f64 (*.f64 im -3)) (pow.f64 (exp.f64 im) 3)) (+.f64 (pow.f64 (exp.f64 im) -2) (expm1.f64 (+.f64 im im))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 im) 3)) (+.f64 (pow.f64 (exp.f64 im) 2) (expm1.f64 (*.f64 im -2))))
(/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(log.f64 (exp.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(cbrt.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(exp.f64 (log.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 (pow.f64 (exp.f64 im) -2) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (exp.f64 (+.f64 im im)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (/.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (sqrt.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(pow.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log.f64 (exp.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(cbrt.f64 (*.f64 (*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(expm1.f64 (log1p.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(log1p.f64 (expm1.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(exp.f64 (log.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (-.f64 (pow.f64 (exp.f64 -2) im) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))

eval491.0ms (4.1%)

Compiler

Compiled 14111 to 7792 computations (44.8% saved)

prune168.0ms (1.4%)

Pruning

23 alts after pruning (17 fresh and 6 done)

PrunedKeptTotal
New51715532
Fresh325
Picked011
Done055
Total52023543
Error
58.5b
Counts
543 → 23
Alt Table
Click to see full alt table
StatusErrorProgram
58.7b
(*.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (cos.f64 re)) 3)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.7b
(*.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.6b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
58.5b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.7b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.6b
(*.f64 (*.f64 1/2 (+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.7b
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.5b
(*.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.5b
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
59.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 2) 2)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
59.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im)))) (-.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im)))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
58.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
58.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.7b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7b
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
59.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.5b
(*.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (cos.f64 re) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.7b
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.8b
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Compiler

Compiled 1029 to 824 computations (19.9% saved)

localize63.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im))))
0.1b
(exp.f64 (cos.f64 re))
0.3b
(log.f64 (exp.f64 (cos.f64 re)))
5.2b
(-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im)))
Compiler

Compiled 130 to 93 computations (28.5% saved)

series7.0ms (0.1%)

Counts
2 → 0
Calls

6 calls:

TimeVariablePointExpression
0.0ms
re
@0
(exp.f64 (cos.f64 re))
0.0ms
re
@0
(log.f64 (exp.f64 (cos.f64 re)))
0.0ms
re
@inf
(log.f64 (exp.f64 (cos.f64 re)))
0.0ms
re
@inf
(exp.f64 (cos.f64 re))
0.0ms
re
@-inf
(exp.f64 (cos.f64 re))
Compiler

Compiled 605 to 470 computations (22.3% saved)

rewrite57.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
341×pow1_binary64
326×add-sqr-sqrt_binary64
321×*-un-lft-identity_binary64
312×log1p-expm1-u_binary64
312×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058
1798
28568
Stop Event
node limit
Counts
2 → 99
Calls
Call 1
Inputs
(log.f64 (exp.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (cos.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 2 (*.f64 1/3 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) (*.f64 1/3 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (+.f64 1 re)) (cos.f64 1)) (*.f64 (sin.f64 (+.f64 1 re)) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 1) (*.f64 (*.f64 1/2 (cos.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) 1) (*.f64 (*.f64 1/3 (cos.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 re) 1/4) (sqrt.f64 (pow.f64 (cos.f64 re) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 1/3 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (*.f64 3 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cbrt.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 5/2)) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cos.f64 re) 3/2)) (pow.f64 (cos.f64 re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 5)) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cbrt.f64 (cos.f64 re))) 2) 1/3) (cbrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cos.f64 re) 5/2) 1/3) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) 1) (+.f64 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re))) (+.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 0 (pow.f64 (cos.f64 re) 3)) (+.f64 0 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 0 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)) (+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re)))) (-.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) 3) (pow.f64 (*.f64 1/3 (cos.f64 re)) 3)) (+.f64 (*.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) (*.f64 2 (*.f64 1/3 (cos.f64 re)))) (-.f64 (*.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/3 (cos.f64 re))) (*.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) (*.f64 1/3 (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re))) 1) (+.f64 (+.f64 1 (cos.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (pow.f64 (cos.f64 re) 2)) (-.f64 0 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) (*.f64 2 (*.f64 1/3 (cos.f64 re)))) (*.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/3 (cos.f64 re)))) (-.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) (*.f64 1/3 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cos.f64 re)))) (sqrt.f64 (log.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 re))) 2)) (cbrt.f64 (log.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 re)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (cos.f64 re))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cos.f64 re))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (cos.f64 re))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (expm1.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (exp.f64 (cos.f64 re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 (cos.f64 re))) 2))) (log.f64 (cbrt.f64 (exp.f64 (exp.f64 (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (cos.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2) (cbrt.f64 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (sqrt.f64 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/4) (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 5/2)) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (exp.f64 (cos.f64 re)) (cbrt.f64 (exp.f64 (cos.f64 re)))) 2)) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 5)) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3/2)) (pow.f64 (exp.f64 (cos.f64 re)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (exp.f64 (cos.f64 re)) (cbrt.f64 (exp.f64 (cos.f64 re)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 5/2) 1/3) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (E.f64) (*.f64 1/2 (cos.f64 re))) (pow.f64 (E.f64) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (E.f64) (*.f64 2 (*.f64 1/3 (cos.f64 re)))) (pow.f64 (E.f64) (*.f64 1/3 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (+.f64 1 (cos.f64 re))) (E.f64))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (E.f64) (+.f64 1 (cos.f64 re))) (E.f64))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) 1) (+.f64 (*.f64 (+.f64 1 (exp.f64 (cos.f64 re))) (+.f64 1 (exp.f64 (cos.f64 re)))) (+.f64 1 (*.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (expm1.f64 (cos.f64 re)) 3)) (+.f64 1 (-.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 2) (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 1 (exp.f64 (cos.f64 re))) (+.f64 1 (exp.f64 (cos.f64 re)))) 1) (+.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (expm1.f64 (cos.f64 re)) 2)) (-.f64 1 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (*.f64 (cos.f64 re) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (pow.f64 (cos.f64 re) 1/6)) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (cos.f64 re))) (cbrt.f64 (cos.f64 re))) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (cos.f64 re))) (pow.f64 (cos.f64 re) 1/4)) (pow.f64 (cos.f64 re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (exp.f64 (*.f64 (cos.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (exp.f64 (cos.f64 re))))))))

simplify45.0ms (0.4%)

Algorithm
egg-herbie
Rules
152×fma-def_binary64
136×associate-*r*_binary64
118×sqr-pow_binary64
87×associate-*l*_binary64
76×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0259329
1695329
23122329
Stop Event
unsound
Counts
99 → 101
Calls
Call 1
Inputs
(+.f64 (cos.f64 re) 0)
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 0 (cos.f64 re))
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 2 (*.f64 1/3 (cos.f64 re))))
(+.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) (*.f64 1/3 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 (+.f64 1 re)) (cos.f64 1)) (*.f64 (sin.f64 (+.f64 1 re)) (sin.f64 1)))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 1) (*.f64 (*.f64 1/2 (cos.f64 re)) 1))
(+.f64 (*.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) 1) (*.f64 (*.f64 1/3 (cos.f64 re)) 1))
(-.f64 (+.f64 1 (cos.f64 re)) 1)
(*.f64 (cos.f64 re) 1)
(*.f64 1 (cos.f64 re))
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(*.f64 (pow.f64 (cos.f64 re) 1/4) (sqrt.f64 (pow.f64 (cos.f64 re) 3/2)))
(*.f64 2 (*.f64 1/2 (cos.f64 re)))
(*.f64 3 (*.f64 1/3 (cos.f64 re)))
(*.f64 1/3 (*.f64 3 (cos.f64 re)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cbrt.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 5/2)) (pow.f64 (cos.f64 re) 1/6))
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 re) 3/2)) (pow.f64 (cos.f64 re) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 5)) (pow.f64 (cos.f64 re) 1/6))
(*.f64 (pow.f64 1 1/3) (cos.f64 re))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cbrt.f64 (cos.f64 re))) 2) 1/3) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (pow.f64 (pow.f64 (cos.f64 re) 5/2) 1/3) (pow.f64 (cos.f64 re) 1/6))
(/.f64 (sqrt.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0))) (sqrt.f64 2))
(/.f64 (-.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) 1) (+.f64 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re))) (+.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) 1))))
(/.f64 (+.f64 0 (pow.f64 (cos.f64 re) 3)) (+.f64 0 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 0 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)) (+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re)))) (-.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) 3) (pow.f64 (*.f64 1/3 (cos.f64 re)) 3)) (+.f64 (*.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) (*.f64 2 (*.f64 1/3 (cos.f64 re)))) (-.f64 (*.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/3 (cos.f64 re))) (*.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) (*.f64 1/3 (cos.f64 re))))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re))) 1) (+.f64 (+.f64 1 (cos.f64 re)) 1))
(/.f64 (-.f64 0 (pow.f64 (cos.f64 re) 2)) (-.f64 0 (cos.f64 re)))
(/.f64 (-.f64 (*.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) (*.f64 2 (*.f64 1/3 (cos.f64 re)))) (*.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/3 (cos.f64 re)))) (-.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) (*.f64 1/3 (cos.f64 re))))
(pow.f64 (cos.f64 re) 1)
(pow.f64 (pow.f64 (cos.f64 re) 2) 1/2)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(pow.f64 (E.f64) (log.f64 (cos.f64 re)))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cos.f64 re)))) (sqrt.f64 (log.f64 (cos.f64 re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 re))) 2)) (cbrt.f64 (log.f64 (cos.f64 re))))
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(fabs.f64 (cos.f64 re))
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (cos.f64 re))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cos.f64 re))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (cos.f64 re))) 2))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(+.f64 (+.f64 1 (exp.f64 (cos.f64 re))) -1)
(+.f64 0 (exp.f64 (cos.f64 re)))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 (cos.f64 re))) 2))) (log.f64 (cbrt.f64 (exp.f64 (exp.f64 (cos.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (cos.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (cos.f64 re))))))
(-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1)
(*.f64 (exp.f64 (cos.f64 re)) 1)
(*.f64 1 (exp.f64 (cos.f64 re)))
(*.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2) (cbrt.f64 (exp.f64 (cos.f64 re))))
(*.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (sqrt.f64 (exp.f64 (cos.f64 re))))
(*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/4) (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3/2)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 5/2)) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (exp.f64 (cos.f64 re)) (cbrt.f64 (exp.f64 (cos.f64 re)))) 2)) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 5)) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3/2)) (pow.f64 (exp.f64 (cos.f64 re)) 1/4))
(*.f64 (pow.f64 1 1/3) (exp.f64 (cos.f64 re)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (exp.f64 (cos.f64 re)) (cbrt.f64 (exp.f64 (cos.f64 re)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(*.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 5/2) 1/3) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(*.f64 (pow.f64 (E.f64) (*.f64 1/2 (cos.f64 re))) (pow.f64 (E.f64) (*.f64 1/2 (cos.f64 re))))
(*.f64 (pow.f64 (E.f64) (*.f64 2 (*.f64 1/3 (cos.f64 re)))) (pow.f64 (E.f64) (*.f64 1/3 (cos.f64 re))))
(/.f64 (exp.f64 (+.f64 1 (cos.f64 re))) (E.f64))
(/.f64 (pow.f64 (E.f64) (+.f64 1 (cos.f64 re))) (E.f64))
(/.f64 (-.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) 1) (+.f64 (*.f64 (+.f64 1 (exp.f64 (cos.f64 re))) (+.f64 1 (exp.f64 (cos.f64 re)))) (+.f64 1 (*.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))))
(/.f64 (+.f64 1 (pow.f64 (expm1.f64 (cos.f64 re)) 3)) (+.f64 1 (-.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 2) (expm1.f64 (cos.f64 re)))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (exp.f64 (cos.f64 re))) (+.f64 1 (exp.f64 (cos.f64 re)))) 1) (+.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))
(/.f64 (-.f64 1 (pow.f64 (expm1.f64 (cos.f64 re)) 2)) (-.f64 1 (expm1.f64 (cos.f64 re))))
(pow.f64 (exp.f64 (cos.f64 re)) 1)
(pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 2) 1/2)
(pow.f64 (exp.f64 (*.f64 (cos.f64 re) 3)) 1/3)
(pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 3)
(pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 2)
(pow.f64 (E.f64) (cos.f64 re))
(pow.f64 (exp.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))
(pow.f64 (exp.f64 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (pow.f64 (cos.f64 re) 1/6)) (pow.f64 (cos.f64 re) 1/6))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (cos.f64 re))) (cbrt.f64 (cos.f64 re))) (pow.f64 (cos.f64 re) 1/6))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (cos.f64 re))) (pow.f64 (cos.f64 re) 1/4)) (pow.f64 (cos.f64 re) 1/4))
(sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 2))
(fabs.f64 (exp.f64 (cos.f64 re)))
(log.f64 (exp.f64 (exp.f64 (cos.f64 re))))
(cbrt.f64 (exp.f64 (*.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (exp.f64 (cos.f64 re))))
(log1p.f64 (expm1.f64 (exp.f64 (cos.f64 re))))
Outputs
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(cos.f64 re)
(+.f64 0 (cos.f64 re))
(cos.f64 re)
(+.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re)))
(cos.f64 re)
(+.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 2 (*.f64 1/3 (cos.f64 re))))
(cos.f64 re)
(+.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) (*.f64 1/3 (cos.f64 re)))
(cos.f64 re)
(+.f64 (*.f64 (cos.f64 (+.f64 1 re)) (cos.f64 1)) (*.f64 (sin.f64 (+.f64 1 re)) (sin.f64 1)))
(fma.f64 (cos.f64 (+.f64 re 1)) (cos.f64 1) (*.f64 (sin.f64 (+.f64 re 1)) (sin.f64 1)))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) 1) (*.f64 (*.f64 1/2 (cos.f64 re)) 1))
(cos.f64 re)
(+.f64 (*.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) 1) (*.f64 (*.f64 1/3 (cos.f64 re)) 1))
(cos.f64 re)
(-.f64 (+.f64 1 (cos.f64 re)) 1)
(cos.f64 re)
(*.f64 (cos.f64 re) 1)
(cos.f64 re)
(*.f64 1 (cos.f64 re))
(cos.f64 re)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (pow.f64 (cos.f64 re) 1/4) (sqrt.f64 (pow.f64 (cos.f64 re) 3/2)))
(cos.f64 re)
(*.f64 2 (*.f64 1/2 (cos.f64 re)))
(cos.f64 re)
(*.f64 3 (*.f64 1/3 (cos.f64 re)))
(cos.f64 re)
(*.f64 1/3 (*.f64 3 (cos.f64 re)))
(cos.f64 re)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) (cbrt.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(cos.f64 re)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 re) 5/2)) (pow.f64 (cos.f64 re) 1/6))
(cos.f64 re)
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 re) 3/2)) (pow.f64 (cos.f64 re) 1/4))
(cos.f64 re)
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 5)) (pow.f64 (cos.f64 re) 1/6))
(cos.f64 re)
(*.f64 (pow.f64 1 1/3) (cos.f64 re))
(cos.f64 re)
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) (cbrt.f64 (cos.f64 re))) 2) 1/3) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(cos.f64 re)
(*.f64 (pow.f64 (pow.f64 (cos.f64 re) 5/2) 1/3) (pow.f64 (cos.f64 re) 1/6))
(cos.f64 re)
(/.f64 (sqrt.f64 (+.f64 (cos.f64 (+.f64 re re)) (cos.f64 0))) (sqrt.f64 2))
(/.f64 (sqrt.f64 (+.f64 1 (cos.f64 (+.f64 re re)))) (sqrt.f64 2))
(/.f64 (-.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) 1) (+.f64 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re))) (+.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) 1))))
(cos.f64 re)
(/.f64 (+.f64 0 (pow.f64 (cos.f64 re) 3)) (+.f64 0 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 0 (cos.f64 re)))))
(cos.f64 re)
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (cos.f64 re)) 3) (pow.f64 (*.f64 1/2 (cos.f64 re)) 3)) (+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))))
(cos.f64 re)
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))) (*.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re)))) (-.f64 (*.f64 1/2 (cos.f64 re)) (*.f64 1/2 (cos.f64 re))))
(cos.f64 re)
(/.f64 (+.f64 (pow.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) 3) (pow.f64 (*.f64 1/3 (cos.f64 re)) 3)) (+.f64 (*.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) (*.f64 2 (*.f64 1/3 (cos.f64 re)))) (-.f64 (*.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/3 (cos.f64 re))) (*.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) (*.f64 1/3 (cos.f64 re))))))
(cos.f64 re)
(/.f64 (-.f64 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re))) 1) (+.f64 (+.f64 1 (cos.f64 re)) 1))
(cos.f64 re)
(/.f64 (-.f64 0 (pow.f64 (cos.f64 re) 2)) (-.f64 0 (cos.f64 re)))
(cos.f64 re)
(/.f64 (-.f64 (*.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) (*.f64 2 (*.f64 1/3 (cos.f64 re)))) (*.f64 (*.f64 1/3 (cos.f64 re)) (*.f64 1/3 (cos.f64 re)))) (-.f64 (*.f64 2 (*.f64 1/3 (cos.f64 re))) (*.f64 1/3 (cos.f64 re))))
(cos.f64 re)
(pow.f64 (cos.f64 re) 1)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 2) 1/2)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(cos.f64 re)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(cos.f64 re)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(cos.f64 re)
(pow.f64 (E.f64) (log.f64 (cos.f64 re)))
(cos.f64 re)
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cos.f64 re)))) (sqrt.f64 (log.f64 (cos.f64 re))))
(cos.f64 re)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 re))) 2)) (cbrt.f64 (log.f64 (cos.f64 re))))
(cos.f64 re)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(cos.f64 re)
(fabs.f64 (cos.f64 re))
(cos.f64 re)
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (cos.f64 re))) 1/3))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cos.f64 re))) 3))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (cos.f64 re))) 2))
(cos.f64 re)
(+.f64 1 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(+.f64 (+.f64 1 (exp.f64 (cos.f64 re))) -1)
(cos.f64 re)
(+.f64 0 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 (cos.f64 re))) 2))) (log.f64 (cbrt.f64 (exp.f64 (exp.f64 (cos.f64 re))))))
(cos.f64 re)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (cos.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (cos.f64 re))))))
(cos.f64 re)
(-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1)
(cos.f64 re)
(*.f64 (exp.f64 (cos.f64 re)) 1)
(cos.f64 re)
(*.f64 1 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2) (cbrt.f64 (exp.f64 (cos.f64 re))))
(cos.f64 re)
(*.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (sqrt.f64 (exp.f64 (cos.f64 re))))
(cos.f64 re)
(*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/4) (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3/2)))
(cos.f64 re)
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 5/2)) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(cos.f64 re)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (exp.f64 (cos.f64 re)) (cbrt.f64 (exp.f64 (cos.f64 re)))) 2)) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(cos.f64 re)
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 5)) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(cos.f64 re)
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3/2)) (pow.f64 (exp.f64 (cos.f64 re)) 1/4))
(cos.f64 re)
(*.f64 (pow.f64 1 1/3) (exp.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (pow.f64 (pow.f64 (*.f64 (exp.f64 (cos.f64 re)) (cbrt.f64 (exp.f64 (cos.f64 re)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(cos.f64 re)
(*.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 5/2) 1/3) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(cos.f64 re)
(*.f64 (pow.f64 (E.f64) (*.f64 1/2 (cos.f64 re))) (pow.f64 (E.f64) (*.f64 1/2 (cos.f64 re))))
(cos.f64 re)
(*.f64 (pow.f64 (E.f64) (*.f64 2 (*.f64 1/3 (cos.f64 re)))) (pow.f64 (E.f64) (*.f64 1/3 (cos.f64 re))))
(cos.f64 re)
(/.f64 (exp.f64 (+.f64 1 (cos.f64 re))) (E.f64))
(cos.f64 re)
(/.f64 (pow.f64 (E.f64) (+.f64 1 (cos.f64 re))) (E.f64))
(cos.f64 re)
(/.f64 (-.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) 1) (+.f64 (*.f64 (+.f64 1 (exp.f64 (cos.f64 re))) (+.f64 1 (exp.f64 (cos.f64 re)))) (+.f64 1 (*.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))))
(cos.f64 re)
(/.f64 (+.f64 1 (pow.f64 (expm1.f64 (cos.f64 re)) 3)) (+.f64 1 (-.f64 (pow.f64 (expm1.f64 (cos.f64 re)) 2) (expm1.f64 (cos.f64 re)))))
(cos.f64 re)
(/.f64 (-.f64 (*.f64 (+.f64 1 (exp.f64 (cos.f64 re))) (+.f64 1 (exp.f64 (cos.f64 re)))) 1) (+.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))
(cos.f64 re)
(/.f64 (-.f64 1 (pow.f64 (expm1.f64 (cos.f64 re)) 2)) (-.f64 1 (expm1.f64 (cos.f64 re))))
(cos.f64 re)
(pow.f64 (exp.f64 (cos.f64 re)) 1)
(cos.f64 re)
(pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 2) 1/2)
(cos.f64 re)
(pow.f64 (exp.f64 (*.f64 (cos.f64 re) 3)) 1/3)
(cos.f64 re)
(pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 3)
(cos.f64 re)
(pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 2)
(cos.f64 re)
(pow.f64 (E.f64) (cos.f64 re))
(cos.f64 re)
(pow.f64 (exp.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(cos.f64 re)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))
(cos.f64 re)
(pow.f64 (exp.f64 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))
(cos.f64 re)
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(cos.f64 re)
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (pow.f64 (cos.f64 re) 1/6)) (pow.f64 (cos.f64 re) 1/6))
(cos.f64 re)
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (cos.f64 re))) (cbrt.f64 (cos.f64 re))) (pow.f64 (cos.f64 re) 1/6))
(cos.f64 re)
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (cos.f64 re))) (pow.f64 (cos.f64 re) 1/4)) (pow.f64 (cos.f64 re) 1/4))
(cos.f64 re)
(sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 2))
(cos.f64 re)
(fabs.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (exp.f64 (exp.f64 (cos.f64 re))))
(cos.f64 re)
(cbrt.f64 (exp.f64 (*.f64 (cos.f64 re) 3)))
(cos.f64 re)
(expm1.f64 (log1p.f64 (exp.f64 (cos.f64 re))))
(cos.f64 re)
(log1p.f64 (expm1.f64 (exp.f64 (cos.f64 re))))
(cos.f64 re)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.3b
(+.f64 1 (+.f64 (cos.f64 re) -1))
2.4b
(+.f64 (cos.f64 re) -1)
4.9b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 55 to 29 computations (47.3% saved)

series18.0ms (0.1%)

Counts
3 → 0
Calls

12 calls:

TimeVariablePointExpression
0.0ms
re
@0
(+.f64 (cos.f64 re) -1)
0.0ms
re
@0
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0ms
im
@0
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0ms
re
@inf
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0ms
re
@inf
(+.f64 (cos.f64 re) -1)
Compiler

Compiled 2575 to 1230 computations (52.2% saved)

rewrite111.0ms (0.9%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
788×pow1_binary64
735×add-log-exp_binary64
733×log1p-expm1-u_binary64
733×expm1-log1p-u_binary64
723×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01539
132039
2521539
056
11046
212986
079
11486
219306
01524
132024
2520524
01524
Stop Event
iter limit
unsound
node limit
node limit
unsound
Counts
3 → 69
Calls
Call 1
Inputs
(+.f64 (cos.f64 re) -1)
(+.f64 1 (+.f64 (cos.f64 re) -1))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 re) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (sqrt.f64 (+.f64 (cos.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (cos.f64 re)) 1) (-.f64 (sqrt.f64 (cos.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))) (+.f64 -1 (pow.f64 (cos.f64 re) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 re) 1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 -1 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (cos.f64 re) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (cos.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (cos.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (cos.f64 re) 0)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (-.f64 2 (cos.f64 re))) (/.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 re) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 re) 0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 re) 0)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 0)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 0)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 re) 0)) (sqrt.f64 (+.f64 (cos.f64 re) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (/.f64 1 (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2)) (/.f64 1 (-.f64 2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1))) (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 2 (cos.f64 re)) (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2)) (-.f64 2 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3))) (neg.f64 (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2))) (neg.f64 (-.f64 2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) -1) (+.f64 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re))) (-.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) 1) (-.f64 (+.f64 (cos.f64 re) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re))) 1) (-.f64 (+.f64 1 (cos.f64 re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (cos.f64 re) 0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 re) 0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 0) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (cos.f64 re) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (+.f64 (cos.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (cos.f64 re) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (sqrt.f64 (+.f64 (cos.f64 re) -1)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))))

simplify51.0ms (0.4%)

Algorithm
egg-herbie
Rules
732×times-frac_binary64
701×distribute-rgt-in_binary64
630×distribute-lft-in_binary64
496×fma-neg_binary64
419×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01651140
1431855
21653838
Stop Event
node limit
Counts
69 → 93
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(*.f64 (+.f64 (cos.f64 re) -1) 1)
(*.f64 1 (+.f64 (cos.f64 re) -1))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -1)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (sqrt.f64 (+.f64 (cos.f64 re) -1)))
(*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1)))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(*.f64 (+.f64 (sqrt.f64 (cos.f64 re)) 1) (-.f64 (sqrt.f64 (cos.f64 re)) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))) (+.f64 -1 (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(/.f64 (neg.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) 1)))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 -1 (cos.f64 re)))
(pow.f64 (+.f64 (cos.f64 re) -1) 1)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) 2)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -1)))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) -1)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -1)))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -1)))
(fma.f64 1 (cos.f64 re) -1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -1)
(-.f64 (+.f64 1 (+.f64 (cos.f64 re) 0)) 1)
(-.f64 (/.f64 1 (-.f64 2 (cos.f64 re))) (/.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 2 (cos.f64 re))))
(*.f64 1 (+.f64 (cos.f64 re) 0))
(*.f64 (+.f64 (cos.f64 re) 0) 1)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 0)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 0)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 0)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 0)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 0)) (sqrt.f64 (+.f64 (cos.f64 re) 0)))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (/.f64 1 (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1)))))
(*.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2)) (/.f64 1 (-.f64 2 (cos.f64 re))))
(/.f64 1 (/.f64 (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1))) (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3))))
(/.f64 1 (/.f64 (-.f64 2 (cos.f64 re)) (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 2 (cos.f64 re))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2)) (-.f64 2 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3))) (neg.f64 (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1)))))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2))) (neg.f64 (-.f64 2 (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) -1) (+.f64 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re))) (-.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) -1))))
(/.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) 1) (-.f64 (+.f64 (cos.f64 re) -1) 1))
(/.f64 (-.f64 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re))) 1) (-.f64 (+.f64 1 (cos.f64 re)) -1))
(pow.f64 (+.f64 (cos.f64 re) 0) 1)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) 0) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 0)) 3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 0)) 2)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 0) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) 0)))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 0) 3))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 0)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 0)))
(exp.f64 (log1p.f64 (+.f64 (cos.f64 re) -1)))
(fma.f64 1 (+.f64 (cos.f64 re) -1) 1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -1)) 1)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (sqrt.f64 (+.f64 (cos.f64 re) -1)) 1)
(pow.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
Outputs
(-.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) 1)
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 1)) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 1 (cos.f64 re))) (/.f64 1 (+.f64 1 (cos.f64 re))))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 1 (cos.f64 re))) (/.f64 -1 (+.f64 1 (cos.f64 re))))
(*.f64 (+.f64 (cos.f64 re) -1) 1)
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(*.f64 1 (+.f64 (cos.f64 re) -1))
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2))
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (sqrt.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1)))))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (cos.f64 re) (+.f64 1 (cos.f64 re))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (fma.f64 (cos.f64 re) (cos.f64 re) (cos.f64 re))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) 1)))
(*.f64 (/.f64 1 (+.f64 1 (cos.f64 re))) (+.f64 -1 (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -1) (+.f64 1 (cos.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 -1 (cos.f64 re)))
(*.f64 (+.f64 (sqrt.f64 (cos.f64 re)) 1) (-.f64 (sqrt.f64 (cos.f64 re)) 1))
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))) (+.f64 -1 (pow.f64 (cos.f64 re) 3))))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (cos.f64 re) (+.f64 1 (cos.f64 re))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (fma.f64 (cos.f64 re) (cos.f64 re) (cos.f64 re))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 1) (+.f64 (pow.f64 (cos.f64 re) 2) -1)))
(*.f64 (/.f64 1 (+.f64 1 (cos.f64 re))) (+.f64 -1 (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -1) (+.f64 1 (cos.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 -1 (cos.f64 re)))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (cos.f64 re) (+.f64 1 (cos.f64 re))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (fma.f64 (cos.f64 re) (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) -1))))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (cos.f64 re) (+.f64 1 (cos.f64 re))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (fma.f64 (cos.f64 re) (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) 1))
(*.f64 (/.f64 1 (+.f64 1 (cos.f64 re))) (+.f64 -1 (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -1) (+.f64 1 (cos.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 -1 (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1)))))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (*.f64 (cos.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (cos.f64 re) (+.f64 1 (cos.f64 re))))
(/.f64 (+.f64 -1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (fma.f64 (cos.f64 re) (cos.f64 re) (cos.f64 re))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) 1)))
(*.f64 (/.f64 1 (+.f64 1 (cos.f64 re))) (+.f64 -1 (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -1) (+.f64 1 (cos.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 -1 (cos.f64 re)))
(/.f64 (-.f64 1 (pow.f64 (cos.f64 re) 2)) (-.f64 -1 (cos.f64 re)))
(*.f64 (/.f64 1 (+.f64 1 (cos.f64 re))) (+.f64 -1 (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -1) (+.f64 1 (cos.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (-.f64 -1 (cos.f64 re)))
(pow.f64 (+.f64 (cos.f64 re) -1) 1)
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3) 1/3)
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 3)
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) 2)
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2))
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(log.f64 (exp.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 3))
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(exp.f64 (log.f64 (+.f64 (cos.f64 re) -1)))
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(fma.f64 1 (cos.f64 re) -1)
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) -1)
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) -1)
(+.f64 1 (+.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) -1)
(-.f64 (+.f64 1 (+.f64 (cos.f64 re) 0)) 1)
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(-.f64 (/.f64 1 (-.f64 2 (cos.f64 re))) (/.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 2 (cos.f64 re))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2)) (-.f64 2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2)) (+.f64 (cos.f64 re) -2))
(*.f64 1 (+.f64 (cos.f64 re) 0))
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(*.f64 (+.f64 (cos.f64 re) 0) 1)
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 0)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 0)) 2))
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 0)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 0)))
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 0)) (sqrt.f64 (+.f64 (cos.f64 re) 0)))
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(*.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (/.f64 1 (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 1 (*.f64 (+.f64 (cos.f64 re) -1) (+.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -2)))
(*.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2)) (/.f64 1 (-.f64 2 (cos.f64 re))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2)) (-.f64 2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2)) (+.f64 (cos.f64 re) -2))
(/.f64 1 (/.f64 (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1))) (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3))))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (/.f64 1 (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 1 (*.f64 (+.f64 (cos.f64 re) -1) (+.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -2)))
(/.f64 1 (/.f64 (-.f64 2 (cos.f64 re)) (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2)) (-.f64 2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2)) (+.f64 (cos.f64 re) -2))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1))))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (/.f64 1 (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 1 (*.f64 (+.f64 (cos.f64 re) -1) (+.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -2)))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (-.f64 2 (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (-.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) 2) (cos.f64 re)))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2)) (-.f64 2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2)) (+.f64 (cos.f64 re) -2))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3))) (neg.f64 (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1)))))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (/.f64 1 (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (+.f64 1 (*.f64 (+.f64 (cos.f64 re) -1) (+.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 3)) (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) (+.f64 (cos.f64 re) -2)))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2))) (neg.f64 (-.f64 2 (cos.f64 re))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2)) (-.f64 2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2)) (+.f64 (cos.f64 re) -2))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (cos.f64 re)) 3) -1) (+.f64 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re))) (-.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) -1))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (fma.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re)) (-.f64 1 (+.f64 (neg.f64 (cos.f64 re)) -1))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (fma.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re)) (+.f64 (cos.f64 re) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (cos.f64 re)) 3)) (+.f64 1 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 (cos.f64 re) 2))))
(/.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 re) -1) 2) 1) (-.f64 (+.f64 (cos.f64 re) -1) 1))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) -1) 2)) (-.f64 2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2)) (+.f64 (cos.f64 re) -2))
(/.f64 (-.f64 (*.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re))) 1) (-.f64 (+.f64 1 (cos.f64 re)) -1))
(/.f64 (fma.f64 (+.f64 1 (cos.f64 re)) (+.f64 1 (cos.f64 re)) -1) (+.f64 1 (-.f64 (cos.f64 re) -1)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 re) 2))
(pow.f64 (+.f64 (cos.f64 re) 0) 1)
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) 0) 3) 1/3)
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 0)) 3)
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 0)) 2)
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 0) 2))
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(log.f64 (exp.f64 (+.f64 (cos.f64 re) 0)))
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 0) 3))
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 0)))
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 0)))
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(exp.f64 (log1p.f64 (+.f64 (cos.f64 re) -1)))
(exp.f64 (log.f64 (cos.f64 re)))
(fma.f64 1 (+.f64 (cos.f64 re) -1) 1)
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) -1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) -1)) 1)
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) -1)) (sqrt.f64 (+.f64 (cos.f64 re) -1)) 1)
(+.f64 1 (+.f64 (cos.f64 re) -1))
(cos.f64 re)
(pow.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(cbrt.f64 (*.f64 (*.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (+.f64 1 (+.f64 (cos.f64 re) -1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/2))

localize25.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(-.f64 (+.f64 (cos.f64 re) 1) 1)
0.4b
(+.f64 (cos.f64 re) 1)
4.8b
(log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
4.9b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 71 to 30 computations (57.7% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (cos.f64 re))
0.4b
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
4.8b
(log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
4.9b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 67 to 23 computations (65.7% saved)

series18.0ms (0.2%)

Counts
2 → 0
Calls

6 calls:

TimeVariablePointExpression
2.0ms
re
@inf
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
2.0ms
re
@-inf
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
1.0ms
re
@0
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
0.0ms
re
@0
(cbrt.f64 (cos.f64 re))
0.0ms
re
@inf
(cbrt.f64 (cos.f64 re))
Compiler

Compiled 1015 to 720 computations (29.1% saved)

rewrite39.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
442×pow1_binary64
434×add-sqr-sqrt_binary64
419×*-un-lft-identity_binary64
418×add-log-exp_binary64
418×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
11268
211808
Stop Event
node limit
Counts
2 → 39
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(cbrt.f64 (cos.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 re) 1/6) (*.f64 (pow.f64 (cos.f64 re) 1/6) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) 3) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cos.f64 re) 1/6) 3) (pow.f64 (pow.f64 (cos.f64 re) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 1) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cos.f64 re) 1/6)) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 re)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (cbrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 re) 1/6) (pow.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 1/3) (cbrt.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cos.f64 re)) 1/3) (pow.f64 (sqrt.f64 (cos.f64 re)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 re) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (cos.f64 re))))))))

simplify33.0ms (0.3%)

Algorithm
egg-herbie
Rules
483×unswap-sqr_binary64
461×fma-def_binary64
423×log-prod_binary64
413×exp-prod_binary64
367×cube-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
074394
1151280
2490166
32407161
Stop Event
node limit
Counts
39 → 46
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cos.f64 re)) 1)
(*.f64 (cos.f64 re) 1)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(*.f64 1 (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(*.f64 (pow.f64 (cos.f64 re) 1/6) (*.f64 (pow.f64 (cos.f64 re) 1/6) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) 3) (cbrt.f64 (cos.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cos.f64 re) 1/6) 3) (pow.f64 (pow.f64 (cos.f64 re) 1/6) 3))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 1) (cbrt.f64 (cos.f64 re)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cos.f64 re) 1/6)) (pow.f64 (cos.f64 re) 1/6))
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(log.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(-.f64 (+.f64 1 (cbrt.f64 (cos.f64 re))) 1)
(*.f64 (cbrt.f64 (cos.f64 re)) 1)
(*.f64 1 (cbrt.f64 (cos.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (pow.f64 (cos.f64 re) 1/6) (pow.f64 (cos.f64 re) 1/6))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 1/3) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (cos.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 (cos.f64 re)) 1/3) (pow.f64 (sqrt.f64 (cos.f64 re)) 1/3))
(pow.f64 (cos.f64 re) 1/3)
(pow.f64 (cbrt.f64 (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 3)
(pow.f64 (pow.f64 (cos.f64 re) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(log.f64 (exp.f64 (cbrt.f64 (cos.f64 re))))
(expm1.f64 (log1p.f64 (cbrt.f64 (cos.f64 re))))
(log1p.f64 (expm1.f64 (cbrt.f64 (cos.f64 re))))
(exp.f64 (log.f64 (cbrt.f64 (cos.f64 re))))
Outputs
(-.f64 (+.f64 1 (cos.f64 re)) 1)
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(*.f64 (cos.f64 re) 1)
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(*.f64 1 (cos.f64 re))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(*.f64 (pow.f64 (cos.f64 re) 1/6) (*.f64 (pow.f64 (cos.f64 re) 1/6) (pow.f64 (cbrt.f64 (cos.f64 re)) 2)))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) 3) (cbrt.f64 (cos.f64 re)))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(*.f64 (pow.f64 (pow.f64 (cos.f64 re) 1/6) 3) (pow.f64 (pow.f64 (cos.f64 re) 1/6) 3))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 1) (cbrt.f64 (cos.f64 re)))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cos.f64 re) 1/6)) (pow.f64 (cos.f64 re) 1/6))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(cos.f64 re)
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(+.f64 (+.f64 1 (cos.f64 re)) -1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(-.f64 (+.f64 1 (cbrt.f64 (cos.f64 re))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(*.f64 (cbrt.f64 (cos.f64 re)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(*.f64 1 (cbrt.f64 (cos.f64 re)))
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 1/3))
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(*.f64 (pow.f64 (cos.f64 re) 1/6) (pow.f64 (cos.f64 re) 1/6))
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) 1/3) (cbrt.f64 (cbrt.f64 (cos.f64 re))))
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (cos.f64 re)))
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(*.f64 (pow.f64 (sqrt.f64 (cos.f64 re)) 1/3) (pow.f64 (sqrt.f64 (cos.f64 re)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (cos.f64 re))) (cbrt.f64 (sqrt.f64 (cos.f64 re))))
(pow.f64 (pow.f64 (sqrt.f64 (cos.f64 re)) 1/6) 4)
(pow.f64 (cos.f64 re) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(pow.f64 (cbrt.f64 (cos.f64 re)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(pow.f64 (pow.f64 (cos.f64 re) 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(log.f64 (exp.f64 (cbrt.f64 (cos.f64 re))))
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 (cbrt.f64 (cos.f64 re))))
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(log1p.f64 (expm1.f64 (cbrt.f64 (cos.f64 re))))
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))
(exp.f64 (log.f64 (cbrt.f64 (cos.f64 re))))
(+.f64 1 (-.f64 (cbrt.f64 (cos.f64 re)) 1))
(+.f64 (cbrt.f64 (cos.f64 re)) 0)
(cbrt.f64 (cos.f64 re))

localize101.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
0.7b
(log.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))
1.0b
(cbrt.f64 (exp.f64 (cos.f64 re)))
5.2b
(-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im)))
Compiler

Compiled 148 to 100 computations (32.4% saved)

series122.0ms (1%)

Counts
3 → 0
Calls

9 calls:

TimeVariablePointExpression
28.0ms
re
@-inf
(log.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))
16.0ms
re
@inf
(log.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))
3.0ms
re
@0
(cbrt.f64 (exp.f64 (cos.f64 re)))
2.0ms
re
@0
(log.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))
1.0ms
re
@inf
(cbrt.f64 (exp.f64 (cos.f64 re)))
Compiler

Compiled 5345 to 4565 computations (14.6% saved)

rewrite43.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
569×pow1_binary64
526×add-log-exp_binary64
526×log1p-expm1-u_binary64
526×expm1-log1p-u_binary64
514×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0828
115016
2168316
Stop Event
node limit
Counts
3 → 57
Calls
Call 1
Inputs
(cbrt.f64 (exp.f64 (cos.f64 re)))
(log.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (exp.f64 (cos.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2) 1/3) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/3) (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cos.f64 re)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (*.f64 (cos.f64 re) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3))) (sqrt.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (cos.f64 re) 1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)) (log.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2)) (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 re) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) (sqrt.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2)) (*.f64 (cos.f64 re) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 re)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 re)))))))

simplify41.0ms (0.3%)

Algorithm
egg-herbie
Rules
592×log-prod_binary64
534×fma-def_binary64
392×unswap-sqr_binary64
340×fma-neg_binary64
298×exp-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0104502
1221416
2914347
34871340
Stop Event
node limit
Counts
57 → 66
Calls
Call 1
Inputs
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(-.f64 (+.f64 1 (cbrt.f64 (exp.f64 (cos.f64 re)))) 1)
(*.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 1)
(*.f64 1 (cbrt.f64 (exp.f64 (cos.f64 re))))
(*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (exp.f64 (cos.f64 re))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2) 1/3) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/3) (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/3))
(pow.f64 (exp.f64 (cos.f64 re)) 1/3)
(pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 3)
(pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(pow.f64 (exp.f64 1) (*.f64 (cos.f64 re) 1/3))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3))) (sqrt.f64 (*.f64 (cos.f64 re) 1/3)))
(sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2))
(log.f64 (exp.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(exp.f64 (*.f64 (cos.f64 re) 1/3))
(+.f64 (log.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)) (log.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2)) (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))))
(+.f64 0 (*.f64 (cos.f64 re) 1/3))
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (*.f64 (cos.f64 re) 1/3) 1)
(*.f64 1 (*.f64 (cos.f64 re) 1/3))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) (sqrt.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 1/3 (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) 1/3) 1)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 2))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/3)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 0 (cos.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2)) (*.f64 (cos.f64 re) 1/3))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))
(-.f64 (+.f64 1 (cos.f64 re)) 1)
(pow.f64 (cos.f64 re) 1)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(log.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
Outputs
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(-.f64 (+.f64 1 (cbrt.f64 (exp.f64 (cos.f64 re)))) 1)
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 1)
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 1 (cbrt.f64 (exp.f64 (cos.f64 re))))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (exp.f64 (cos.f64 re))))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2) 1/3) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/3) (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (cbrt.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))
(pow.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/6) 4)
(pow.f64 (exp.f64 (cos.f64 re)) 1/3)
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 1)
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 3)
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2)
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(pow.f64 (exp.f64 1) (*.f64 (cos.f64 re) 1/3))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3))) (sqrt.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(log.f64 (exp.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(expm1.f64 (log1p.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(exp.f64 (*.f64 (cos.f64 re) 1/3))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 0)
(cbrt.f64 (exp.f64 (cos.f64 re)))
(+.f64 (log.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)) (log.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2)) (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))))
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(+.f64 0 (*.f64 (cos.f64 re) 1/3))
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1)
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(*.f64 (cos.f64 re) 1/3)
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) 1/3) 1)
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(*.f64 1 (*.f64 (cos.f64 re) 1/3))
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2))
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) (sqrt.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(*.f64 1/3 (cos.f64 re))
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(pow.f64 (*.f64 (cos.f64 re) 1/3) 1)
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3) 1/3)
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3)
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 2))
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3))
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 2 (*.f64 1/6 (cos.f64 re)))
(*.f64 (cos.f64 re) 1/3)
(+.f64 0 (cos.f64 re))
(cos.f64 re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2)) (*.f64 (cos.f64 re) 1/3))
(+.f64 (*.f64 (cos.f64 re) 1/3) (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))))
(fma.f64 (cos.f64 re) 1/3 (*.f64 (*.f64 (cos.f64 re) 1/3) 2))
(*.f64 (*.f64 (cos.f64 re) 1/3) 3)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))
(-.f64 (+.f64 1 (cos.f64 re)) 1)
(cos.f64 re)
(pow.f64 (cos.f64 re) 1)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(cos.f64 re)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(cos.f64 re)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(cos.f64 re)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)

eval317.0ms (2.7%)

Compiler

Compiled 17214 to 10807 computations (37.2% saved)

prune197.0ms (1.7%)

Pruning

32 alts after pruning (22 fresh and 10 done)

PrunedKeptTotal
New58113594
Fresh3912
Picked011
Done1910
Total58532617
Error
58.5b
Counts
617 → 32
Alt Table
Click to see full alt table
StatusErrorProgram
58.7b
(*.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (cos.f64 re)) 3)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.7b
(*.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.6b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
58.5b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.7b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.7b
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7b
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.5b
(*.f64 (*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 1/3) 3)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.5b
(*.f64 (*.f64 1/2 (*.f64 3 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.5b
(*.f64 (*.f64 1/2 (*.f64 3 (-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/6) 4)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 3)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.5b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (-.f64 (+.f64 1 (cbrt.f64 (exp.f64 (cos.f64 re)))) 1)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (*.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (cbrt.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.5b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (exp.f64 (*.f64 (cos.f64 re) 1/3))))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
59.5b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im)))) (-.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im)))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.5b
(*.f64 (*.f64 1/2 (log.f64 (/.f64 (pow.f64 (E.f64) (+.f64 1 (cos.f64 re))) (E.f64)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.5b
(*.f64 (*.f64 1/2 (log.f64 (-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
59.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 2) 2)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
59.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im)))) (-.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im)))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
58.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
58.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.7b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7b
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
59.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.7b
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.8b
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Compiler

Compiled 1580 to 1307 computations (17.3% saved)

localize74.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cos.f64 re) 1/3)
0.4b
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
0.9b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3)
5.2b
(-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im)))
Compiler

Compiled 159 to 123 computations (22.6% saved)

series51.0ms (0.4%)

Counts
3 → 0
Calls

9 calls:

TimeVariablePointExpression
2.0ms
re
@inf
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3)
2.0ms
re
@0
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3)
1.0ms
re
@-inf
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3)
0.0ms
re
@inf
(*.f64 (cos.f64 re) 1/3)
0.0ms
re
@0
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
Compiler

Compiled 2935 to 2530 computations (13.8% saved)

rewrite50.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
610×pow1_binary64
573×add-log-exp_binary64
573×log1p-expm1-u_binary64
573×expm1-log1p-u_binary64
560×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0820
116720
2160020
Stop Event
node limit
Counts
3 → 61
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(*.f64 (cos.f64 re) 1/3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 re) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 1/3) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) (sqrt.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 2) 3) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) 3) (pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/3 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) 1) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (cbrt.f64 (cos.f64 re))) (cbrt.f64 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6)) (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/3)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/3) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 1/3) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) 1/3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/3)))))))

simplify55.0ms (0.5%)

Algorithm
egg-herbie
Rules
957×log-prod_binary64
913×fma-def_binary64
589×exp-prod_binary64
547×fma-neg_binary64
341×log-pow_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0104790
1230622
2885454
32809454
46604454
Stop Event
node limit
Counts
61 → 61
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/3) 3))
(*.f64 1/3 (cos.f64 re))
(*.f64 (*.f64 (cos.f64 re) 1/3) 1)
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2))
(*.f64 1 (*.f64 (cos.f64 re) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)))
(*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 1/3) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1/3))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) (sqrt.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)))
(*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1/3))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 2) 3) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) 3) (pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) 3))
(*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))
(*.f64 (*.f64 1/3 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) 1) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (cbrt.f64 (cos.f64 re))) (cbrt.f64 1/3))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6)) (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1/9))
(log.f64 (exp.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/3)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/3)))
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 1)
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 1)
(*.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))
(*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 1/3))
(*.f64 (cbrt.f64 1/3) (cbrt.f64 (cos.f64 re)))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 1/3) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 1/3))
(pow.f64 (*.f64 (cos.f64 re) 1/3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1)
(pow.f64 (*.f64 (cos.f64 re) 1/3) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3) 1/3)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) 3/2)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1/9))
(log.f64 (exp.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/3)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/3)))
Outputs
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1)
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (cos.f64 re) 1/3)
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) (pow.f64 (cbrt.f64 1/3) 3))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 1/3 (cos.f64 re))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (*.f64 (cos.f64 re) 1/3) 1)
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 1 (*.f64 (cos.f64 re) 1/3))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 1/3) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)))
(*.f64 (cbrt.f64 1/3) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (cbrt.f64 (cos.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (*.f64 (cbrt.f64 1/3) (cbrt.f64 (cos.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) 1/3))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) (sqrt.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) (*.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) 1/3))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 2) 3) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) 3) (pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) 3))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (*.f64 1/3 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) 1) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (cbrt.f64 (cos.f64 re))) (cbrt.f64 1/3))
(*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 (cbrt.f64 1/3) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)))
(*.f64 (cbrt.f64 1/3) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (cbrt.f64 (cos.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (*.f64 (cbrt.f64 1/3) (cbrt.f64 (cos.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6)) (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1/9))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(log.f64 (exp.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 1)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 1)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(*.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 2))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) 1/3))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(*.f64 (cbrt.f64 (cos.f64 re)) (cbrt.f64 1/3))
(*.f64 (cbrt.f64 1/3) (cbrt.f64 (cos.f64 re)))
(*.f64 (cbrt.f64 1/3) (cbrt.f64 (cos.f64 re)))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 1/3) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 1/3))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(pow.f64 (*.f64 (cos.f64 re) 1/3) 1/3)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 1)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 3)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 1/6) 2)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) -1)
(+.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 0)
(cbrt.f64 (*.f64 (cos.f64 re) 1/3))
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1)
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(pow.f64 (*.f64 (cos.f64 re) 1/3) 1)
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3)
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) 3/2)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) 2) 1/9))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(log.f64 (exp.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/3)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1))
(+.f64 (*.f64 (cos.f64 re) 1/3) 0)
(*.f64 (cos.f64 re) 1/3)

localize31.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(+.f64 (cos.f64 re) 2)
0.3b
(-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)
0.7b
(+.f64 (+.f64 (cos.f64 re) 2) -1)
4.9b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 68 to 40 computations (41.2% saved)

series12.0ms (0.1%)

Counts
3 → 0
Calls

9 calls:

TimeVariablePointExpression
0.0ms
re
@0
(+.f64 (+.f64 (cos.f64 re) 2) -1)
0.0ms
re
@0
(+.f64 (cos.f64 re) 2)
0.0ms
re
@inf
(+.f64 (cos.f64 re) 2)
0.0ms
re
@-inf
(+.f64 (cos.f64 re) 2)
0.0ms
re
@0
(-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)
Compiler

Compiled 1015 to 690 computations (32% saved)

rewrite66.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
971×pow1_binary64
913×add-log-exp_binary64
911×log1p-expm1-u_binary64
911×expm1-log1p-u_binary64
102×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0921
120415
2271915
Stop Event
node limit
Counts
3 → 121
Calls
Call 1
Inputs
(+.f64 (+.f64 (cos.f64 re) 2) -1)
(-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)
(+.f64 (cos.f64 re) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 re) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (cos.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 re) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) 1) (-.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) -1))) (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 re) 3) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (*.f64 (+.f64 (cos.f64 re) 2) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1) (+.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 re) 2) 1) (-.f64 (cos.f64 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) 2) 2)) (-.f64 -1 (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) 1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1) 1) (+.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (cos.f64 re) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log.f64 (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (cos.f64 re) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) (sqrt.f64 (+.f64 (cos.f64 re) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (+.f64 (cos.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 re) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (cos.f64 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 re) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (/.f64 1 (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (/.f64 1 (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1) (-.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 re) 2) (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (+.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (-.f64 (+.f64 (cos.f64 re) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1)) (neg.f64 (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))) (neg.f64 (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) -8) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 4 (*.f64 (+.f64 (cos.f64 re) 2) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) 4) (-.f64 (+.f64 (cos.f64 re) 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 re)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (cos.f64 re) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (cos.f64 re) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) (sqrt.f64 (+.f64 (cos.f64 re) 2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 re) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 4 (+.f64 (cos.f64 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 re) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) (sqrt.f64 (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 4) (*.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 4) (*.f64 (cos.f64 re) 2)) (+.f64 8 (pow.f64 (cos.f64 re) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (cos.f64 re) -2) (+.f64 (pow.f64 (cos.f64 re) 2) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3)) (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 4) (*.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3)) (+.f64 4 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 (cos.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 4) (*.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4)) (neg.f64 (+.f64 (cos.f64 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (-.f64 1 (+.f64 (cos.f64 re) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) 1) 2)) (-.f64 1 (+.f64 (cos.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 4 (pow.f64 (cos.f64 re) 2)) (-.f64 2 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (cos.f64 re) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (cos.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 re) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (cos.f64 re) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1)))))

simplify77.0ms (0.6%)

Algorithm
egg-herbie
Rules
442×div-sub_binary64
338×distribute-rgt-neg-in_binary64
304×distribute-lft-neg-in_binary64
229×distribute-neg-in_binary64
215×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02451410
15631304
231511298
Stop Event
node limit
Counts
121 → 144
Calls
Call 1
Inputs
(-.f64 (+.f64 (cos.f64 re) 2) 1)
(-.f64 (/.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (cos.f64 re) 3)))
(*.f64 (+.f64 (cos.f64 re) 1) 1)
(*.f64 1 (+.f64 (cos.f64 re) 1))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 1))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) -1)))))
(*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) 3)))
(*.f64 (+.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) 1) (-.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) -1))) (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 3) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) -1))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (*.f64 (+.f64 (cos.f64 re) 2) -1))))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1) (+.f64 (cos.f64 re) 3))
(/.f64 (neg.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) -1)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) 3)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) 1) (-.f64 (cos.f64 re) 1))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) 2) 2)) (-.f64 -1 (+.f64 (cos.f64 re) 2)))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) 1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) -1))))
(/.f64 (*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1) 1) (+.f64 (cos.f64 re) 3))
(pow.f64 (+.f64 (cos.f64 re) 1) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 2)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1/3)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) 1)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) 1))))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3))
(expm1.f64 (log.f64 (+.f64 (cos.f64 re) 2)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 1)))
(exp.f64 (log1p.f64 (cos.f64 re)))
(fma.f64 1 (cos.f64 re) 1)
(fma.f64 1 (+.f64 (cos.f64 re) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 2)) -1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 1)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) (sqrt.f64 (+.f64 (cos.f64 re) 2)) -1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1)
(+.f64 (cos.f64 re) 0)
(+.f64 2 (+.f64 (cos.f64 re) -2))
(+.f64 (+.f64 (cos.f64 re) 2) -2)
(+.f64 -1 (+.f64 (cos.f64 re) 1))
(+.f64 (+.f64 (cos.f64 re) 1) -1)
(+.f64 -2 (+.f64 (cos.f64 re) 2))
(*.f64 (cos.f64 re) 1)
(*.f64 1 (cos.f64 re))
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (/.f64 1 (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2))))
(*.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (/.f64 1 (+.f64 (cos.f64 re) 2)))
(*.f64 (+.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1) (-.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1))
(/.f64 1 (/.f64 (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 2) (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 1) -1))))
(/.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (+.f64 (cos.f64 re) 2))
(/.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (-.f64 (+.f64 (cos.f64 re) 1) -1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1)) (neg.f64 (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2))))
(/.f64 (neg.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))) (neg.f64 (+.f64 (cos.f64 re) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) -8) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 4 (*.f64 (+.f64 (cos.f64 re) 2) -2))))
(/.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) 4) (-.f64 (+.f64 (cos.f64 re) 2) -2))
(pow.f64 (cos.f64 re) 1)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(log.f64 (exp.f64 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(fma.f64 1 (+.f64 (cos.f64 re) 2) -2)
(fma.f64 1 (+.f64 (cos.f64 re) 1) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 2)) -2)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)) -1)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) (sqrt.f64 (+.f64 (cos.f64 re) 2)) -2)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)) -1)
(-.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 re) 2))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 4 (+.f64 (cos.f64 re) -2)))
(*.f64 (+.f64 (cos.f64 re) 2) 1)
(*.f64 1 (+.f64 (cos.f64 re) 2))
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 2)))
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) (sqrt.f64 (+.f64 (cos.f64 re) 2)))
(*.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 4) (*.f64 (cos.f64 re) 2))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) -2)))
(/.f64 1 (/.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 4) (*.f64 (cos.f64 re) 2)) (+.f64 8 (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -2) (+.f64 (pow.f64 (cos.f64 re) 2) -4)))
(/.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3)) (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 4) (*.f64 (cos.f64 re) 2)))
(/.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3)) (+.f64 4 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) 2))))
(/.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (cos.f64 re))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 (cos.f64 re) -2))
(/.f64 (neg.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 4) (*.f64 (cos.f64 re) 2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4)) (neg.f64 (+.f64 (cos.f64 re) -2)))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 1))))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (-.f64 1 (+.f64 (cos.f64 re) 1))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) 1) 2)) (-.f64 1 (+.f64 (cos.f64 re) 1)))
(/.f64 (-.f64 4 (pow.f64 (cos.f64 re) 2)) (-.f64 2 (cos.f64 re)))
(pow.f64 (+.f64 (cos.f64 re) 2) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 3)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) 2)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) 1/3)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2))
(log.f64 (exp.f64 (+.f64 (cos.f64 re) 2)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) 2))))
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3))
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 2)))
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 2)))
(exp.f64 (log.f64 (+.f64 (cos.f64 re) 2)))
(fma.f64 1 (cos.f64 re) 2)
(fma.f64 1 (+.f64 (cos.f64 re) 1) 1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 2)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)) 1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 2)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1)
Outputs
(-.f64 (+.f64 (cos.f64 re) 2) 1)
(+.f64 (cos.f64 re) 1)
(-.f64 (/.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 (cos.f64 re) 3)) (/.f64 1 (+.f64 (cos.f64 re) 3)))
(+.f64 (/.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 (cos.f64 re) 3)) (/.f64 -1 (+.f64 (cos.f64 re) 3)))
(*.f64 (+.f64 (cos.f64 re) 1) 1)
(+.f64 (cos.f64 re) 1)
(*.f64 1 (+.f64 (cos.f64 re) 1))
(+.f64 (cos.f64 re) 1)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2))
(+.f64 (cos.f64 re) 1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)))
(+.f64 (cos.f64 re) 1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 1))
(+.f64 (cos.f64 re) 1)
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)))
(+.f64 (cos.f64 re) 1)
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1))
(+.f64 (cos.f64 re) 1)
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) -1)))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (+.f64 (neg.f64 (cos.f64 re)) -2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 (cos.f64 re) 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) (-.f64 -3 (cos.f64 re)))))
(*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1) (/.f64 1 (+.f64 (cos.f64 re) 3)))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1) (+.f64 (cos.f64 re) 3))
(*.f64 (+.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) 1) (-.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) 1))
(+.f64 (cos.f64 re) 1)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) -1))) (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (+.f64 (neg.f64 (cos.f64 re)) -2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 (cos.f64 re) 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) (-.f64 -3 (cos.f64 re)))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 3) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1)))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1) (+.f64 (cos.f64 re) 3))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) -1))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (+.f64 (neg.f64 (cos.f64 re)) -2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 (cos.f64 re) 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) (-.f64 -3 (cos.f64 re)))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (*.f64 (+.f64 (cos.f64 re) 2) -1))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (+.f64 (neg.f64 (cos.f64 re)) -2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 (cos.f64 re) 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) (-.f64 -3 (cos.f64 re)))))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1) (+.f64 (cos.f64 re) 3))
(/.f64 (neg.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) -1)))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (+.f64 (neg.f64 (cos.f64 re)) -2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 (cos.f64 re) 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) (-.f64 -3 (cos.f64 re)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1)) (neg.f64 (+.f64 (cos.f64 re) 3)))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1) (+.f64 (cos.f64 re) 3))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 1) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 1 (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (cos.f64 re) (-.f64 1 (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (cos.f64 re) 3)) (+.f64 1 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -1))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) 1) (-.f64 (cos.f64 re) 1))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -1) (+.f64 (cos.f64 re) -1))
(/.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -1) (+.f64 (cos.f64 re) -1))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) 2) 2)) (-.f64 -1 (+.f64 (cos.f64 re) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1) (+.f64 (cos.f64 re) 3))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) 1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) -1))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 1 (+.f64 (neg.f64 (cos.f64 re)) -2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (+.f64 (cos.f64 re) 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 2) 3)) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 2) (-.f64 -3 (cos.f64 re)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1) 1) (+.f64 (cos.f64 re) 3))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -1) (+.f64 (cos.f64 re) 3))
(pow.f64 (+.f64 (cos.f64 re) 1) 1)
(+.f64 (cos.f64 re) 1)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3)
(+.f64 (cos.f64 re) 1)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 2)
(+.f64 (cos.f64 re) 1)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1/3)
(+.f64 (cos.f64 re) 1)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2))
(+.f64 (cos.f64 re) 1)
(log.f64 (exp.f64 (+.f64 (cos.f64 re) 1)))
(+.f64 (cos.f64 re) 1)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) 1))))
(+.f64 (cos.f64 re) 1)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3))
(+.f64 (cos.f64 re) 1)
(expm1.f64 (log.f64 (+.f64 (cos.f64 re) 2)))
(+.f64 (cos.f64 re) 1)
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 1)))
(+.f64 (cos.f64 re) 1)
(exp.f64 (log1p.f64 (cos.f64 re)))
(fma.f64 1 (cos.f64 re) 1)
(+.f64 (cos.f64 re) 1)
(fma.f64 1 (+.f64 (cos.f64 re) 2) -1)
(+.f64 (cos.f64 re) 1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 2)) -1)
(+.f64 (cos.f64 re) 1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 1)
(+.f64 (cos.f64 re) 1)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) (sqrt.f64 (+.f64 (cos.f64 re) 2)) -1)
(+.f64 (cos.f64 re) 1)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 1)
(+.f64 (cos.f64 re) 1)
(+.f64 (cos.f64 re) 0)
(cos.f64 re)
(+.f64 2 (+.f64 (cos.f64 re) -2))
(cos.f64 re)
(+.f64 (+.f64 (cos.f64 re) 2) -2)
(cos.f64 re)
(+.f64 -1 (+.f64 (cos.f64 re) 1))
(cos.f64 re)
(+.f64 (+.f64 (cos.f64 re) 1) -1)
(cos.f64 re)
(+.f64 -2 (+.f64 (cos.f64 re) 2))
(cos.f64 re)
(*.f64 (cos.f64 re) 1)
(cos.f64 re)
(*.f64 1 (cos.f64 re))
(cos.f64 re)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (/.f64 1 (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (/.f64 1 (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2)))
(*.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (/.f64 1 (+.f64 (cos.f64 re) 2)))
(cos.f64 re)
(*.f64 (+.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1) (-.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1))
(cos.f64 re)
(/.f64 1 (/.f64 (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2)) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1)))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (/.f64 1 (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) 2) (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))))
(cos.f64 re)
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2)))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (/.f64 1 (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (-.f64 1 (*.f64 (+.f64 (cos.f64 re) 1) -1))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (/.f64 1 (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2)))
(/.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (+.f64 (cos.f64 re) 2))
(cos.f64 re)
(/.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (-.f64 (+.f64 (cos.f64 re) 1) -1))
(cos.f64 re)
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) -1)) (neg.f64 (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (/.f64 1 (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (+.f64 (+.f64 (cos.f64 re) 2) (pow.f64 (+.f64 (cos.f64 re) 1) 2)))
(/.f64 (neg.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re))) (neg.f64 (+.f64 (cos.f64 re) 2)))
(cos.f64 re)
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) -8) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 4 (*.f64 (+.f64 (cos.f64 re) 2) -2))))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) -8) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) (-.f64 4 (+.f64 -4 (*.f64 (cos.f64 re) -2)))))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) -8) (+.f64 4 (*.f64 (+.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) 4))))
(/.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) 4) (-.f64 (+.f64 (cos.f64 re) 2) -2))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2) -4) (+.f64 (cos.f64 re) 4))
(pow.f64 (cos.f64 re) 1)
(cos.f64 re)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(cos.f64 re)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(cos.f64 re)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(cos.f64 re)
(log.f64 (exp.f64 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (cos.f64 re))))
(cos.f64 re)
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(fma.f64 1 (+.f64 (cos.f64 re) 2) -2)
(cos.f64 re)
(fma.f64 1 (+.f64 (cos.f64 re) 1) -1)
(cos.f64 re)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 2)) -2)
(cos.f64 re)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)) -1)
(cos.f64 re)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) (sqrt.f64 (+.f64 (cos.f64 re) 2)) -2)
(cos.f64 re)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)) -1)
(cos.f64 re)
(-.f64 (exp.f64 (log1p.f64 (+.f64 (cos.f64 re) 2))) 1)
(+.f64 (cos.f64 re) 2)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 4 (+.f64 (cos.f64 re) -2)))
(+.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) -2)) (/.f64 -4 (+.f64 (cos.f64 re) -2)))
(*.f64 (+.f64 (cos.f64 re) 2) 1)
(+.f64 (cos.f64 re) 2)
(*.f64 1 (+.f64 (cos.f64 re) 2))
(+.f64 (cos.f64 re) 2)
(*.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2))
(+.f64 (cos.f64 re) 2)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 2)))
(+.f64 (cos.f64 re) 2)
(*.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) (sqrt.f64 (+.f64 (cos.f64 re) 2)))
(+.f64 (cos.f64 re) 2)
(*.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 4) (*.f64 (cos.f64 re) 2))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) 2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) -2)))
(/.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -4) (+.f64 (cos.f64 re) -2))
(/.f64 1 (/.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 4) (*.f64 (cos.f64 re) 2)) (+.f64 8 (pow.f64 (cos.f64 re) 3))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) 2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) -2) (+.f64 (pow.f64 (cos.f64 re) 2) -4)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) -2)))
(/.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -4) (+.f64 (cos.f64 re) -2))
(/.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3)) (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 4) (*.f64 (cos.f64 re) 2)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) 2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2))))
(/.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3)) (+.f64 4 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) 2))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) 2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2))))
(/.f64 (*.f64 (+.f64 (cos.f64 re) 2) (cos.f64 re)) (cos.f64 re))
(+.f64 (cos.f64 re) 2)
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (+.f64 (cos.f64 re) -2))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) -2)))
(/.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -4) (+.f64 (cos.f64 re) -2))
(/.f64 (neg.f64 (+.f64 8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (-.f64 (+.f64 (pow.f64 (cos.f64 re) 2) 4) (*.f64 (cos.f64 re) 2))))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (/.f64 1 (+.f64 (pow.f64 (cos.f64 re) 2) (-.f64 4 (*.f64 (cos.f64 re) 2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (+.f64 4 (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) 2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 3) 8) (+.f64 4 (*.f64 (cos.f64 re) (+.f64 (cos.f64 re) -2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4)) (neg.f64 (+.f64 (cos.f64 re) -2)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) -2)))
(/.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -4) (+.f64 (cos.f64 re) -2))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 1))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (+.f64 1 (*.f64 (+.f64 (cos.f64 re) 1) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 3) 1) (+.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (-.f64 1 (+.f64 (cos.f64 re) 1))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (cos.f64 re) 1) 2) (+.f64 (cos.f64 re) 1))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (cos.f64 re) 1) 3)) (+.f64 1 (*.f64 (+.f64 (cos.f64 re) 1) (cos.f64 re))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) 1) 2)) (-.f64 1 (+.f64 (cos.f64 re) 1)))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (cos.f64 re) 1) 2)) (neg.f64 (cos.f64 re)))
(/.f64 (-.f64 4 (pow.f64 (cos.f64 re) 2)) (-.f64 2 (cos.f64 re)))
(*.f64 (+.f64 (pow.f64 (cos.f64 re) 2) -4) (/.f64 1 (+.f64 (cos.f64 re) -2)))
(/.f64 (fma.f64 (cos.f64 re) (cos.f64 re) -4) (+.f64 (cos.f64 re) -2))
(pow.f64 (+.f64 (cos.f64 re) 2) 1)
(+.f64 (cos.f64 re) 2)
(pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 2)) 3)
(+.f64 (cos.f64 re) 2)
(pow.f64 (sqrt.f64 (+.f64 (cos.f64 re) 2)) 2)
(+.f64 (cos.f64 re) 2)
(pow.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3) 1/3)
(+.f64 (cos.f64 re) 2)
(sqrt.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 2))
(+.f64 (cos.f64 re) 2)
(log.f64 (exp.f64 (+.f64 (cos.f64 re) 2)))
(+.f64 (cos.f64 re) 2)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (cos.f64 re) 2))))
(+.f64 (cos.f64 re) 2)
(cbrt.f64 (pow.f64 (+.f64 (cos.f64 re) 2) 3))
(+.f64 (cos.f64 re) 2)
(expm1.f64 (log1p.f64 (+.f64 (cos.f64 re) 2)))
(+.f64 (cos.f64 re) 2)
(log1p.f64 (expm1.f64 (+.f64 (cos.f64 re) 2)))
(+.f64 (cos.f64 re) 2)
(exp.f64 (log.f64 (+.f64 (cos.f64 re) 2)))
(+.f64 (cos.f64 re) 2)
(fma.f64 1 (cos.f64 re) 2)
(+.f64 (cos.f64 re) 2)
(fma.f64 1 (+.f64 (cos.f64 re) 1) 1)
(+.f64 (cos.f64 re) 2)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) 2)
(+.f64 (cos.f64 re) 2)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 re) 1)) 1)
(+.f64 (cos.f64 re) 2)
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) 2)
(+.f64 (cos.f64 re) 2)
(fma.f64 (sqrt.f64 (+.f64 (cos.f64 re) 1)) (sqrt.f64 (+.f64 (cos.f64 re) 1)) 1)
(+.f64 (cos.f64 re) 2)

localize58.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
0.3b
(-.f64 (+.f64 (cos.f64 re) 1) 1)
0.4b
(+.f64 (cos.f64 re) 1)
5.3b
(-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im)))
Compiler

Compiled 104 to 50 computations (51.9% saved)

series21.0ms (0.2%)

Counts
1 → 0
Calls

6 calls:

TimeVariablePointExpression
0.0ms
re
@0
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
0.0ms
im
@0
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
0.0ms
im
@-inf
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
0.0ms
re
@inf
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
0.0ms
im
@inf
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
Compiler

Compiled 3685 to 2215 computations (39.9% saved)

rewrite33.0ms (0.3%)

Algorithm
egg-rewrite-iter-limit
batch-egg-rewrite
Rules
240×add-sqr-sqrt_binary64
232×*-un-lft-identity_binary64
232×pow1_binary64
226×add-log-exp_binary64
222×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02137
146637
02140
Stop Event
iter limit
node limit
Counts
1 → 0
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
Outputs
()

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
0 → 0
Calls
Call 1
Inputs
Outputs

localize88.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(exp.f64 (cos.f64 re))
0.2b
(-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1)
0.3b
(log.f64 (-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))
5.2b
(-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im)))
Compiler

Compiled 154 to 113 computations (26.6% saved)

series8.0ms (0.1%)

Counts
2 → 0
Calls

6 calls:

TimeVariablePointExpression
0.0ms
re
@0
(log.f64 (-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))
0.0ms
re
@0
(-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1)
0.0ms
re
@inf
(log.f64 (-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))
0.0ms
re
@-inf
(log.f64 (-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))
0.0ms
re
@inf
(-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1)
Compiler

Compiled 725 to 475 computations (34.5% saved)

rewrite46.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
716×pow1_binary64
669×add-log-exp_binary64
667×log1p-expm1-u_binary64
667×expm1-log1p-u_binary64
657×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0824
11678
222758
Stop Event
node limit
Counts
2 → 61
Calls
Call 1
Inputs
(log.f64 (-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))
(-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1)) (log.f64 (+.f64 (exp.f64 (cos.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1)) (log.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (+.f64 (exp.f64 (cos.f64 re)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 re)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (expm1.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (expm1.f64 (cos.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (exp.f64 (cos.f64 re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (expm1.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2) (cbrt.f64 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (sqrt.f64 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (+.f64 (exp.f64 (cos.f64 re)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1) (/.f64 1 (+.f64 (exp.f64 (cos.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) 1) (-.f64 (sqrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (+.f64 (exp.f64 (cos.f64 re)) 2)) (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (exp.f64 (cos.f64 re)) 2) (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1) (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (+.f64 (exp.f64 (cos.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1) (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (-.f64 1 (*.f64 (+.f64 1 (exp.f64 (cos.f64 re))) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1) (+.f64 (exp.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1) (-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1)) (neg.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (+.f64 (exp.f64 (cos.f64 re)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1)) (neg.f64 (+.f64 (exp.f64 (cos.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (expm1.f64 (cos.f64 re)) 3)) (+.f64 1 (-.f64 (*.f64 (expm1.f64 (cos.f64 re)) (expm1.f64 (cos.f64 re))) (expm1.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (expm1.f64 (cos.f64 re)) (expm1.f64 (cos.f64 re)))) (-.f64 1 (expm1.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 1 (exp.f64 (cos.f64 re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) 2) (cbrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) (sqrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) -1)))))

simplify49.0ms (0.4%)

Algorithm
egg-herbie
Rules
876×fma-neg_binary64
679×fma-def_binary64
392×unswap-sqr_binary64
378×distribute-rgt-in_binary64
355×distribute-lft-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0128745
1288711
21076706
36316611
Stop Event
node limit
Counts
61 → 75
Calls
Call 1
Inputs
(+.f64 0 (cos.f64 re))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(-.f64 (+.f64 1 (cos.f64 re)) 1)
(-.f64 (log.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1)) (log.f64 (+.f64 (exp.f64 (cos.f64 re)) 2)))
(-.f64 (log.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1)) (log.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(*.f64 1 (cos.f64 re))
(*.f64 (cos.f64 re) 1)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(pow.f64 (cos.f64 re) 1)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cos.f64 re)))
(exp.f64 (log.f64 (cos.f64 re)))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(+.f64 1 (*.f64 (expm1.f64 (cos.f64 re)) 1))
(+.f64 (exp.f64 (cos.f64 re)) 0)
(+.f64 (+.f64 1 (exp.f64 (cos.f64 re))) -1)
(+.f64 (expm1.f64 (cos.f64 re)) 1)
(+.f64 -1 (+.f64 1 (exp.f64 (cos.f64 re))))
(*.f64 1 (exp.f64 (cos.f64 re)))
(*.f64 (exp.f64 (cos.f64 re)) 1)
(*.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2) (cbrt.f64 (exp.f64 (cos.f64 re))))
(*.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (sqrt.f64 (exp.f64 (cos.f64 re))))
(*.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(*.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1) (/.f64 1 (+.f64 (exp.f64 (cos.f64 re)) 2)))
(*.f64 (+.f64 (sqrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) 1) (-.f64 (sqrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (+.f64 (exp.f64 (cos.f64 re)) 2)) (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1)))
(/.f64 1 (/.f64 (+.f64 (exp.f64 (cos.f64 re)) 2) (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1)))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1) (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (+.f64 (exp.f64 (cos.f64 re)) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1) (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (-.f64 1 (*.f64 (+.f64 1 (exp.f64 (cos.f64 re))) -1))))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1) (+.f64 (exp.f64 (cos.f64 re)) 2))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1) (-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) -1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1)) (neg.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1)) (neg.f64 (+.f64 (exp.f64 (cos.f64 re)) 2)))
(/.f64 (+.f64 1 (pow.f64 (expm1.f64 (cos.f64 re)) 3)) (+.f64 1 (-.f64 (*.f64 (expm1.f64 (cos.f64 re)) (expm1.f64 (cos.f64 re))) (expm1.f64 (cos.f64 re)))))
(/.f64 (-.f64 1 (*.f64 (expm1.f64 (cos.f64 re)) (expm1.f64 (cos.f64 re)))) (-.f64 1 (expm1.f64 (cos.f64 re))))
(pow.f64 (exp.f64 (cos.f64 re)) 1)
(pow.f64 (E.f64) (cos.f64 re))
(pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 3)
(pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 2)
(pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3) 1/3)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))
(pow.f64 (exp.f64 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))
(sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 2))
(log.f64 (exp.f64 (exp.f64 (cos.f64 re))))
(cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (exp.f64 (cos.f64 re))))
(log1p.f64 (expm1.f64 (exp.f64 (cos.f64 re))))
(exp.f64 (cos.f64 re))
(fma.f64 1 (+.f64 1 (exp.f64 (cos.f64 re))) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) 2) (cbrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) -1)
(fma.f64 (sqrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) (sqrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) -1)
Outputs
(+.f64 0 (cos.f64 re))
(cos.f64 re)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))
(cos.f64 re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(cos.f64 re)
(-.f64 (+.f64 1 (cos.f64 re)) 1)
(cos.f64 re)
(-.f64 (log.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1)) (log.f64 (+.f64 (exp.f64 (cos.f64 re)) 2)))
(-.f64 (log.f64 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) -1)) (log.f64 (+.f64 (exp.f64 (cos.f64 re)) 2)))
(-.f64 (+.f64 (cos.f64 re) (log.f64 (+.f64 (exp.f64 (cos.f64 re)) 2))) (log.f64 (+.f64 (exp.f64 (cos.f64 re)) 2)))
(-.f64 (log.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1)) (log.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(-.f64 (log.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3))) (log.f64 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(-.f64 (log.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3))) (log1p.f64 (*.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(*.f64 1 (cos.f64 re))
(cos.f64 re)
(*.f64 (cos.f64 re) 1)
(cos.f64 re)
(*.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2))
(cos.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)))
(cos.f64 re)
(*.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)))
(cos.f64 re)
(pow.f64 (cos.f64 re) 1)
(cos.f64 re)
(pow.f64 (pow.f64 (cos.f64 re) 3) 1/3)
(cos.f64 re)
(pow.f64 (cbrt.f64 (cos.f64 re)) 3)
(cos.f64 re)
(pow.f64 (sqrt.f64 (cos.f64 re)) 2)
(cos.f64 re)
(sqrt.f64 (pow.f64 (cos.f64 re) 2))
(cos.f64 re)
(cbrt.f64 (pow.f64 (cos.f64 re) 3))
(cos.f64 re)
(cos.f64 re)
(expm1.f64 (log1p.f64 (cos.f64 re)))
(cos.f64 re)
(log1p.f64 (expm1.f64 (cos.f64 re)))
(cos.f64 re)
(exp.f64 (log.f64 (cos.f64 re)))
(cos.f64 re)
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(+.f64 1 (*.f64 (expm1.f64 (cos.f64 re)) 1))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(+.f64 (exp.f64 (cos.f64 re)) 0)
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(+.f64 (+.f64 1 (exp.f64 (cos.f64 re))) -1)
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(+.f64 (expm1.f64 (cos.f64 re)) 1)
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(+.f64 -1 (+.f64 1 (exp.f64 (cos.f64 re))))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(*.f64 1 (exp.f64 (cos.f64 re)))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(*.f64 (exp.f64 (cos.f64 re)) 1)
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(*.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2) (cbrt.f64 (exp.f64 (cos.f64 re))))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(*.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) (sqrt.f64 (exp.f64 (cos.f64 re))))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(*.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) (+.f64 (exp.f64 (cos.f64 re)) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (+.f64 1 (*.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (fma.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) (+.f64 (exp.f64 (cos.f64 re)) 2) 1))
(*.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1) (/.f64 1 (+.f64 (exp.f64 (cos.f64 re)) 2)))
(*.f64 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) -1) (/.f64 1 (+.f64 (exp.f64 (cos.f64 re)) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) -1) (+.f64 (exp.f64 (cos.f64 re)) 2))
(*.f64 (+.f64 (sqrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) 1) (-.f64 (sqrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) 1))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (+.f64 (exp.f64 (cos.f64 re)) 2)) (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1)))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) (+.f64 (exp.f64 (cos.f64 re)) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (+.f64 1 (*.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (fma.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) (+.f64 (exp.f64 (cos.f64 re)) 2) 1))
(/.f64 1 (/.f64 (+.f64 (exp.f64 (cos.f64 re)) 2) (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1)))
(*.f64 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) -1) (/.f64 1 (+.f64 (exp.f64 (cos.f64 re)) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) -1) (+.f64 (exp.f64 (cos.f64 re)) 2))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1) (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (+.f64 (exp.f64 (cos.f64 re)) 2)))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) (+.f64 (exp.f64 (cos.f64 re)) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (+.f64 1 (*.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (fma.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) (+.f64 (exp.f64 (cos.f64 re)) 2) 1))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1) (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (-.f64 1 (*.f64 (+.f64 1 (exp.f64 (cos.f64 re))) -1))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) (+.f64 (exp.f64 (cos.f64 re)) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (+.f64 1 (*.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (fma.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) (+.f64 (exp.f64 (cos.f64 re)) 2) 1))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1) (+.f64 (exp.f64 (cos.f64 re)) 2))
(*.f64 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) -1) (/.f64 1 (+.f64 (exp.f64 (cos.f64 re)) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) -1) (+.f64 (exp.f64 (cos.f64 re)) 2))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1) (-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) -1))
(*.f64 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) -1) (/.f64 1 (+.f64 (exp.f64 (cos.f64 re)) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) -1) (+.f64 (exp.f64 (cos.f64 re)) 2))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 3) -1)) (neg.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) (+.f64 (exp.f64 (cos.f64 re)) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (+.f64 1 (*.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) (+.f64 (exp.f64 (cos.f64 re)) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 3)) (fma.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) (+.f64 (exp.f64 (cos.f64 re)) 2) 1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 2) -1)) (neg.f64 (+.f64 (exp.f64 (cos.f64 re)) 2)))
(*.f64 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) -1) (/.f64 1 (+.f64 (exp.f64 (cos.f64 re)) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 (exp.f64 (cos.f64 re)) 1) 2) -1) (+.f64 (exp.f64 (cos.f64 re)) 2))
(/.f64 (+.f64 1 (pow.f64 (expm1.f64 (cos.f64 re)) 3)) (+.f64 1 (-.f64 (*.f64 (expm1.f64 (cos.f64 re)) (expm1.f64 (cos.f64 re))) (expm1.f64 (cos.f64 re)))))
(/.f64 (+.f64 1 (pow.f64 (expm1.f64 (cos.f64 re)) 3)) (-.f64 (+.f64 1 (*.f64 (expm1.f64 (cos.f64 re)) (expm1.f64 (cos.f64 re)))) (expm1.f64 (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (expm1.f64 (cos.f64 re)) 3)) (+.f64 1 (*.f64 (expm1.f64 (cos.f64 re)) (-.f64 (expm1.f64 (cos.f64 re)) 1))))
(/.f64 (+.f64 1 (pow.f64 (expm1.f64 (cos.f64 re)) 3)) (fma.f64 (expm1.f64 (cos.f64 re)) (+.f64 (expm1.f64 (cos.f64 re)) -1) 1))
(/.f64 (+.f64 1 (pow.f64 (expm1.f64 (cos.f64 re)) 3)) (fma.f64 (expm1.f64 (cos.f64 re)) (+.f64 (exp.f64 (cos.f64 re)) -2) 1))
(/.f64 (-.f64 1 (*.f64 (expm1.f64 (cos.f64 re)) (expm1.f64 (cos.f64 re)))) (-.f64 1 (expm1.f64 (cos.f64 re))))
(pow.f64 (exp.f64 (cos.f64 re)) 1)
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(pow.f64 (E.f64) (cos.f64 re))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 3)
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 2)
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3) 1/3)
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) (cbrt.f64 (cos.f64 re)))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(pow.f64 (exp.f64 (sqrt.f64 (cos.f64 re))) (sqrt.f64 (cos.f64 re)))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 2))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(log.f64 (exp.f64 (exp.f64 (cos.f64 re))))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 3))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(expm1.f64 (log1p.f64 (exp.f64 (cos.f64 re))))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(log1p.f64 (expm1.f64 (exp.f64 (cos.f64 re))))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(exp.f64 (cos.f64 re))
(+.f64 1 (expm1.f64 (cos.f64 re)))
(fma.f64 1 (+.f64 1 (exp.f64 (cos.f64 re))) -1)
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) 2) (cbrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) -1)
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))
(fma.f64 (sqrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) (sqrt.f64 (+.f64 1 (exp.f64 (cos.f64 re)))) -1)
(+.f64 1 (expm1.f64 (cos.f64 re)))
(exp.f64 (cos.f64 re))

localize86.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)
0.7b
(log.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2))
0.7b
(pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2)
5.2b
(-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im)))
Compiler

Compiled 169 to 125 computations (26% saved)

series133.0ms (1.1%)

Counts
3 → 0
Calls

9 calls:

TimeVariablePointExpression
31.0ms
re
@-inf
(pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2)
16.0ms
re
@-inf
(log.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2))
13.0ms
re
@inf
(log.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2))
12.0ms
re
@inf
(pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2)
2.0ms
re
@0
(pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2)
Compiler

Compiled 3985 to 3565 computations (10.5% saved)

rewrite53.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
705×pow1_binary64
657×add-log-exp_binary64
657×log1p-expm1-u_binary64
657×expm1-log1p-u_binary64
640×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0932
118521
2197021
Stop Event
node limit
Counts
3 → 58
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2)
(log.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2))
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (exp.f64 (cos.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)) (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/12) (*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/12) (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) (pow.f64 (exp.f64 (cos.f64 re)) 1/12)) (pow.f64 (exp.f64 (cos.f64 re)) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2) 1/3) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (exp.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (cos.f64 re) 1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) 1/6) (*.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2)) (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cos.f64 re) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 re) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) (sqrt.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/3)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (exp.f64 (cos.f64 re)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/12) (pow.f64 (exp.f64 (cos.f64 re)) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2)) (sqrt.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/6) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2) 1/6) (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/6) (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (sqrt.f64 (exp.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (cos.f64 re) 1/6))))))

simplify48.0ms (0.4%)

Algorithm
egg-herbie
Rules
551×fma-neg_binary64
470×log-prod_binary64
347×exp-prod_binary64
310×fma-def_binary64
305×sqr-pow_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0108627
1208546
2752428
32819426
44855426
Stop Event
node limit
Counts
58 → 65
Calls
Call 1
Inputs
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(-.f64 (+.f64 1 (cbrt.f64 (exp.f64 (cos.f64 re)))) 1)
(*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(*.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 1)
(*.f64 1 (cbrt.f64 (exp.f64 (cos.f64 re))))
(*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)) (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/12) (*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/12) (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(*.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) (pow.f64 (exp.f64 (cos.f64 re)) 1/12)) (pow.f64 (exp.f64 (cos.f64 re)) 1/12))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (exp.f64 (cos.f64 re))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2) 1/3) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(*.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2))
(log.f64 (exp.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(expm1.f64 (log1p.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(exp.f64 (*.f64 (cos.f64 re) 1/3))
(+.f64 (*.f64 (cos.f64 re) 1/6) (*.f64 (cos.f64 re) 1/6))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2)) (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))))
(+.f64 0 (*.f64 (cos.f64 re) 1/3))
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1)
(*.f64 (cos.f64 re) 1/3)
(*.f64 2 (*.f64 (cos.f64 re) 1/6))
(*.f64 (*.f64 (cos.f64 re) 1/3) 1)
(*.f64 1 (*.f64 (cos.f64 re) 1/3))
(*.f64 (*.f64 (cos.f64 re) 1/6) 2)
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) (sqrt.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 1/3 (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) 1/3) 1)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 2))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/3)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/3)))
(-.f64 (+.f64 1 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)) 1)
(*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1)
(*.f64 1 (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/12) (pow.f64 (exp.f64 (cos.f64 re)) 1/12))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2)) (sqrt.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))))
(*.f64 (pow.f64 1 1/6) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2) 1/6) (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 1/6))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/6) (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/6))
(sqrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))
(fabs.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(log.f64 (exp.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(cbrt.f64 (sqrt.f64 (exp.f64 (cos.f64 re))))
(expm1.f64 (log1p.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(log1p.f64 (expm1.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(exp.f64 (*.f64 (cos.f64 re) 1/6))
Outputs
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(-.f64 (+.f64 1 (cbrt.f64 (exp.f64 (cos.f64 re)))) 1)
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 1)
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 1 (cbrt.f64 (exp.f64 (cos.f64 re))))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)) (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/12) (*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/12) (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) (pow.f64 (exp.f64 (cos.f64 re)) 1/12)) (pow.f64 (exp.f64 (cos.f64 re)) 1/12))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (exp.f64 (cos.f64 re))))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2) 1/3) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(*.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(log.f64 (exp.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(expm1.f64 (log1p.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(log1p.f64 (expm1.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(exp.f64 (*.f64 (cos.f64 re) 1/3))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(cbrt.f64 (exp.f64 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) 1/6) (*.f64 (cos.f64 re) 1/6))
(*.f64 (cos.f64 re) 1/3)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2)) (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))))
(*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))) 3)
(+.f64 0 (*.f64 (cos.f64 re) 1/3))
(*.f64 (cos.f64 re) 1/3)
(-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (cos.f64 re) 1/3)
(*.f64 2 (*.f64 (cos.f64 re) 1/6))
(*.f64 (cos.f64 re) 1/3)
(*.f64 (*.f64 (cos.f64 re) 1/3) 1)
(*.f64 (cos.f64 re) 1/3)
(*.f64 1 (*.f64 (cos.f64 re) 1/3))
(*.f64 (cos.f64 re) 1/3)
(*.f64 (*.f64 (cos.f64 re) 1/6) 2)
(*.f64 (cos.f64 re) 1/3)
(*.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2))
(*.f64 (cos.f64 re) 1/3)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 2) (cbrt.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 (cos.f64 re) 1/3)
(*.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) (sqrt.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 (cos.f64 re) 1/3)
(*.f64 1/3 (cos.f64 re))
(*.f64 (cos.f64 re) 1/3)
(pow.f64 (*.f64 (cos.f64 re) 1/3) 1)
(*.f64 (cos.f64 re) 1/3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3) 1/3)
(*.f64 (cos.f64 re) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3)
(*.f64 (cos.f64 re) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)
(*.f64 (cos.f64 re) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 2))
(*.f64 (cos.f64 re) 1/3)
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) 1/3) 3))
(*.f64 (cos.f64 re) 1/3)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 (cos.f64 re) 1/3)
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 (cos.f64 re) 1/3)
(exp.f64 (log.f64 (*.f64 (cos.f64 re) 1/3)))
(*.f64 (cos.f64 re) 1/3)
(-.f64 (+.f64 1 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)) 1)
(+.f64 1 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/6)))
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)
(*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1)
(+.f64 1 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/6)))
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)
(*.f64 1 (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/6)))
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)
(*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/6)))
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)) (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/6)))
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)
(*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/12) (pow.f64 (exp.f64 (cos.f64 re)) 1/12))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/6)))
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 2)) (sqrt.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/6)))
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)
(*.f64 (pow.f64 1 1/6) (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/6)))
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2) 1/6) (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 1/6))
(*.f64 (pow.f64 (exp.f64 (*.f64 (cos.f64 re) 2/3)) 1/6) (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 1/6))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/6) (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/6))
(cbrt.f64 (sqrt.f64 (exp.f64 (cos.f64 re))))
(sqrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/6)))
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)
(fabs.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/6)))
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)
(log.f64 (exp.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/6)))
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)
(cbrt.f64 (sqrt.f64 (exp.f64 (cos.f64 re))))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/6) (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/6))
(expm1.f64 (log1p.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/6)))
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)
(log1p.f64 (expm1.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6)))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/6)))
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)
(exp.f64 (*.f64 (cos.f64 re) 1/6))
(+.f64 1 (-.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 1))
(+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) 1/6)))
(pow.f64 (exp.f64 (cos.f64 re)) 1/6)

eval453.0ms (3.8%)

Compiler

Compiled 22001 to 14952 computations (32% saved)

prune221.0ms (1.8%)

Pruning

38 alts after pruning (27 fresh and 11 done)

PrunedKeptTotal
New64712659
Fresh21517
Picked101
Done31114
Total65338691
Error
58.5b
Counts
691 → 38
Alt Table
Click to see full alt table
StatusErrorProgram
58.7b
(*.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (cos.f64 re)) 3)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.7b
(*.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.6b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
59.8b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.6b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
58.5b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.7b
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.7b
(*.f64 (*.f64 1/2 (+.f64 (+.f64 (cos.f64 re) 2) -2)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7b
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.5b
(*.f64 (*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 1/3) 3)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (*.f64 3 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 3) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (*.f64 3 (pow.f64 (-.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 1) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
59.8b
(*.f64 (*.f64 1/2 (*.f64 3 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.5b
(*.f64 (*.f64 1/2 (*.f64 3 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.5b
(*.f64 (*.f64 1/2 (*.f64 3 (-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.5b
(*.f64 (*.f64 1/2 (*.f64 3 (+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.5b
(*.f64 (*.f64 1/2 (*.f64 3 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/6) 4)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
59.5b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2)))) (/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im)))) (-.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im)))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 (cos.f64 re) 2/3)) 1/6) (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 1/6)) 2)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/12) (pow.f64 (exp.f64 (cos.f64 re)) 1/12)) 2)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) 2)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.5b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (-.f64 (+.f64 1 (cbrt.f64 (exp.f64 (cos.f64 re)))) 1)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.5b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (exp.f64 (*.f64 (cos.f64 re) 1/3))))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
59.5b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im)))) (-.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im)))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.5b
(*.f64 (*.f64 1/2 (log.f64 (/.f64 (pow.f64 (E.f64) (+.f64 1 (cos.f64 re))) (E.f64)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.5b
(*.f64 (*.f64 1/2 (log.f64 (-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
59.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 2) 2)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
59.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im)))) (-.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im)))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
58.6b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
58.5b
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
58.7b
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
58.7b
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
59.8b
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.7b
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
58.8b
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Compiler

Compiled 1155 to 964 computations (16.5% saved)

regimes238.0ms (2%)

Counts
52 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 (+.f64 (cos.f64 re) 2) -2)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 1/3) 3)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (cos.f64 re)) 3)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (cos.f64 re) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (log.f64 (-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (exp.f64 (*.f64 (cos.f64 re) 1/3))))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (pow.f64 (-.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 1) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -4) (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 2) 2)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (exp.f64 (+.f64 (neg.f64 im) (neg.f64 im))) (*.f64 (exp.f64 im) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (-.f64 (+.f64 1 (cbrt.f64 (exp.f64 (cos.f64 re)))) 1)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (log.f64 (/.f64 (pow.f64 (E.f64) (+.f64 1 (cos.f64 re))) (E.f64)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re))))) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 re) 1/3)) 2)) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3))) 3) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))) 3)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) 2)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 re))) 1/6) 4)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/12) (pow.f64 (exp.f64 (cos.f64 re)) 1/12)) 2)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (*.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))) (cbrt.f64 (sqrt.f64 (exp.f64 (cos.f64 re)))))))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 (cos.f64 re) 2/3)) 1/6) (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 re))) 1/6)) 2)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im)))) (-.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im)))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 re))))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im)))) (-.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im)))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 re)) 1/6) 2)))) (/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 im) -6) (*.f64 (neg.f64 (pow.f64 (exp.f64 3) im)) (neg.f64 (pow.f64 (exp.f64 3) im)))) (-.f64 (pow.f64 (exp.f64 3) im) (neg.f64 (pow.f64 (exp.f64 3) im)))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
Outputs
(*.f64 (*.f64 1/2 (*.f64 3 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
Calls

7 calls:

57.0ms
(*.f64 1/2 (cos.f64 re))
26.0ms
re
24.0ms
im
21.0ms
(*.f64 1/2 (cos.f64 re))
20.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
58.5b1re
58.5b1im
58.5b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
58.5b1(*.f64 1/2 (cos.f64 re))
58.5b1(*.f64 1/2 (cos.f64 re))
58.5b1(cos.f64 re)
58.5b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 1487 to 1019 computations (31.5% saved)

regimes100.0ms (0.8%)

Counts
30 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 (+.f64 (cos.f64 re) 2) -2)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 1/3) 3)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (cos.f64 re)) 3)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (cos.f64 re) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (log.f64 (-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (exp.f64 (*.f64 (cos.f64 re) 1/3))))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
Outputs
(*.f64 (*.f64 1/2 (log.f64 (-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
Calls

7 calls:

17.0ms
re
16.0ms
im
14.0ms
(*.f64 1/2 (cos.f64 re))
13.0ms
(cos.f64 re)
12.0ms
(*.f64 1/2 (cos.f64 re))
Results
ErrorSegmentsBranch
58.5b1re
58.5b1im
58.5b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
58.5b1(*.f64 1/2 (cos.f64 re))
58.5b1(*.f64 1/2 (cos.f64 re))
58.5b1(cos.f64 re)
58.5b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 671 to 418 computations (37.7% saved)

regimes108.0ms (0.9%)

Counts
28 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 (+.f64 (cos.f64 re) 2) -2)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 1/3) 3)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (cos.f64 re)) 3)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (cos.f64 re) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
Outputs
(*.f64 (*.f64 1/2 (*.f64 3 (-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
Calls

7 calls:

34.0ms
(*.f64 1/2 (cos.f64 re))
14.0ms
re
13.0ms
im
12.0ms
(cos.f64 re)
11.0ms
(*.f64 1/2 (cos.f64 re))
Results
ErrorSegmentsBranch
58.5b1re
58.5b1im
58.5b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
58.5b1(*.f64 1/2 (cos.f64 re))
58.5b1(*.f64 1/2 (cos.f64 re))
58.5b1(cos.f64 re)
58.5b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 607 to 367 computations (39.5% saved)

regimes149.0ms (1.2%)

Counts
23 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 (+.f64 (cos.f64 re) 2) -2)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 1/3) 3)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (+.f64 1 (-.f64 (*.f64 (cos.f64 re) 1/3) 1)))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
Outputs
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
Calls

7 calls:

52.0ms
im
46.0ms
(*.f64 1/2 (cos.f64 re))
12.0ms
re
11.0ms
(cos.f64 re)
9.0ms
(*.f64 1/2 (cos.f64 re))
Results
ErrorSegmentsBranch
58.5b1re
58.5b1im
58.5b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
58.5b1(*.f64 1/2 (cos.f64 re))
58.5b1(*.f64 1/2 (cos.f64 re))
58.5b1(cos.f64 re)
58.5b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 477 to 280 computations (41.3% saved)

regimes67.0ms (0.6%)

Counts
21 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 (+.f64 (cos.f64 re) 2) -2)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 1/3) 3)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
Outputs
(*.f64 (*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 1/3) 3)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
Calls

7 calls:

12.0ms
re
10.0ms
(cos.f64 re)
10.0ms
im
9.0ms
(*.f64 1/2 (cos.f64 re))
8.0ms
(*.f64 1/2 (cos.f64 re))
Results
ErrorSegmentsBranch
58.5b1re
58.5b1im
58.5b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
58.5b1(*.f64 1/2 (cos.f64 re))
58.5b1(*.f64 1/2 (cos.f64 re))
58.5b1(cos.f64 re)
58.5b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 413 to 228 computations (44.8% saved)

regimes63.0ms (0.5%)

Counts
20 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 (+.f64 (cos.f64 re) 2) -2)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
Calls

6 calls:

12.0ms
re
10.0ms
(cos.f64 re)
10.0ms
im
9.0ms
(*.f64 1/2 (cos.f64 re))
3.0ms
(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Results
ErrorSegmentsBranch
58.5b1re
58.5b1im
58.5b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
58.5b1(*.f64 1/2 (cos.f64 re))
58.5b1(cos.f64 re)
58.5b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 377 to 199 computations (47.2% saved)

regimes65.0ms (0.5%)

Counts
19 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 (+.f64 (cos.f64 re) 2) -2)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cos.f64 re)))))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
Calls

7 calls:

13.0ms
im
10.0ms
(*.f64 1/2 (cos.f64 re))
9.0ms
(*.f64 1/2 (cos.f64 re))
9.0ms
re
7.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
58.6b1re
58.6b1im
58.6b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
58.6b1(*.f64 1/2 (cos.f64 re))
58.6b1(*.f64 1/2 (cos.f64 re))
58.6b1(cos.f64 re)
58.6b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 357 to 184 computations (48.5% saved)

regimes49.0ms (0.4%)

Counts
17 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 (+.f64 (cos.f64 re) 2) -2)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
Calls

6 calls:

9.0ms
(cos.f64 re)
9.0ms
re
8.0ms
im
7.0ms
(*.f64 1/2 (cos.f64 re))
6.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
58.6b1re
58.6b1im
58.6b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
58.6b1(*.f64 1/2 (cos.f64 re))
58.6b1(cos.f64 re)
58.6b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 308 to 158 computations (48.7% saved)

regimes43.0ms (0.4%)

Counts
15 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 (+.f64 (cos.f64 re) 2) -2)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (cos.f64 re)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 re) 1)) 3) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Outputs
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Calls

6 calls:

10.0ms
re
7.0ms
im
6.0ms
(*.f64 1/2 (cos.f64 re))
6.0ms
(cos.f64 re)
4.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
58.7b1re
58.7b1im
58.7b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
58.7b1(*.f64 1/2 (cos.f64 re))
58.7b1(cos.f64 re)
58.7b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 262 to 135 computations (48.5% saved)

regimes34.0ms (0.3%)

Counts
7 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 (+.f64 (cos.f64 re) 2) -2)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(log.f64 (exp.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Outputs
(*.f64 (*.f64 1/2 (+.f64 (+.f64 (cos.f64 re) 2) -2)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

7 calls:

10.0ms
(*.f64 1/2 (cos.f64 re))
5.0ms
im
4.0ms
re
4.0ms
(*.f64 1/2 (cos.f64 re))
4.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
58.7b1re
58.7b1im
58.7b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
58.7b1(*.f64 1/2 (cos.f64 re))
58.7b1(*.f64 1/2 (cos.f64 re))
58.7b1(cos.f64 re)
58.7b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 145 to 87 computations (40% saved)

regimes20.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0.0b (-0%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 1 (+.f64 (cos.f64 re) -1))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

4.0ms
(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
3.0ms
im
3.0ms
re
3.0ms
(*.f64 1/2 (cos.f64 re))
3.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
58.7b1re
58.7b1im
58.7b1(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
58.7b1(*.f64 1/2 (cos.f64 re))
58.7b1(cos.f64 re)
58.7b1(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 79 to 54 computations (31.6% saved)

simplify17.0ms (0.1%)

Algorithm
egg-herbie
Rules
29×*-commutative_binary64
20×+-commutative_binary64
11×sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071432
1120432
2135432
3142432
4145432
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (*.f64 3 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (log.f64 (-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 3 (-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 1/3) 3)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (+.f64 (+.f64 (cos.f64 re) 2) -2)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (*.f64 3 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) 1/3)) 3))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (*.f64 1/2 (log.f64 (-.f64 (+.f64 1 (exp.f64 (cos.f64 re))) 1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))) (*.f64 1/2 (log.f64 (+.f64 (+.f64 1 (exp.f64 (cos.f64 re))) -1))))
(*.f64 (*.f64 1/2 (*.f64 3 (-.f64 (+.f64 1 (*.f64 (cos.f64 re) 1/3)) 1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))) (*.f64 1/2 (*.f64 3 (+.f64 (+.f64 (*.f64 (cos.f64 re) 1/3) 1) -1))))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (cos.f64 re) 1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))) (*.f64 1/2 (+.f64 (+.f64 (cos.f64 re) 1) -1)))
(*.f64 (*.f64 1/2 (*.f64 (*.f64 (cos.f64 re) 1/3) 3)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))) (*.f64 1/2 (*.f64 3 (*.f64 (cos.f64 re) 1/3))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))))
(*.f64 (/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 2) im)))) (*.f64 1/2 (cos.f64 re)))
(*.f64 (*.f64 1/2 (-.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) 1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 (+.f64 (+.f64 (cos.f64 re) 2) -1) -1)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (+.f64 -1 (+.f64 (+.f64 (cos.f64 re) 2) -1))) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 1/2 (+.f64 (+.f64 (cos.f64 re) 2) -2)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (+.f64 -2 (+.f64 (cos.f64 re) 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 294 to 243 computations (17.3% saved)

soundness301.0ms (2.5%)

Algorithm
egg-herbie
Rules
626×associate-/l*_binary64
595×distribute-rgt-in_binary64
595×distribute-rgt-in_binary64
574×fma-def_binary64
574×fma-def_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01218
12318
25218
313418
428217
547417
693117
7239117
8625817
0190736
1427705
21518694
37209692
0190736
1427705
21518694
37209692
Stop Event
node limit
node limit
node limit
Compiler

Compiled 912 to 663 computations (27.3% saved)

end212.0ms (1.8%)

Compiler

Compiled 274 to 196 computations (28.5% saved)

Profiling

Loading profile data...