Details

Time bar (total: 21.5s)

analyze422.0ms (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
55.2%50%40.6%0.1%9.4%0%0%7
56.1%50%39%0.1%10.9%0%0%8
59.8%50%33.6%0.1%16.4%0%0%9
60.7%50%32.4%0.1%17.6%0%0%10
62.9%50%29.5%0.1%20.5%0%0%11
63.4%50%28.8%0.1%21.2%0%0%12
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample11.4s (53.2%)

Results
4.9s4154×body1024valid
2.8s2109×body1024infinite
1.8s2082×body512valid
964.0ms1684×body256infinite
387.0ms1035×body512infinite
360.0ms1787×body256valid
188.0ms233×body2048valid
1.0msbody2048infinite
Bogosity

preprocess84.0ms (0.4%)

Algorithm
egg-herbie
Rules
1090×rational.json-simplify-51
1068×rational.json-simplify-1
832×rational.json-simplify-26
774×rational.json-simplify-39
768×rational.json-simplify-44
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02070
14170
26770
39470
412670
517870
632070
775270
8173170
9276370
10632970
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 im)) (-.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (-.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 im) (-.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
Compiler

Compiled 15 to 12 computations (20% saved)

simplify106.0ms (0.5%)

Algorithm
egg-herbie
Rules
2048×rational.json-simplify-1
2040×rational.json-simplify-35
1116×rational.json-simplify-2
1086×rational.json-simplify-26
882×rational.json-simplify-48
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01335
12635
24135
35735
47535
510435
617735
739535
8115035
9216335
10269035
11331535
12497235
13590135
14689835
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 24 to 13 computations (45.8% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
43.9b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
43.9b
(*.f64 (*.f64 1/2 (sin.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 2 expressions with local error:

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

Compiled 35 to 13 computations (62.9% saved)

series6.0ms (0%)

Counts
2 → 32
Calls

9 calls:

TimeVariablePointExpression
2.0ms
im
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
im
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite86.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1530×rational.json-1
1530×rational.json-2
1530×rational.json-3
1528×exponential.json-3
1528×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01354
19154
221154
348354
498854
5252854
6610354
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (exp.f64 im)) (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 im -2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (exp.f64 im) -2) (/.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (neg.f64 (*.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (/.f64 2 (exp.f64 im)) (*.f64 (exp.f64 im) 2)))))) (#(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 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 2) (-.f64 (/.f64 1/2 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 1/2) (+.f64 (/.f64 2 (exp.f64 (+.f64 im im))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 1/2) (-.f64 (/.f64 2 (exp.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1) (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8)) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 4)))) (#(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 neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 1/4)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4))) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 1)))))

simplify143.0ms (0.7%)

Algorithm
egg-herbie
Rules
1500×rational.json-simplify-35
988×rational.json-simplify-51
896×rational.json-simplify-61
872×rational.json-simplify-53
864×rational.json-simplify-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01852750
13862750
29132610
317992576
439782576
552072576
673972576
Stop Event
node limit
Counts
86 → 110
Calls
Call 1
Inputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
(+.f64 (*.f64 -1/12 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)))
(+.f64 (*.f64 -1/12 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)) (*.f64 1/240 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 5)))))
(+.f64 (*.f64 -1/12 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)) (+.f64 (*.f64 1/240 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 5))) (*.f64 -1/10080 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 7))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(+.f64 0 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 -1 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(+.f64 (neg.f64 (exp.f64 im)) (exp.f64 (neg.f64 im)))
(+.f64 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))) -1)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2))))
(*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 im -2)) -1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 im) -2) (/.f64 2 (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (neg.f64 (*.f64 (exp.f64 im) 2))))
(*.f64 1/2 (-.f64 (/.f64 2 (exp.f64 im)) (*.f64 (exp.f64 im) 2)))
(*.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(*.f64 2 (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) 1/2)))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)
(*.f64 (*.f64 (exp.f64 im) 2) (-.f64 (/.f64 1/2 (exp.f64 (+.f64 im im))) 1/2))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 2)
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)
(*.f64 4 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 1/4)
(*.f64 (*.f64 (exp.f64 im) 1/2) (+.f64 (/.f64 2 (exp.f64 (+.f64 im im))) -2))
(*.f64 (*.f64 (exp.f64 im) 1/2) (-.f64 (/.f64 2 (exp.f64 (+.f64 im im))) 2))
(*.f64 1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(*.f64 (+.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1) (exp.f64 (neg.f64 im)))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)
(/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8) 8)
(/.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8)) 16)
(/.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) -4)
(/.f64 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8)) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 4)
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)
(+.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 1/4)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 1/4)))
(-.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 1)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) 2)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2)) 4)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4)) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4))) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4)))) 32)
(pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 1)
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (*.f64 -2 im) (+.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7)))))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
(+.f64 (*.f64 -1/12 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)))
(+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 3) -1/12)))
(+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 -1/12 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)) (*.f64 1/240 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 5)))))
(+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)) (+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 5) 1/240)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 3) -1/12))))
(+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)) (+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 1/2 re) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/12 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)) (+.f64 (*.f64 1/240 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 5))) (*.f64 -1/10080 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 7))))))
(+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)) (+.f64 (+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 5) 1/240)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 7) -1/10080))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (pow.f64 re 3) -1/12))))
(+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)) (+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 -1/12 (pow.f64 re 3))) (+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/240 (pow.f64 re 5))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 -1/10080 (pow.f64 re 7))))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/10080 (pow.f64 re 7)))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 (neg.f64 im) (sin.f64 re))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re)))))
(+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im)))))
(+.f64 (+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re))))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/5040)))
(+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re))) (+.f64 (+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (neg.f64 im))) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 0 (-.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)) (-.f64 1 (exp.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (neg.f64 (exp.f64 im)) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(+.f64 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))) -1)
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 im -2))))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 im -2)) -1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 im) -2) (/.f64 2 (exp.f64 im))))
(*.f64 1/2 (+.f64 (*.f64 -2 (exp.f64 im)) (/.f64 2 (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (*.f64 -2 (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (neg.f64 (*.f64 (exp.f64 im) 2))))
(*.f64 1/2 (+.f64 (*.f64 -2 (exp.f64 im)) (/.f64 2 (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 2 (exp.f64 im)) (*.f64 -2 (exp.f64 im))))
(*.f64 1/2 (-.f64 (/.f64 2 (exp.f64 im)) (*.f64 (exp.f64 im) 2)))
(*.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 2 (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) 1/2)))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 (exp.f64 im) 2) (-.f64 (/.f64 1/2 (exp.f64 (+.f64 im im))) 1/2))
(*.f64 (exp.f64 im) (*.f64 2 (-.f64 (/.f64 1/2 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 4 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 1/4)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 (exp.f64 im) 1/2) (+.f64 (/.f64 2 (exp.f64 (+.f64 im im))) -2))
(*.f64 (*.f64 (exp.f64 im) 1/2) (+.f64 -2 (/.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (exp.f64 im) 1/2) (-.f64 (/.f64 2 (exp.f64 (+.f64 im im))) 2))
(*.f64 1/4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (+.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (neg.f64 im)) (+.f64 1 (neg.f64 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8) 8)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) -2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8)) 16)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) -4)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8)) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 8))) 32)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 4)
(-.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))
(neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(+.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 1/4)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 1/4)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(-.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 1)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) 2)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2)) 4)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4)) 8)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4))) 16)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4))) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 4)))) 32)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 1)
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))

eval28.0ms (0.1%)

Compiler

Compiled 2021 to 1017 computations (49.7% saved)

prune23.0ms (0.1%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1037110
Fresh000
Picked011
Done000
Total1038111
Error
0.1b
Counts
111 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
43.9b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.9b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
43.8b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
43.9b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1)))
0.9b
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
1.0b
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
1.3b
(*.f64 (sin.f64 re) (neg.f64 im))
44.9b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 225 to 176 computations (21.8% saved)

localize30.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
0.1b
(*.f64 -1/60 (pow.f64 im 5))
0.1b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
0.2b
(*.f64 -1/3 (pow.f64 im 3))
Compiler

Compiled 81 to 61 computations (24.7% saved)

series10.0ms (0%)

Counts
4 → 27
Calls

15 calls:

TimeVariablePointExpression
3.0ms
re
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
2.0ms
re
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
2.0ms
re
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
0.0ms
im
@0
(*.f64 -1/3 (pow.f64 im 3))

rewrite128.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1846×rational.json-1
1370×rational.json-simplify-35
1100×rational.json-2
1100×rational.json-3
1098×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021116
1141116
2268116
3545116
41116116
52818116
65445116
77851116
Stop Event
node limit
Counts
4 → 55
Calls
Call 1
Inputs
(*.f64 -1/3 (pow.f64 im 3))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(*.f64 -1/60 (pow.f64 im 5))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -2/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -4/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (sin.f64 re) 1/4)) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (sin.f64 re) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (sin.f64 re) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/30) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/15) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)))))

simplify209.0ms (1%)

Algorithm
egg-herbie
Rules
1824×rational.json-simplify-35
1762×rational.json-simplify-1
1366×rational.json-simplify-51
1242×rational.json-simplify-53
954×rational.json-simplify-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01613384
13853368
28343086
319642978
443312978
547452978
652752978
758292978
870452978
976092978
Stop Event
node limit
Counts
82 → 99
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re)) (*.f64 -1/12 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re)) (+.f64 (*.f64 1/240 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 5))) (*.f64 -1/12 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re)) (+.f64 (*.f64 1/240 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 3))) (*.f64 -1/10080 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 7))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(*.f64 -1/3 (pow.f64 im 3))
(*.f64 -1/60 (pow.f64 im 5))
(*.f64 -1/60 (pow.f64 im 5))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 3) -1/6))
(-.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)
(/.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 2)
(/.f64 (*.f64 (pow.f64 im 3) -4/3) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))))) 64)
(pow.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 0)
(+.f64 0 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (sin.f64 re) 1/4)) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (sin.f64 re) 1/4)))
(-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 0)
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 1)
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (sin.f64 re) 2)) 4)
(/.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) 4)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) 4))))) 64)
(pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 1)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)
(+.f64 0 (*.f64 -1/60 (pow.f64 im 5)))
(+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 5) -1/120))
(-.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)
(/.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 2)
(/.f64 (*.f64 (pow.f64 im 5) -1/15) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))))) 64)
(pow.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)
(-.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 0)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 2))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)
(*.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))
(*.f64 2 (*.f64 1/2 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) 2)
(*.f64 (/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4) 4)
(/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4))))) 64)
(pow.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)
Outputs
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re)) (*.f64 -1/12 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (pow.f64 re 3) -1/12)))
(+.f64 (*.f64 1/2 (*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re)) (+.f64 (*.f64 1/240 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 5))) (*.f64 -1/12 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (pow.f64 re 5) 1/240))))
(+.f64 (*.f64 1/2 (*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))))))
(+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re)) (+.f64 (*.f64 1/240 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 3))) (*.f64 -1/10080 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 7))))))
(+.f64 (*.f64 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (pow.f64 re 3) -1/12)) (+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (pow.f64 re 7) -1/10080)) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 (pow.f64 re 5) 1/240)))))
(+.f64 (*.f64 1/2 (*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 -1/12 (pow.f64 re 3))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))) (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))))))
(+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/10080 (pow.f64 re 7)))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(+.f64 (*.f64 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im -1))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 im -1)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (sin.f64 re) (*.f64 im -1)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (sin.f64 re) (*.f64 im -1)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))
(*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (sin.f64 re) (*.f64 im -1)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (sin.f64 re) (*.f64 im -1)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))
(*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (sin.f64 re) (*.f64 im -1)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (sin.f64 re) (*.f64 im -1)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 -1/3 (pow.f64 im 3))
(*.f64 -1/60 (pow.f64 im 5))
(*.f64 -1/60 (pow.f64 im 5))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)
(*.f64 -1/3 (pow.f64 im 3))
(+.f64 0 (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 -1/3 (pow.f64 im 3))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 3) -1/6))
(*.f64 -1/3 (pow.f64 im 3))
(-.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 2)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -4/3) 4)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)) 8)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))) 16)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)))) 32)
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))))) 64)
(*.f64 -1/3 (pow.f64 im 3))
(pow.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)
(*.f64 -1/3 (pow.f64 im 3))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 0)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(+.f64 0 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (sin.f64 re) 1/4)) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (sin.f64 re) 1/4)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 0)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 1)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 2)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(/.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 (sin.f64 re) 2)) 4)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) 4)) 8)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(/.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) 4))) 16)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) 4)))) 32)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))) 4))))) 64)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 1)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)
(*.f64 -1/60 (pow.f64 im 5))
(+.f64 0 (*.f64 -1/60 (pow.f64 im 5)))
(*.f64 -1/60 (pow.f64 im 5))
(+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 5) -1/120))
(*.f64 -1/60 (pow.f64 im 5))
(-.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 2)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/15) 4)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)) 8)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))) 16)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)))) 32)
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))))) 64)
(*.f64 -1/60 (pow.f64 im 5))
(pow.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)
(*.f64 -1/60 (pow.f64 im 5))
(-.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 0)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 2))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 2 (*.f64 1/2 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 2) 1/2)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 4 (/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4) 1/4)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))) 2)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(*.f64 (/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4) 4)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 2) 2)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4) 4)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4)) 8)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4))) 16)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4)))) 32)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 4))))) 64)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
(pow.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) 1)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sin.f64 re) (neg.f64 im))
Compiler

Compiled 13 to 5 computations (61.5% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
im
@0
(*.f64 (sin.f64 re) (neg.f64 im))
0.0ms
im
@inf
(*.f64 (sin.f64 re) (neg.f64 im))
0.0ms
re
@inf
(*.f64 (sin.f64 re) (neg.f64 im))
0.0ms
re
@-inf
(*.f64 (sin.f64 re) (neg.f64 im))
0.0ms
re
@0
(*.f64 (sin.f64 re) (neg.f64 im))

rewrite89.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1424×exponential.json-3
1424×rational.json-1
1424×rational.json-2
1424×rational.json-4
1424×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
15915
215115
332815
467615
5161815
6350215
7635615
Stop Event
node limit
Counts
1 → 18
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (neg.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (*.f64 im -1/2)) (*.f64 (sin.f64 re) (*.f64 im -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sin.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 im -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 im -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -8 (*.f64 (sin.f64 re) im)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 im im)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 -8 (*.f64 (sin.f64 re) im))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 (sin.f64 re) im)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 (sin.f64 re) im)))) (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 (sin.f64 re) im))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 re) im))))))

simplify245.0ms (1.1%)

Algorithm
egg-herbie
Rules
2274×rational.json-simplify-2
1894×rational.json-simplify-1
1774×rational.json-simplify-35
832×rational.json-simplify-53
764×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
076758
1179758
2370758
3796734
42072734
53583734
64496734
75042734
86038734
96628734
106918734
117514734
Stop Event
node limit
Counts
42 → 39
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 1/6 (*.f64 (pow.f64 re 3) im)))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 1/6 (*.f64 (pow.f64 re 3) im))))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 1/5040 (*.f64 (pow.f64 re 7) im)))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 0)
(+.f64 0 (*.f64 (sin.f64 re) (neg.f64 im)))
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 im -1/2)) (*.f64 (sin.f64 re) (*.f64 im -1/2)))
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
(-.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 0)
(-.f64 0 (*.f64 (sin.f64 re) im))
(/.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)
(/.f64 (*.f64 (sin.f64 re) (*.f64 im -2)) 2)
(/.f64 (*.f64 (sin.f64 re) (*.f64 im -4)) 4)
(/.f64 (*.f64 (sin.f64 re) im) -1)
(/.f64 (*.f64 -8 (*.f64 (sin.f64 re) im)) 8)
(/.f64 (*.f64 (sin.f64 re) (+.f64 im im)) -2)
(/.f64 (*.f64 2 (*.f64 -8 (*.f64 (sin.f64 re) im))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 (sin.f64 re) im)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 (sin.f64 re) im)))) (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 (sin.f64 re) im))))) 64)
(pow.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)
(neg.f64 (*.f64 (sin.f64 re) im))
Outputs
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 1/6 (*.f64 (pow.f64 re 3) im)))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 1/6 (*.f64 im (pow.f64 re 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 im (*.f64 (pow.f64 re 3) 1/6)))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 im (*.f64 1/6 (pow.f64 re 3))))
(*.f64 im (+.f64 (*.f64 1/6 (pow.f64 re 3)) (neg.f64 re)))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 1/6 (*.f64 (pow.f64 re 3) im))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 1/6 (*.f64 im (pow.f64 re 3))) (*.f64 -1/120 (*.f64 im (pow.f64 re 5)))))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 3) 1/6)) (+.f64 (*.f64 (pow.f64 re 5) (*.f64 im -1/120)) (*.f64 re (neg.f64 im))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 im (*.f64 1/6 (pow.f64 re 3))) (*.f64 -1/120 (*.f64 im (pow.f64 re 5)))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 im (+.f64 (*.f64 -1/120 (pow.f64 re 5)) (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 1/5040 (*.f64 (pow.f64 re 7) im)))))
(+.f64 (*.f64 -1/120 (*.f64 im (pow.f64 re 5))) (+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 1/6 (*.f64 im (pow.f64 re 3))) (*.f64 1/5040 (*.f64 im (pow.f64 re 7))))))
(+.f64 (+.f64 (*.f64 im (*.f64 (pow.f64 re 3) 1/6)) (*.f64 (pow.f64 re 7) (*.f64 im 1/5040))) (+.f64 (*.f64 (pow.f64 re 5) (*.f64 im -1/120)) (*.f64 re (neg.f64 im))))
(+.f64 (*.f64 -1/120 (*.f64 im (pow.f64 re 5))) (+.f64 (*.f64 im (*.f64 1/6 (pow.f64 re 3))) (+.f64 (*.f64 re (neg.f64 im)) (*.f64 im (*.f64 1/5040 (pow.f64 re 7))))))
(+.f64 (*.f64 im (+.f64 (*.f64 1/6 (pow.f64 re 3)) (neg.f64 re))) (*.f64 im (+.f64 (*.f64 -1/120 (pow.f64 re 5)) (*.f64 1/5040 (pow.f64 re 7)))))
(+.f64 (*.f64 im (+.f64 (*.f64 1/6 (pow.f64 re 3)) (neg.f64 re))) (*.f64 im (+.f64 (*.f64 1/5040 (pow.f64 re 7)) (*.f64 -1/120 (pow.f64 re 5)))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 0)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 0 (*.f64 (sin.f64 re) (neg.f64 im)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 im -1/2)) (*.f64 (sin.f64 re) (*.f64 im -1/2)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(-.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 0)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(-.f64 0 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 im -2)) 2)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 im -4)) 4)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) im) -1)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 -8 (*.f64 (sin.f64 re) im)) 8)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (+.f64 im im)) -2)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 -8 (*.f64 (sin.f64 re) im))) 16)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 (sin.f64 re) im)))) 32)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 (sin.f64 re) im)))) (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 (sin.f64 re) im))))) 64)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(neg.f64 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))

localize10.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)
6.6b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 36 to 10 computations (72.2% saved)

series4.0ms (0%)

Counts
1 → 8
Calls

6 calls:

TimeVariablePointExpression
2.0ms
im
@-inf
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)
0.0ms
im
@0
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)
0.0ms
re
@inf
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)
0.0ms
im
@inf
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)
0.0ms
re
@-inf
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)

rewrite70.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1908×rational.json-simplify-35
1112×exponential.json-3
1112×rational.json-1
1112×rational.json-2
1112×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
16825
215825
335925
472125
5183325
6444925
Stop Event
node limit
Counts
1 → 12
Calls
Call 1
Inputs
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 1/2)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 re re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)))))

simplify644.0ms (3%)

Algorithm
egg-herbie
Rules
3768×rational.json-simplify-35
2208×rational.json-simplify-2
1130×rational.json-simplify-53
1096×exponential.json-simplify-26
844×rational.json-simplify-43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
069596
1151596
2299572
3601566
42203566
53834566
64627566
75030566
85256566
95432566
106310566
116549566
126549566
136549566
146765566
156964566
167143566
177308566
187458566
197717566
207893566
Stop Event
node limit
Counts
20 → 30
Calls
Call 1
Inputs
(*.f64 -2 (*.f64 re im))
(+.f64 (*.f64 -1/3 (*.f64 re (pow.f64 im 3))) (*.f64 -2 (*.f64 re im)))
(+.f64 (*.f64 -1/3 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 -1/60 (*.f64 re (pow.f64 im 5))) (*.f64 -2 (*.f64 re im))))
(+.f64 (*.f64 -1/3 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 -1/2520 (*.f64 re (pow.f64 im 7))) (+.f64 (*.f64 -1/60 (*.f64 re (pow.f64 im 5))) (*.f64 -2 (*.f64 re im)))))
(*.f64 re (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(*.f64 re (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(*.f64 re (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(*.f64 re (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 0)
(+.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 1/2)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 1/2)))
(-.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 0)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 re re)) 2)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4)) 4)
(/.f64 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8)))) 64)
(pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)
Outputs
(*.f64 -2 (*.f64 re im))
(+.f64 (*.f64 -1/3 (*.f64 re (pow.f64 im 3))) (*.f64 -2 (*.f64 re im)))
(+.f64 (*.f64 -2 (*.f64 re im)) (*.f64 -1/3 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -2 (*.f64 re im)) (*.f64 (pow.f64 im 3) (*.f64 -1/3 re)))
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(+.f64 (*.f64 -1/3 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 -1/60 (*.f64 re (pow.f64 im 5))) (*.f64 -2 (*.f64 re im))))
(+.f64 (*.f64 -1/3 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 -2 (*.f64 re im)) (*.f64 re (*.f64 (pow.f64 im 5) -1/60))))
(+.f64 (*.f64 -2 (*.f64 re im)) (+.f64 (*.f64 re (*.f64 -1/60 (pow.f64 im 5))) (*.f64 (pow.f64 im 3) (*.f64 -1/3 re))))
(+.f64 (*.f64 -2 (*.f64 re im)) (*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 re (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))))
(+.f64 (*.f64 -1/3 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 -1/2520 (*.f64 re (pow.f64 im 7))) (+.f64 (*.f64 -1/60 (*.f64 re (pow.f64 im 5))) (*.f64 -2 (*.f64 re im)))))
(+.f64 (*.f64 -1/3 (*.f64 re (pow.f64 im 3))) (+.f64 (+.f64 (*.f64 -2 (*.f64 re im)) (*.f64 re (*.f64 (pow.f64 im 5) -1/60))) (*.f64 -1/2520 (*.f64 re (pow.f64 im 7)))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/3 re)) (+.f64 (*.f64 -2 (*.f64 re im)) (+.f64 (*.f64 (pow.f64 im 7) (*.f64 re -1/2520)) (*.f64 re (*.f64 -1/60 (pow.f64 im 5))))))
(+.f64 (*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (*.f64 re (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/60 (pow.f64 im 5)))))
(+.f64 (*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (*.f64 re (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/2520 (pow.f64 im 7)))))
(+.f64 (*.f64 -1/60 (*.f64 re (pow.f64 im 5))) (*.f64 re (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))))
(*.f64 re (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 re (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 re (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 re (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 0)
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 1/2)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 1/2)))
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 0)
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 re re)) 2)
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 re 4)) 4)
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8) 8)
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8)) 16)
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8))) 32)
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8)))) 64)
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

localize16.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
0.2b
(*.f64 (pow.f64 im 3) -1/6)
Compiler

Compiled 37 to 23 computations (37.8% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
im
@inf
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
0.0ms
re
@0
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
0.0ms
re
@inf
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
0.0ms
im
@-inf
(*.f64 (pow.f64 im 3) -1/6)
0.0ms
im
@inf
(*.f64 (pow.f64 im 3) -1/6)

rewrite96.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1598×rational.json-1
1598×rational.json-2
1598×rational.json-3
1582×rational.json-4
1134×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01346
19146
219646
340046
482146
5196546
6423646
7679046
Stop Event
node limit
Counts
2 → 24
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 3) -1/6)
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 3) -1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2)) (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)) (sin.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)))))

simplify275.0ms (1.3%)

Algorithm
egg-herbie
Rules
2642×rational.json-simplify-2
1742×rational.json-simplify-35
820×rational.json-simplify-53
776×exponential.json-simplify-26
752×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0981578
12291578
24681506
39761458
426131458
545181458
649231458
752881458
859051458
963891458
1065391458
1174911458
1277191458
Stop Event
node limit
Counts
60 → 54
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) 0)
(+.f64 0 (*.f64 (pow.f64 im 3) -1/6))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(-.f64 (*.f64 (pow.f64 im 3) -1/6) 0)
(/.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))))) 64)
(pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(+.f64 0 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2)) (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2)))
(-.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)) (sin.f64 re)) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 4)) 4)
(/.f64 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))) 64)
(pow.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
Outputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 5)))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 3) -1/6))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/6 (pow.f64 re 3))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (+.f64 (*.f64 1/120 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 5))) (*.f64 -1/5040 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 7)))) (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3)))))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 3) -1/6)))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/6 (pow.f64 re 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/120 (pow.f64 re 5))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/6 (pow.f64 re 3))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (+.f64 re (*.f64 1/120 (pow.f64 re 5))))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) 0)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 0 (*.f64 (pow.f64 im 3) -1/6))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 (*.f64 (pow.f64 im 3) -1/6) 0)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)) 8)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) 16)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) 32)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))))) 64)
(*.f64 -1/6 (pow.f64 im 3))
(pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 0 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2)) (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)) (sin.f64 re)) 2)
(*.f64 (sin.f64 re) (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)) 2))
(*.f64 (sin.f64 re) (/.f64 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)) 2))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 4)) 4)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 8)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 16)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))) 32)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))) 64)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(pow.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))

localize20.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1)))
6.6b
(-.f64 (exp.f64 (*.f64 im -2)) 1)
Compiler

Compiled 51 to 34 computations (33.3% saved)

series6.0ms (0%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
re
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1)))
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1)))
1.0ms
im
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1)))
1.0ms
re
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1)))
1.0ms
re
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1)))

rewrite121.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1638×rational.json-1
1638×rational.json-2
1638×rational.json-3
1152×rational.json-simplify-35
1018×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01687
111787
225387
355687
4110587
5243087
6461887
7726187
Stop Event
node limit
Counts
3 → 47
Calls
Call 1
Inputs
(-.f64 (exp.f64 (*.f64 im -2)) 1)
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1)))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (*.f64 im -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (exp.f64 (*.f64 im -2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (exp.f64 (*.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1/2) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) 1/4))) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2))))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 1/2 (exp.f64 im))) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1)))))

simplify218.0ms (1%)

Algorithm
egg-herbie
Rules
2096×rational.json-simplify-53
1744×rational.json-simplify-51
1380×rational.json-simplify-35
1240×rational.json-simplify-2
1092×rational.json-simplify-1
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
01873335
14413247
210863159
323593135
435053123
540973123
643183123
745963123
853673075
Stop Event
node limit
Counts
95 → 112
Calls
Call 1
Inputs
(*.f64 -2 im)
(+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 im))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2 im)))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im))))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re))) (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re))) (+.f64 (*.f64 1/240 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 5)))) (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re))) (+.f64 (*.f64 -1/10080 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 7)))) (+.f64 (*.f64 1/240 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 5)))) (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 3)))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3)))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (sin.f64 re)) (*.f64 -1/3 (sin.f64 re))))) (pow.f64 im 4))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(+.f64 (exp.f64 (*.f64 im -2)) -1)
(+.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 0)
(+.f64 0 (+.f64 (exp.f64 (*.f64 im -2)) -1))
(+.f64 -1 (exp.f64 (*.f64 im -2)))
(+.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1/2) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1/2))
(*.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1))
(*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)
(*.f64 1/2 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)))
(*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1/2))
(*.f64 4 (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4))
(*.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)) 1/2)
(*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1/2) 2)
(*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4))
(*.f64 (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4) 4)
(/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)
(/.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)) 2)
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4))))) 64)
(pow.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)
(+.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))) 0)
(+.f64 0 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))
(+.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) 1/4))) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) 1/4))))
(-.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))) 0)
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))) 1)
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (exp.f64 im))) 2)
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2))) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2))))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2)))))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2))))))) 64)
(pow.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))) 1)
(+.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 0)
(+.f64 0 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)))
(+.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 1/2 (exp.f64 im))) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 1/2 (exp.f64 im))))
(-.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 0)
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1)
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 2)) 2)
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4))))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4)))))) 64)
(pow.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1)
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 im))
(+.f64 (*.f64 -2 im) (*.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2 im)))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -2 im) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im))))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 2/3 (pow.f64 im 4)))))
(+.f64 (*.f64 -2 im) (+.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 2/3 (pow.f64 im 4))) (*.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 2/3 (pow.f64 im 4)))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -4/3 (pow.f64 im 3)))))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re))) (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re (exp.f64 im)))) (*.f64 -1/12 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (pow.f64 re 3) (exp.f64 im)))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (*.f64 -1/12 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (pow.f64 re 3)))))
(*.f64 (exp.f64 im) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 1/2 (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im)))))))
(*.f64 (exp.f64 im) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))))
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (+.f64 (*.f64 -1/12 (*.f64 (exp.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (exp.f64 im) re))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re))) (+.f64 (*.f64 1/240 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 5)))) (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re (exp.f64 im)))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (pow.f64 re 3) (exp.f64 im)))) (*.f64 1/240 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (pow.f64 re 5) (exp.f64 im))))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (pow.f64 re 3)))) (*.f64 1/240 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (pow.f64 re 5))))))
(+.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (*.f64 (exp.f64 im) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))))
(+.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (*.f64 (exp.f64 im) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (+.f64 (*.f64 1/240 (*.f64 (exp.f64 im) (pow.f64 re 5))) (*.f64 -1/12 (*.f64 (exp.f64 im) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re))) (+.f64 (*.f64 -1/10080 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 7)))) (+.f64 (*.f64 1/240 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 5)))) (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 3)))))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re (exp.f64 im)))) (+.f64 (*.f64 1/240 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (pow.f64 re 5) (exp.f64 im)))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (pow.f64 re 3) (exp.f64 im)))) (*.f64 (exp.f64 im) (*.f64 (*.f64 (pow.f64 re 7) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) -1/10080)))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (pow.f64 re 3)))) (+.f64 (*.f64 (exp.f64 im) (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (*.f64 1/240 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (pow.f64 re 5)))))))
(+.f64 (*.f64 (exp.f64 im) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 1/2 (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im))))))) (*.f64 (exp.f64 im) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))))
(+.f64 (*.f64 (exp.f64 im) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))) (*.f64 (exp.f64 im) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (+.f64 (*.f64 -1/10080 (*.f64 (exp.f64 im) (pow.f64 re 7))) (*.f64 -1/12 (*.f64 (exp.f64 im) (pow.f64 re 3))))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (+.f64 (*.f64 1/240 (*.f64 (exp.f64 im) (pow.f64 re 5))) (*.f64 1/2 (*.f64 (exp.f64 im) re)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im -1))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im -1))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3)))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 im -1)) (+.f64 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (sin.f64 re) -1))) (*.f64 (pow.f64 im 3) 1/2)) (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (*.f64 (pow.f64 im 2) 1/2))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 0)) (*.f64 (pow.f64 im 3) (+.f64 (neg.f64 (sin.f64 re)) (*.f64 2/3 (sin.f64 re)))))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) 0) (*.f64 1/2 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/3)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/3))) 0))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/3))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 (sin.f64 re) -1/3))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (sin.f64 re)) (*.f64 -1/3 (sin.f64 re))))) (pow.f64 im 4))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3))))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 im -1)) (+.f64 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (sin.f64 re) -1))) (*.f64 (pow.f64 im 3) 1/2)) (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (*.f64 (pow.f64 im 2) 1/2))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 0)) (*.f64 (pow.f64 im 3) (+.f64 (neg.f64 (sin.f64 re)) (*.f64 2/3 (sin.f64 re)))))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) 0) (*.f64 1/2 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/3)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/3))) 0))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/3))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 (sin.f64 re) -1/3))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (*.f64 (pow.f64 im 3) -1/3))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (*.f64 -2 im) (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/60 (pow.f64 im 5))) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (+.f64 (*.f64 -2 im) (*.f64 (pow.f64 im 3) -1/3)) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/2520 (pow.f64 im 7)))))
(+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(+.f64 (exp.f64 (*.f64 im -2)) -1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(+.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 0)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(+.f64 0 (+.f64 (exp.f64 (*.f64 im -2)) -1))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(+.f64 -1 (exp.f64 (*.f64 im -2)))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(+.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1/2) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1/2))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 1/2 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)))
(*.f64 1/2 (+.f64 -2 (*.f64 2 (exp.f64 (*.f64 -2 im)))))
(*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1/2))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 4 (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)) 1/2)
(*.f64 1/2 (+.f64 -2 (*.f64 2 (exp.f64 (*.f64 -2 im)))))
(*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1/2) 2)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4) 1/4)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4) 4)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(/.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 im -2)) 2)) 2)
(/.f64 (+.f64 -2 (*.f64 2 (exp.f64 (*.f64 -2 im)))) 2)
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4) 4)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4)) 8)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4))) 16)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4)))) 32)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 4))))) 64)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(pow.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(+.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))) 0)
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(+.f64 0 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(+.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) 1/4))) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) 1/4))))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(-.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))) 0)
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))) 1)
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (exp.f64 im))) 2)
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2))) 4)
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2)))) 8)
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2))))) 16)
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2)))))) 32)
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) 2))))))) 64)
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(pow.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))) 1)
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(+.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 0)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(+.f64 0 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(+.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 1/2 (exp.f64 im))) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 1/2 (exp.f64 im))))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(-.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 0)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 2)) 2)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4)) 4)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4))) 8)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4)))) 16)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4))))) 32)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 4)))))) 64)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(pow.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))

eval210.0ms (1%)

Compiler

Compiled 8338 to 5831 computations (30.1% saved)

prune68.0ms (0.3%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New3887395
Fresh112
Picked101
Done235
Total39211403
Error
0.1b
Counts
403 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
45.6b
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
46.2b
(*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))
1.0b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
33.0b
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re))
43.9b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
43.8b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
1.3b
(*.f64 (sin.f64 re) (neg.f64 im))
44.9b
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
33.1b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
33.2b
(*.f64 re (neg.f64 im))
44.9b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 236 to 182 computations (22.9% saved)

localize14.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
0.2b
(*.f64 -1/6 (pow.f64 im 3))
Compiler

Compiled 33 to 22 computations (33.3% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

9 calls:

TimeVariablePointExpression
0.0ms
im
@inf
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
0.0ms
re
@0
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
0.0ms
im
@-inf
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
0.0ms
im
@0
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
0.0ms
re
@-inf
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))

rewrite221.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1404×exponential.json-3
1404×rational.json-1
1404×rational.json-2
1404×rational.json-4
1404×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01242
18042
216942
334542
467242
5156942
6352942
7639242
Stop Event
node limit
Counts
2 → 24
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)))))

simplify218.0ms (1%)

Algorithm
egg-herbie
Rules
1746×rational.json-simplify-35
1358×rational.json-simplify-53
1178×exponential.json-simplify-26
1172×rational.json-simplify-43
714×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0931876
12161816
24411338
310481290
432981290
554791290
659511290
763431290
869681290
974421290
1075921290
Stop Event
node limit
Counts
48 → 51
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)))) 64)
(pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)
(+.f64 0 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 1/2)))
(-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 2)) 2)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 4)) 4)
(/.f64 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))))) 64)
(pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)
Outputs
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (sin.f64 (neg.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 1/120 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 5))) (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3)))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 3) -1/6)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 5) 1/120))))
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (+.f64 (*.f64 1/120 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 5))) (*.f64 -1/5040 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 7)))) (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3)))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 3) -1/6)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 5) 1/120)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 7) -1/5040)) (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3))) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/120 (pow.f64 re 5))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/6 (pow.f64 re 3))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/6 (pow.f64 re 3))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (+.f64 re (*.f64 1/120 (pow.f64 re 5))))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 0 (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4) 8)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)) 16)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4))) 32)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)))) 64)
(*.f64 -1/6 (pow.f64 im 3))
(pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 0 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 1/2)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 2)) 2)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 4)) 4)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)) 8)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))) 16)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) 32)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))))) 64)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))

localize5.0ms (0%)

Compiler

Compiled 10 to 4 computations (60% saved)

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
0.2b
(*.f64 -1/6 (pow.f64 im 3))
Compiler

Compiled 30 to 21 computations (30% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

6 calls:

TimeVariablePointExpression
0.0ms
im
@inf
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
0.0ms
re
@0
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
0.0ms
re
@inf
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
0.0ms
im
@0
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
0.0ms
re
@-inf
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))

rewrite120.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1356×rational.json-1
1356×rational.json-2
1356×rational.json-3
1354×exponential.json-3
1354×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
16425
212925
326325
448125
5110225
6275925
7510025
8670325
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2))) (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re 8) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re 8) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re 8) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re 8) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re 8) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1)))))

simplify576.0ms (2.7%)

Algorithm
egg-herbie
Rules
4384×rational.json-simplify-41
3382×rational.json-simplify-35
2652×rational.json-simplify-2
1702×rational.json-simplify-53
888×rational.json-simplify-51
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
060775
1137725
2253671
3492671
41284671
53097671
64222671
74908671
85212671
95381671
105549671
116425671
126426671
136755671
146820671
156821671
166990671
177159671
187328671
197497671
207666671
Stop Event
node limit
Counts
25 → 31
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 0)
(+.f64 0 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2))) (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2))))
(-.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 0)
(/.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1)
(/.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im))) 2)
(/.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4))) 4)
(/.f64 (*.f64 (*.f64 re 8) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 re 8) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re 8) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re 8) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re 8) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) 128)
(pow.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1)
Outputs
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 0)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 0 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2))) (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2)) (+.f64 re re))
(-.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 0)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im))) 2)
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) (/.f64 re 2))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) (*.f64 re 1/2))
(*.f64 re (/.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 2))
(/.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4))) 4)
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) (/.f64 re 4))
(*.f64 re (/.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 4))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) (*.f64 re 1/4))
(/.f64 (*.f64 (*.f64 re 8) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 (*.f64 re 8) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) 16)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re 8) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))) 32)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re 8) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) 64)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re 8) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) 128)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(pow.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))

localize737.0ms (3.4%)

Local error

Found 3 expressions with local error:

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

Compiled 53 to 39 computations (26.4% saved)

series9.0ms (0%)

Counts
3 → 60
Calls

15 calls:

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

rewrite142.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1422×rational.json-simplify-35
1360×rational.json-1
1360×rational.json-2
1360×rational.json-3
1358×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01579
110479
222279
347779
491579
5221579
6383379
7485979
8603579
9713279
Stop Event
node limit
Counts
3 → 48
Calls
Call 1
Inputs
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (*.f64 -2 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 -1 (exp.f64 (*.f64 -2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (*.f64 -2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 re 1/4))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 re 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (+.f64 re re))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 re))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 re)) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (+.f64 re re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) re) 1)))))

simplify162.0ms (0.8%)

Algorithm
egg-herbie
Rules
1700×rational.json-simplify-38
1258×rational.json-simplify-2
1068×rational.json-simplify-35
936×rational.json-simplify-1
648×rational.json-simplify-41
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01693244
14113160
210733084
323253060
436423048
542573048
651563048
Stop Event
node limit
Counts
108 → 109
Calls
Call 1
Inputs
(*.f64 -2 im)
(+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 im))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2 im)))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im))))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(*.f64 -1 (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 re) (*.f64 2 re)) (pow.f64 im 2))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 re) (+.f64 (*.f64 -4/3 re) (*.f64 2 re))) (pow.f64 im 3))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 re) (*.f64 2 re)) (pow.f64 im 2)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 re) (+.f64 (*.f64 -4/3 re) (*.f64 2 re))) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 re) (*.f64 2 re)) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 re) (+.f64 re (+.f64 (*.f64 -1/3 re) (*.f64 2/3 re)))) (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 -2 (*.f64 re im))
(+.f64 (*.f64 2 (*.f64 re (pow.f64 im 2))) (*.f64 -2 (*.f64 re im)))
(+.f64 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 2 (*.f64 re (pow.f64 im 2))) (*.f64 -2 (*.f64 re im))))
(+.f64 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 2/3 (*.f64 re (pow.f64 im 4))) (*.f64 -2 (*.f64 re im)))))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 0)
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)
(*.f64 1/2 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)))
(*.f64 1 (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/2) 2)
(*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/2))
(*.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)) 1/2)
(*.f64 4 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/4))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4))
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/4) 4)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (*.f64 -2 im)))
(/.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)
(/.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)) 2)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4)))))) 128)
(pow.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 re))) 0)
(+.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 re))))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 re 1/4))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 re 1/4))))
(-.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 re))) 0)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 re))) 1)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) re)) 2)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (+.f64 re re))) 4)
(/.f64 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))) 8)
(/.f64 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4)))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))))))) 128)
(pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 re))) 1)
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) re) 0)
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 re)) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 re)))
(+.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) re))
(-.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) re) 0)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) re) 1)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (+.f64 re re)) 2)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4)))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))))))) 128)
(pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) re) 1)
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 im))
(+.f64 (*.f64 -2 im) (*.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2 im)))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -2 im) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im))))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 2/3 (pow.f64 im 4)))))
(+.f64 (*.f64 -2 im) (+.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 2/3 (pow.f64 im 4))) (*.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 2/3 (pow.f64 im 4)))))
(+.f64 (+.f64 (*.f64 -2 im) (*.f64 2/3 (pow.f64 im 4))) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -4/3 (pow.f64 im 3))))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 im re))
(neg.f64 (*.f64 im re))
(*.f64 im (neg.f64 re))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 re) (*.f64 2 re)) (pow.f64 im 2))))
(*.f64 -1 (*.f64 im re))
(neg.f64 (*.f64 im re))
(*.f64 im (neg.f64 re))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 re) (+.f64 (*.f64 -4/3 re) (*.f64 2 re))) (pow.f64 im 3))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 re) (*.f64 2 re)) (pow.f64 im 2)))))
(+.f64 (*.f64 -1 (*.f64 im re)) (+.f64 (*.f64 (+.f64 (*.f64 -2 re) (*.f64 2 re)) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (+.f64 (*.f64 -1 re) (+.f64 (*.f64 2 re) (*.f64 -4/3 re))) (*.f64 (pow.f64 im 3) 1/2))))
(+.f64 (neg.f64 (*.f64 im re)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (+.f64 (neg.f64 re) (*.f64 2/3 re))) (*.f64 (pow.f64 im 2) (*.f64 re 0)))))
(+.f64 (*.f64 im (neg.f64 re)) (+.f64 (*.f64 (pow.f64 im 2) 0) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 re -1/3)))))
(+.f64 (*.f64 im (neg.f64 re)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 re -1/3))) 0))
(+.f64 (*.f64 im (neg.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 re -1/3))))
(+.f64 (*.f64 im (neg.f64 re)) (*.f64 (*.f64 re -1/3) (*.f64 (pow.f64 im 3) 1/2)))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 re) (+.f64 (*.f64 -4/3 re) (*.f64 2 re))) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 re) (*.f64 2 re)) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 re) (+.f64 re (+.f64 (*.f64 -1/3 re) (*.f64 2/3 re)))) (pow.f64 im 4))))))
(+.f64 (*.f64 -1 (*.f64 im re)) (+.f64 (*.f64 (+.f64 (*.f64 -2 re) (*.f64 2 re)) (*.f64 (pow.f64 im 2) 1/2)) (+.f64 (*.f64 (+.f64 re (+.f64 (+.f64 (*.f64 re -1/3) (*.f64 2/3 re)) (*.f64 -4/3 re))) (*.f64 (pow.f64 im 4) 1/2)) (*.f64 (+.f64 (*.f64 -1 re) (+.f64 (*.f64 2 re) (*.f64 -4/3 re))) (*.f64 (pow.f64 im 3) 1/2)))))
(+.f64 (neg.f64 (*.f64 im re)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 (+.f64 (neg.f64 re) (*.f64 2/3 re)) 1/2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 -4/3 re) (+.f64 re (*.f64 re 1/3)))) (*.f64 (pow.f64 im 2) (*.f64 re 0))))))
(+.f64 (*.f64 im (neg.f64 re)) (+.f64 (*.f64 (pow.f64 im 2) 0) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/3)) (*.f64 (pow.f64 im 4) (+.f64 re (neg.f64 re)))))))
(+.f64 (+.f64 (*.f64 im (neg.f64 re)) 0) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/3)) (*.f64 (pow.f64 im 4) (+.f64 re (neg.f64 re))))))
(+.f64 (*.f64 im (neg.f64 re)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/3)) (*.f64 (pow.f64 im 4) (+.f64 re (neg.f64 re))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 im re))
(+.f64 (*.f64 2 (*.f64 re (pow.f64 im 2))) (*.f64 -2 (*.f64 re im)))
(+.f64 (*.f64 -2 (*.f64 im re)) (*.f64 2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -2 (*.f64 im re)) (*.f64 (pow.f64 im 2) (*.f64 2 re)))
(*.f64 re (+.f64 (*.f64 -2 im) (*.f64 2 (pow.f64 im 2))))
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 2 (pow.f64 im 2))) re)
(+.f64 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 2 (*.f64 re (pow.f64 im 2))) (*.f64 -2 (*.f64 re im))))
(+.f64 (*.f64 2 (*.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -2 (*.f64 im re)) (*.f64 -4/3 (*.f64 (pow.f64 im 3) re))))
(+.f64 (*.f64 -2 (*.f64 im re)) (+.f64 (*.f64 -4/3 (*.f64 (pow.f64 im 3) re)) (*.f64 (pow.f64 im 2) (*.f64 2 re))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 2 re)) (*.f64 re (+.f64 (*.f64 -2 im) (*.f64 -4/3 (pow.f64 im 3)))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 re re)) (*.f64 (+.f64 (*.f64 -2 im) (*.f64 -4/3 (pow.f64 im 3))) re))
(+.f64 (*.f64 -2 (*.f64 im re)) (*.f64 re (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -4/3 (pow.f64 im 3)))))
(+.f64 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 2/3 (*.f64 re (pow.f64 im 4))) (*.f64 -2 (*.f64 re im)))))
(+.f64 (*.f64 2 (*.f64 (pow.f64 im 2) re)) (+.f64 (+.f64 (*.f64 -2 (*.f64 im re)) (*.f64 2/3 (*.f64 (pow.f64 im 4) re))) (*.f64 -4/3 (*.f64 (pow.f64 im 3) re))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 2 re)) (+.f64 (*.f64 -4/3 (*.f64 (pow.f64 im 3) re)) (+.f64 (*.f64 -2 (*.f64 im re)) (*.f64 2/3 (*.f64 (pow.f64 im 4) re)))))
(+.f64 (*.f64 re (+.f64 (*.f64 -2 im) (*.f64 -4/3 (pow.f64 im 3)))) (*.f64 re (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 2 (pow.f64 im 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 -2 im) (*.f64 -4/3 (pow.f64 im 3))) re) (*.f64 re (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 2/3 (pow.f64 im 4)))))
(+.f64 (*.f64 (+.f64 (*.f64 -2 im) (*.f64 2/3 (pow.f64 im 4))) re) (*.f64 re (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -4/3 (pow.f64 im 3)))))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(*.f64 re (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(-.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 0)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 1/2 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)))
(*.f64 1/2 (+.f64 -2 (*.f64 2 (exp.f64 (*.f64 -2 im)))))
(*.f64 1 (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/2) 2)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/2))
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)) 1/2)
(*.f64 1/2 (+.f64 -2 (*.f64 2 (exp.f64 (*.f64 -2 im)))))
(*.f64 4 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/4))
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4) 1/4)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 1/4 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4))
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1/4) 4)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (*.f64 -2 im)))
(*.f64 (exp.f64 (*.f64 -2 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(/.f64 (+.f64 -2 (*.f64 (exp.f64 (*.f64 -2 im)) 2)) 2)
(/.f64 (+.f64 -2 (*.f64 2 (exp.f64 (*.f64 -2 im)))) 2)
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4) 4)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4)) 8)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4))) 16)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4)))) 32)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4))))) 64)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 4)))))) 128)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(pow.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) 1)
(+.f64 (exp.f64 (*.f64 -2 im)) -1)
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 re))) 0)
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(+.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 re))))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 re 1/4))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 re 1/4))))
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(-.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 re))) 0)
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 re))) 1)
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) re)) 2)
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (+.f64 re re))) 4)
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))) 8)
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4)))) 16)
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))))) 32)
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4)))))) 64)
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))))))) 128)
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (*.f64 1/2 re))) 1)
(*.f64 1/2 (*.f64 re (*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (exp.f64 im))))
(*.f64 1/2 (*.f64 re (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 -2 im)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 (exp.f64 im) (/.f64 re 2)))
(*.f64 (+.f64 (exp.f64 (*.f64 -2 im)) -1) (*.f64 re (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) re) 0)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 re)) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 re)))
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(+.f64 0 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) re))
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(-.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) re) 0)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) re) 1)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (+.f64 re re)) 2)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(/.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4)) 4)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))) 8)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4)))) 16)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))))) 32)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4)))))) 64)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 re 4))))))) 128)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))
(pow.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) re) 1)
(*.f64 re (+.f64 (exp.f64 (*.f64 -2 im)) -1))

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 55 to 22 computations (60% saved)

series6.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite83.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1650×exponential.json-3
1650×rational.json-1
1650×rational.json-2
1650×rational.json-4
1650×rational.json-3
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01695
112187
228287
367787
4156671
5488271
Stop Event
node limit
Counts
3 → 119
Calls
Call 1
Inputs
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.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 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.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)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 -1 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 0 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (neg.f64 (exp.f64 im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (neg.f64 im)) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (-.f64 0 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 (/.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (*.f64 -1 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (/.f64 1 (-.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 /.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 2 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (*.f64 2 (neg.f64 (exp.f64 im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (neg.f64 (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (*.f64 (neg.f64 (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (*.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) (+.f64 (*.f64 2 (neg.f64 (exp.f64 im))) (*.f64 2 (neg.f64 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))) (+.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) (neg.f64 (*.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (exp.f64 im)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (-.f64 0 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))) (*.f64 (exp.f64 im) 2))))) (#(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 +.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 re) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 re) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (-.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 im)) (*.f64 1/2 (sin.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))) (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) 2) (*.f64 4 (/.f64 1 (-.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 im)) 2) (/.f64 2 (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 im) (/.f64 (sin.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))) (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re)) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) 4) (*.f64 8 (/.f64 1 (-.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 im)) (*.f64 (sin.f64 re) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) 2)) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) (/.f64 4 (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re)) 4) (/.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re)) 4) (/.f64 1 (/.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/2 (sin.f64 re))) (-.f64 0 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re)))) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2))) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re)))) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))) (*.f64 2 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) 2)) (exp.f64 im)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re))) (neg.f64 (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))) (-.f64 0 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 1)))))

simplify146.0ms (0.7%)

Algorithm
egg-herbie
Rules
1448×rational.json-simplify-53
1156×rational.json-simplify-2
1076×rational.json-simplify-41
746×rational.json-simplify-35
738×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03305579
19625441
232775261
354235221
Stop Event
node limit
Counts
167 → 196
Calls
Call 1
Inputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/12 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 3) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/240 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 5) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 3) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 1/240 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 5) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/10080 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 7) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 3) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3)))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 (sin.f64 re)) (+.f64 (*.f64 -2/3 (sin.f64 re)) (+.f64 (*.f64 1/3 (sin.f64 re)) (*.f64 4/3 (sin.f64 re))))) (pow.f64 im 4))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 -1 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(+.f64 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)) -1)
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1))
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 1/2)
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 2)
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)
(/.f64 (/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -1) 2)
(pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(+.f64 0 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(/.f64 1 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 1 (*.f64 (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)) 2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 -1 (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 0 (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (neg.f64 (exp.f64 im)) -1))
(/.f64 (exp.f64 (neg.f64 im)) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(/.f64 1/2 (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))
(/.f64 -1 (-.f64 0 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 2 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 2 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(/.f64 2 (*.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1))
(/.f64 2 (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (exp.f64 im) 2))
(/.f64 4 (+.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 4 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (exp.f64 im) 2))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 (/.f64 2 (exp.f64 im))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 1/2)
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (neg.f64 (exp.f64 im)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (*.f64 -1 (exp.f64 im)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) 4))
(/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (exp.f64 im)))
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (*.f64 2 (neg.f64 (exp.f64 im))) 1))
(/.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) 4)
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (neg.f64 (*.f64 (exp.f64 im) 2)))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (*.f64 (neg.f64 (exp.f64 im)) 2))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (*.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) 1))
(/.f64 (+.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) (+.f64 (*.f64 2 (neg.f64 (exp.f64 im))) (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))) (+.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) (neg.f64 (*.f64 (exp.f64 im) 2))))
(/.f64 (+.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)
(/.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)) -1)
(/.f64 (/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (exp.f64 im)) 8)
(/.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im))) -1)
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (-.f64 0 (*.f64 (exp.f64 im) 4)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))) (*.f64 (exp.f64 im) 2))
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)
(+.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(-.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)
(/.f64 1 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))))
(/.f64 1 (*.f64 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))) 1))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re))))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 1/2 (sin.f64 re))))
(/.f64 (sin.f64 re) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (sin.f64 re) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))) (exp.f64 im))
(/.f64 2 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))))
(/.f64 2 (+.f64 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))) (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))))
(/.f64 2 (*.f64 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))) 1))
(/.f64 (*.f64 (sin.f64 re) 2) (*.f64 4 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 2 (*.f64 1/2 (sin.f64 re))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 im) (/.f64 (sin.f64 re) 4)))
(/.f64 4 (+.f64 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))) (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re)))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) 2)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re)) (*.f64 (exp.f64 im) 2))
(/.f64 (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(/.f64 (*.f64 (sin.f64 re) 4) (*.f64 8 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2)) 4)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) 2)) (*.f64 (exp.f64 im) 4))
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2))) 8)
(/.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) (/.f64 4 (*.f64 1/2 (sin.f64 re))))
(/.f64 (/.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))
(/.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) 4) 1/2)
(/.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re)) 4) (/.f64 (exp.f64 im) 2))
(/.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re)) 4) (/.f64 1 (/.f64 2 (exp.f64 im))))
(/.f64 (neg.f64 (*.f64 1/2 (sin.f64 re))) (-.f64 0 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re)))) (neg.f64 (exp.f64 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2))) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2)))) 16)
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re)))) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (/.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 8)
(/.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) 2)) (exp.f64 im)) 4)
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re))) (neg.f64 (*.f64 (exp.f64 im) 2)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))) (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))) (-.f64 0 (neg.f64 (exp.f64 im))))
(pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 1)
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(*.f64 -2 (+.f64 (pow.f64 im 2) im))
(*.f64 -2 (+.f64 im (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))) (*.f64 -4/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (*.f64 -4/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (*.f64 -4/3 (pow.f64 im 3)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -2 (pow.f64 im 2)) (*.f64 -2/3 (pow.f64 im 4)))))
(+.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2/3 (pow.f64 im 4))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (*.f64 (pow.f64 im 3) -1/3))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -2 im)))
(+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (*.f64 -2 im) (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/60 (pow.f64 im 5))) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (+.f64 (*.f64 -2 im) (*.f64 (pow.f64 im 3) -1/3)) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/2520 (pow.f64 im 7)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) re) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) re)))
(+.f64 (*.f64 -1/12 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 3) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) re) 1/2)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)) -1/12)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) re))) (*.f64 -1/12 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 -1/12 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) re))))
(+.f64 (*.f64 1/240 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 5) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 3) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)) -1/12)) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) re) 1/2)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 5)) 1/240))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) re))) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/240 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 5)))) (*.f64 -1/12 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) re))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 5))) (*.f64 -1/12 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3))))))
(+.f64 (*.f64 1/240 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 5) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/10080 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 7) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 3) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im))))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 5)) 1/240)) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)) -1/12)) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) re) 1/2)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 7)) -1/10080)))))
(+.f64 (*.f64 -1/12 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)))) (+.f64 (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) re))) (*.f64 -1/10080 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 7))))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/240 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 5))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 -1/12 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) re)))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 7))) (*.f64 1/240 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 5))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 7))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) re)))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 5))) (*.f64 -1/12 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3))))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sin.f64 re) 0) 1/2)))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (pow.f64 im 2) 0))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) 0)
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))))) (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -1 (sin.f64 re)))) (*.f64 (pow.f64 im 3) 1/2))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 0)) (*.f64 (pow.f64 im 3) (+.f64 (neg.f64 (sin.f64 re)) (*.f64 (sin.f64 re) 2/3))))))
(+.f64 (*.f64 (pow.f64 im 2) 0) (+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 (sin.f64 re) -1/3)))))
(+.f64 (+.f64 (*.f64 im (neg.f64 (sin.f64 re))) 0) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 (sin.f64 re) -1/3))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 (sin.f64 re)) (+.f64 (*.f64 -2/3 (sin.f64 re)) (+.f64 (*.f64 1/3 (sin.f64 re)) (*.f64 4/3 (sin.f64 re))))) (pow.f64 im 4))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3))))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))))) (+.f64 (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -1 (sin.f64 re)))) (*.f64 (pow.f64 im 3) 1/2))) (*.f64 (+.f64 (*.f64 -1 (sin.f64 re)) (+.f64 (*.f64 -2/3 (sin.f64 re)) (+.f64 (*.f64 (sin.f64 re) 1/3) (*.f64 (sin.f64 re) 4/3)))) (*.f64 (pow.f64 im 4) 1/2))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 0)) (*.f64 (pow.f64 im 3) (+.f64 (neg.f64 (sin.f64 re)) (*.f64 (sin.f64 re) 2/3))))) (*.f64 (pow.f64 im 4) (*.f64 1/2 (+.f64 (*.f64 (sin.f64 re) 5/3) (+.f64 (*.f64 -2/3 (sin.f64 re)) (neg.f64 (sin.f64 re))))))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 4) (+.f64 (sin.f64 re) (neg.f64 (sin.f64 re)))) (+.f64 (*.f64 (pow.f64 im 2) 0) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/3))))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/3)) (+.f64 (*.f64 (pow.f64 im 4) (*.f64 0 (neg.f64 (sin.f64 re)))) 0))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 -1 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (-.f64 1 (+.f64 (exp.f64 (+.f64 im im)) -1)) -1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 1/2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) 2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -1) 2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 0 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 1 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 1 (*.f64 (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)) 2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 -1 (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 0 (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (neg.f64 (exp.f64 im)) -1))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (exp.f64 (neg.f64 im)) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 1/2 (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 -1 (-.f64 0 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (*.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 2 (*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (exp.f64 im) 2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 4 (+.f64 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 4 (+.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (exp.f64 im) 2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 (/.f64 2 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 1/2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (neg.f64 (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (*.f64 -1 (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) 4))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (/.f64 1 (-.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 (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (*.f64 8 (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 (*.f64 2 (neg.f64 (exp.f64 im))) 1))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) 4)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (neg.f64 (*.f64 (exp.f64 im) 2)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (*.f64 (neg.f64 (exp.f64 im)) 2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (*.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) 1))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) (+.f64 (*.f64 2 (neg.f64 (exp.f64 im))) (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2)) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))) (+.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) (neg.f64 (*.f64 (exp.f64 im) 2))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (+.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)) 8)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)) -1)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (exp.f64 im)) 8)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im))) -1)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) (-.f64 0 (*.f64 (exp.f64 im) 4)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))) (*.f64 (exp.f64 im) 2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im 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))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 1 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 1 (*.f64 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))) 1))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re))))
(/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 1/2 (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (sin.f64 re) (*.f64 2 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (sin.f64 re) (*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 1)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))) (exp.f64 im))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 2 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 2 (+.f64 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))) (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 2 (*.f64 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))) 1))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (sin.f64 re) 2) (*.f64 4 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 2 (*.f64 1/2 (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 im) (/.f64 (sin.f64 re) 4)))
(*.f64 2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 4 (/.f64 (sin.f64 re) (exp.f64 im)))))
(/.f64 (/.f64 (sin.f64 re) 4) (/.f64 (/.f64 (exp.f64 im) 2) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 4 (+.f64 (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))) (/.f64 4 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) 2)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re)) (*.f64 (exp.f64 im) 2))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (/.f64 1/2 (/.f64 -1 (+.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (sin.f64 re) (exp.f64 im)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re))))
(/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (*.f64 (sin.f64 re) 4) (*.f64 8 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2)) 4)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) 2)) (*.f64 (exp.f64 im) 4))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2))) 8)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) (/.f64 4 (*.f64 1/2 (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (/.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) 4) 1/2)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re)) 4) (/.f64 (exp.f64 im) 2))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re)) 4) (/.f64 1 (/.f64 2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (neg.f64 (*.f64 1/2 (sin.f64 re))) (-.f64 0 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re)))) (neg.f64 (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2))) (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2)))) 16)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re)))) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))) (*.f64 2 (neg.f64 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (/.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 8)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) 2)) (exp.f64 im)) 4)
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re))) (neg.f64 (*.f64 (exp.f64 im) 2)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))) (exp.f64 im))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))) (-.f64 0 (neg.f64 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 1)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))

eval201.0ms (0.9%)

Compiler

Compiled 7782 to 4899 computations (37% saved)

prune101.0ms (0.5%)

Pruning

14 alts after pruning (7 fresh and 7 done)

PrunedKeptTotal
New3955400
Fresh123
Picked101
Done077
Total39714411
Error
0.1b
Counts
411 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
43.8b
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re)))))
45.6b
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
1.0b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
44.9b
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) re) 1/2))
33.0b
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re))
43.8b
(*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (sin.f64 re) (exp.f64 im)))
43.9b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.3b
(*.f64 (sin.f64 re) (neg.f64 im))
44.9b
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
33.5b
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (*.f64 -2 im))))
33.1b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
46.2b
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
33.2b
(*.f64 re (neg.f64 im))
44.9b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 284 to 221 computations (22.2% saved)

localize93.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re))
0.0b
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))
0.1b
(*.f64 -1/60 (pow.f64 im 5))
0.2b
(*.f64 -1/3 (pow.f64 im 3))
Compiler

Compiled 77 to 60 computations (22.1% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
re
@0
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re))
1.0ms
re
@inf
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re))
0.0ms
im
@0
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re))
0.0ms
im
@inf
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re))
0.0ms
re
@-inf
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re))

rewrite144.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1682×rational.json-simplify-35
1540×rational.json-1
1540×rational.json-2
1540×rational.json-3
1538×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01955
112755
223955
347655
494055
5234355
6416355
7513455
8684255
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 re 1/4)) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 re 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) 1/4) re) (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) 1/4) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 re re)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 re 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re (*.f64 8 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 8 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 8 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 8 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)) 1)))))

simplify869.0ms (4%)

Algorithm
egg-herbie
Rules
3440×rational.json-simplify-35
2764×rational.json-simplify-2
1576×rational.json-simplify-53
1052×rational.json-simplify-1
1036×exponential.json-simplify-26
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0701970
11611954
23181900
36711864
417861864
533861864
643591864
749731864
851561864
952931864
1054301864
1160431864
1261851864
1364061864
1466571864
1568521864
1668951864
1768961864
1870301864
1971641864
2072981864
2174321864
2275661864
2377001864
2478341864
Stop Event
node limit
Counts
38 → 36
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)) 0)
(+.f64 0 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)))
(+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 re 1/4)) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 re 1/4)))
(+.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) 1/4) re) (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) 1/4) re))
(-.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)) 0)
(/.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 re re)) 4)
(/.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 re 4)) 8)
(/.f64 (*.f64 2 (*.f64 re (*.f64 8 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 8 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))) 64)
(/.f64 (*.f64 re (*.f64 8 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 8 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))) 128)
(pow.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)) 1)
Outputs
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 re (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) (*.f64 re (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))))
(*.f64 re (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 re (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) (*.f64 re (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))))
(*.f64 re (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 re (*.f64 (pow.f64 im 5) -1/120))
(*.f64 re (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 re (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) (*.f64 re (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 re (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 re (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) (*.f64 re (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))))
(*.f64 re (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 re (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) (*.f64 re (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))))
(*.f64 re (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 re (*.f64 (pow.f64 im 5) -1/120))
(*.f64 re (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 re (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) (*.f64 re (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 re (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 re (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) (*.f64 re (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))))
(*.f64 re (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 re (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) (*.f64 re (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))))
(*.f64 re (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)) 0)
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(+.f64 0 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 re 1/4)) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 re 1/4)))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(+.f64 (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) 1/4) re) (*.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) 1/4) re))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(-.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)) 0)
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(/.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)) 1)
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(/.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re) 2)
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(/.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (+.f64 re re)) 4)
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(/.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 re 4)) 8)
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(/.f64 (*.f64 2 (*.f64 re (*.f64 8 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) 32)
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 8 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))) 64)
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(/.f64 (*.f64 re (*.f64 8 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))) 16)
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 8 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))) 128)
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))
(pow.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re)) 1)
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 (pow.f64 im 3) -1/3)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 (pow.f64 im 5) -1/60) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 5) -1/60))) (*.f64 re 1/2))

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 -1/6 (pow.f64 im 3))
3.6b
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
Compiler

Compiled 21 to 15 computations (28.6% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
re
@0
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
0.0ms
re
@inf
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
0.0ms
im
@inf
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
0.0ms
im
@0
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
0.0ms
re
@-inf
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))

rewrite222.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
2644×rational.json-simplify-35
1256×exponential.json-3
1256×rational.json-1
1256×rational.json-2
1256×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
16019
213219
326819
448019
5109319
6246819
7430419
8545419
9653419
10750519
11750519
12750519
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/12)) (*.f64 re (*.f64 (pow.f64 im 3) -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3)))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3)))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) 1)))))

simplify961.0ms (4.5%)

Algorithm
egg-herbie
Rules
4620×rational.json-simplify-35
2516×rational.json-simplify-2
1002×rational.json-simplify-53
968×rational.json-simplify-1
802×exponential.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054741
1134741
2279741
3699741
42005741
53530741
64348741
74682741
84895741
95078741
105255741
115490741
125624741
135667741
145729741
155893741
166197741
176381741
186551741
196721741
206891741
217119741
227460741
237624741
247638741
257645741
267645741
277830741
288000741
Stop Event
node limit
Counts
39 → 18
Calls
Call 1
Inputs
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(+.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) 0)
(+.f64 0 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/12)) (*.f64 re (*.f64 (pow.f64 im 3) -1/12)))
(-.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) 0)
(/.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) 1)
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 2)
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)) 4)
(/.f64 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))) 8)
(/.f64 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3)))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3)))))))) 256)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3)))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))))))))) 512)
(pow.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) 1)
Outputs
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(+.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) 0)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(+.f64 0 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/12)) (*.f64 re (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(-.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) 0)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(/.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) 1)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 2)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)) 4)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(/.f64 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))) 8)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(/.f64 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3)))) 16)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))))) 32)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3)))))) 64)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))))))) 128)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3)))))))) 256)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3)))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -4/3 (*.f64 re (pow.f64 im 3))))))))) 512)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(pow.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) 1)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))

localize10.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sin.f64 re) im)
4.3b
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
Compiler

Compiled 26 to 12 computations (53.8% saved)

series2.0ms (0%)

Counts
2 → 28
Calls

12 calls:

TimeVariablePointExpression
0.0ms
re
@inf
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
0.0ms
re
@0
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
0.0ms
re
@0
(*.f64 (sin.f64 re) im)
0.0ms
im
@inf
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
0.0ms
im
@-inf
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)

rewrite93.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1482×rational.json-1
1482×rational.json-2
1482×rational.json-4
1482×rational.json-3
1158×rational.json-simplify-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01134
18328
217526
334326
466826
5159526
6364926
7674426
Stop Event
node limit
Counts
2 → 73
Calls
Call 1
Inputs
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
(*.f64 (sin.f64 re) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 1 (*.f64 (sin.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 (*.f64 (sin.f64 re) im) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sin.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 re) im) -2) (*.f64 (sin.f64 re) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 re) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 re) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (neg.f64 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (sin.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (sin.f64 re) im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (neg.f64 (sin.f64 re)) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (neg.f64 im) (*.f64 (sin.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sin.f64 re) im) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 (sin.f64 re) im) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 -1 (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 (sin.f64 re) im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (sin.f64 re) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 1/2) (neg.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 re) im) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 1/2) (neg.f64 (*.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (*.f64 im 1/2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 re)) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 im) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (sin.f64 re) 2)) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 im im)) (*.f64 (sin.f64 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 re) im) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (neg.f64 (sin.f64 re))) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) im) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sin.f64 re) 2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) im) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im 8) (sin.f64 re)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 (sin.f64 re) im) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 im 8) (sin.f64 re))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re)))) -32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 (sin.f64 re) im) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 im 8) (sin.f64 re)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 (sin.f64 re) im) 4))) (*.f64 2 (neg.f64 (*.f64 (*.f64 (sin.f64 re) im) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 im 8) (sin.f64 re)))) (*.f64 2 (neg.f64 (*.f64 (*.f64 im 8) (sin.f64 re))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re)))) (neg.f64 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 re) im))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (*.f64 (sin.f64 re) im) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (*.f64 (sin.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (sin.f64 re) im) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 (sin.f64 re) im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (*.f64 im 1/2)) (*.f64 (sin.f64 re) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (sin.f64 re) im) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 re) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sin.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) im) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im 8) (sin.f64 re)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) im) 1)))))

simplify115.0ms (0.5%)

Algorithm
egg-herbie
Rules
1322×rational.json-simplify-35
1320×rational.json-simplify-45
1288×rational.json-simplify-2
1112×rational.json-simplify-49
1020×rational.json-simplify-52
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01671683
14041683
210811665
328771665
446671665
567581665
Stop Event
node limit
Counts
101 → 104
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 1/6 (*.f64 (pow.f64 re 3) im)))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 1/6 (*.f64 (pow.f64 re 3) im))))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 1/5040 (*.f64 (pow.f64 re 7) im)))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 re im)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) im)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im))))
(-.f64 1 (+.f64 1 (*.f64 (sin.f64 re) im)))
(-.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) 1)
(-.f64 -1 (+.f64 (*.f64 (sin.f64 re) im) -1))
(-.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 0)
(-.f64 0 (*.f64 (sin.f64 re) im))
(-.f64 (/.f64 (*.f64 (sin.f64 re) im) -2) (*.f64 (sin.f64 re) (*.f64 im 1/2)))
(*.f64 1 (*.f64 (sin.f64 re) (neg.f64 im)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (*.f64 (sin.f64 re) im) -1)
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)
(*.f64 2 (/.f64 (*.f64 (sin.f64 re) im) -2))
(*.f64 2 (*.f64 (neg.f64 (sin.f64 re)) (*.f64 im 1/2)))
(*.f64 2 (*.f64 (neg.f64 im) (*.f64 (sin.f64 re) 1/2)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) im) -2) 1/2)
(*.f64 4 (/.f64 (*.f64 (sin.f64 re) im) -4))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 -1 (*.f64 im 1/2)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 4) 1/4)
(*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) im) -2))
(*.f64 -2 (*.f64 (sin.f64 re) (*.f64 im 1/2)))
(*.f64 1/4 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 4))
(*.f64 (*.f64 (sin.f64 re) 1/2) (neg.f64 (+.f64 im im)))
(*.f64 (/.f64 (*.f64 (sin.f64 re) im) -2) 2)
(*.f64 (*.f64 im 1/2) (neg.f64 (*.f64 (sin.f64 re) 2)))
(*.f64 (*.f64 (sin.f64 re) (*.f64 im 1/2)) -2)
(*.f64 (neg.f64 (sin.f64 re)) im)
(*.f64 (neg.f64 im) (sin.f64 re))
(*.f64 (neg.f64 (*.f64 (sin.f64 re) 2)) (*.f64 im 1/2))
(*.f64 (neg.f64 (+.f64 im im)) (*.f64 (sin.f64 re) 1/2))
(*.f64 (/.f64 (*.f64 (sin.f64 re) im) -4) 4)
(*.f64 (*.f64 2 (neg.f64 (sin.f64 re))) (*.f64 im 1/2))
(/.f64 (*.f64 (sin.f64 re) im) -1)
(/.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)
(/.f64 (*.f64 (*.f64 (sin.f64 re) im) -2) 2)
(/.f64 (*.f64 im (*.f64 (sin.f64 re) 2)) -2)
(/.f64 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 4) 4)
(/.f64 (*.f64 (*.f64 (sin.f64 re) im) 4) -4)
(/.f64 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8) 8)
(/.f64 (*.f64 (*.f64 im 8) (sin.f64 re)) -8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re))) -16)
(/.f64 (neg.f64 (*.f64 (*.f64 (sin.f64 re) im) 4)) 4)
(/.f64 (neg.f64 (*.f64 (*.f64 im 8) (sin.f64 re))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re)))) -32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 (sin.f64 re) im) 4))) 8)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 im 8) (sin.f64 re)))) 16)
(/.f64 (neg.f64 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 (sin.f64 re) im) 4))) (*.f64 2 (neg.f64 (*.f64 (*.f64 (sin.f64 re) im) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 im 8) (sin.f64 re)))) (*.f64 2 (neg.f64 (*.f64 (*.f64 im 8) (sin.f64 re))))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re)))) (neg.f64 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re))))) 32)
(pow.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)
(neg.f64 (*.f64 (sin.f64 re) im))
(+.f64 1 (+.f64 (*.f64 (sin.f64 re) im) -1))
(+.f64 (*.f64 (sin.f64 re) im) 0)
(+.f64 -1 (+.f64 1 (*.f64 (sin.f64 re) im)))
(+.f64 0 (*.f64 (sin.f64 re) im))
(+.f64 (+.f64 (*.f64 (sin.f64 re) im) -1) 1)
(+.f64 (+.f64 1 (*.f64 (sin.f64 re) im)) -1)
(+.f64 (*.f64 (sin.f64 re) (*.f64 im 1/2)) (*.f64 (sin.f64 re) (*.f64 im 1/2)))
(-.f64 (*.f64 (sin.f64 re) im) 0)
(-.f64 (+.f64 (*.f64 (sin.f64 re) im) -1) -1)
(-.f64 (+.f64 1 (*.f64 (sin.f64 re) im)) 1)
(/.f64 (*.f64 (sin.f64 re) im) 1)
(/.f64 (*.f64 im (*.f64 (sin.f64 re) 2)) 2)
(/.f64 (*.f64 (*.f64 (sin.f64 re) im) 4) 4)
(/.f64 (*.f64 (*.f64 im 8) (sin.f64 re)) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re))))) 64)
(pow.f64 (*.f64 (sin.f64 re) im) 1)
Outputs
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 1/6 (*.f64 (pow.f64 re 3) im)))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 im (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 1/6 (*.f64 (pow.f64 re 3) im))))
(+.f64 (+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 re 3) (*.f64 im 1/6))) (*.f64 (pow.f64 re 5) (*.f64 im -1/120)))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 im (*.f64 1/6 (pow.f64 re 3))) (*.f64 im (*.f64 (pow.f64 re 5) -1/120))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) (*.f64 im (*.f64 -1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 im (*.f64 1/6 (pow.f64 re 3))) (*.f64 im (*.f64 -1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 1/5040 (*.f64 (pow.f64 re 7) im)))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (+.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) (*.f64 (pow.f64 re 7) (*.f64 im 1/5040))) (*.f64 (pow.f64 re 5) (*.f64 im -1/120))))
(+.f64 (*.f64 im (*.f64 1/6 (pow.f64 re 3))) (+.f64 (+.f64 (*.f64 re (neg.f64 im)) (*.f64 im (*.f64 1/5040 (pow.f64 re 7)))) (*.f64 im (*.f64 (pow.f64 re 5) -1/120))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) (+.f64 (*.f64 im (*.f64 1/5040 (pow.f64 re 7))) (*.f64 im (*.f64 -1/120 (pow.f64 re 5))))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) (+.f64 (*.f64 im (*.f64 -1/120 (pow.f64 re 5))) (*.f64 im (*.f64 1/5040 (pow.f64 re 7))))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 im (*.f64 1/6 (pow.f64 re 3))) (+.f64 (*.f64 im (*.f64 -1/120 (pow.f64 re 5))) (*.f64 im (*.f64 1/5040 (pow.f64 re 7))))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 re im)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im))
(+.f64 (*.f64 re im) (*.f64 (pow.f64 re 3) (*.f64 im -1/6)))
(*.f64 im (+.f64 re (*.f64 (pow.f64 re 3) -1/6)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im)))
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 im -1/6)) (+.f64 (*.f64 re im) (*.f64 (pow.f64 re 5) (*.f64 im 1/120))))
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 im -1/6)) (+.f64 (*.f64 re im) (*.f64 im (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 3) -1/6)) (*.f64 im (+.f64 re (*.f64 (pow.f64 re 5) 1/120))))
(+.f64 (*.f64 im (+.f64 re (*.f64 (pow.f64 re 3) -1/6))) (*.f64 im (*.f64 (pow.f64 re 5) 1/120)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) im)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im))))
(+.f64 (*.f64 (pow.f64 re 5) (*.f64 im 1/120)) (+.f64 (*.f64 (pow.f64 re 3) (*.f64 im -1/6)) (+.f64 (*.f64 re im) (*.f64 (pow.f64 re 7) (*.f64 im -1/5040)))))
(+.f64 (+.f64 (*.f64 re im) (*.f64 (pow.f64 re 3) (*.f64 im -1/6))) (+.f64 (*.f64 im (*.f64 1/120 (pow.f64 re 5))) (*.f64 im (*.f64 -1/5040 (pow.f64 re 7)))))
(+.f64 (*.f64 im (+.f64 re (*.f64 (pow.f64 re 3) -1/6))) (+.f64 (*.f64 im (*.f64 (pow.f64 re 5) 1/120)) (*.f64 im (*.f64 (pow.f64 re 7) -1/5040))))
(+.f64 (*.f64 im (+.f64 re (*.f64 (pow.f64 re 3) -1/6))) (+.f64 (*.f64 im (*.f64 (pow.f64 re 5) 1/120)) (*.f64 (pow.f64 re 7) (*.f64 im -1/5040))))
(-.f64 1 (+.f64 1 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(-.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) 1)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(-.f64 -1 (+.f64 (*.f64 (sin.f64 re) im) -1))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(-.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 0)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(-.f64 0 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(-.f64 (/.f64 (*.f64 (sin.f64 re) im) -2) (*.f64 (sin.f64 re) (*.f64 im 1/2)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 1 (*.f64 (sin.f64 re) (neg.f64 im)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 (*.f64 (sin.f64 re) im) -1)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 2 (/.f64 (*.f64 (sin.f64 re) im) -2))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 2 (*.f64 (neg.f64 (sin.f64 re)) (*.f64 im 1/2)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 2 (*.f64 (neg.f64 im) (*.f64 (sin.f64 re) 1/2)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) im) -2) 1/2)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 4 (/.f64 (*.f64 (sin.f64 re) im) -4))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 -1 (*.f64 im 1/2)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 4) 1/4)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) im) -2))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -2 (*.f64 (sin.f64 re) (*.f64 im 1/2)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 1/4 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 4))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (*.f64 (sin.f64 re) 1/2) (neg.f64 (+.f64 im im)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (/.f64 (*.f64 (sin.f64 re) im) -2) 2)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (*.f64 im 1/2) (neg.f64 (*.f64 (sin.f64 re) 2)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (*.f64 (sin.f64 re) (*.f64 im 1/2)) -2)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (neg.f64 (sin.f64 re)) im)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (neg.f64 im) (sin.f64 re))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (neg.f64 (*.f64 (sin.f64 re) 2)) (*.f64 im 1/2))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (neg.f64 (+.f64 im im)) (*.f64 (sin.f64 re) 1/2))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (/.f64 (*.f64 (sin.f64 re) im) -4) 4)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (*.f64 2 (neg.f64 (sin.f64 re))) (*.f64 im 1/2))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) im) -1)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (*.f64 (sin.f64 re) im) -2) 2)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 im (*.f64 (sin.f64 re) 2)) -2)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 4) 4)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (*.f64 (sin.f64 re) im) 4) -4)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8) 8)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (*.f64 im 8) (sin.f64 re)) -8)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8)) 16)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re))) -16)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (neg.f64 (*.f64 (*.f64 (sin.f64 re) im) 4)) 4)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (neg.f64 (*.f64 (*.f64 im 8) (sin.f64 re))) 8)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re)))) -32)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8))) 32)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 (sin.f64 re) im) 4))) 8)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 im 8) (sin.f64 re)))) 16)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re)))) 16)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8)))) 64)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 (sin.f64 re) im) 4))) (*.f64 2 (neg.f64 (*.f64 (*.f64 (sin.f64 re) im) 4)))) 16)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 im 8) (sin.f64 re)))) (*.f64 2 (neg.f64 (*.f64 (*.f64 im 8) (sin.f64 re))))) 32)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re)))) (neg.f64 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re))))) 32)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(neg.f64 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 1 (+.f64 (*.f64 (sin.f64 re) im) -1))
(*.f64 im (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) im) 0)
(*.f64 im (sin.f64 re))
(+.f64 -1 (+.f64 1 (*.f64 (sin.f64 re) im)))
(*.f64 im (sin.f64 re))
(+.f64 0 (*.f64 (sin.f64 re) im))
(*.f64 im (sin.f64 re))
(+.f64 (+.f64 (*.f64 (sin.f64 re) im) -1) 1)
(*.f64 im (sin.f64 re))
(+.f64 (+.f64 1 (*.f64 (sin.f64 re) im)) -1)
(*.f64 im (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) (*.f64 im 1/2)) (*.f64 (sin.f64 re) (*.f64 im 1/2)))
(*.f64 im (sin.f64 re))
(-.f64 (*.f64 (sin.f64 re) im) 0)
(*.f64 im (sin.f64 re))
(-.f64 (+.f64 (*.f64 (sin.f64 re) im) -1) -1)
(*.f64 im (sin.f64 re))
(-.f64 (+.f64 1 (*.f64 (sin.f64 re) im)) 1)
(*.f64 im (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) im) 1)
(*.f64 im (sin.f64 re))
(/.f64 (*.f64 im (*.f64 (sin.f64 re) 2)) 2)
(*.f64 im (sin.f64 re))
(/.f64 (*.f64 (*.f64 (sin.f64 re) im) 4) 4)
(*.f64 im (sin.f64 re))
(/.f64 (*.f64 (*.f64 im 8) (sin.f64 re)) 8)
(*.f64 im (sin.f64 re))
(/.f64 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re))) 16)
(*.f64 im (sin.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re)))) 32)
(*.f64 im (sin.f64 re))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 im 8) (sin.f64 re))))) 64)
(*.f64 im (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) im) 1)
(*.f64 im (sin.f64 re))

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 33 to 21 computations (36.4% saved)

series34.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
31.0ms
re
@0
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (*.f64 -2 im))))
1.0ms
re
@inf
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (*.f64 -2 im))))
1.0ms
im
@inf
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (*.f64 -2 im))))
0.0ms
im
@-inf
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (*.f64 -2 im))))
0.0ms
re
@inf
(*.f64 1/2 (*.f64 re (*.f64 -2 im)))

rewrite196.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1506×rational.json-1
1506×rational.json-2
1390×rational.json-3
1388×exponential.json-3
1388×rational.json-4
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01248
18448
219836
347532
4101932
5241532
6464832
7665432
8740332
9757332
10792832
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (*.f64 -2 im))))
(*.f64 1/2 (*.f64 re (*.f64 -2 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (*.f64 (exp.f64 im) (*.f64 im re)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (*.f64 (exp.f64 im) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (*.f64 (exp.f64 im) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 (exp.f64 im) (*.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 im) (*.f64 re (*.f64 im -1/2))) (*.f64 (exp.f64 im) (*.f64 re (*.f64 im -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 (exp.f64 im) (*.f64 im re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (*.f64 (exp.f64 im) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (exp.f64 im) (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (+.f64 (*.f64 (exp.f64 im) (*.f64 im re)) -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 (*.f64 (exp.f64 im) (*.f64 im re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 (*.f64 (exp.f64 im) (*.f64 im re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (*.f64 (exp.f64 im) (*.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (exp.f64 im) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (exp.f64 im) (*.f64 re -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 im) (*.f64 im (*.f64 re -4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 im) (*.f64 im re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im (*.f64 (exp.f64 im) (*.f64 re -2))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 im (*.f64 (exp.f64 im) (*.f64 re -2))) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (*.f64 (exp.f64 im) (*.f64 re -2))) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (*.f64 (exp.f64 im) (*.f64 re -2))) 4)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (*.f64 (exp.f64 im) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (exp.f64 im) (*.f64 im re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (*.f64 im re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 im -1/2)) (*.f64 re (*.f64 im -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 im re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 1 (+.f64 (*.f64 im re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 1 (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 (*.f64 im re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (*.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 re -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 re -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (+.f64 im im)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 im -8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im re) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re (*.f64 im -8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 im re) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im re) 4))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 im re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 (*.f64 im re) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 im re) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 (*.f64 im re) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 1 (+.f64 (*.f64 im re) -1)))))))

simplify98.0ms (0.5%)

Algorithm
egg-herbie
Rules
1484×rational.json-simplify-2
1448×rational.json-simplify-51
1444×rational.json-simplify-35
1304×rational.json-simplify-52
828×rational.json-simplify-48
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01401710
13811686
28261666
323621660
453051654
561301654
Stop Event
node limit
Counts
102 → 80
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 4))) (*.f64 -1 (*.f64 re (pow.f64 im 2))))))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(+.f64 -2 (-.f64 1 (+.f64 (*.f64 (exp.f64 im) (*.f64 im re)) -1)))
(+.f64 (*.f64 im (*.f64 (exp.f64 im) (neg.f64 re))) 0)
(+.f64 0 (*.f64 im (*.f64 (exp.f64 im) (neg.f64 re))))
(+.f64 -1 (-.f64 1 (*.f64 (exp.f64 im) (*.f64 im re))))
(+.f64 (*.f64 (exp.f64 im) (*.f64 re (*.f64 im -1/2))) (*.f64 (exp.f64 im) (*.f64 re (*.f64 im -1/2))))
(+.f64 (-.f64 1 (*.f64 (exp.f64 im) (*.f64 im re))) -1)
(-.f64 (*.f64 im (*.f64 (exp.f64 im) (neg.f64 re))) 0)
(-.f64 0 (*.f64 (exp.f64 im) (*.f64 im re)))
(-.f64 0 (-.f64 (+.f64 (*.f64 (exp.f64 im) (*.f64 im re)) -1) -1))
(-.f64 1 (-.f64 (*.f64 (exp.f64 im) (*.f64 im re)) -1))
(-.f64 -1 (+.f64 (*.f64 (exp.f64 im) (*.f64 im re)) -1))
(-.f64 (-.f64 1 (*.f64 (exp.f64 im) (*.f64 im re))) 1)
(/.f64 (*.f64 im (*.f64 (exp.f64 im) (neg.f64 re))) 1)
(/.f64 (*.f64 im (*.f64 (exp.f64 im) (*.f64 re -2))) 2)
(/.f64 (*.f64 (exp.f64 im) (*.f64 im (*.f64 re -4))) 4)
(/.f64 (*.f64 (exp.f64 im) (*.f64 im re)) -1)
(/.f64 (*.f64 (*.f64 im (*.f64 (exp.f64 im) (*.f64 re -2))) 4) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 im (*.f64 (exp.f64 im) (*.f64 re -2))) 4)) 16)
(/.f64 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im re))) -2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (*.f64 (exp.f64 im) (*.f64 re -2))) 4))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (*.f64 (exp.f64 im) (*.f64 re -2))) 4)))) 64)
(pow.f64 (*.f64 im (*.f64 (exp.f64 im) (neg.f64 re))) 1)
(neg.f64 (*.f64 (exp.f64 im) (*.f64 im re)))
(+.f64 -2 (-.f64 1 (+.f64 (*.f64 im re) -1)))
(+.f64 (*.f64 re (neg.f64 im)) 0)
(+.f64 0 (*.f64 re (neg.f64 im)))
(+.f64 -1 (-.f64 1 (*.f64 im re)))
(+.f64 (*.f64 re (*.f64 im -1/2)) (*.f64 re (*.f64 im -1/2)))
(+.f64 (-.f64 1 (*.f64 im re)) -1)
(-.f64 (*.f64 re (neg.f64 im)) 0)
(-.f64 0 (*.f64 im re))
(-.f64 0 (+.f64 1 (+.f64 (*.f64 im re) -1)))
(-.f64 1 (+.f64 1 (*.f64 im re)))
(-.f64 -1 (+.f64 (*.f64 im re) -1))
(-.f64 (-.f64 1 (*.f64 im re)) 1)
(/.f64 (*.f64 im (*.f64 re -2)) 2)
(/.f64 (*.f64 re (neg.f64 im)) 1)
(/.f64 (*.f64 im re) -1)
(/.f64 (*.f64 im (*.f64 re -4)) 4)
(/.f64 (*.f64 re (+.f64 im im)) -2)
(/.f64 (*.f64 re (*.f64 im -8)) 8)
(/.f64 (*.f64 (*.f64 im re) 4) -4)
(/.f64 (*.f64 2 (*.f64 re (*.f64 im -8))) 16)
(/.f64 (*.f64 2 (*.f64 (*.f64 im re) 4)) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im re) 4))) -16)
(/.f64 (neg.f64 (*.f64 (*.f64 im re) 4)) 4)
(/.f64 (neg.f64 (*.f64 2 (*.f64 (*.f64 im re) 4))) 8)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 im re) 4))) 8)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 (*.f64 im re) 4)))) 16)
(pow.f64 (*.f64 re (neg.f64 im)) 1)
(neg.f64 (*.f64 im re))
(neg.f64 (+.f64 1 (+.f64 (*.f64 im re) -1)))
Outputs
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1 (*.f64 re (pow.f64 im 2))) (*.f64 re (neg.f64 im)))
(*.f64 re (+.f64 (neg.f64 im) (neg.f64 (pow.f64 im 2))))
(*.f64 (neg.f64 re) (+.f64 (pow.f64 im 2) im))
(neg.f64 (*.f64 re (+.f64 im (pow.f64 im 2))))
(*.f64 re (neg.f64 (+.f64 im (pow.f64 im 2))))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1 (*.f64 re (pow.f64 im 2)))))
(+.f64 (+.f64 (*.f64 -1 (*.f64 re (pow.f64 im 2))) (*.f64 re (neg.f64 im))) (*.f64 re (*.f64 (pow.f64 im 3) -1/2)))
(+.f64 (*.f64 re (+.f64 (neg.f64 im) (neg.f64 (pow.f64 im 2)))) (*.f64 re (*.f64 -1/2 (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -1 (+.f64 (pow.f64 im 2) im))))
(*.f64 re (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -1 (+.f64 im (pow.f64 im 2)))))
(*.f64 re (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (neg.f64 (+.f64 im (pow.f64 im 2)))))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 4))) (*.f64 -1 (*.f64 re (pow.f64 im 2))))))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/2)) (+.f64 (*.f64 re (*.f64 (pow.f64 im 4) -1/6)) (+.f64 (*.f64 -1 (*.f64 re (pow.f64 im 2))) (*.f64 re (neg.f64 im)))))
(+.f64 (*.f64 re (*.f64 -1/2 (pow.f64 im 3))) (+.f64 (*.f64 re (+.f64 (neg.f64 im) (neg.f64 (pow.f64 im 2)))) (*.f64 re (*.f64 -1/6 (pow.f64 im 4)))))
(+.f64 (*.f64 re (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -1 (+.f64 (pow.f64 im 2) im)))) (*.f64 re (*.f64 -1/6 (pow.f64 im 4))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 4)) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -1 (+.f64 im (pow.f64 im 2))))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 4)) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (neg.f64 (+.f64 im (pow.f64 im 2))))))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 (exp.f64 im) (*.f64 re im)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(+.f64 -2 (-.f64 1 (+.f64 (*.f64 (exp.f64 im) (*.f64 im re)) -1)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(+.f64 (*.f64 im (*.f64 (exp.f64 im) (neg.f64 re))) 0)
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(+.f64 0 (*.f64 im (*.f64 (exp.f64 im) (neg.f64 re))))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(+.f64 -1 (-.f64 1 (*.f64 (exp.f64 im) (*.f64 im re))))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(+.f64 (*.f64 (exp.f64 im) (*.f64 re (*.f64 im -1/2))) (*.f64 (exp.f64 im) (*.f64 re (*.f64 im -1/2))))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(+.f64 (-.f64 1 (*.f64 (exp.f64 im) (*.f64 im re))) -1)
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(-.f64 (*.f64 im (*.f64 (exp.f64 im) (neg.f64 re))) 0)
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(-.f64 0 (*.f64 (exp.f64 im) (*.f64 im re)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(-.f64 0 (-.f64 (+.f64 (*.f64 (exp.f64 im) (*.f64 im re)) -1) -1))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(-.f64 1 (-.f64 (*.f64 (exp.f64 im) (*.f64 im re)) -1))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(-.f64 -1 (+.f64 (*.f64 (exp.f64 im) (*.f64 im re)) -1))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(-.f64 (-.f64 1 (*.f64 (exp.f64 im) (*.f64 im re))) 1)
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(/.f64 (*.f64 im (*.f64 (exp.f64 im) (neg.f64 re))) 1)
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(/.f64 (*.f64 im (*.f64 (exp.f64 im) (*.f64 re -2))) 2)
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(/.f64 (*.f64 (exp.f64 im) (*.f64 im (*.f64 re -4))) 4)
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(/.f64 (*.f64 (exp.f64 im) (*.f64 im re)) -1)
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(/.f64 (*.f64 (*.f64 im (*.f64 (exp.f64 im) (*.f64 re -2))) 4) 8)
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 (*.f64 im (*.f64 (exp.f64 im) (*.f64 re -2))) 4)) 16)
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 (exp.f64 im) (*.f64 im re))) -2)
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (*.f64 (exp.f64 im) (*.f64 re -2))) 4))) 32)
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (*.f64 (exp.f64 im) (*.f64 re -2))) 4)))) 64)
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(pow.f64 (*.f64 im (*.f64 (exp.f64 im) (neg.f64 re))) 1)
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(neg.f64 (*.f64 (exp.f64 im) (*.f64 im re)))
(neg.f64 (*.f64 im (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 (exp.f64 im) (neg.f64 im)))
(+.f64 -2 (-.f64 1 (+.f64 (*.f64 im re) -1)))
(+.f64 -2 (-.f64 1 (+.f64 -1 (*.f64 re im))))
(+.f64 -2 (neg.f64 (+.f64 -2 (*.f64 re im))))
(+.f64 (*.f64 re (neg.f64 im)) 0)
(*.f64 re (neg.f64 im))
(+.f64 0 (*.f64 re (neg.f64 im)))
(*.f64 re (neg.f64 im))
(+.f64 -1 (-.f64 1 (*.f64 im re)))
(*.f64 re (neg.f64 im))
(+.f64 (*.f64 re (*.f64 im -1/2)) (*.f64 re (*.f64 im -1/2)))
(*.f64 re (neg.f64 im))
(+.f64 (-.f64 1 (*.f64 im re)) -1)
(*.f64 re (neg.f64 im))
(-.f64 (*.f64 re (neg.f64 im)) 0)
(*.f64 re (neg.f64 im))
(-.f64 0 (*.f64 im re))
(*.f64 re (neg.f64 im))
(-.f64 0 (+.f64 1 (+.f64 (*.f64 im re) -1)))
(*.f64 re (neg.f64 im))
(-.f64 1 (+.f64 1 (*.f64 im re)))
(*.f64 re (neg.f64 im))
(-.f64 -1 (+.f64 (*.f64 im re) -1))
(*.f64 re (neg.f64 im))
(-.f64 (-.f64 1 (*.f64 im re)) 1)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 im (*.f64 re -2)) 2)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 re (neg.f64 im)) 1)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 im re) -1)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 im (*.f64 re -4)) 4)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 re (+.f64 im im)) -2)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 re (*.f64 im -8)) 8)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 (*.f64 im re) 4) -4)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 re (*.f64 im -8))) 16)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 (*.f64 im re) 4)) -8)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8)))) 32)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8))))) 64)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im re) 4))) -16)
(*.f64 re (neg.f64 im))
(/.f64 (neg.f64 (*.f64 (*.f64 im re) 4)) 4)
(*.f64 re (neg.f64 im))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (*.f64 im re) 4))) 8)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 im re) 4))) 8)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 (*.f64 im re) 4)))) 16)
(*.f64 re (neg.f64 im))
(pow.f64 (*.f64 re (neg.f64 im)) 1)
(*.f64 re (neg.f64 im))
(neg.f64 (*.f64 im re))
(*.f64 re (neg.f64 im))
(neg.f64 (+.f64 1 (+.f64 (*.f64 im re) -1)))
(*.f64 re (neg.f64 im))

localize20.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 51 to 28 computations (45.1% saved)

series5.0ms (0%)

Counts
3 → 60
Calls

15 calls:

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

rewrite122.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
2016×rational.json-1
1478×rational.json-simplify-35
1166×rational.json-simplify-2
960×exponential.json-3
960×rational.json-2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01675
111867
225667
356667
4123159
5340659
6780259
Stop Event
node limit
Counts
3 → 162
Calls
Call 1
Inputs
(-.f64 1 (exp.f64 (*.f64 im 2)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) re) 1/2))
(*.f64 (exp.f64 (neg.f64 im)) re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) (neg.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/4) (*.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 (/.f64 (exp.f64 im) re) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 4 (/.f64 (exp.f64 im) re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 re 1/2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (/.f64 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (/.f64 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re (exp.f64 im)) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (exp.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (neg.f64 (/.f64 (exp.f64 im) re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (/.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re re) (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re re) (+.f64 (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 4 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 4 (*.f64 2 (/.f64 (exp.f64 im) re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 (exp.f64 im) re)) (/.f64 4 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 (exp.f64 im) re)) (+.f64 (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (/.f64 (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (/.f64 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 4) (+.f64 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (+.f64 (*.f64 4 (/.f64 (exp.f64 im) re)) (*.f64 4 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 (exp.f64 im) re)) (/.f64 8 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 (exp.f64 im) re)) (+.f64 (/.f64 4 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 4 (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) re) (*.f64 2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (/.f64 1 re) (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 re) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 4 (/.f64 (exp.f64 im) re))) (+.f64 (/.f64 8 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 8 (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 re)) (+.f64 (/.f64 (neg.f64 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4) (*.f64 1/2 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (neg.f64 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (exp.f64 (+.f64 im im)))) (-.f64 0 (*.f64 2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (+.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (neg.f64 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4)) (-.f64 0 (*.f64 1/2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2))) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (-.f64 0 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (/.f64 (exp.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re (*.f64 2 (exp.f64 im))) (/.f64 re (*.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 re (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 re (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (exp.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (neg.f64 im)) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (/.f64 (/.f64 (*.f64 2 (*.f64 (exp.f64 (+.f64 im im)) 4)) (exp.f64 im)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (*.f64 1/2 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re (*.f64 2 (exp.f64 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (exp.f64 im)) (+.f64 (/.f64 1 re) (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re re) (*.f64 2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 (exp.f64 im) re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (+.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (neg.f64 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (-.f64 0 (*.f64 2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (*.f64 1/2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (/.f64 (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 1/2) (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))) (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (/.f64 (*.f64 (exp.f64 im) 4) re) (/.f64 (*.f64 (exp.f64 im) 4) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 4) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 (exp.f64 im) re)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 re) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (exp.f64 im) re) (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 4 (/.f64 (exp.f64 im) re))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 re)) (*.f64 2 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re 4)) (*.f64 (exp.f64 im) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re -2) (-.f64 0 (*.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (exp.f64 im) (*.f64 (/.f64 2 re) (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (-.f64 0 (*.f64 1/2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 re re)) (*.f64 2 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 re re)) (neg.f64 (*.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 re 4))) (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 re 4))) (+.f64 (*.f64 (exp.f64 im) 8) (*.f64 (exp.f64 im) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (/.f64 4 (/.f64 (exp.f64 im) re)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (neg.f64 re))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 re 4))) (-.f64 0 (*.f64 2 (*.f64 (exp.f64 im) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re (neg.f64 (exp.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))) (*.f64 4 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))) (+.f64 (*.f64 (exp.f64 im) (*.f64 (/.f64 2 re) (/.f64 (exp.f64 im) re))) (*.f64 (exp.f64 im) (*.f64 (/.f64 2 re) (/.f64 (exp.f64 im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (-.f64 0 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 re 4)) (neg.f64 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (+.f64 re re))) (*.f64 2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (+.f64 re re))) (-.f64 0 (*.f64 2 (neg.f64 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (+.f64 re re))) (-.f64 0 (neg.f64 (*.f64 2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re)))) (*.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 2 (/.f64 (exp.f64 im) re))) (*.f64 (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re)))) (*.f64 (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))) (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re)))) (+.f64 (*.f64 4 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))) (*.f64 4 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (neg.f64 (+.f64 re re)))) (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im)))) (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (/.f64 4 (/.f64 (exp.f64 im) re)))) (*.f64 2 (*.f64 2 (/.f64 4 (/.f64 (exp.f64 im) re))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (neg.f64 re))) (*.f64 2 (*.f64 2 (neg.f64 re)))) (+.f64 (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im)) (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 re (neg.f64 (exp.f64 im))) (/.f64 re (neg.f64 (exp.f64 im)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 re 4)) (neg.f64 (*.f64 re 4))) (+.f64 (neg.f64 (*.f64 (exp.f64 im) 4)) (neg.f64 (*.f64 (exp.f64 im) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 re re))) (neg.f64 (neg.f64 (+.f64 re re)))) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (exp.f64 (neg.f64 im))) (-.f64 0 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (neg.f64 re))) (-.f64 0 (*.f64 2 (neg.f64 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 re 4))) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 re re)))) (neg.f64 (*.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 re (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 re (neg.f64 (exp.f64 im))))))))

simplify193.0ms (0.9%)

Algorithm
egg-herbie
Rules
1164×rational.json-simplify-35
906×rational.json-simplify-1
842×rational.json-simplify-49
602×rational.json-simplify-51
596×rational.json-simplify-50
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
04076072
112885736
248585224
371915184
Stop Event
node limit
Counts
222 → 236
Calls
Call 1
Inputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(*.f64 -1 (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 re) (*.f64 -2 re)) (pow.f64 im 2))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 re) (+.f64 (*.f64 -4/3 re) (*.f64 2 re))) (pow.f64 im 3))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 re) (*.f64 -2 re)) (pow.f64 im 2)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/3 re) (+.f64 (*.f64 -2/3 re) (*.f64 4/3 re)))) (pow.f64 im 4))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 re) (+.f64 (*.f64 -4/3 re) (*.f64 2 re))) (pow.f64 im 3))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 re) (*.f64 -2 re)) (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (*.f64 -1 im)) re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (*.f64 -1 im)) re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (*.f64 -1 im)) re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (*.f64 -1 im)) re)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
re
(+.f64 (*.f64 -1 (*.f64 re im)) re)
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 -1 (neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -2)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(+.f64 (neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -2)) -1)
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(*.f64 1/2 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)
(*.f64 4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4))
(*.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 1/2)
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 1/4)
(*.f64 1/4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4) 4)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 2)
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) (neg.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)))) 4)
(pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(+.f64 (*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)
(+.f64 0 (*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(+.f64 (*.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/4) (*.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/4))
(-.f64 (*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)
(/.f64 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 2 (/.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 2 (+.f64 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 (/.f64 (exp.f64 im) re) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (/.f64 (exp.f64 im) re)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 4 (/.f64 (exp.f64 im) re)) 2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 re 1/2)) 4))
(/.f64 re (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 re (/.f64 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))) 2))
(/.f64 re (/.f64 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) 4))
(/.f64 (/.f64 re (exp.f64 im)) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (exp.f64 im) re))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (neg.f64 (/.f64 (exp.f64 im) re)) -1))
(/.f64 4 (+.f64 (/.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(/.f64 (+.f64 re re) (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 re re) (+.f64 (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))))
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 4 (/.f64 (exp.f64 im) re)))
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 4 (*.f64 2 (/.f64 (exp.f64 im) re))) 2))
(/.f64 (/.f64 2 (/.f64 (exp.f64 im) re)) (/.f64 4 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 2 (/.f64 (exp.f64 im) re)) (+.f64 (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (*.f64 re 1/2) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) 2))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))) 4))
(/.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(/.f64 (*.f64 re 4) (+.f64 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (+.f64 (*.f64 4 (/.f64 (exp.f64 im) re)) (*.f64 4 (/.f64 (exp.f64 im) re))))
(/.f64 (*.f64 2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 4)
(/.f64 (/.f64 4 (/.f64 (exp.f64 im) re)) (/.f64 8 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 4 (/.f64 (exp.f64 im) re)) (+.f64 (/.f64 4 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 4 (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) re) (*.f64 2 (exp.f64 im)))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (/.f64 1 re) (/.f64 1 re)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (exp.f64 im))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))
(/.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 re))
(/.f64 (neg.f64 re) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (*.f64 2 (/.f64 4 (/.f64 (exp.f64 im) re))) (+.f64 (/.f64 8 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 8 (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (*.f64 2 (neg.f64 re)) (+.f64 (/.f64 (neg.f64 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 8)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4) (*.f64 1/2 (/.f64 (exp.f64 im) re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) 16)
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (neg.f64 (/.f64 (exp.f64 im) re)))
(/.f64 (neg.f64 (-.f64 1 (exp.f64 (+.f64 im im)))) (-.f64 0 (*.f64 2 (/.f64 (exp.f64 im) re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (+.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (neg.f64 (/.f64 (exp.f64 im) re))))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4)) (-.f64 0 (*.f64 1/2 (/.f64 (exp.f64 im) re))))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2))) (neg.f64 (exp.f64 im)))
(/.f64 (neg.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (-.f64 0 (/.f64 1 re)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (/.f64 (exp.f64 im) re))
(pow.f64 (*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(+.f64 (/.f64 re (exp.f64 im)) 0)
(+.f64 (/.f64 re (*.f64 2 (exp.f64 im))) (/.f64 re (*.f64 2 (exp.f64 im))))
(+.f64 0 (/.f64 re (exp.f64 im)))
(-.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 1 (/.f64 (exp.f64 im) re))
(/.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re)))
(/.f64 (exp.f64 (neg.f64 im)) (/.f64 1 re))
(/.f64 re (exp.f64 im))
(/.f64 re (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))
(/.f64 re (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))
(/.f64 re (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 4))
(/.f64 re (/.f64 (/.f64 (*.f64 2 (*.f64 (exp.f64 (+.f64 im im)) 4)) (exp.f64 im)) 8))
(/.f64 (/.f64 re (exp.f64 im)) 1)
(/.f64 1/2 (*.f64 1/2 (/.f64 (exp.f64 im) re)))
(/.f64 (/.f64 re (*.f64 2 (exp.f64 im))) 1/2)
(/.f64 -1 (neg.f64 (/.f64 (exp.f64 im) re)))
(/.f64 (/.f64 2 (exp.f64 im)) (+.f64 (/.f64 1 re) (/.f64 1 re)))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) re))
(/.f64 4 (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))))
(/.f64 (+.f64 re re) (*.f64 2 (exp.f64 im)))
(/.f64 (/.f64 2 (/.f64 (exp.f64 im) re)) 2)
(/.f64 -2 (+.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (neg.f64 (/.f64 (exp.f64 im) re))))
(/.f64 -2 (-.f64 0 (*.f64 2 (/.f64 (exp.f64 im) re))))
(/.f64 (*.f64 re 1/2) (*.f64 1/2 (exp.f64 im)))
(/.f64 (*.f64 re 1/2) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)) 2))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 4))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 8))
(/.f64 8 (+.f64 (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))) (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re)))))
(/.f64 8 (+.f64 (/.f64 (*.f64 (exp.f64 im) 4) re) (/.f64 (*.f64 (exp.f64 im) 4) re)))
(/.f64 (*.f64 re 4) (*.f64 (exp.f64 im) 4))
(/.f64 (/.f64 4 (/.f64 (exp.f64 im) re)) 4)
(/.f64 (neg.f64 re) (neg.f64 (exp.f64 im)))
(/.f64 (/.f64 (exp.f64 im) re) (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)))
(/.f64 (*.f64 2 (/.f64 4 (/.f64 (exp.f64 im) re))) 8)
(/.f64 (*.f64 2 (neg.f64 re)) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 re 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))
(/.f64 (*.f64 2 (*.f64 re 4)) (*.f64 (exp.f64 im) 8))
(/.f64 (/.f64 re -2) (-.f64 0 (*.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (exp.f64 im) (*.f64 (/.f64 2 re) (/.f64 (exp.f64 im) re))))
(/.f64 -1/2 (-.f64 0 (*.f64 1/2 (/.f64 (exp.f64 im) re))))
(/.f64 (neg.f64 (+.f64 re re)) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (neg.f64 (+.f64 re re)) (neg.f64 (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re 4))) (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) 4))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re 4))) (+.f64 (*.f64 (exp.f64 im) 8) (*.f64 (exp.f64 im) 8)))
(/.f64 (*.f64 2 (*.f64 2 (/.f64 4 (/.f64 (exp.f64 im) re)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 re))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (neg.f64 (*.f64 2 (*.f64 re 4))) (-.f64 0 (*.f64 2 (*.f64 (exp.f64 im) 4))))
(/.f64 (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im)) 8)
(/.f64 (/.f64 re (neg.f64 (exp.f64 im))) -1)
(/.f64 (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))) (*.f64 4 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))))
(/.f64 (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))) (+.f64 (*.f64 (exp.f64 im) (*.f64 (/.f64 2 re) (/.f64 (exp.f64 im) re))) (*.f64 (exp.f64 im) (*.f64 (/.f64 2 re) (/.f64 (exp.f64 im) re)))))
(/.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (-.f64 0 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))))
(/.f64 (neg.f64 (*.f64 re 4)) (neg.f64 (*.f64 (exp.f64 im) 4)))
(/.f64 (neg.f64 (neg.f64 (+.f64 re re))) (*.f64 2 (exp.f64 im)))
(/.f64 (neg.f64 (neg.f64 (+.f64 re re))) (-.f64 0 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (neg.f64 (neg.f64 (+.f64 re re))) (-.f64 0 (neg.f64 (*.f64 2 (exp.f64 im)))))
(/.f64 (+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re)))) (*.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re)))))
(/.f64 (+.f64 (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 2 (/.f64 (exp.f64 im) re))) (*.f64 (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 2 (/.f64 (exp.f64 im) re))))
(/.f64 (+.f64 (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re)))) (*.f64 (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))) (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re)))) (+.f64 (*.f64 4 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))) (*.f64 4 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)))))
(/.f64 (+.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (neg.f64 (+.f64 re re)))) (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im)))) (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im))))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (/.f64 4 (/.f64 (exp.f64 im) re)))) (*.f64 2 (*.f64 2 (/.f64 4 (/.f64 (exp.f64 im) re))))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (neg.f64 re))) (*.f64 2 (*.f64 2 (neg.f64 re)))) (+.f64 (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im)) (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im))) 16)
(/.f64 (+.f64 (/.f64 re (neg.f64 (exp.f64 im))) (/.f64 re (neg.f64 (exp.f64 im)))) -2)
(/.f64 (+.f64 (neg.f64 (*.f64 re 4)) (neg.f64 (*.f64 re 4))) (+.f64 (neg.f64 (*.f64 (exp.f64 im) 4)) (neg.f64 (*.f64 (exp.f64 im) 4))))
(/.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 re re))) (neg.f64 (neg.f64 (+.f64 re re)))) (*.f64 (exp.f64 im) 4))
(/.f64 (neg.f64 (exp.f64 (neg.f64 im))) (-.f64 0 (/.f64 1 re)))
(/.f64 (neg.f64 (*.f64 2 (neg.f64 re))) (-.f64 0 (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (neg.f64 (neg.f64 (*.f64 re 4))) (*.f64 (exp.f64 im) 4))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 re re)))) (neg.f64 (*.f64 2 (exp.f64 im))))
(pow.f64 (/.f64 re (exp.f64 im)) 1)
(neg.f64 (/.f64 re (neg.f64 (exp.f64 im))))
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(*.f64 -2 (+.f64 (pow.f64 im 2) im))
(*.f64 -2 (+.f64 im (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -2 (pow.f64 im 2)) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (*.f64 -4/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (*.f64 -4/3 (pow.f64 im 3)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -2 (pow.f64 im 2)) (*.f64 -2/3 (pow.f64 im 4)))))
(+.f64 (*.f64 -2 (+.f64 (pow.f64 im 2) im)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2/3 (pow.f64 im 4))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 im (neg.f64 re))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 re) (*.f64 -2 re)) (pow.f64 im 2))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 2 re) (*.f64 -2 re)))))
(+.f64 (*.f64 im (neg.f64 re)) (*.f64 (pow.f64 im 2) (*.f64 (*.f64 re 0) 1/2)))
(+.f64 (*.f64 im (neg.f64 re)) (*.f64 (pow.f64 im 2) 0))
(+.f64 (*.f64 im (neg.f64 re)) 0)
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 re) (+.f64 (*.f64 -4/3 re) (*.f64 2 re))) (pow.f64 im 3))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 re) (*.f64 -2 re)) (pow.f64 im 2)))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 2 re) (*.f64 -2 re)))) (*.f64 (+.f64 (*.f64 -4/3 re) (+.f64 (*.f64 2 re) (neg.f64 re))) (*.f64 (pow.f64 im 3) 1/2))))
(+.f64 (*.f64 im (neg.f64 re)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 re 2/3) (neg.f64 re))) (*.f64 (pow.f64 im 2) (*.f64 re 0)))))
(+.f64 (*.f64 (pow.f64 im 2) 0) (+.f64 (*.f64 im (neg.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 (*.f64 re -1/3) 1/2))))
(+.f64 (+.f64 (*.f64 im (neg.f64 re)) 0) (*.f64 (pow.f64 im 3) (*.f64 (*.f64 re -1/3) 1/2)))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/3 re) (+.f64 (*.f64 -2/3 re) (*.f64 4/3 re)))) (pow.f64 im 4))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 re) (+.f64 (*.f64 -4/3 re) (*.f64 2 re))) (pow.f64 im 3))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 re) (*.f64 -2 re)) (pow.f64 im 2))))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 2 re) (*.f64 -2 re)))) (*.f64 (+.f64 (*.f64 -4/3 re) (+.f64 (*.f64 2 re) (neg.f64 re))) (*.f64 (pow.f64 im 3) 1/2))))
(+.f64 (*.f64 im (neg.f64 re)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 re 2/3) (neg.f64 re))) (*.f64 (pow.f64 im 2) (*.f64 re 0)))))
(+.f64 (*.f64 (pow.f64 im 2) 0) (+.f64 (*.f64 im (neg.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 (*.f64 re -1/3) 1/2))))
(+.f64 (+.f64 (*.f64 im (neg.f64 re)) 0) (*.f64 (pow.f64 im 3) (*.f64 (*.f64 re -1/3) 1/2)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (*.f64 -1 im)) re)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (*.f64 -1 im)) re)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (*.f64 -1 im)) re)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (exp.f64 (*.f64 -1 im)) re)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
re
(+.f64 (*.f64 -1 (*.f64 re im)) re)
(+.f64 re (*.f64 re (neg.f64 im)))
(+.f64 re (*.f64 im (neg.f64 re)))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 re (+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 1/2)) (*.f64 re (neg.f64 im))))
(+.f64 re (+.f64 (*.f64 im (neg.f64 re)) (*.f64 (pow.f64 im 2) (*.f64 re 1/2))))
(+.f64 re (*.f64 re (+.f64 (*.f64 (pow.f64 im 2) 1/2) (neg.f64 im))))
(+.f64 re (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 2) 1/2))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 re (+.f64 (*.f64 re (*.f64 (pow.f64 im 2) 1/2)) (*.f64 re (*.f64 (pow.f64 im 3) -1/6)))))
(+.f64 re (+.f64 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 re 1/2)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 re))) (*.f64 im (neg.f64 re))))
(+.f64 re (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) (*.f64 re (+.f64 (*.f64 (pow.f64 im 2) 1/2) (neg.f64 im)))))
(+.f64 re (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 2) 1/2)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 (exp.f64 (*.f64 -1 im)) re)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 -1 (neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -2)))
(+.f64 -1 (neg.f64 (+.f64 -2 (exp.f64 (+.f64 im im)))))
(-.f64 -1 (+.f64 -2 (exp.f64 (+.f64 im im))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -2)) -1)
(+.f64 -1 (neg.f64 (+.f64 -2 (exp.f64 (+.f64 im im)))))
(-.f64 -1 (+.f64 -2 (exp.f64 (+.f64 im im))))
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1/2 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 -1 (+.f64 (exp.f64 (+.f64 im im)) -1))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 1/2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 1/4)
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1/4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4) 4)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) 4)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)) -2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)) 8)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) -4)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) 16)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) 2)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4)))) 32)
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) (neg.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1)))) 4)
(-.f64 1 (exp.f64 (+.f64 im im)))
(pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(-.f64 1 (exp.f64 (+.f64 im im)))
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)
(*.f64 1/2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(+.f64 0 (*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(+.f64 (*.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/4) (*.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/4))
(*.f64 1/2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(-.f64 (*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)
(*.f64 1/2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 2 (/.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 2 (+.f64 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 (/.f64 (exp.f64 im) re) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (/.f64 (exp.f64 im) re)))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 4 (/.f64 (exp.f64 im) re)) 2))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 re 1/2)) 4))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 re (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 re (/.f64 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))) 2))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 re (/.f64 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) 4))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (/.f64 re (exp.f64 im)) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(*.f64 1/2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (exp.f64 im) re))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 (neg.f64 (/.f64 (exp.f64 im) re)) -1))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 4 (+.f64 (/.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (+.f64 re re) (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (+.f64 re re) (+.f64 (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 4 (/.f64 (exp.f64 im) re)))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 4 (*.f64 2 (/.f64 (exp.f64 im) re))) 2))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (/.f64 2 (/.f64 (exp.f64 im) re)) (/.f64 4 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (/.f64 2 (/.f64 (exp.f64 im) re)) (+.f64 (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (/.f64 2 (/.f64 (exp.f64 im) re)) (+.f64 (/.f64 -2 (+.f64 -1 (exp.f64 (+.f64 im im)))) (/.f64 -2 (+.f64 -1 (exp.f64 (+.f64 im im))))))
(/.f64 2 (*.f64 (/.f64 (exp.f64 im) re) (*.f64 2 (/.f64 -2 (+.f64 -1 (exp.f64 (+.f64 im im)))))))
(/.f64 (*.f64 re 1/2) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) 2))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))) 4))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(*.f64 1/2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (*.f64 re 4) (+.f64 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (+.f64 (*.f64 4 (/.f64 (exp.f64 im) re)) (*.f64 4 (/.f64 (exp.f64 im) re))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 4)
(*.f64 1/2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (/.f64 4 (/.f64 (exp.f64 im) re)) (/.f64 8 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (/.f64 4 (/.f64 (exp.f64 im) re)) (+.f64 (/.f64 4 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 4 (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) re) (*.f64 2 (exp.f64 im)))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (/.f64 1 re) (/.f64 1 re)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (exp.f64 im))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))
(*.f64 (*.f64 re 1/2) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) re)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))
(*.f64 (*.f64 re 1/2) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) re)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im))))
(/.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 re))
(*.f64 1/2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (neg.f64 re) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 2 (/.f64 4 (/.f64 (exp.f64 im) re))) (+.f64 (/.f64 8 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 8 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (/.f64 4 (/.f64 (exp.f64 im) re)) (/.f64 2 (+.f64 (/.f64 8 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 8 (-.f64 1 (exp.f64 (+.f64 im im)))))))
(*.f64 (/.f64 4 (/.f64 (exp.f64 im) re)) (/.f64 2 (*.f64 2 (/.f64 8 (-.f64 1 (exp.f64 (+.f64 im im)))))))
(/.f64 (*.f64 2 (neg.f64 re)) (+.f64 (/.f64 (neg.f64 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 8)
(*.f64 1/2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4) (*.f64 1/2 (/.f64 (exp.f64 im) re)))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) 16)
(*.f64 1/2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (neg.f64 (/.f64 (exp.f64 im) re)))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (neg.f64 (-.f64 1 (exp.f64 (+.f64 im im)))) (-.f64 0 (*.f64 2 (/.f64 (exp.f64 im) re))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) 32)
(*.f64 1/2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (+.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (neg.f64 (/.f64 (exp.f64 im) re))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4)) (-.f64 0 (*.f64 1/2 (/.f64 (exp.f64 im) re))))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2))) (neg.f64 (exp.f64 im)))
(/.f64 (neg.f64 (*.f64 re (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))))) (neg.f64 (exp.f64 im)))
(/.f64 (*.f64 (*.f64 re 1/2) (+.f64 -1 (exp.f64 (+.f64 im im)))) (neg.f64 (exp.f64 im)))
(/.f64 (neg.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (-.f64 0 (/.f64 1 re)))
(*.f64 1/2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))) (/.f64 (exp.f64 im) re))
(/.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (/.f64 (exp.f64 im) re) 1))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(pow.f64 (*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(*.f64 1/2 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(+.f64 (/.f64 re (*.f64 2 (exp.f64 im))) (/.f64 re (*.f64 2 (exp.f64 im))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(+.f64 0 (/.f64 re (exp.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(-.f64 (/.f64 re (exp.f64 im)) 0)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 1 (/.f64 (exp.f64 im) re))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (exp.f64 (neg.f64 im)) (/.f64 1 re))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) re))
(/.f64 re (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 2))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) re))
(/.f64 re (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 4))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) re))
(/.f64 re (/.f64 (/.f64 (*.f64 2 (*.f64 (exp.f64 (+.f64 im im)) 4)) (exp.f64 im)) 8))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) re))
(/.f64 (/.f64 re (exp.f64 im)) 1)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 1/2 (*.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (/.f64 re (*.f64 2 (exp.f64 im))) 1/2)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 -1 (neg.f64 (/.f64 (exp.f64 im) re)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (/.f64 2 (exp.f64 im)) (+.f64 (/.f64 1 re) (/.f64 1 re)))
(/.f64 (/.f64 (*.f64 re re) re) (exp.f64 im))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) re))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 4 (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 re re) (*.f64 2 (exp.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (/.f64 2 (/.f64 (exp.f64 im) re)) 2)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 -2 (+.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (neg.f64 (/.f64 (exp.f64 im) re))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 -2 (-.f64 0 (*.f64 2 (/.f64 (exp.f64 im) re))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 re 1/2) (*.f64 1/2 (exp.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 re 1/2) (/.f64 (exp.f64 (+.f64 im im)) (*.f64 2 (exp.f64 im))))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) re))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (exp.f64 (+.f64 im im)) (exp.f64 im)) 2))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) re))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (*.f64 2 (exp.f64 (+.f64 im im))) (exp.f64 im)) 4))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) re))
(/.f64 (*.f64 re 1/2) (/.f64 (/.f64 (*.f64 (exp.f64 (+.f64 im im)) 4) (exp.f64 im)) 8))
(/.f64 (exp.f64 im) (/.f64 (exp.f64 (+.f64 im im)) re))
(/.f64 8 (+.f64 (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))) (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 8 (+.f64 (/.f64 (*.f64 (exp.f64 im) 4) re) (/.f64 (*.f64 (exp.f64 im) 4) re)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 re 4) (*.f64 (exp.f64 im) 4))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (/.f64 4 (/.f64 (exp.f64 im) re)) 4)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 re) (neg.f64 (exp.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (/.f64 (exp.f64 im) re) (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (/.f64 4 (/.f64 (exp.f64 im) re))) 8)
(*.f64 (/.f64 4 (/.f64 (exp.f64 im) re)) 1/4)
(*.f64 1/4 (/.f64 4 (/.f64 (exp.f64 im) re)))
(/.f64 (*.f64 2 (neg.f64 re)) (*.f64 2 (neg.f64 (exp.f64 im))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 re 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 re 4)) (*.f64 (exp.f64 im) 8))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (/.f64 re -2) (-.f64 0 (*.f64 1/2 (exp.f64 im))))
(/.f64 re (*.f64 -2 (neg.f64 (*.f64 1/2 (exp.f64 im)))))
(/.f64 (/.f64 re -2) (neg.f64 (*.f64 1/2 (exp.f64 im))))
(/.f64 (/.f64 (*.f64 re -4) (exp.f64 im)) -4)
(/.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (exp.f64 im) (*.f64 (/.f64 2 re) (/.f64 (exp.f64 im) re))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 -1/2 (-.f64 0 (*.f64 1/2 (/.f64 (exp.f64 im) re))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (+.f64 re re)) (*.f64 2 (neg.f64 (exp.f64 im))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (+.f64 re re)) (neg.f64 (*.f64 2 (exp.f64 im))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re 4))) (*.f64 2 (*.f64 2 (*.f64 (exp.f64 im) 4))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re 4))) (+.f64 (*.f64 (exp.f64 im) 8) (*.f64 (exp.f64 im) 8)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (/.f64 4 (/.f64 (exp.f64 im) re)))) 16)
(*.f64 (/.f64 4 (/.f64 (exp.f64 im) re)) 1/4)
(*.f64 1/4 (/.f64 4 (/.f64 (exp.f64 im) re)))
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 re))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (*.f64 2 (*.f64 re 4))) (-.f64 0 (*.f64 2 (*.f64 (exp.f64 im) 4))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im)) 8)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (/.f64 re (neg.f64 (exp.f64 im))) -1)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))) (*.f64 4 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))) (+.f64 (*.f64 (exp.f64 im) (*.f64 (/.f64 2 re) (/.f64 (exp.f64 im) re))) (*.f64 (exp.f64 im) (*.f64 (/.f64 2 re) (/.f64 (exp.f64 im) re)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (/.f64 (exp.f64 im) re)) (-.f64 0 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (*.f64 re 4)) (neg.f64 (*.f64 (exp.f64 im) 4)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (+.f64 re re))) (*.f64 2 (exp.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (+.f64 re re))) (-.f64 0 (*.f64 2 (neg.f64 (exp.f64 im)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (+.f64 re re))) (-.f64 0 (neg.f64 (*.f64 2 (exp.f64 im)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re)))) (*.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 2 (/.f64 (exp.f64 im) re))) (*.f64 (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 2 (/.f64 (exp.f64 im) re))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re)))) (*.f64 (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 4 (*.f64 1/2 (/.f64 (exp.f64 im) re)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re))) (*.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re)))) (+.f64 (*.f64 4 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))) (*.f64 4 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (neg.f64 (+.f64 re re))) (*.f64 2 (neg.f64 (+.f64 re re)))) (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im)))) (*.f64 2 (neg.f64 (*.f64 2 (exp.f64 im))))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (/.f64 4 (/.f64 (exp.f64 im) re)))) (*.f64 2 (*.f64 2 (/.f64 4 (/.f64 (exp.f64 im) re))))) 32)
(*.f64 (/.f64 4 (/.f64 (exp.f64 im) re)) 1/4)
(*.f64 1/4 (/.f64 4 (/.f64 (exp.f64 im) re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (neg.f64 re))) (*.f64 2 (*.f64 2 (neg.f64 re)))) (+.f64 (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im)))) (*.f64 2 (*.f64 2 (neg.f64 (exp.f64 im))))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im)) (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im))) 16)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (/.f64 re (neg.f64 (exp.f64 im))) (/.f64 re (neg.f64 (exp.f64 im)))) -2)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (neg.f64 (*.f64 re 4)) (neg.f64 (*.f64 re 4))) (+.f64 (neg.f64 (*.f64 (exp.f64 im) 4)) (neg.f64 (*.f64 (exp.f64 im) 4))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 re re))) (neg.f64 (neg.f64 (+.f64 re re)))) (*.f64 (exp.f64 im) 4))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (exp.f64 (neg.f64 im))) (-.f64 0 (/.f64 1 re)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (*.f64 2 (neg.f64 re))) (-.f64 0 (*.f64 2 (neg.f64 (exp.f64 im)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (*.f64 re 4))) (*.f64 (exp.f64 im) 4))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 re re)))) (neg.f64 (*.f64 2 (exp.f64 im))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(pow.f64 (/.f64 re (exp.f64 im)) 1)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(neg.f64 (/.f64 re (neg.f64 (exp.f64 im))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))

eval230.0ms (1.1%)

Compiler

Compiled 9056 to 5789 computations (36.1% saved)

prune185.0ms (0.9%)

Pruning

15 alts after pruning (8 fresh and 7 done)

PrunedKeptTotal
New5276533
Fresh022
Picked101
Done4711
Total53215547
Error
0.1b
Counts
547 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
44.9b
(/.f64 (/.f64 re (exp.f64 im)) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))
44.9b
(/.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 re))
43.8b
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re)))))
45.6b
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
46.7b
(+.f64 (-.f64 1 (*.f64 re im)) -1)
33.0b
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))))
1.0b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
43.8b
(*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (sin.f64 re) (exp.f64 im)))
43.9b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.3b
(*.f64 (sin.f64 re) (neg.f64 im))
33.5b
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
33.1b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
33.0b
(*.f64 re (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
33.2b
(*.f64 re (neg.f64 im))
44.9b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 192 to 145 computations (24.5% saved)

regimes73.0ms (0.3%)

Counts
26 → 1
Calls
Call 1
Inputs
(*.f64 re (neg.f64 im))
(+.f64 (-.f64 1 (*.f64 re im)) -1)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (*.f64 -2 im))))
(*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(/.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 re))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (/.f64 re (exp.f64 im)) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) re) 1/2))
(*.f64 re (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re))
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1)))
(*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (sin.f64 re) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
Calls

6 calls:

17.0ms
(*.f64 1/2 (sin.f64 re))
14.0ms
(sin.f64 re)
14.0ms
re
13.0ms
im
4.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
0.9b1re
0.9b1im
0.9b1(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.9b1(*.f64 1/2 (sin.f64 re))
0.9b1(sin.f64 re)
0.9b1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 349 to 213 computations (39% saved)

regimes66.0ms (0.3%)

Counts
25 → 1
Calls
Call 1
Inputs
(*.f64 re (neg.f64 im))
(+.f64 (-.f64 1 (*.f64 re im)) -1)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (*.f64 -2 im))))
(*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(/.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 re))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (/.f64 re (exp.f64 im)) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) re) 1/2))
(*.f64 re (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re))
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1)))
(*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (sin.f64 re) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re)))))
Outputs
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
Calls

6 calls:

14.0ms
(*.f64 1/2 (sin.f64 re))
13.0ms
im
12.0ms
re
12.0ms
(sin.f64 re)
4.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
0.9b1re
0.9b1im
0.9b1(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.9b1(*.f64 1/2 (sin.f64 re))
0.9b1(sin.f64 re)
0.9b1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 329 to 198 computations (39.8% saved)

regimes60.0ms (0.3%)

Counts
23 → 1
Calls
Call 1
Inputs
(*.f64 re (neg.f64 im))
(+.f64 (-.f64 1 (*.f64 re im)) -1)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (*.f64 -2 im))))
(*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(/.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 re))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (/.f64 re (exp.f64 im)) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) re) 1/2))
(*.f64 re (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (*.f64 1/2 re))
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) 1)))
(*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (sin.f64 re) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
Outputs
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
Calls

6 calls:

12.0ms
re
12.0ms
(*.f64 1/2 (sin.f64 re))
11.0ms
im
11.0ms
(sin.f64 re)
4.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Results
ErrorSegmentsBranch
1.0b1re
1.0b1im
1.0b1(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0b1(*.f64 1/2 (sin.f64 re))
1.0b1(sin.f64 re)
1.0b1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 294 to 177 computations (39.8% saved)

regimes28.0ms (0.1%)

Counts
10 → 1
Calls
Call 1
Inputs
(*.f64 re (neg.f64 im))
(+.f64 (-.f64 1 (*.f64 re im)) -1)
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (exp.f64 im) (*.f64 re (neg.f64 im)))
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 re (*.f64 -2 im))))
(*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Outputs
(*.f64 (sin.f64 re) (neg.f64 im))
Calls

4 calls:

9.0ms
re
9.0ms
(sin.f64 re)
6.0ms
im
2.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Results
ErrorSegmentsBranch
1.3b1re
1.3b1im
1.3b1(sin.f64 re)
1.3b1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 95 to 58 computations (38.9% saved)

regimes7.0ms (0%)

Accuracy

Total -13.8b remaining (-41.5%)

Threshold costs -13.8b (-41.5%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 re (neg.f64 im))
(+.f64 (-.f64 1 (*.f64 re im)) -1)
Outputs
(*.f64 re (neg.f64 im))
Calls

2 calls:

3.0ms
im
3.0ms
re
Results
ErrorSegmentsBranch
33.2b1re
33.2b1im
Compiler

Compiled 19 to 13 computations (31.6% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034165
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 re (neg.f64 im))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 re (neg.f64 im))
Compiler

Compiled 66 to 51 computations (22.7% saved)

soundness0.0ms (0%)

end42.0ms (0.2%)

Compiler

Compiled 58 to 38 computations (34.5% saved)

Profiling

Loading profile data...