Details

Time bar (total: 20.0s)

analyze149.0ms (0.7%)

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)

sample9.5s (47.5%)

Results
4.0s4160×body1024valid
2.3s2156×body1024infinite
2.0s2167×body512valid
373.0ms1687×body256valid
345.0ms1039×body512infinite
289.0ms1610×body256infinite
174.0ms242×body2048valid
Bogosity

preprocess80.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)

simplify102.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.2b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
43.2b
(*.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.3b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 35 to 13 computations (62.9% saved)

series5.0ms (0%)

Counts
2 → 32
Calls

9 calls:

TimeVariablePointExpression
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)))
1.0ms
im
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite70.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1334×bool.json-1
1334×bool.json-2
1290×rational.json-1
1290×rational.json-2
1290×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01354
113354
237154
383354
4180454
5436254
Stop Event
node limit
Counts
2 → 40
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 1 (-.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 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) -1)))) (#(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 (-.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 (-.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 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 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 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 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 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 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)))) (#(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 neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.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 or (-.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 (-.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 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 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 not (not (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.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))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.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))))))))

simplify117.0ms (0.6%)

Algorithm
egg-herbie
Rules
1296×rational.json-simplify-46
1088×rational.json-simplify-35
814×rational.json-simplify-1
806×rational.json-simplify-48
700×rational.json-simplify-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01452296
13142296
27652156
313992122
430252122
539042122
662092122
Stop Event
node limit
Counts
72 → 93
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 1 (-.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 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) -1)
(+.f64 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))) -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 (-.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 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 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 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 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)
(/.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) -2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)
(/.f64 (neg.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2)
(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 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2)))) 16)
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 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/2520 (pow.f64 im 7)))))
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/2520 (pow.f64 im 7)))))
(-.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/12 (pow.f64 re 3)) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (+.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 (*.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 -1/12 (pow.f64 re 3))) (+.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/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/10080 (pow.f64 re 7)) (*.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/12 (pow.f64 re 3)) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 1/240 (pow.f64 re 5))))))
(+.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/240 (pow.f64 re 5)) (*.f64 1/2 re)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (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 -1/6 (sin.f64 re))))
(*.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 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re))) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (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 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/5040))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))) (+.f64 (+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re)))) (*.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 im (neg.f64 (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120)))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) (*.f64 (pow.f64 im 7) (*.f64 (sin.f64 re) -1/5040)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.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 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.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 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.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 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im))))
(*.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 (exp.f64 (neg.f64 im)) (neg.f64 (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 0 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.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 (exp.f64 (neg.f64 im)) (-.f64 1 (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 (neg.f64 (exp.f64 im)) (exp.f64 (neg.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (+.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) -1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (+.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 im))) -1)
(-.f64 (exp.f64 (neg.f64 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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 -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 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.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 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 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 (exp.f64 im) (exp.f64 (neg.f64 im)))) -2)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)
(-.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))
(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 (-.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 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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (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 (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 (-.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(/.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(/.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(/.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(/.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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(/.f64 (*.f64 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 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))

eval23.0ms (0.1%)

Compiler

Compiled 1753 to 870 computations (50.4% saved)

prune51.0ms (0.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New86793
Fresh000
Picked011
Done000
Total86894
Error
0.1b
Counts
94 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(+.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))))
43.2b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.4b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.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)))))
43.3b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
0.4b
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
0.6b
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
1.2b
(*.f64 (sin.f64 re) (neg.f64 im))
44.7b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 249 to 192 computations (22.9% saved)

localize103.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 -1/60 (pow.f64 im 5))
0.1b
(*.f64 -1/2520 (pow.f64 im 7))
0.1b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.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)))))
0.1b
(*.f64 -1/3 (pow.f64 im 3))
Compiler

Compiled 120 to 93 computations (22.5% saved)

series13.0ms (0.1%)

Counts
4 → 24
Calls

15 calls:

TimeVariablePointExpression
4.0ms
im
@-inf
(*.f64 -1/60 (pow.f64 im 5))
2.0ms
re
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.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)))))
2.0ms
re
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.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)))))
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.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)))))
1.0ms
re
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.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)))))

rewrite89.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1646×bool.json-1
1646×bool.json-2
1570×rational.json-1
1570×rational.json-2
1570×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026116
1254116
2590116
31193116
42721116
56026116
Stop Event
node limit
Counts
4 → 32
Calls
Call 1
Inputs
(*.f64 -1/3 (pow.f64 im 3))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.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 -1/2520 (pow.f64 im 7))
(*.f64 -1/60 (pow.f64 im 5))
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 -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 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)) (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/3 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/3 (pow.f64 im 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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/2520 (pow.f64 im 7)) (+.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 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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/2520 (pow.f64 im 7)) (+.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/2520 (pow.f64 im 7)) (+.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 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 2))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 2))) (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 2)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 and (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 or (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 -1/2520 (pow.f64 im 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/2520 (pow.f64 im 7)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2520 (pow.f64 im 7)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/1260) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/630) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)) (*.f64 2 (*.f64 (pow.f64 im 7) -1/630))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/2520 (pow.f64 im 7))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/2520 (pow.f64 im 7)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/2520 (pow.f64 im 7)) (*.f64 -1/2520 (pow.f64 im 7)))))))
((#(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 -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 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)) (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/60 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/60 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/60 (pow.f64 im 5)))))))

simplify250.0ms (1.3%)

Algorithm
egg-herbie
Rules
2270×rational.json-simplify-2
2004×rational.json-simplify-35
1492×rational.json-simplify-48
1208×rational.json-simplify-1
770×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01353084
13243072
26142952
312352658
428452658
539482658
645172658
750592658
856622658
969532658
1075222658
Stop Event
node limit
Counts
56 → 89
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 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 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))
(+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 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 -1/12 (*.f64 (pow.f64 re 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 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))))
(+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 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 -1/12 (*.f64 (pow.f64 re 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/10080 (*.f64 (pow.f64 re 7) (+.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 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.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 1/2 (*.f64 (sin.f64 re) (+.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 1/2 (*.f64 (sin.f64 re) (+.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 1/2 (*.f64 (sin.f64 re) (+.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 1/2 (*.f64 (sin.f64 re) (+.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 1/2 (*.f64 (sin.f64 re) (+.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 1/2 (*.f64 (sin.f64 re) (+.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 1/2 (*.f64 (sin.f64 re) (+.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 -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/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (+.f64 (*.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 (*.f64 (sin.f64 re) im)))))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (+.f64 (*.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 (*.f64 (sin.f64 re) im)))))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 -1/3 (pow.f64 im 3)))
(-.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 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)) (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))) 16)
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))))
(-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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/2520 (pow.f64 im 7)) (+.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/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 2)
(/.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 2)) 4)
(/.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 2))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 2))) (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 2)))) 16)
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)
(+.f64 0 (*.f64 -1/2520 (pow.f64 im 7)))
(-.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)
(/.f64 (*.f64 -1/2520 (pow.f64 im 7)) 1)
(/.f64 (*.f64 (pow.f64 im 7) -1/1260) 2)
(/.f64 (*.f64 (pow.f64 im 7) -1/630) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)) (*.f64 2 (*.f64 (pow.f64 im 7) -1/630))) 16)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)
(+.f64 0 (*.f64 -1/60 (pow.f64 im 5)))
(-.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 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)) (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))) 16)
Outputs
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 re))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 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 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))
(+.f64 (*.f64 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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/240 (*.f64 (pow.f64 re 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 -1/12 (*.f64 (pow.f64 re 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 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (*.f64 1/240 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (pow.f64 re 5)))))
(+.f64 (*.f64 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/240 (pow.f64 re 5))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))))
(+.f64 (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/240 (pow.f64 re 5))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 re)) (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 re)) (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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 1/240 (*.f64 (pow.f64 re 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 -1/12 (*.f64 (pow.f64 re 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/10080 (*.f64 (pow.f64 re 7) (+.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 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (+.f64 (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (*.f64 -1/10080 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (pow.f64 re 7)))) (*.f64 1/240 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (pow.f64 re 5)))))
(+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/240 (pow.f64 re 5))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 (pow.f64 re 7) -1/10080)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))))))
(+.f64 (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))))) (+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 -1/10080 (pow.f64 re 7))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.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 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.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/2 re))) (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.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 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im -1))
(*.f64 (sin.f64 re) (neg.f64 im))
(+.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 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.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) (*.f64 im -1)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re)))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.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 3) -1/6) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))))
(+.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 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (+.f64 (*.f64 (sin.f64 re) (*.f64 im -1)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/5040))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))) (+.f64 (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re)))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/5040))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/5040)))
(+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/5040))))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re)))))
(+.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 (pow.f64 im 5) -1/120))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (+.f64 (*.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 (*.f64 (sin.f64 re) im)))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (+.f64 (*.f64 (sin.f64 re) (*.f64 im -1)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/5040))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))) (+.f64 (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re)))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/5040))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/5040)))
(+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120)) (+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/5040))))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re)))))
(+.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 (pow.f64 im 5) -1/120))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (+.f64 (*.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 (*.f64 (sin.f64 re) im)))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (+.f64 (*.f64 (sin.f64 re) (*.f64 im -1)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/5040))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))) (+.f64 (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re)))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))))
(+.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 -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 (*.f64 2 (*.f64 (pow.f64 im 3) -4/3)) (*.f64 2 (*.f64 (pow.f64 im 3) -4/3))) 16)
(*.f64 -1/3 (pow.f64 im 3))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 0)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(+.f64 0 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 0)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 1)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5)))))) 2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 2)) 4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 2))) 8)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 2))) (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 im -2) (*.f64 -1/60 (pow.f64 im 5))))) 2)))) 16)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)
(*.f64 -1/2520 (pow.f64 im 7))
(+.f64 0 (*.f64 -1/2520 (pow.f64 im 7)))
(*.f64 -1/2520 (pow.f64 im 7))
(-.f64 (*.f64 -1/2520 (pow.f64 im 7)) 0)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (*.f64 -1/2520 (pow.f64 im 7)) 1)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/1260) 2)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/630) 4)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)) 8)
(*.f64 -1/2520 (pow.f64 im 7))
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/630)) (*.f64 2 (*.f64 (pow.f64 im 7) -1/630))) 16)
(*.f64 -1/2520 (pow.f64 im 7))
(+.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 -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 (*.f64 2 (*.f64 (pow.f64 im 5) -1/15)) (*.f64 2 (*.f64 (pow.f64 im 5) -1/15))) 16)
(*.f64 -1/60 (pow.f64 im 5))

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)

series4.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
2.0ms
im
@inf
(*.f64 (sin.f64 re) (neg.f64 im))
1.0ms
im
@0
(*.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))

rewrite216.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1700×bool.json-1
1700×bool.json-2
1646×rational.json-1
1138×bool.json-3
842×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
18615
226615
358915
4128615
5296115
6647415
Stop Event
node limit
Counts
1 → 14
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 -2)) (*.f64 (sin.f64 re) (/.f64 im -2)))))) (#(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 (*.f64 (sin.f64 re) (neg.f64 im)) 8) 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 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sin.f64 re) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (neg.f64 im)))))))

simplify857.0ms (4.3%)

Algorithm
egg-herbie
Rules
2350×rational.json-simplify-2
1828×rational.json-simplify-35
1728×rational.json-simplify-1
856×rational.json-simplify-53
738×rational.json-simplify-43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
066698
1152698
2330698
3733674
42499674
53490674
64298674
74869674
85887674
96195674
107260674
117503674
Stop Event
node limit
Counts
38 → 33
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 -2)) (*.f64 (sin.f64 re) (/.f64 im -2)))
(-.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 (*.f64 (sin.f64 re) (neg.f64 im)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8))) 32)
(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 (pow.f64 re 3) (*.f64 im 1/6)))
(*.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 re (neg.f64 im)) (+.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) (*.f64 (pow.f64 re 5) (*.f64 im -1/120))))
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) (*.f64 im (+.f64 (*.f64 -1/120 (pow.f64 re 5)) (neg.f64 re))))
(+.f64 (*.f64 1/6 (*.f64 im (pow.f64 re 3))) (*.f64 im (+.f64 (*.f64 -1/120 (pow.f64 re 5)) (neg.f64 re))))
(+.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 1/6 (*.f64 im (pow.f64 re 3))) (*.f64 1/5040 (*.f64 im (pow.f64 re 7)))) (*.f64 -1/120 (*.f64 im (pow.f64 re 5)))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 (pow.f64 re 5) (*.f64 im -1/120)) (+.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) (*.f64 (pow.f64 re 7) (*.f64 im 1/5040)))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) (+.f64 (*.f64 (pow.f64 re 7) (*.f64 im 1/5040)) (*.f64 (pow.f64 re 5) (*.f64 im -1/120)))))
(+.f64 (*.f64 im (+.f64 (*.f64 1/5040 (pow.f64 re 7)) (*.f64 1/6 (pow.f64 re 3)))) (*.f64 im (+.f64 (*.f64 -1/120 (pow.f64 re 5)) (neg.f64 re))))
(+.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 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 0)
(*.f64 (sin.f64 re) (neg.f64 im))
(+.f64 0 (*.f64 (sin.f64 re) (neg.f64 im)))
(*.f64 (sin.f64 re) (neg.f64 im))
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (neg.f64 im))
(+.f64 (*.f64 (sin.f64 re) (/.f64 im -2)) (*.f64 (sin.f64 re) (/.f64 im -2)))
(*.f64 (sin.f64 re) (neg.f64 im))
(-.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 0)
(*.f64 (sin.f64 re) (neg.f64 im))
(-.f64 0 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(/.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)
(*.f64 (sin.f64 re) (neg.f64 im))
(/.f64 (*.f64 (sin.f64 re) (*.f64 im -2)) 2)
(*.f64 (sin.f64 re) (neg.f64 im))
(/.f64 (*.f64 (sin.f64 re) (*.f64 im -4)) 4)
(*.f64 (sin.f64 re) (neg.f64 im))
(/.f64 (*.f64 (sin.f64 re) im) -1)
(*.f64 (sin.f64 re) (neg.f64 im))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8) 8)
(*.f64 (sin.f64 re) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8)) 16)
(*.f64 (sin.f64 re) (neg.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 8))) 32)
(*.f64 (sin.f64 re) (neg.f64 im))
(neg.f64 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 36 to 10 computations (72.2% saved)

series2.0ms (0%)

Counts
1 → 8
Calls

6 calls:

TimeVariablePointExpression
0.0ms
im
@0
(*.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)
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)

rewrite96.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1078×rational.json-simplify-35
1018×bool.json-1
1018×bool.json-2
980×rational.json-1
980×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
110125
228225
363125
4136925
5327025
6772025
Stop Event
node limit
Counts
1 → 10
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 2)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 re 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 (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8)) (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))))))

simplify1.3s (6.5%)

Algorithm
egg-herbie
Rules
7436×rational.json-simplify-41
5234×rational.json-simplify-35
1922×rational.json-simplify-2
796×rational.json-simplify-1
630×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
064546
1134546
2263522
3528516
41627516
52958516
63547516
73802516
84000516
94168516
104320516
114699516
124723516
134774516
144826516
154888516
164924516
175072516
185220516
195368516
205516516
215664516
225812516
235960516
246108516
256108516
266256516
276404516
286552516
296700516
306848516
Stop Event
node limit
Counts
18 → 29
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 2)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 re 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 (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8)) (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8))) 32)
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/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(*.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 -1/2520 re)) (*.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 -1/3 (*.f64 re (pow.f64 im 3))) (*.f64 re (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -2 im)))))
(+.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 re (*.f64 -1/3 (pow.f64 im 3))) (*.f64 re (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (*.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 2)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 re 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 (*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 8)) (*.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)))

localize94.0ms (0.5%)

Local error

Found 3 expressions with local error:

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

Compiled 37 to 23 computations (37.8% saved)

series3.0ms (0%)

Counts
3 → 48
Calls

12 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)

rewrite97.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1934×bool.json-1
1934×bool.json-2
1068×rational.json-1
1068×rational.json-2
1068×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01369
113369
235469
373069
4158769
5366369
6739469
Stop Event
node limit
Counts
3 → 38
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)))
(+.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 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 3) -1/6))))))
((#(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 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 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 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))))

simplify327.0ms (1.6%)

Algorithm
egg-herbie
Rules
2268×rational.json-simplify-2
1720×rational.json-simplify-35
1680×rational.json-simplify-1
782×rational.json-simplify-43
722×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01172134
12532026
26351954
317031906
434721906
541031906
643291906
746351906
852571906
956271906
1064511906
1167521906
1269781906
1377541906
Stop Event
node limit
Counts
86 → 71
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 -1 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 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 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) 32)
(+.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 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 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 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 2)) 2)
(/.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))))) 32)
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 0)
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)
(/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)))) 32)
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 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 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.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 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(*.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 -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 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 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.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 -1/5040 (pow.f64 re 7)))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.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 1/120 (pow.f64 re 5)))))
(+.f64 (*.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 -1/5040 (pow.f64 re 7))))
(*.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 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (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 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (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 im)
(neg.f64 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.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 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) 32)
(*.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 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 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 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 2)) 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 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 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 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))) 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 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)))) 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 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))))) 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 (pow.f64 im 3) -1/6) (neg.f64 im)) 0)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 1/2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 1/4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) 2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)) 8)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))) 16)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4)))) 32)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.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 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
6.3b
(-.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
im
@-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
re
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))

rewrite106.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
854×bool.json-1
854×bool.json-2
830×rational.json-simplify-35
822×rational.json-1
822×rational.json-2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01695
117087
248187
3112087
4260571
5729671
Stop Event
node limit
Counts
3 → 117
Calls
Call 1
Inputs
(-.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)))))
(*.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 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 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 (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 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.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))) (*.f64 1/2 (sin.f64 re))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 4 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 4 (*.f64 (sin.f64 re) (-.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) (/.f64 2 (*.f64 1/2 (sin.f64 re))))))) (#(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 1 (exp.f64 (+.f64 im im))) 2) (/.f64 (exp.f64 im) (/.f64 (sin.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (/.f64 4 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 4 (*.f64 (sin.f64 re) (-.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 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re)))))))) (#(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 (*.f64 1/2 (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 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 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 (*.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 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 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 (-.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 (neg.f64 (*.f64 1/2 (sin.f64 re))) (neg.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (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))))) (neg.f64 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.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)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.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)))))))))
((#(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 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.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))) (neg.f64 (neg.f64 (exp.f64 im))))))) (#(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 (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 (neg.f64 (/.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 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 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 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (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 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 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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)))) (#(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 (-.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 (*.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 (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 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 (+.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)) (neg.f64 (*.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 neg.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.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 or (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))

simplify155.0ms (0.8%)

Algorithm
egg-herbie
Rules
1314×rational.json-simplify-53
1160×rational.json-simplify-2
1048×rational.json-simplify-41
920×rational.json-simplify-55
752×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03265529
19465397
232595217
352185113
Stop Event
node limit
Counts
165 → 194
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 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 -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 (-.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 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) 2)
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)
(+.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)
(/.f64 1 (/.f64 2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 1 (*.f64 (/.f64 2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.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 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 1/2 (sin.f64 re))))
(/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))) (exp.f64 im))
(/.f64 2 (/.f64 4 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 2 (+.f64 (/.f64 2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 2 (*.f64 (/.f64 4 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 2 (*.f64 1/2 (sin.f64 re))))
(/.f64 (*.f64 (sin.f64 re) 2) (*.f64 4 (/.f64 1 (-.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 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(/.f64 4 (+.f64 (/.f64 4 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 4 (*.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 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re)) (*.f64 (exp.f64 im) 2))
(/.f64 (/.f64 (*.f64 1/2 (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 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2))) 8)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) 2)) (*.f64 (exp.f64 im) 4))
(/.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 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 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 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re)))) (neg.f64 (exp.f64 im)))
(/.f64 (neg.f64 (*.f64 1/2 (sin.f64 re))) (neg.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (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))))) (neg.f64 (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 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 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 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))) (neg.f64 (neg.f64 (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)) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(/.f64 -1 (neg.f64 (/.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 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 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 1 (exp.f64 (+.f64 im im))) 4) (*.f64 (exp.f64 im) 4))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 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 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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)
(/.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 (-.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 (*.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 (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 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 (+.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)) (neg.f64 (*.f64 (exp.f64 im) 4)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))) (*.f64 (exp.f64 im) 2))
(neg.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)))
(neg.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (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 (*.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 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 re (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (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 re (exp.f64 (neg.f64 im))) 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 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))) (*.f64 -1/12 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (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 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 (-.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 re (exp.f64 (neg.f64 im))) 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 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 re (exp.f64 (neg.f64 im))))) (+.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 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (pow.f64 re 3))))))
(+.f64 (*.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 (*.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 re (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im))))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 -1/12 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 5))))))
(+.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 re (exp.f64 (neg.f64 im))) 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 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (pow.f64 re 3)))) (+.f64 (+.f64 (*.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/10080 (*.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/10080 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 7))) (*.f64 1/2 (*.f64 re (exp.f64 (neg.f64 im)))))) (*.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 (-.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 re (exp.f64 (neg.f64 im)))))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 5))) (*.f64 -1/10080 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 7))))))
(*.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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.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 (+.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 (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 (sin.f64 re) (neg.f64 im)) (+.f64 (*.f64 (+.f64 (*.f64 (sin.f64 re) -1) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -4/3 (sin.f64 re)))) (*.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 (sin.f64 re) 2/3))))))
(+.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 (*.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 (+.f64 (*.f64 -2 (sin.f64 re)) (*.f64 2 (sin.f64 re))) (*.f64 (pow.f64 im 2) 1/2)) (+.f64 (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (+.f64 (*.f64 (sin.f64 re) -1) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -4/3 (sin.f64 re)))) (*.f64 (pow.f64 im 3) 1/2))) (*.f64 (+.f64 (*.f64 (sin.f64 re) -1) (+.f64 (*.f64 (sin.f64 re) 1/3) (+.f64 (*.f64 (sin.f64 re) 4/3) (*.f64 -2/3 (sin.f64 re))))) (*.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 (neg.f64 (sin.f64 re)) (+.f64 (*.f64 (sin.f64 re) 1/3) (*.f64 (sin.f64 re) 2/3)))))))
(+.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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.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 (-.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 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.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 (-.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 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.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 (-.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 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.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 (-.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 2))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 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 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -2 im) (*.f64 (pow.f64 im 3) -1/3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 (pow.f64 im 3) -1/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 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -2 im) (*.f64 (pow.f64 im 3) -1/3))) (*.f64 -1/2520 (pow.f64 im 7)))
(+.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 -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 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/2520 (pow.f64 im 7))) (*.f64 -2 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 (-.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 (-.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 (neg.f64 (*.f64 2 (+.f64 (exp.f64 (+.f64 im im)) -1))) 2)
(-.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 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)
(*.f64 1/2 (*.f64 (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 0 (*.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 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)
(*.f64 1/2 (*.f64 (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 (/.f64 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 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 1 (*.f64 (/.f64 2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1))
(*.f64 1/2 (*.f64 (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 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 (sin.f64 re) -1/2)))
(/.f64 (sin.f64 re) (*.f64 2 (/.f64 1 (-.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 (sin.f64 re) (*.f64 1/2 (-.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 1/2 (*.f64 (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 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (-.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 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (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 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(*.f64 1/2 (*.f64 (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 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))) (exp.f64 im))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 (sin.f64 re) -1/2)))
(/.f64 2 (/.f64 4 (*.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 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 2 (+.f64 (/.f64 2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 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 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 2 (*.f64 (/.f64 4 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1))
(*.f64 1/2 (*.f64 (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 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 2 (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (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 (*.f64 (sin.f64 re) 2) (*.f64 4 (/.f64 1 (-.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 (sin.f64 re) (*.f64 1/2 (-.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 -2 (+.f64 -1 (exp.f64 (+.f64 im im)))) (/.f64 4 (/.f64 (sin.f64 re) (exp.f64 im))))
(/.f64 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(*.f64 1/2 (*.f64 (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 4 (+.f64 (/.f64 4 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 4 (*.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 (sin.f64 re) (*.f64 1/2 (-.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 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 (sin.f64 re) -1/2)))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re)) (*.f64 (exp.f64 im) 2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 (sin.f64 re) -1/2)))
(/.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im)) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 (sin.f64 re) -1/2)))
(/.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 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 (sin.f64 re) -1/2)))
(/.f64 (*.f64 (sin.f64 re) 4) (*.f64 8 (/.f64 1 (-.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 (sin.f64 re) (*.f64 1/2 (-.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 1/2 (*.f64 (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 (*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 2))) 8)
(*.f64 1/2 (*.f64 (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 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) 2)) (*.f64 (exp.f64 im) 4))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 (sin.f64 re) -1/2)))
(/.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2) (/.f64 4 (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (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 (/.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))
(*.f64 1/2 (*.f64 (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 (/.f64 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 4) 1/2)
(*.f64 1/2 (*.f64 (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 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re)) 4) (/.f64 (exp.f64 im) 2))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 (sin.f64 re) -1/2)))
(/.f64 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re)) 4) (/.f64 1 (/.f64 2 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 (sin.f64 re) -1/2)))
(/.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 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 (sin.f64 re) -1/2)))
(/.f64 (neg.f64 (*.f64 1/2 (sin.f64 re))) (neg.f64 (/.f64 1 (-.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 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (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 1/2 (*.f64 (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 (+.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 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 (sin.f64 re) -1/2)))
(/.f64 (/.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 8)
(*.f64 1/2 (*.f64 (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 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) 2)) (exp.f64 im)) 4)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 (sin.f64 re) -1/2)))
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (sin.f64 re))) (neg.f64 (*.f64 (exp.f64 im) 2)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 (sin.f64 re) -1/2)))
(/.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 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 (sin.f64 re) -1/2)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))) (neg.f64 (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 1/2 (/.f64 (sin.f64 re) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) (*.f64 (sin.f64 re) -1/2)))
(+.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 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/2 (-.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 (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))) (neg.f64 (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im 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 (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 (neg.f64 (/.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 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 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 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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(-.f64 (exp.f64 (neg.f64 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 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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)
(-.f64 (exp.f64 (neg.f64 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 (-.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 (*.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 (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 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 (+.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)) (neg.f64 (*.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))
(neg.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (exp.f64 im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))
(neg.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))

eval265.0ms (1.3%)

Compiler

Compiled 10089 to 6470 computations (35.9% saved)

prune185.0ms (0.9%)

Pruning

16 alts after pruning (13 fresh and 3 done)

PrunedKeptTotal
New44713460
Fresh202
Picked101
Done235
Total45216468
Error
0.1b
Counts
468 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
43.2b
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))) (exp.f64 im))
43.2b
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
33.3b
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))
45.1b
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) im)))
45.6b
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
0.6b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
44.7b
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
43.2b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
43.8b
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1))
1.2b
(*.f64 (sin.f64 re) (neg.f64 im))
32.3b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
32.7b
(*.f64 re (neg.f64 im))
32.1b
(*.f64 1/2 (+.f64 (*.f64 -2 (*.f64 re im)) (*.f64 re (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
44.7b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
32.1b
(*.f64 1/2 (*.f64 (+.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)))) re))
32.1b
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
Compiler

Compiled 426 to 332 computations (22.1% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 33 to 22 computations (33.3% saved)

series4.0ms (0%)

Counts
3 → 36
Calls

12 calls:

TimeVariablePointExpression
3.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))

rewrite96.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1836×bool.json-1
1836×bool.json-2
1210×bool.json-3
898×rational.json-1
898×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01261
111961
231561
364761
4136361
5307061
6682861
Stop Event
node limit
Counts
3 → 54
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
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 -1/6 (pow.f64 im 3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)) (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/6 (pow.f64 im 3)))))))
((#(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) (sin.f64 re)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 8)) (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 im (*.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) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))) (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3)))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))

simplify210.0ms (1%)

Algorithm
egg-herbie
Rules
2386×rational.json-simplify-2
1958×rational.json-simplify-35
954×rational.json-simplify-1
896×rational.json-simplify-48
856×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01442740
13062576
28142126
317592078
440692078
548132078
652372078
757752078
868762078
972482078
Stop Event
node limit
Counts
90 → 82
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 -1 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 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 -1/6 (pow.f64 im 3)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)) (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8))) 32)
(+.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) (sin.f64 re)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 8)) (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 8))) 32)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 0)
(+.f64 0 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 -1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2))
(*.f64 2 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)))
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2) 1/2)
(*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)
(*.f64 4 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2))
(*.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))
(*.f64 -1 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2) 2)
(*.f64 1/4 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))
(*.f64 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)
(/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2) 2)
(/.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 8)
(/.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3)))) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) 16)
(/.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4) -4)
(/.f64 (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))) (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3)))))) 4)
(/.f64 (/.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4) -1) 4)
(neg.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))
Outputs
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(+.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 -1/6 (pow.f64 im 3))))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (*.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 -1/6 (pow.f64 im 3))))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (*.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 -1/6 (pow.f64 im 3))))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.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 -1/6 (pow.f64 re 3))))
(*.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 -1/6 (pow.f64 re 3))) (*.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 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/6 (pow.f64 re 3))) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 5) 1/120)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 7) -1/5040)))))
(+.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 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.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 -1/6 (pow.f64 im 3)) 8) 8)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)) 16)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)) (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8))) 32)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.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) (sin.f64 re)) 8) 8)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.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) (sin.f64 re)) 8)) 16)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 8)) (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 8))) 32)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 0)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 0 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 -1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 2 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)))
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2) 1/2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 4 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 1/4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))
(*.f64 -1 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2) 2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/4 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2) 2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 8)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3)))) -2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) 16)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4) -4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))) 2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) 32)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))) (neg.f64 (*.f64 2 (-.f64 im (*.f64 -1/6 (pow.f64 im 3)))))) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (/.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4) -1) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(neg.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)

localize4.0ms (0%)

Compiler

Compiled 10 to 4 computations (60% saved)

localize15.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 im 1/6)
4.3b
(*.f64 (pow.f64 re 3) (*.f64 im 1/6))
Compiler

Compiled 37 to 21 computations (43.2% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite80.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1280×bool.json-1
1280×bool.json-2
1238×rational.json-1
1238×rational.json-2
1238×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
19026
224526
351326
4102426
5224526
6480126
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 (pow.f64 re 3) (*.f64 im 1/6))
(*.f64 im 1/6)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (pow.f64 re 3) im) 1/12) (*.f64 (*.f64 (pow.f64 re 3) im) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 re 3) (*.f64 im 2/3)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 4/3 (pow.f64 re 3))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im (*.f64 4/3 (pow.f64 re 3)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 4/3 (pow.f64 re 3))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 4/3 (pow.f64 re 3))))) (*.f64 2 (*.f64 2 (*.f64 im (*.f64 4/3 (pow.f64 re 3)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (pow.f64 re 3) (*.f64 im 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im 1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im 1/12) (*.f64 im 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im 1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 im (*.f64 im 1/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 im (*.f64 im 1/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (+.f64 im (*.f64 im 1/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (+.f64 im (*.f64 im 1/3)))) (*.f64 2 (*.f64 2 (+.f64 im (*.f64 im 1/3))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 im 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 im 1/6) (*.f64 im 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 im 1/6) (*.f64 im 1/6))))))

simplify284.0ms (1.4%)

Algorithm
egg-herbie
Rules
3378×rational.json-simplify-41
2362×rational.json-simplify-35
1828×rational.json-simplify-2
1372×rational.json-simplify-53
508×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
061826
1140826
2285826
3679826
41947826
53114826
63309826
73475826
83615826
93748826
103877826
115030826
125156826
135158826
145158826
155279826
Stop Event
node limit
Counts
58 → 24
Calls
Call 1
Inputs
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) 0)
(+.f64 0 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))
(+.f64 (*.f64 (*.f64 (pow.f64 re 3) im) 1/12) (*.f64 (*.f64 (pow.f64 re 3) im) 1/12))
(-.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) 0)
(/.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) 1)
(/.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/3)) 2)
(/.f64 (*.f64 (pow.f64 re 3) (*.f64 im 2/3)) 4)
(/.f64 (*.f64 im (*.f64 4/3 (pow.f64 re 3))) 8)
(/.f64 (*.f64 2 (*.f64 im (*.f64 4/3 (pow.f64 re 3)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 4/3 (pow.f64 re 3))))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 4/3 (pow.f64 re 3))))) (*.f64 2 (*.f64 2 (*.f64 im (*.f64 4/3 (pow.f64 re 3)))))) 64)
(+.f64 (*.f64 im 1/6) 0)
(+.f64 0 (*.f64 im 1/6))
(+.f64 (*.f64 im 1/12) (*.f64 im 1/12))
(-.f64 (*.f64 im 1/6) 0)
(/.f64 (*.f64 im 1/6) 1)
(/.f64 (*.f64 im 1/3) 2)
(/.f64 (*.f64 im 2/3) 4)
(/.f64 (+.f64 im (*.f64 im 1/3)) 8)
(/.f64 (*.f64 2 (+.f64 im (*.f64 im 1/3))) 16)
(/.f64 (*.f64 2 (*.f64 2 (+.f64 im (*.f64 im 1/3)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (+.f64 im (*.f64 im 1/3)))) (*.f64 2 (*.f64 2 (+.f64 im (*.f64 im 1/3))))) 64)
Outputs
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(*.f64 1/6 im)
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) 0)
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(+.f64 0 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(+.f64 (*.f64 (*.f64 (pow.f64 re 3) im) 1/12) (*.f64 (*.f64 (pow.f64 re 3) im) 1/12))
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(-.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) 0)
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(/.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) 1)
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(/.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/3)) 2)
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(/.f64 (*.f64 (pow.f64 re 3) (*.f64 im 2/3)) 4)
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(/.f64 (*.f64 im (*.f64 4/3 (pow.f64 re 3))) 8)
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(/.f64 (*.f64 2 (*.f64 im (*.f64 4/3 (pow.f64 re 3)))) 16)
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 4/3 (pow.f64 re 3))))) 32)
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 4/3 (pow.f64 re 3))))) (*.f64 2 (*.f64 2 (*.f64 im (*.f64 4/3 (pow.f64 re 3)))))) 64)
(*.f64 1/6 (*.f64 (pow.f64 re 3) im))
(+.f64 (*.f64 im 1/6) 0)
(*.f64 1/6 im)
(+.f64 0 (*.f64 im 1/6))
(*.f64 1/6 im)
(+.f64 (*.f64 im 1/12) (*.f64 im 1/12))
(*.f64 1/6 im)
(-.f64 (*.f64 im 1/6) 0)
(*.f64 1/6 im)
(/.f64 (*.f64 im 1/6) 1)
(*.f64 1/6 im)
(/.f64 (*.f64 im 1/3) 2)
(*.f64 1/6 im)
(/.f64 (*.f64 im 2/3) 4)
(*.f64 1/6 im)
(/.f64 (+.f64 im (*.f64 im 1/3)) 8)
(*.f64 1/6 im)
(/.f64 (*.f64 2 (+.f64 im (*.f64 im 1/3))) 16)
(*.f64 1/6 im)
(/.f64 (*.f64 2 (*.f64 2 (+.f64 im (*.f64 im 1/3)))) 32)
(*.f64 1/6 im)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (+.f64 im (*.f64 im 1/3)))) (*.f64 2 (*.f64 2 (+.f64 im (*.f64 im 1/3))))) 64)
(*.f64 1/6 im)

localize21.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 51 to 28 computations (45.1% saved)

series9.0ms (0%)

Counts
3 → 44
Calls

15 calls:

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

rewrite82.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1626×bool.json-1
1626×bool.json-2
1580×rational.json-1
1580×rational.json-2
1580×rational.json-3
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01675
116767
244967
398067
4216659
5528159
Stop Event
node limit
Counts
3 → 98
Calls
Call 1
Inputs
(-.f64 1 (exp.f64 (*.f64 im 2)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (exp.f64 (neg.f64 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 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 (*.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 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 (-.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 neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 re 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 re 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 re 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 re (exp.f64 im))) (*.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 re (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re (exp.f64 im)) (/.f64 1 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re 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 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 4 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (/.f64 2 (exp.f64 im))) (/.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re re) (/.f64 (*.f64 2 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(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 (+.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 4)))) (#(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 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (exp.f64 im))))) (#(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 (+.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 re 4) (exp.f64 im)) (/.f64 4 (*.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))) 4) (/.f64 (exp.f64 im) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (*.f64 (+.f64 re 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)) (-.f64 0 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (*.f64 re 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (*.f64 re 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 re 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (*.f64 re 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 re 1/2) (-.f64 (exp.f64 (neg.f64 im)) (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 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 re (/.f64 1/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 1 (*.f64 (/.f64 (exp.f64 im) (+.f64 re re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 2 (/.f64 re (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 2 (/.f64 re (exp.f64 im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (*.f64 2 (exp.f64 im)) (neg.f64 (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (*.f64 -1 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (neg.f64 im)) (/.f64 1 re))))) (#(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 (exp.f64 im) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (-.f64 0 (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (/.f64 2 (/.f64 re (exp.f64 im))) (/.f64 2 (/.f64 re (exp.f64 im)))))))) (#(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 (*.f64 (exp.f64 im) 4) (neg.f64 (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (/.f64 2 (exp.f64 im))) 2)))) (#(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 re 1/2) (/.f64 (exp.f64 im) 2))))) (#(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 (/.f64 re (exp.f64 im)) 4) 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 re 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re 4)) (*.f64 8 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4)) 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 (neg.f64 re)) (*.f64 (*.f64 2 (neg.f64 (exp.f64 im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 re 4) (exp.f64 im)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)) 2))))) (#(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 (neg.f64 (+.f64 re re)) (*.f64 (neg.f64 (*.f64 2 (exp.f64 im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 re)) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 re)) (-.f64 0 (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 2 (/.f64 (exp.f64 im) re))) (*.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (+.f64 re re)) (neg.f64 (+.f64 re re))) (+.f64 (neg.f64 (*.f64 2 (exp.f64 im))) (neg.f64 (*.f64 2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 re 4) (exp.f64 im)) (/.f64 (*.f64 re 4) (exp.f64 im))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4)) (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 re)) (*.f64 2 (neg.f64 re))) (+.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 (neg.f64 re)) (neg.f64 (neg.f64 re))) (*.f64 2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (neg.f64 re)) 2) (/.f64 (exp.f64 im) 2))))) (#(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 (neg.f64 (*.f64 re 4)) (-.f64 0 (*.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 (neg.f64 re))) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 re (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im)))))))

simplify95.0ms (0.5%)

Algorithm
egg-herbie
Rules
1820×rational.json-simplify-35
1312×rational.json-simplify-41
1310×rational.json-simplify-2
668×rational.json-simplify-1
606×rational.json-simplify-50
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02673668
17993486
225213130
349473094
Stop Event
node limit
Counts
142 → 153
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 (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 (-.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 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 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) 1/2)
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(/.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 (-.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)
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(+.f64 (*.f64 (*.f64 re 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(+.f64 0 (*.f64 (*.f64 re 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (*.f64 (*.f64 re 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 re (exp.f64 im))) (*.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 re (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (/.f64 re (exp.f64 im)) (/.f64 1 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (*.f64 (*.f64 re 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 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 4 (/.f64 (exp.f64 im) re)))
(/.f64 (*.f64 re (/.f64 2 (exp.f64 im))) (/.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (+.f64 re re) (/.f64 (*.f64 2 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(/.f64 (*.f64 (+.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 4)
(/.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 re))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re 1/2)) (exp.f64 im))
(/.f64 (neg.f64 re) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (*.f64 2 (*.f64 (+.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 8)
(/.f64 (/.f64 (*.f64 re 4) (exp.f64 im)) (/.f64 4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (/.f64 (exp.f64 im) (+.f64 re re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (*.f64 (+.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 16)
(/.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (-.f64 0 (/.f64 (exp.f64 im) re)))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(+.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 re (/.f64 1/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 1 (*.f64 (/.f64 (exp.f64 im) (+.f64 re re)) 2))
(/.f64 2 (/.f64 2 (/.f64 re (exp.f64 im))))
(/.f64 2 (*.f64 2 (/.f64 (exp.f64 im) re)))
(/.f64 2 (*.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) 1))
(/.f64 2 (*.f64 (/.f64 2 (/.f64 re (exp.f64 im))) 1))
(/.f64 2 (/.f64 (*.f64 2 (exp.f64 im)) (neg.f64 (neg.f64 re))))
(/.f64 re (exp.f64 im))
(/.f64 re (*.f64 -1 (neg.f64 (exp.f64 im))))
(/.f64 (exp.f64 (neg.f64 im)) (/.f64 1 re))
(/.f64 (/.f64 re (exp.f64 im)) 1)
(/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 re re)))
(/.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) 1/2)
(/.f64 -1 (-.f64 0 (/.f64 (exp.f64 im) re)))
(/.f64 4 (+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 2 (/.f64 (exp.f64 im) re))))
(/.f64 4 (+.f64 (/.f64 2 (/.f64 re (exp.f64 im))) (/.f64 2 (/.f64 re (exp.f64 im)))))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) re))
(/.f64 4 (/.f64 (*.f64 (exp.f64 im) 4) (neg.f64 (neg.f64 re))))
(/.f64 (*.f64 re (/.f64 2 (exp.f64 im))) 2)
(/.f64 (+.f64 re re) (*.f64 2 (exp.f64 im)))
(/.f64 (*.f64 re 1/2) (/.f64 (exp.f64 im) 2))
(/.f64 (*.f64 re 4) (*.f64 (exp.f64 im) 4))
(/.f64 (*.f64 (/.f64 re (exp.f64 im)) 4) 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 re 4)) (*.f64 2 (*.f64 (exp.f64 im) 4)))
(/.f64 (*.f64 2 (*.f64 re 4)) (*.f64 8 (exp.f64 im)))
(/.f64 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4)) 8)
(/.f64 (*.f64 2 (neg.f64 re)) (*.f64 2 (neg.f64 (exp.f64 im))))
(/.f64 (*.f64 2 (neg.f64 re)) (*.f64 (*.f64 2 (neg.f64 (exp.f64 im))) 1))
(/.f64 (/.f64 (*.f64 re 4) (exp.f64 im)) 4)
(/.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)) 2))
(/.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 (neg.f64 (+.f64 re re)) (*.f64 (neg.f64 (*.f64 2 (exp.f64 im))) 1))
(/.f64 (neg.f64 (neg.f64 re)) (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 re)) (-.f64 0 (neg.f64 (exp.f64 im))))
(/.f64 (+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 2 (/.f64 (exp.f64 im) re))) (*.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 2 (/.f64 (exp.f64 im) re))))
(/.f64 (+.f64 (neg.f64 (+.f64 re re)) (neg.f64 (+.f64 re re))) (+.f64 (neg.f64 (*.f64 2 (exp.f64 im))) (neg.f64 (*.f64 2 (exp.f64 im)))))
(/.f64 (+.f64 (/.f64 (*.f64 re 4) (exp.f64 im)) (/.f64 (*.f64 re 4) (exp.f64 im))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4)) (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (neg.f64 re)) (*.f64 2 (neg.f64 re))) (+.f64 (*.f64 2 (neg.f64 (exp.f64 im))) (*.f64 2 (neg.f64 (exp.f64 im)))))
(/.f64 (+.f64 (neg.f64 (neg.f64 re)) (neg.f64 (neg.f64 re))) (*.f64 2 (exp.f64 im)))
(/.f64 (/.f64 (neg.f64 (neg.f64 re)) 2) (/.f64 (exp.f64 im) 2))
(/.f64 (/.f64 (*.f64 2 (*.f64 re 4)) (exp.f64 im)) 8)
(/.f64 (/.f64 re (neg.f64 (exp.f64 im))) -1)
(/.f64 (neg.f64 (*.f64 re 4)) (-.f64 0 (*.f64 (exp.f64 im) 4)))
(/.f64 (neg.f64 (neg.f64 (+.f64 re re))) (*.f64 2 (exp.f64 im)))
(/.f64 (neg.f64 (neg.f64 (neg.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 1/2 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -4/3 re) (+.f64 (*.f64 2 re) (neg.f64 re)))))))
(+.f64 (*.f64 im (neg.f64 re)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (+.f64 re (*.f64 -4/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 -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 1/2 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -4/3 re) (+.f64 (*.f64 2 re) (neg.f64 re)))))))
(+.f64 (*.f64 im (neg.f64 re)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (+.f64 re (*.f64 -4/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 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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/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 re -1/6))) (*.f64 im (neg.f64 re))))
(+.f64 re (+.f64 (*.f64 im (neg.f64 re)) (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 2) 1/2)))))
(+.f64 re (+.f64 (*.f64 im (neg.f64 re)) (*.f64 re (+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 3) -1/6)))))
(*.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 (-.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 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 (*.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 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 (-.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)))
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (*.f64 (*.f64 re 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 (*.f64 re 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 (*.f64 re 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 re 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 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 (*.f64 re 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 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(/.f64 2 (/.f64 (/.f64 2 (/.f64 re (exp.f64 im))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (/.f64 (exp.f64 im) re)))
(/.f64 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(/.f64 re (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(/.f64 (/.f64 re (exp.f64 im)) (/.f64 1 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 (*.f64 re 1/2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 (*.f64 re 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 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 4 (/.f64 (exp.f64 im) re)))
(/.f64 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 re (/.f64 2 (exp.f64 im))) (/.f64 2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(/.f64 (+.f64 re re) (/.f64 (*.f64 2 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(*.f64 (*.f64 re 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 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 4)
(*.f64 (*.f64 re 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 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 re))
(*.f64 (*.f64 re 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))) (*.f64 re 1/2)) (exp.f64 im))
(/.f64 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(/.f64 (neg.f64 re) (/.f64 (neg.f64 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 2 (*.f64 (+.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 8)
(*.f64 (*.f64 re 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 4) (exp.f64 im)) (/.f64 4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(/.f64 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(/.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (/.f64 (exp.f64 im) (+.f64 re re)))
(/.f64 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 2 (*.f64 (+.f64 re re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) 16)
(*.f64 (*.f64 re 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)) (-.f64 0 (/.f64 (exp.f64 im) re)))
(/.f64 1 (/.f64 (/.f64 (exp.f64 im) re) (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 re 1/2) (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 1/2 (exp.f64 im))))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(+.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) (*.f64 re (/.f64 1/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 1 (*.f64 (/.f64 (exp.f64 im) (+.f64 re re)) 2))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 2 (/.f64 2 (/.f64 re (exp.f64 im))))
(*.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 2 (*.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) 1))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 2 (*.f64 (/.f64 2 (/.f64 re (exp.f64 im))) 1))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 2 (/.f64 (*.f64 2 (exp.f64 im)) (neg.f64 (neg.f64 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 -1 (neg.f64 (exp.f64 im))))
(*.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 (/.f64 re (exp.f64 im)) 1)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 re re)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 re (/.f64 1/2 (exp.f64 im))) 1/2)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 -1 (-.f64 0 (/.f64 (exp.f64 im) re)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 4 (+.f64 (*.f64 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 4 (+.f64 (/.f64 2 (/.f64 re (exp.f64 im))) (/.f64 2 (/.f64 re (exp.f64 im)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 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 (*.f64 (exp.f64 im) 4) (neg.f64 (neg.f64 re))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 re (/.f64 2 (exp.f64 im))) 2)
(*.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 re 1/2) (/.f64 (exp.f64 im) 2))
(*.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 (/.f64 re (exp.f64 im)) 4) 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 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 8 (exp.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4)) 8)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.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 (neg.f64 re)) (*.f64 (*.f64 2 (neg.f64 (exp.f64 im))) 1))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (/.f64 (*.f64 re 4) (exp.f64 im)) 4)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (*.f64 (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re)) 2))
(*.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 (neg.f64 (+.f64 re re)) (*.f64 (neg.f64 (*.f64 2 (exp.f64 im))) 1))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 re)) (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (neg.f64 (neg.f64 re)) (-.f64 0 (neg.f64 (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 2 (/.f64 (exp.f64 im) re))) (*.f64 (*.f64 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 (neg.f64 (+.f64 re re)) (neg.f64 (+.f64 re re))) (+.f64 (neg.f64 (*.f64 2 (exp.f64 im))) (neg.f64 (*.f64 2 (exp.f64 im)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (/.f64 (*.f64 re 4) (exp.f64 im)) (/.f64 (*.f64 re 4) (exp.f64 im))) 8)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4)) (*.f64 2 (*.f64 (/.f64 re (exp.f64 im)) 4))) 16)
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (*.f64 2 (neg.f64 re)) (*.f64 2 (neg.f64 re))) (+.f64 (*.f64 2 (neg.f64 (exp.f64 im))) (*.f64 2 (neg.f64 (exp.f64 im)))))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (+.f64 (neg.f64 (neg.f64 re)) (neg.f64 (neg.f64 re))) (*.f64 2 (exp.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(/.f64 (/.f64 (neg.f64 (neg.f64 re)) 2) (/.f64 (exp.f64 im) 2))
(*.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 (neg.f64 (*.f64 re 4)) (-.f64 0 (*.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 (neg.f64 re))) (neg.f64 (exp.f64 im)))
(*.f64 re (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))

localize71.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

Compiled 46 to 18 computations (60.9% saved)

series2.0ms (0%)

Counts
2 → 32
Calls

9 calls:

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

rewrite69.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1472×bool.json-1
1472×bool.json-2
1436×rational.json-1
1436×rational.json-2
1436×rational.json-4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01566
116860
254260
3141760
4444060
Stop Event
node limit
Counts
2 → 58
Calls
Call 1
Inputs
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 re) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 1/2 (sin.f64 re)) (/.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)) (*.f64 (sin.f64 re) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 1/4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 4 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sin.f64 re) (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (sin.f64 re) 1/4) (-.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 (sin.f64 re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 2 (/.f64 8 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (sin.f64 re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/2 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (/.f64 2 (/.f64 -4 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/2 (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 1 (*.f64 2 (/.f64 -2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 1 (/.f64 -4 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 (sin.f64 re) 1/4) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (*.f64 1/4 (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (/.f64 1 (*.f64 2 (/.f64 4 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (/.f64 1 (/.f64 8 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) -1/2) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1 (/.f64 1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 4) (*.f64 1/4 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 (sin.f64 re) 2) (-.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)) 4) (*.f64 (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) 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 1/4) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.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)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.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)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 (-.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 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))) (#(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 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))

simplify103.0ms (0.5%)

Algorithm
egg-herbie
Rules
1390×rational.json-simplify-35
1218×rational.json-simplify-2
1162×rational.json-simplify-49
724×rational.json-simplify-41
700×rational.json-simplify-43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01983350
14613350
29663214
324193132
457713132
Stop Event
node limit
Counts
90 → 114
Calls
Call 1
Inputs
(*.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 -1/2 im)
(-.f64 (*.f64 1/12 im) (*.f64 1/2 (/.f64 1 im)))
(-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))
(-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (+.f64 (*.f64 1/12 im) (*.f64 31/30240 (pow.f64 im 5)))) (*.f64 1/2 (/.f64 1 im)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(/.f64 1 (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)
(+.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 0)
(*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2))
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1 (*.f64 1/2 (*.f64 (sin.f64 re) (-.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 (sin.f64 re)))))
(*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(*.f64 -1 (/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 1/4)))
(*.f64 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 1/4)) 1))
(*.f64 2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 4 (sin.f64 re))))
(*.f64 2 (/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2))
(*.f64 2 (/.f64 (sin.f64 re) (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 2 (*.f64 (*.f64 (sin.f64 re) 1/4) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (*.f64 (sin.f64 re) 1/4))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 2 (/.f64 8 (sin.f64 re))))
(*.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2) (sin.f64 re))
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (sin.f64 re) -1/2))
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/2 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (/.f64 2 (/.f64 -4 (sin.f64 re))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 2 (sin.f64 re)))))
(*.f64 (*.f64 (sin.f64 re) 2) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2) 1/2))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 1))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2)))
(*.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/2 (*.f64 1/2 (sin.f64 re))))
(*.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 1 (*.f64 2 (/.f64 -2 (sin.f64 re)))))
(*.f64 (*.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 1 (/.f64 -4 (sin.f64 re))))
(*.f64 4 (*.f64 (*.f64 (sin.f64 re) 1/4) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2)))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (*.f64 1/4 (*.f64 1/2 (sin.f64 re))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (/.f64 1 (*.f64 2 (/.f64 4 (sin.f64 re)))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (/.f64 1 (/.f64 8 (sin.f64 re))))
(*.f64 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2)
(*.f64 (*.f64 (sin.f64 re) -1/2) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1 (/.f64 1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (*.f64 (sin.f64 re) 4) (*.f64 1/4 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2)))
(*.f64 1/4 (*.f64 (*.f64 (sin.f64 re) 2) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (*.f64 (sin.f64 re) 2))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 1/4)) 2)
(*.f64 (*.f64 (sin.f64 re) 1/4) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(+.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(+.f64 0 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 1/2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 2 (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(*.f64 2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))
(*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2)
(*.f64 (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/4)
(*.f64 (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (/.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2))
Outputs
(*.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/240 (pow.f64 re 5)) (+.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 (*.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/10080 (pow.f64 re 7)) (*.f64 1/240 (pow.f64 re 5)))))
(+.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/240 (pow.f64 re 5)) (*.f64 1/2 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 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 1/2 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/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 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.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 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/120 (pow.f64 im 5)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.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 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/120))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/5040))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))) (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (neg.f64 im))) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))))
(*.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 -1/2 im)
(-.f64 (*.f64 1/12 im) (*.f64 1/2 (/.f64 1 im)))
(-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))
(-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))
(+.f64 (*.f64 im 1/12) (-.f64 (*.f64 (pow.f64 im 3) -7/720) (*.f64 1/2 (/.f64 1 im))))
(+.f64 (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))) (*.f64 (pow.f64 im 3) -7/720))
(-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (+.f64 (*.f64 1/12 im) (*.f64 31/30240 (pow.f64 im 5)))) (*.f64 1/2 (/.f64 1 im)))
(+.f64 (+.f64 (*.f64 im 1/12) (*.f64 (pow.f64 im 5) 31/30240)) (-.f64 (*.f64 (pow.f64 im 3) -7/720) (*.f64 1/2 (/.f64 1 im))))
(+.f64 (*.f64 (pow.f64 im 3) -7/720) (-.f64 (+.f64 (*.f64 im 1/12) (*.f64 (pow.f64 im 5) 31/30240)) (*.f64 1/2 (/.f64 1 im))))
(+.f64 (*.f64 (pow.f64 im 3) -7/720) (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 (pow.f64 im 5) 31/30240) (*.f64 1/2 (/.f64 1 im)))))
(/.f64 1 (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(/.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 1 (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(/.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 1 (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(/.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 1 (-.f64 (exp.f64 (*.f64 -1 im)) (exp.f64 im)))
(/.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 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 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 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 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 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 (sin.f64 re) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/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 1/2 (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 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 (-.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 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 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 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 -1 (/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (-.f64 (exp.f64 im) (exp.f64 (neg.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 2 (*.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 2 (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) 1/4)) 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 2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 4 (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 2 (/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 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 2 (/.f64 (sin.f64 re) (/.f64 4 (-.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 2 (*.f64 (*.f64 (sin.f64 re) 1/4) (-.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 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (*.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)) 2) (/.f64 2 (/.f64 8 (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 im) (exp.f64 (neg.f64 im))) -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 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (sin.f64 re) -1/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 (exp.f64 im) (exp.f64 (neg.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 (exp.f64 im) (exp.f64 (neg.f64 im))) (/.f64 2 (/.f64 -4 (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 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 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 (sin.f64 re) 2) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 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 (sin.f64 re) 2) (*.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2) 1/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 (sin.f64 re) 2) (*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 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 (sin.f64 re) 2) (*.f64 1/4 (-.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 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/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 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/2 (*.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 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 1 (*.f64 2 (/.f64 -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 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 1 (/.f64 -4 (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 4 (*.f64 (*.f64 (sin.f64 re) 1/4) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/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)) 4) (*.f64 1/4 (*.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)) 4) (/.f64 1 (*.f64 2 (/.f64 4 (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)) 4) (/.f64 1 (/.f64 8 (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 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/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 (sin.f64 re) -1/2) (-.f64 (exp.f64 im) (exp.f64 (neg.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 (*.f64 (sin.f64 re) -1/2) (/.f64 1 (/.f64 1 (-.f64 (exp.f64 im) (exp.f64 (neg.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 (*.f64 (sin.f64 re) 4) (*.f64 1/4 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/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 1/4 (*.f64 (*.f64 (sin.f64 re) 2) (-.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 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (*.f64 (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) 1/4)) 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 (sin.f64 re) 1/4) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 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 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(/.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 0 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(-.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(/.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (*.f64 (-.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 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(/.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 2 (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2))
(/.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))
(/.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))
(/.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/2)
(/.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (/.f64 4 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1/4)
(*.f64 1/4 (/.f64 -4 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (/.f64 1 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 -1 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (/.f64 (/.f64 2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1/2))
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/2 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 -1/2 (*.f64 (/.f64 2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 -1/2 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (/.f64 -2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(*.f64 -1/2 (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))

eval230.0ms (1.1%)

Compiler

Compiled 7568 to 4391 computations (42% saved)

prune80.0ms (0.4%)

Pruning

19 alts after pruning (12 fresh and 7 done)

PrunedKeptTotal
New4116417
Fresh268
Picked011
Done167
Total41419433
Error
0.1b
Counts
433 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
44.7b
(/.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 re))
43.2b
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
1.3b
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 -1/2 im))
0.6b
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))
0.9b
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))
44.7b
(/.f64 re (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
33.3b
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))
45.1b
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) im)))
45.6b
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
0.6b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
43.8b
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1) (sin.f64 re))
43.2b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.2b
(*.f64 (sin.f64 re) (neg.f64 im))
32.3b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
32.7b
(*.f64 re (neg.f64 im))
32.1b
(*.f64 1/2 (+.f64 (*.f64 -2 (*.f64 re im)) (*.f64 re (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
44.7b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
32.1b
(*.f64 1/2 (*.f64 (+.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)))) re))
32.1b
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
Compiler

Compiled 469 to 369 computations (21.3% saved)

localize31.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im))
0.1b
(*.f64 -7/720 (pow.f64 im 3))
0.2b
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))
0.3b
(*.f64 1/12 im)
Compiler

Compiled 78 to 58 computations (25.6% saved)

series9.0ms (0%)

Counts
4 → 27
Calls

15 calls:

TimeVariablePointExpression
2.0ms
re
@0
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))
1.0ms
re
@inf
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))
1.0ms
im
@inf
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))
1.0ms
re
@-inf
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))
1.0ms
im
@-inf
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))

rewrite103.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
2202×bool.json-1
1230×rational.json-simplify-35
1186×bool.json-2
1140×rational.json-1
1140×rational.json-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
020104
1212104
2601104
3137898
4356998
5797798
Stop Event
node limit
Counts
4 → 79
Calls
Call 1
Inputs
(*.f64 1/12 im)
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))
(*.f64 -7/720 (pow.f64 im 3))
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/12 im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/12 im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/12 im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/12 im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 1/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im 1/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 im 1/3)) (*.f64 2 (*.f64 im 1/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 1/12 im)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 1/12 im) (*.f64 1/12 im))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 1/12 im) (*.f64 1/12 im))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (sin.f64 re) (*.f64 2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))) 4)) (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (sin.f64 re) (*.f64 2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 re) (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/4 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (sin.f64 re) (*.f64 2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (neg.f64 (sin.f64 re)) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (/.f64 1/4 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (*.f64 1/2 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 4) (*.f64 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) -2) (*.f64 -1/2 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))) 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) 4) (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) (*.f64 2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3)))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 re)) (/.f64 1/2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 re)) (*.f64 -1 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (*.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) (*.f64 (sin.f64 re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sin.f64 re) (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) (*.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) 1/4) (*.f64 (sin.f64 re) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) (*.f64 1/2 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) 1/4) (*.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) (neg.f64 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/4 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 1/4 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 re) (*.f64 2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -7/720 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -7/720 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -7/720 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -7/720 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -7/360) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -7/180) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -7/180)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -7/180)) (*.f64 2 (*.f64 (pow.f64 im 3) -7/180))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -7/720 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -7/720 (pow.f64 im 3)) (*.f64 -7/720 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -7/720 (pow.f64 im 3)) (*.f64 -7/720 (pow.f64 im 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))))))

simplify174.0ms (0.9%)

Algorithm
egg-herbie
Rules
1020×rational.json-simplify-2
996×rational.json-simplify-41
890×rational.json-simplify-35
794×rational.json-simplify-46
648×rational.json-simplify-50
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02545434
15515276
211125192
323275138
450815138
565845138
674815138
Stop Event
node limit
Counts
106 → 148
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 re (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(+.f64 (*.f64 -1/12 (/.f64 (pow.f64 re 3) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))) (*.f64 1/2 (/.f64 re (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))))
(+.f64 (*.f64 -1/12 (/.f64 (pow.f64 re 3) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))) (+.f64 (*.f64 1/2 (/.f64 re (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))) (*.f64 1/240 (/.f64 (pow.f64 re 5) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))))
(+.f64 (*.f64 -1/12 (/.f64 (pow.f64 re 3) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))) (+.f64 (*.f64 1/2 (/.f64 re (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))) (+.f64 (*.f64 1/240 (/.f64 (pow.f64 re 5) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))) (*.f64 -1/10080 (/.f64 (pow.f64 re 7) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 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/2 (*.f64 (+.f64 (*.f64 -7/180 (sin.f64 re)) (*.f64 1/18 (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/2 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 -7/180 (sin.f64 re)) (*.f64 1/18 (sin.f64 re)))) (*.f64 -7/1080 (sin.f64 re))) (pow.f64 im 7))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 -7/180 (sin.f64 re)) (*.f64 1/18 (sin.f64 re))) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im)))))
(*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -259200/49 (sin.f64 re)) (*.f64 2592000/343 (sin.f64 re))) (pow.f64 im 7)))))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 60/7 (+.f64 (*.f64 -259200/49 (sin.f64 re)) (*.f64 2592000/343 (sin.f64 re)))) (*.f64 -15552000/343 (sin.f64 re))) (pow.f64 im 9))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -259200/49 (sin.f64 re)) (*.f64 2592000/343 (sin.f64 re))) (pow.f64 im 7))))))
(*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 -2592000/343 (sin.f64 re)) (*.f64 259200/49 (sin.f64 re))) (pow.f64 im 7)))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 60/7 (+.f64 (*.f64 -2592000/343 (sin.f64 re)) (*.f64 259200/49 (sin.f64 re)))) (*.f64 15552000/343 (sin.f64 re))) (pow.f64 im 9))) (+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 -2592000/343 (sin.f64 re)) (*.f64 259200/49 (sin.f64 re))) (pow.f64 im 7))))))
(*.f64 1/12 im)
(*.f64 -7/720 (pow.f64 im 3))
(*.f64 -7/720 (pow.f64 im 3))
(+.f64 (*.f64 1/12 im) 0)
(+.f64 0 (*.f64 1/12 im))
(-.f64 (*.f64 1/12 im) 0)
(/.f64 (*.f64 1/12 im) 1)
(/.f64 (*.f64 im 1/6) 2)
(/.f64 (*.f64 im 1/3) 4)
(/.f64 (*.f64 2 (*.f64 im 1/3)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 im 1/3)) (*.f64 2 (*.f64 im 1/3))) 16)
(+.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) 0)
(+.f64 0 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(+.f64 -1 (-.f64 1 (/.f64 (sin.f64 re) (*.f64 2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))))))
(+.f64 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))) 4)) (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))) 4)))
(-.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) 0)
(-.f64 0 (/.f64 (sin.f64 re) (*.f64 2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3)))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 1 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) 1)
(*.f64 2 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))) 4)))
(*.f64 2 (*.f64 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4)))
(*.f64 2 (*.f64 (/.f64 1/4 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (sin.f64 re)))
(*.f64 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (sin.f64 re))
(*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))))
(*.f64 -1 (/.f64 (sin.f64 re) (*.f64 2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3)))))))
(*.f64 -1 (*.f64 (neg.f64 (sin.f64 re)) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 (*.f64 (sin.f64 re) 2) (/.f64 1/4 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) 1/4))
(*.f64 4 (*.f64 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4)))
(*.f64 (/.f64 (sin.f64 re) (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) 1/2)
(*.f64 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (*.f64 1/2 (sin.f64 re)))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))))
(*.f64 (*.f64 (sin.f64 re) 4) (*.f64 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) 1/4))
(*.f64 (*.f64 (sin.f64 re) -2) (*.f64 -1/2 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 -2 (*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))) 4)) 2)
(*.f64 (/.f64 (sin.f64 re) 4) (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (/.f64 (sin.f64 re) (*.f64 2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3)))))) -1)
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 1/2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))))
(*.f64 (neg.f64 (sin.f64 re)) (*.f64 -1 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) 1/4)
(*.f64 (/.f64 1/4 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (*.f64 (sin.f64 re) 2))
(*.f64 (/.f64 1 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) (*.f64 (sin.f64 re) -1/2))
(*.f64 1/4 (*.f64 (sin.f64 re) (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4))
(*.f64 (*.f64 1/2 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) (*.f64 (sin.f64 re) 2))
(*.f64 (*.f64 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4)) 4)
(*.f64 (*.f64 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) 1/4) (*.f64 (sin.f64 re) 4))
(*.f64 (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) (sin.f64 re))
(*.f64 (*.f64 1/2 (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4)) 2)
(*.f64 (*.f64 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) 1/4) (*.f64 (sin.f64 re) 2))
(*.f64 (/.f64 (sin.f64 re) (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) -1/2)
(*.f64 (/.f64 1/2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) (neg.f64 (sin.f64 re)))
(*.f64 (+.f64 (/.f64 1/4 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 1/4 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) (sin.f64 re))
(neg.f64 (/.f64 (sin.f64 re) (*.f64 2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3)))))))
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 -7/720 (pow.f64 im 3)))
(-.f64 (*.f64 -7/720 (pow.f64 im 3)) 0)
(/.f64 (*.f64 -7/720 (pow.f64 im 3)) 1)
(/.f64 (*.f64 (pow.f64 im 3) -7/360) 2)
(/.f64 (*.f64 (pow.f64 im 3) -7/180) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -7/180)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -7/180)) (*.f64 2 (*.f64 (pow.f64 im 3) -7/180))) 16)
(-.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 0)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 2))
(*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 1)
(*.f64 1 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))
(*.f64 2 (/.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 2))
(*.f64 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 2) 1/2)
(*.f64 (/.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 2) 2)
(/.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 4))) 16)
Outputs
(*.f64 1/2 (/.f64 re (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 re (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 re (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))))
(+.f64 (*.f64 -1/12 (/.f64 (pow.f64 re 3) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))) (*.f64 1/2 (/.f64 re (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))))
(+.f64 (*.f64 1/2 (/.f64 re (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im)))))) (*.f64 -1/12 (/.f64 (pow.f64 re 3) (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im)))))))
(+.f64 (*.f64 1/2 (/.f64 re (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))) (*.f64 -1/12 (/.f64 (pow.f64 re 3) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))))
(+.f64 (*.f64 -1/12 (/.f64 (pow.f64 re 3) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))) (+.f64 (*.f64 1/2 (/.f64 re (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))) (*.f64 1/240 (/.f64 (pow.f64 re 5) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))))
(+.f64 (*.f64 1/2 (/.f64 re (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im)))))) (+.f64 (*.f64 1/240 (/.f64 (pow.f64 re 5) (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im)))))) (*.f64 -1/12 (/.f64 (pow.f64 re 3) (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im))))))))
(+.f64 (*.f64 1/2 (/.f64 re (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))) (+.f64 (*.f64 -1/12 (/.f64 (pow.f64 re 3) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))) (*.f64 1/240 (/.f64 (pow.f64 re 5) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))))))
(+.f64 (*.f64 -1/12 (/.f64 (pow.f64 re 3) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))) (+.f64 (*.f64 1/2 (/.f64 re (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))) (+.f64 (*.f64 1/240 (/.f64 (pow.f64 re 5) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))) (*.f64 -1/10080 (/.f64 (pow.f64 re 7) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))))))
(+.f64 (*.f64 -1/12 (/.f64 (pow.f64 re 3) (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im)))))) (+.f64 (*.f64 1/2 (/.f64 re (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im)))))) (+.f64 (*.f64 1/240 (/.f64 (pow.f64 re 5) (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im)))))) (*.f64 -1/10080 (/.f64 (pow.f64 re 7) (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im)))))))))
(+.f64 (*.f64 -1/12 (/.f64 (pow.f64 re 3) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))) (+.f64 (*.f64 -1/10080 (/.f64 (pow.f64 re 7) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))) (+.f64 (*.f64 1/2 (/.f64 re (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))) (*.f64 1/240 (/.f64 (pow.f64 re 5) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))))))
(+.f64 (*.f64 1/2 (/.f64 re (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))) (+.f64 (*.f64 -1/10080 (/.f64 (pow.f64 re 7) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))) (+.f64 (*.f64 -1/12 (/.f64 (pow.f64 re 3) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))) (*.f64 1/240 (/.f64 (pow.f64 re 5) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))))))
(+.f64 (*.f64 1/2 (/.f64 re (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))) (+.f64 (*.f64 -1/12 (/.f64 (pow.f64 re 3) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))) (+.f64 (*.f64 1/240 (/.f64 (pow.f64 re 5) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))) (*.f64 -1/10080 (/.f64 (pow.f64 re 7) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im)))))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im -1))
(*.f64 (sin.f64 re) (neg.f64 im))
(+.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 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.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/2 (*.f64 (+.f64 (*.f64 -7/180 (sin.f64 re)) (*.f64 1/18 (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 -1/2 (*.f64 (+.f64 (*.f64 (sin.f64 re) -7/180) (*.f64 (sin.f64 re) 1/18)) (pow.f64 im 5)))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))) (*.f64 -1/2 (*.f64 (*.f64 (sin.f64 re) 1/60) (pow.f64 im 5)))))
(+.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 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 -7/180 (sin.f64 re)) (*.f64 1/18 (sin.f64 re)))) (*.f64 -7/1080 (sin.f64 re))) (pow.f64 im 7))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 -7/180 (sin.f64 re)) (*.f64 1/18 (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 (*.f64 (sin.f64 re) (*.f64 im -1)) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 (sin.f64 re) -7/180) (*.f64 (sin.f64 re) 1/18)) (pow.f64 im 5)))) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (sin.f64 re) -7/180) (*.f64 (sin.f64 re) 1/18)) 1/6) (*.f64 (sin.f64 re) -7/1080)) (pow.f64 im 7)))))
(+.f64 (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))) (*.f64 -1/2 (*.f64 (*.f64 (sin.f64 re) 1/60) (pow.f64 im 5))))) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 (*.f64 (sin.f64 re) 1/60) 1/6) (*.f64 (sin.f64 re) -7/1080)) (pow.f64 im 7))))
(+.f64 (+.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 -1/2 (*.f64 (+.f64 (*.f64 (sin.f64 re) 1/360) (*.f64 (sin.f64 re) -7/1080)) (pow.f64 im 7))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 -1/2 (+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) 1/60)) (*.f64 (*.f64 (sin.f64 re) -1/270) (pow.f64 im 7)))))
(*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -259200/49 (sin.f64 re)) (*.f64 2592000/343 (sin.f64 re))) (pow.f64 im 7)))))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 (sin.f64 re) -259200/49) (*.f64 (sin.f64 re) 2592000/343)) (pow.f64 im 7)))))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 re) 777600/343) (pow.f64 im 7)))))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1/2 (*.f64 777600/343 (/.f64 (sin.f64 re) (pow.f64 im 7))))))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 60/7 (+.f64 (*.f64 -259200/49 (sin.f64 re)) (*.f64 2592000/343 (sin.f64 re)))) (*.f64 -15552000/343 (sin.f64 re))) (pow.f64 im 9))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -259200/49 (sin.f64 re)) (*.f64 2592000/343 (sin.f64 re))) (pow.f64 im 7))))))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 (sin.f64 re) -259200/49) (*.f64 (sin.f64 re) 2592000/343)) (pow.f64 im 7))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (sin.f64 re) -259200/49) (*.f64 (sin.f64 re) 2592000/343)) 60/7) (*.f64 (sin.f64 re) -15552000/343)) (pow.f64 im 9))))))
(+.f64 (*.f64 -1/2 (+.f64 (/.f64 (+.f64 (*.f64 (*.f64 (sin.f64 re) 777600/343) 60/7) (*.f64 (sin.f64 re) -15552000/343)) (pow.f64 im 9)) (/.f64 (*.f64 (sin.f64 re) 777600/343) (pow.f64 im 7)))) (+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5)))))
(+.f64 (+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5)))) (*.f64 -1/2 (+.f64 (/.f64 (*.f64 (sin.f64 re) 777600/343) (pow.f64 im 7)) (/.f64 (+.f64 (*.f64 (sin.f64 re) 46656000/2401) (*.f64 (sin.f64 re) -15552000/343)) (pow.f64 im 9)))))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1/2 (+.f64 (*.f64 777600/343 (/.f64 (sin.f64 re) (pow.f64 im 7))) (/.f64 (*.f64 (sin.f64 re) -62208000/2401) (pow.f64 im 9))))))
(*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 -2592000/343 (sin.f64 re)) (*.f64 259200/49 (sin.f64 re))) (pow.f64 im 7)))))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 (sin.f64 re) -2592000/343) (*.f64 (sin.f64 re) 259200/49)) (pow.f64 im 7)))))
(+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) -777600/343) (pow.f64 im 7)))))
(+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 1/2 (*.f64 -777600/343 (/.f64 (sin.f64 re) (pow.f64 im 7))))))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/2 (*.f64 -777600/343 (/.f64 (sin.f64 re) (pow.f64 im 7))))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 60/7 (+.f64 (*.f64 -2592000/343 (sin.f64 re)) (*.f64 259200/49 (sin.f64 re)))) (*.f64 15552000/343 (sin.f64 re))) (pow.f64 im 9))) (+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 -2592000/343 (sin.f64 re)) (*.f64 259200/49 (sin.f64 re))) (pow.f64 im 7))))))
(+.f64 (+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 (sin.f64 re) -2592000/343) (*.f64 (sin.f64 re) 259200/49)) (pow.f64 im 7))))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 60/7 (+.f64 (*.f64 (sin.f64 re) -2592000/343) (*.f64 (sin.f64 re) 259200/49))) (*.f64 (sin.f64 re) 15552000/343)) (pow.f64 im 9))))
(+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (+.f64 (+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) -777600/343) (pow.f64 im 7)))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 60/7 (*.f64 (sin.f64 re) -777600/343)) (*.f64 (sin.f64 re) 15552000/343)) (pow.f64 im 9)))))
(+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 (sin.f64 re) -46656000/2401) (*.f64 (sin.f64 re) 15552000/343)) (pow.f64 im 9))) (+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 1/2 (*.f64 -777600/343 (/.f64 (sin.f64 re) (pow.f64 im 7)))))))
(+.f64 (*.f64 -360/7 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -21600/49 (/.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/2 (+.f64 (/.f64 (*.f64 (sin.f64 re) 62208000/2401) (pow.f64 im 9)) (*.f64 -777600/343 (/.f64 (sin.f64 re) (pow.f64 im 7)))))))
(*.f64 1/12 im)
(*.f64 im 1/12)
(*.f64 -7/720 (pow.f64 im 3))
(*.f64 -7/720 (pow.f64 im 3))
(+.f64 (*.f64 1/12 im) 0)
(*.f64 im 1/12)
(+.f64 0 (*.f64 1/12 im))
(*.f64 im 1/12)
(-.f64 (*.f64 1/12 im) 0)
(*.f64 im 1/12)
(/.f64 (*.f64 1/12 im) 1)
(*.f64 im 1/12)
(/.f64 (*.f64 im 1/6) 2)
(*.f64 im 1/12)
(/.f64 (*.f64 im 1/3) 4)
(*.f64 im 1/12)
(/.f64 (*.f64 2 (*.f64 im 1/3)) 8)
(*.f64 im 1/12)
(/.f64 (+.f64 (*.f64 2 (*.f64 im 1/3)) (*.f64 2 (*.f64 im 1/3))) 16)
(*.f64 im 1/12)
(+.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) 0)
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(+.f64 0 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(+.f64 -1 (-.f64 1 (/.f64 (sin.f64 re) (*.f64 2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(+.f64 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))) 4)) (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))) 4)))
(+.f64 (/.f64 (sin.f64 re) (*.f64 4 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) (/.f64 (sin.f64 re) (*.f64 4 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(+.f64 (/.f64 (sin.f64 re) (*.f64 4 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im))))) (/.f64 (sin.f64 re) (*.f64 4 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im))))))
(+.f64 (*.f64 (sin.f64 re) (/.f64 1/4 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im))))) (*.f64 (sin.f64 re) (/.f64 1/4 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im))))))
(-.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) 0)
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(-.f64 0 (/.f64 (sin.f64 re) (*.f64 2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3)))))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 1/2 (*.f64 (/.f64 2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (*.f64 1/2 (sin.f64 re))))
(*.f64 (/.f64 2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))) (*.f64 (*.f64 1/2 (sin.f64 re)) 1/2))
(*.f64 (/.f64 2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))) (*.f64 (sin.f64 re) 1/4))
(*.f64 1 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) 1)
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 2 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))) 4)))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 2 (*.f64 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4)))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 2 (*.f64 (/.f64 1/4 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (sin.f64 re)))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (sin.f64 re))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 -1 (/.f64 (sin.f64 re) (*.f64 2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3)))))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 -1 (*.f64 (neg.f64 (sin.f64 re)) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (*.f64 (sin.f64 re) 2) (/.f64 1/4 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) 1/4))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 4 (*.f64 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4)))
(*.f64 4 (*.f64 (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4)))
(*.f64 (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))) (*.f64 4 (/.f64 (sin.f64 re) 4)))
(*.f64 (/.f64 (sin.f64 re) (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) 1/2)
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 -1/2 (/.f64 (sin.f64 re) (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (*.f64 (sin.f64 re) 4) (*.f64 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) 1/4))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (*.f64 (sin.f64 re) -2) (*.f64 -1/2 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 -2 (*.f64 (*.f64 (sin.f64 re) -1/2) (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (/.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))) 4)) 2)
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (/.f64 (sin.f64 re) 4) (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (/.f64 (sin.f64 re) (*.f64 2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3)))))) -1)
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 1/2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (neg.f64 (sin.f64 re)) (*.f64 -1 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) 1/4)
(*.f64 1/2 (*.f64 (/.f64 2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (*.f64 1/2 (sin.f64 re))))
(*.f64 (/.f64 2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))) (*.f64 (*.f64 1/2 (sin.f64 re)) 1/2))
(*.f64 (/.f64 2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))) (*.f64 (sin.f64 re) 1/4))
(*.f64 (/.f64 1/4 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (*.f64 (sin.f64 re) 2))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (/.f64 1 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) (*.f64 (sin.f64 re) -1/2))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/4 (*.f64 (sin.f64 re) (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))))
(*.f64 1/2 (*.f64 (/.f64 2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (*.f64 1/2 (sin.f64 re))))
(*.f64 (/.f64 2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))) (*.f64 (*.f64 1/2 (sin.f64 re)) 1/2))
(*.f64 (/.f64 2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))) (*.f64 (sin.f64 re) 1/4))
(*.f64 (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (*.f64 1/2 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) (*.f64 (sin.f64 re) 2))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (*.f64 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4)) 4)
(*.f64 4 (*.f64 (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4)))
(*.f64 (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))) (*.f64 4 (/.f64 (sin.f64 re) 4)))
(*.f64 (*.f64 (/.f64 1/2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) 1/4) (*.f64 (sin.f64 re) 4))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (*.f64 1/2 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) (sin.f64 re))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (*.f64 1/2 (/.f64 2 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (/.f64 2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (*.f64 1/2 (sin.f64 re))))
(*.f64 (/.f64 2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))) (*.f64 (*.f64 1/2 (sin.f64 re)) 1/2))
(*.f64 (/.f64 2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))) (*.f64 (sin.f64 re) 1/4))
(*.f64 (*.f64 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 (sin.f64 re) 4)) 2)
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (*.f64 (/.f64 1 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) 1/4) (*.f64 (sin.f64 re) 2))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (/.f64 (sin.f64 re) (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) -1/2)
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (/.f64 1/2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) (neg.f64 (sin.f64 re)))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 (+.f64 (/.f64 1/4 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))) (/.f64 1/4 (+.f64 (*.f64 1/12 im) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im))))) (sin.f64 re))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(neg.f64 (/.f64 (sin.f64 re) (*.f64 2 (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3)))))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 im 1/12) (-.f64 (*.f64 -7/720 (pow.f64 im 3)) (/.f64 1/2 im)))))
(*.f64 (sin.f64 re) (/.f64 1/2 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(*.f64 1/2 (/.f64 (sin.f64 re) (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (-.f64 (*.f64 im 1/12) (/.f64 1/2 im)))))
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) 0)
(*.f64 -7/720 (pow.f64 im 3))
(+.f64 0 (*.f64 -7/720 (pow.f64 im 3)))
(*.f64 -7/720 (pow.f64 im 3))
(-.f64 (*.f64 -7/720 (pow.f64 im 3)) 0)
(*.f64 -7/720 (pow.f64 im 3))
(/.f64 (*.f64 -7/720 (pow.f64 im 3)) 1)
(*.f64 -7/720 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -7/360) 2)
(*.f64 -7/720 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -7/180) 4)
(*.f64 -7/720 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -7/180)) 8)
(*.f64 -7/720 (pow.f64 im 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -7/180)) (*.f64 2 (*.f64 (pow.f64 im 3) -7/180))) 16)
(*.f64 -7/720 (pow.f64 im 3))
(-.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 0)
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 im 1/12))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 2))
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 im 1/12))
(*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 1)
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 im 1/12))
(*.f64 1 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 im 1/12))
(*.f64 2 (/.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 2))
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 im 1/12))
(*.f64 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 2) 1/2)
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 im 1/12))
(*.f64 (/.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 2) 2)
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 im 1/12))
(/.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 1)
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 im 1/12))
(/.f64 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 2) 2)
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 im 1/12))
(/.f64 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 4) 4)
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 im 1/12))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 4)) 8)
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 im 1/12))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))) 4))) 16)
(+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 im 1/12))

localize9.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 26 to 12 computations (53.8% saved)

series1.0ms (0%)

Counts
2 → 28
Calls

12 calls:

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

rewrite94.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1800×bool.json-1
1800×bool.json-2
1192×bool.json-3
898×rational.json-1
898×rational.json-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01134
111634
231828
364526
4133226
5301326
6673926
Stop Event
node limit
Counts
2 → 49
Calls
Call 1
Inputs
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) im)))
(*.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 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 (neg.f64 (*.f64 (sin.f64 re) im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sin.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (sin.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (neg.f64 (*.f64 (sin.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (sin.f64 re) 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 (*.f64 (neg.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 (neg.f64 (*.f64 (sin.f64 re) im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 re) im) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 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 (sin.f64 re) im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 2) 2)))) (#(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 (sin.f64 re) (*.f64 im 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) im) 8) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) im) 8)) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 8)) (*.f64 2 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 im im)) -1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 re) (*.f64 im 4)) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (sin.f64 re) im) 8) -1) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) im) 8)) -1) 16)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (neg.f64 (*.f64 (sin.f64 re) im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (neg.f64 (*.f64 (sin.f64 re) im)) (neg.f64 (*.f64 (sin.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (neg.f64 (*.f64 (sin.f64 re) im)) (neg.f64 (*.f64 (sin.f64 re) 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 1 (+.f64 -1 (*.f64 (sin.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) 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 -1 (*.f64 (sin.f64 re) im)) 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 -1 (*.f64 (sin.f64 re) im)) -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 (sin.f64 re) (+.f64 im im)) 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 (*.f64 (sin.f64 re) im) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) im) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) im) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 re) im) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sin.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sin.f64 re) im) (*.f64 (sin.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sin.f64 re) im) (*.f64 (sin.f64 re) im))))))

simplify98.0ms (0.5%)

Algorithm
egg-herbie
Rules
1390×rational.json-simplify-51
1298×rational.json-simplify-52
1282×rational.json-simplify-1
1280×rational.json-simplify-35
1104×rational.json-simplify-45
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01251339
13031331
28291313
325591277
445461277
568731277
Stop Event
node limit
Counts
77 → 89
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 1 (+.f64 1 (*.f64 (sin.f64 re) im)))
(-.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) 1)
(-.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 0)
(-.f64 0 (*.f64 (sin.f64 re) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 1 (neg.f64 (*.f64 (sin.f64 re) im)))
(*.f64 (*.f64 (sin.f64 re) im) -1)
(*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 1)
(*.f64 2 (/.f64 (*.f64 (sin.f64 re) im) -2))
(*.f64 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 2) 1/2)
(*.f64 4 (/.f64 (*.f64 (sin.f64 re) im) -4))
(*.f64 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 4) 1/4)
(*.f64 1/2 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 2))
(*.f64 (/.f64 (*.f64 (sin.f64 re) im) -2) 2)
(*.f64 1/4 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 4))
(*.f64 (/.f64 (*.f64 (sin.f64 re) im) -4) 4)
(/.f64 (*.f64 (sin.f64 re) im) -1)
(/.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 1)
(/.f64 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 2) 2)
(/.f64 (*.f64 (sin.f64 re) (+.f64 im im)) -2)
(/.f64 (*.f64 (sin.f64 re) (*.f64 im 4)) -4)
(/.f64 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 4) 4)
(/.f64 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 8) 8)
(/.f64 (*.f64 (*.f64 (sin.f64 re) im) 8) -8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) im) 8)) -16)
(/.f64 (*.f64 2 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 8)) (*.f64 2 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 8))) 32)
(/.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 im im)) -1) 2)
(/.f64 (/.f64 (*.f64 (sin.f64 re) (*.f64 im 4)) -1) 4)
(/.f64 (/.f64 (*.f64 (*.f64 (sin.f64 re) im) 8) -1) 8)
(/.f64 (/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) im) 8)) -1) 16)
(neg.f64 (*.f64 (sin.f64 re) im))
(+.f64 -1 (+.f64 1 (*.f64 (sin.f64 re) im)))
(+.f64 1 (+.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) im) 0)
(+.f64 0 (*.f64 (sin.f64 re) im))
(+.f64 (+.f64 -1 (*.f64 (sin.f64 re) im)) 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 -1 (*.f64 (sin.f64 re) im)) -1)
(-.f64 (+.f64 1 (*.f64 (sin.f64 re) im)) 1)
(/.f64 (*.f64 (sin.f64 re) im) 1)
(/.f64 (*.f64 (sin.f64 re) (+.f64 im im)) 2)
(/.f64 (*.f64 (sin.f64 re) (*.f64 im 4)) 4)
(/.f64 (*.f64 (*.f64 (sin.f64 re) im) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) im) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) im) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 re) im) 8))) 32)
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 -1 (*.f64 re im)) (*.f64 1/6 (*.f64 im (pow.f64 re 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 im (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))
(*.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 -1 (*.f64 re im)) (+.f64 (*.f64 1/6 (*.f64 im (pow.f64 re 3))) (*.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 (pow.f64 re 3) (*.f64 im 1/6)) (+.f64 (*.f64 re (neg.f64 im)) (*.f64 im (*.f64 -1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 1/6 (*.f64 im (pow.f64 re 3))) (*.f64 im (+.f64 (*.f64 -1/120 (pow.f64 re 5)) (neg.f64 re))))
(+.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 (pow.f64 re 5) (*.f64 im -1/120)) (+.f64 (*.f64 1/6 (*.f64 im (pow.f64 re 3))) (+.f64 (*.f64 (pow.f64 re 7) (*.f64 im 1/5040)) (*.f64 -1 (*.f64 re im)))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 im (*.f64 (pow.f64 re 5) -1/120)) (+.f64 (*.f64 im (*.f64 1/6 (pow.f64 re 3))) (*.f64 im (*.f64 (pow.f64 re 7) 1/5040)))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 im (*.f64 -1/120 (pow.f64 re 5))) (+.f64 (*.f64 (pow.f64 re 3) (*.f64 im 1/6)) (*.f64 (pow.f64 re 7) (*.f64 im 1/5040)))))
(+.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 (*.f64 im (+.f64 (*.f64 1/5040 (pow.f64 re 7)) (*.f64 1/6 (pow.f64 re 3)))) (*.f64 im (+.f64 (*.f64 -1/120 (pow.f64 re 5)) (neg.f64 re))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.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 (*.f64 re im) (*.f64 im (*.f64 -1/6 (pow.f64 re 3))))
(*.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 re im) (+.f64 (*.f64 (pow.f64 re 5) (*.f64 im 1/120)) (*.f64 im (*.f64 -1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 3) -1/6)) (*.f64 im (+.f64 re (*.f64 (pow.f64 re 5) 1/120))))
(*.f64 im (+.f64 (*.f64 (pow.f64 re 5) 1/120) (+.f64 re (*.f64 (pow.f64 re 3) -1/6))))
(+.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 (*.f64 re im) (*.f64 (pow.f64 re 3) (*.f64 im -1/6))) (*.f64 (pow.f64 re 7) (*.f64 im -1/5040))))
(+.f64 (*.f64 im (*.f64 -1/6 (pow.f64 re 3))) (+.f64 (+.f64 (*.f64 re im) (*.f64 im (*.f64 -1/5040 (pow.f64 re 7)))) (*.f64 (pow.f64 re 5) (*.f64 im 1/120))))
(+.f64 (*.f64 im (*.f64 (pow.f64 re 3) -1/6)) (+.f64 (*.f64 im (*.f64 (pow.f64 re 7) -1/5040)) (*.f64 im (+.f64 re (*.f64 (pow.f64 re 5) 1/120)))))
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 im -1/6)) (*.f64 im (+.f64 (*.f64 (pow.f64 re 7) -1/5040) (+.f64 re (*.f64 (pow.f64 re 5) 1/120)))))
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 im -1/6)) (*.f64 im (+.f64 (*.f64 (pow.f64 re 5) 1/120) (+.f64 re (*.f64 (pow.f64 re 7) -1/5040)))))
(-.f64 -1 (+.f64 -1 (*.f64 (sin.f64 re) im)))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(-.f64 1 (+.f64 1 (*.f64 (sin.f64 re) im)))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(-.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) 1)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(-.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 0)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(-.f64 0 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 1 (neg.f64 (*.f64 (sin.f64 re) im)))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 (*.f64 (sin.f64 re) im) -1)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 1)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 2 (/.f64 (*.f64 (sin.f64 re) im) -2))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 2) 1/2)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 4 (/.f64 (*.f64 (sin.f64 re) im) -4))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 4) 1/4)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 1/2 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 2))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 (/.f64 (*.f64 (sin.f64 re) im) -2) 2)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 1/4 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 4))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(*.f64 (/.f64 (*.f64 (sin.f64 re) im) -4) 4)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(/.f64 (*.f64 (sin.f64 re) im) -1)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(/.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 1)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(/.f64 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 2) 2)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (+.f64 im im)) -2)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 im 4)) -4)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(/.f64 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 4) 4)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(/.f64 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 8) 8)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(/.f64 (*.f64 (*.f64 (sin.f64 re) im) 8) -8)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) im) 8)) -16)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 8)) 16)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 8)) (*.f64 2 (*.f64 (neg.f64 (*.f64 (sin.f64 re) im)) 8))) 32)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(/.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 im im)) -1) 2)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(/.f64 (/.f64 (*.f64 (sin.f64 re) (*.f64 im 4)) -1) 4)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(/.f64 (/.f64 (*.f64 (*.f64 (sin.f64 re) im) 8) -1) 8)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(/.f64 (/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) im) 8)) -1) 16)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(neg.f64 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 im (sin.f64 (neg.f64 re)))
(+.f64 -1 (+.f64 1 (*.f64 (sin.f64 re) im)))
(*.f64 im (sin.f64 re))
(+.f64 1 (+.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 im (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) im) 0)
(*.f64 im (sin.f64 re))
(+.f64 0 (*.f64 (sin.f64 re) im))
(*.f64 im (sin.f64 re))
(+.f64 (+.f64 -1 (*.f64 (sin.f64 re) im)) 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 -1 (*.f64 (sin.f64 re) im)) -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 (sin.f64 re) (+.f64 im im)) 2)
(*.f64 im (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) (*.f64 im 4)) 4)
(*.f64 im (sin.f64 re))
(/.f64 (*.f64 (*.f64 (sin.f64 re) im) 8) 8)
(*.f64 im (sin.f64 re))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) im) 8)) 16)
(*.f64 im (sin.f64 re))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) im) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 re) im) 8))) 32)
(*.f64 im (sin.f64 re))

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
0.0b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
0.1b
(*.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
re
@0
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
0.0ms
im
@inf
(*.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
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))

rewrite81.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1458×rational.json-simplify-35
1278×bool.json-1
1278×bool.json-2
1222×rational.json-1
1222×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
19725
224825
350925
4104525
5229925
6481025
Stop Event
node limit
Counts
1 → 11
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 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2)) (*.f64 re (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/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 (*.f64 -1/6 (pow.f64 im 3)) im) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))))

simplify750.0ms (3.7%)

Algorithm
egg-herbie
Rules
3568×rational.json-simplify-35
3238×rational.json-simplify-2
1540×rational.json-simplify-53
950×rational.json-simplify-43
832×rational.json-simplify-49
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
046659
1107639
2217585
3539585
42323585
53905585
64431585
74587585
84694585
94799585
104902585
115534585
125995585
136229585
146230585
156230585
166333585
176436585
186539585
196812585
207090585
217401585
227560585
237686585
247799585
257904585
Stop Event
node limit
Counts
23 → 21
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 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2)) (*.f64 re (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/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 (*.f64 -1/6 (pow.f64 im 3)) im) 2)) 2)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 re 4)) 4)
(/.f64 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8)))) 64)
Outputs
(*.f64 -1 (*.f64 re im))
(neg.f64 (*.f64 re im))
(*.f64 re (neg.f64 im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (neg.f64 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (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 (neg.f64 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (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 (neg.f64 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (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 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 (neg.f64 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (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 (neg.f64 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (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 (neg.f64 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (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 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 (neg.f64 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (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 (neg.f64 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (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 (neg.f64 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (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 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2)) (*.f64 re (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1/2)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) 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 (*.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 (*.f64 -1/6 (pow.f64 im 3)) im) 2)) 2)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 re 4)) 4)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8) 8)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8)) 16)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8))) 32)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8)))) 64)
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 23 to 14 computations (39.1% saved)

series3.0ms (0%)

Counts
2 → 28
Calls

9 calls:

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

rewrite88.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1706×bool.json-1
1706×bool.json-2
1654×rational.json-1
1128×bool.json-3
872×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01134
111234
231234
365134
4134434
5301834
6655634
Stop Event
node limit
Counts
2 → 20
Calls
Call 1
Inputs
(*.f64 -1/6 (sin.f64 re))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (sin.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) -1/12) (*.f64 (sin.f64 re) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/6 (sin.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/6 (sin.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -1/6 (sin.f64 re)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (sin.f64 re)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (sin.f64 re)) 8)) (*.f64 2 (*.f64 (*.f64 -1/6 (sin.f64 re)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/6 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/6 (sin.f64 re)) (*.f64 -1/6 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/6 (sin.f64 re)) (*.f64 -1/6 (sin.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/12)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (pow.f64 im 3) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (pow.f64 im 3) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (pow.f64 im 3) 4))) (*.f64 2 (*.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (pow.f64 im 3) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))))

simplify168.0ms (0.8%)

Algorithm
egg-herbie
Rules
2366×rational.json-simplify-1
1922×rational.json-simplify-35
1796×rational.json-simplify-2
1598×rational.json-simplify-53
1074×rational.json-simplify-49
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0891192
12031192
24101192
310421144
427001144
536971144
639921144
742511144
847541144
957521144
1078491144
Stop Event
node limit
Counts
48 → 58
Calls
Call 1
Inputs
(*.f64 -1/6 re)
(+.f64 (*.f64 1/36 (pow.f64 re 3)) (*.f64 -1/6 re))
(+.f64 (*.f64 1/36 (pow.f64 re 3)) (+.f64 (*.f64 -1/6 re) (*.f64 -1/720 (pow.f64 re 5))))
(+.f64 (*.f64 1/36 (pow.f64 re 3)) (+.f64 (*.f64 -1/6 re) (+.f64 (*.f64 1/30240 (pow.f64 re 7)) (*.f64 -1/720 (pow.f64 re 5)))))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 5) (pow.f64 im 3))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 5) (pow.f64 im 3))) (+.f64 (*.f64 1/30240 (*.f64 (pow.f64 re 7) (pow.f64 im 3))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (sin.f64 re)) 0)
(+.f64 0 (*.f64 -1/6 (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) -1/12) (*.f64 (sin.f64 re) -1/12))
(-.f64 (*.f64 -1/6 (sin.f64 re)) 0)
(/.f64 (*.f64 -1/6 (sin.f64 re)) 1)
(/.f64 (*.f64 (sin.f64 re) -1/3) 2)
(/.f64 (*.f64 (sin.f64 re) -2/3) 4)
(/.f64 (*.f64 (*.f64 -1/6 (sin.f64 re)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (sin.f64 re)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (sin.f64 re)) 8)) (*.f64 2 (*.f64 (*.f64 -1/6 (sin.f64 re)) 8))) 32)
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) 0)
(+.f64 0 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/12)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/12)))
(-.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) 0)
(/.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) 1)
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/3)) 2)
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3)) 4)
(/.f64 (*.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (pow.f64 im 3) 4)) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (pow.f64 im 3) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (pow.f64 im 3) 4))) (*.f64 2 (*.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (pow.f64 im 3) 4)))) 32)
Outputs
(*.f64 -1/6 re)
(+.f64 (*.f64 1/36 (pow.f64 re 3)) (*.f64 -1/6 re))
(+.f64 (*.f64 -1/6 re) (*.f64 1/36 (pow.f64 re 3)))
(+.f64 (*.f64 1/36 (pow.f64 re 3)) (+.f64 (*.f64 -1/6 re) (*.f64 -1/720 (pow.f64 re 5))))
(+.f64 (*.f64 -1/6 re) (+.f64 (*.f64 -1/720 (pow.f64 re 5)) (*.f64 1/36 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 re) (+.f64 (*.f64 1/36 (pow.f64 re 3)) (*.f64 -1/720 (pow.f64 re 5))))
(+.f64 (*.f64 1/36 (pow.f64 re 3)) (+.f64 (*.f64 -1/6 re) (+.f64 (*.f64 1/30240 (pow.f64 re 7)) (*.f64 -1/720 (pow.f64 re 5)))))
(+.f64 (*.f64 1/36 (pow.f64 re 3)) (+.f64 (*.f64 1/30240 (pow.f64 re 7)) (+.f64 (*.f64 -1/6 re) (*.f64 -1/720 (pow.f64 re 5)))))
(+.f64 (*.f64 1/36 (pow.f64 re 3)) (+.f64 (+.f64 (*.f64 -1/6 re) (*.f64 -1/720 (pow.f64 re 5))) (*.f64 1/30240 (pow.f64 re 7))))
(+.f64 (*.f64 -1/6 re) (+.f64 (*.f64 1/36 (pow.f64 re 3)) (+.f64 (*.f64 -1/720 (pow.f64 re 5)) (*.f64 1/30240 (pow.f64 re 7)))))
(+.f64 (*.f64 1/36 (pow.f64 re 3)) (+.f64 (*.f64 -1/720 (pow.f64 re 5)) (+.f64 (*.f64 -1/6 re) (*.f64 1/30240 (pow.f64 re 7)))))
(+.f64 (*.f64 1/36 (pow.f64 re 3)) (+.f64 (*.f64 -1/6 re) (+.f64 (*.f64 -1/720 (pow.f64 re 5)) (*.f64 1/30240 (pow.f64 re 7)))))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 (*.f64 -1/6 re) (pow.f64 im 3))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 im 3) 1/36)))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) (*.f64 (pow.f64 re 3) (*.f64 1/36 (pow.f64 im 3))))
(+.f64 (*.f64 (*.f64 -1/6 re) (pow.f64 im 3)) (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))))
(*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/6 re) (*.f64 1/36 (pow.f64 re 3))))
(*.f64 (+.f64 (*.f64 -1/6 re) (*.f64 1/36 (pow.f64 re 3))) (pow.f64 im 3))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 5) (pow.f64 im 3))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 im 3) 1/36)) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 -1/720 (*.f64 (pow.f64 re 5) (pow.f64 im 3)))))
(+.f64 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) (*.f64 (pow.f64 re 3) (*.f64 1/36 (pow.f64 im 3)))) (*.f64 -1/720 (*.f64 (pow.f64 re 5) (pow.f64 im 3))))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (+.f64 (*.f64 (*.f64 -1/6 re) (pow.f64 im 3)) (*.f64 -1/720 (*.f64 (pow.f64 re 5) (pow.f64 im 3)))))
(+.f64 (*.f64 (*.f64 -1/6 re) (pow.f64 im 3)) (*.f64 (pow.f64 im 3) (+.f64 (*.f64 1/36 (pow.f64 re 3)) (*.f64 -1/720 (pow.f64 re 5)))))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/6 re) (*.f64 -1/720 (pow.f64 re 5)))))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 -1/6 re) (*.f64 -1/720 (pow.f64 re 5))) (pow.f64 im 3)))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 5) (pow.f64 im 3))) (+.f64 (*.f64 1/30240 (*.f64 (pow.f64 re 7) (pow.f64 im 3))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))))
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 im 3) 1/36)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 5) (pow.f64 im 3))) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 (pow.f64 re 7) (*.f64 (pow.f64 im 3) 1/30240)))))
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 1/36 (pow.f64 im 3))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) (+.f64 (*.f64 (pow.f64 re 7) (*.f64 1/30240 (pow.f64 im 3))) (*.f64 -1/720 (*.f64 (pow.f64 re 5) (pow.f64 im 3))))))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (+.f64 (*.f64 (*.f64 -1/6 re) (pow.f64 im 3)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 5) (pow.f64 im 3))) (*.f64 1/30240 (*.f64 (pow.f64 re 7) (pow.f64 im 3))))))
(+.f64 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/6 re) (*.f64 1/36 (pow.f64 re 3)))) (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/720 (pow.f64 re 5)) (*.f64 1/30240 (pow.f64 re 7)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 re) (*.f64 1/36 (pow.f64 re 3))) (pow.f64 im 3)) (*.f64 (+.f64 (*.f64 -1/720 (pow.f64 re 5)) (*.f64 1/30240 (pow.f64 re 7))) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (sin.f64 re)) 0)
(*.f64 -1/6 (sin.f64 re))
(+.f64 0 (*.f64 -1/6 (sin.f64 re)))
(*.f64 -1/6 (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -1/12) (*.f64 (sin.f64 re) -1/12))
(*.f64 -1/6 (sin.f64 re))
(-.f64 (*.f64 -1/6 (sin.f64 re)) 0)
(*.f64 -1/6 (sin.f64 re))
(/.f64 (*.f64 -1/6 (sin.f64 re)) 1)
(*.f64 -1/6 (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) -1/3) 2)
(*.f64 -1/6 (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) -2/3) 4)
(*.f64 -1/6 (sin.f64 re))
(/.f64 (*.f64 (*.f64 -1/6 (sin.f64 re)) 8) 8)
(*.f64 -1/6 (sin.f64 re))
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (sin.f64 re)) 8)) 16)
(*.f64 -1/6 (sin.f64 re))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (sin.f64 re)) 8)) (*.f64 2 (*.f64 (*.f64 -1/6 (sin.f64 re)) 8))) 32)
(*.f64 -1/6 (sin.f64 re))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) 0)
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 0 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/12)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/12)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(-.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) 0)
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) 1)
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/3)) 2)
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3)) 4)
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (pow.f64 im 3) 4)) 8)
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (pow.f64 im 3) 4))) 16)
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (pow.f64 im 3) 4))) (*.f64 2 (*.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (pow.f64 im 3) 4)))) 32)
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))

localize17.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 53 to 24 computations (54.7% saved)

series6.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite78.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1740×bool.json-1
1740×bool.json-2
1710×rational.json-1
1710×rational.json-2
1468×bool.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01472
115072
248572
3138772
4490372
Stop Event
node limit
Counts
2 → 74
Calls
Call 1
Inputs
(/.f64 re (/.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))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.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 1/2 (exp.f64 im)) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 re (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (*.f64 re (/.f64 2 (exp.f64 im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (/.f64 1/2 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 (/.f64 1/2 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1/2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 re (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 re (*.f64 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (exp.f64 im) (/.f64 2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (*.f64 (/.f64 2 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 (exp.f64 im) 4) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/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 4) (/.f64 1 (*.f64 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 re (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 re (*.f64 (exp.f64 im) 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 1/2 (/.f64 (exp.f64 im) re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 1/2 (/.f64 1/2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 1/4 (/.f64 re (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (/.f64 (exp.f64 im) re)) (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 re) (/.f64 1 (/.f64 (/.f64 (exp.f64 im) -1/2) (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 1 (/.f64 (exp.f64 im) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 1 (neg.f64 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (exp.f64 im)) (/.f64 1 (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))) (/.f64 1 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (/.f64 1/2 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 re (/.f64 (/.f64 (exp.f64 im) -1/2) (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (/.f64 2 (exp.f64 im))) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (*.f64 re (/.f64 2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (/.f64 re (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (*.f64 (exp.f64 im) 4)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1))) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 (/.f64 (exp.f64 im) re)) (/.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (*.f64 2 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 2) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 2) (*.f64 1/2 (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 4) (/.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (*.f64 1/2 (+.f64 (exp.f64 (+.f64 im im)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (exp.f64 im) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (+.f64 im im)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))) (*.f64 (exp.f64 im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)))))))

simplify115.0ms (0.6%)

Algorithm
egg-herbie
Rules
996×rational.json-simplify-51
892×rational.json-simplify-1
748×rational.json-simplify-35
730×rational.json-simplify-43
720×rational.json-simplify-2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02454278
16064180
213664110
338674096
461964090
Stop Event
node limit
Counts
110 → 117
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 -1 (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 1/2 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -4/3 re) (*.f64 -1 re)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -4/3 re) (*.f64 -1 re)))) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1 re) (*.f64 -2/3 re)) (+.f64 (*.f64 -4/3 re) (*.f64 -1/3 re))) (pow.f64 im 4)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -4/3 re) (*.f64 -1 re)))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1 re) (*.f64 -2/3 re)) (+.f64 (*.f64 -4/3 re) (*.f64 -1/3 re))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 -4/15 re) (+.f64 (*.f64 -4/3 re) (*.f64 -1/3 re))) (+.f64 (*.f64 -1 re) (+.f64 (*.f64 -2/3 re) (+.f64 (*.f64 1/2 (-.f64 (*.f64 -4/3 re) (*.f64 -1 re))) (*.f64 -1/12 re))))) (pow.f64 im 5))))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) re) (exp.f64 im)))
(/.f64 -1 im)
(-.f64 (*.f64 1/6 im) (/.f64 1 im))
(-.f64 (+.f64 (*.f64 1/6 im) (*.f64 -7/360 (pow.f64 im 3))) (/.f64 1 im))
(-.f64 (+.f64 (*.f64 31/15120 (pow.f64 im 5)) (+.f64 (*.f64 1/6 im) (*.f64 -7/360 (pow.f64 im 3)))) (/.f64 1 im))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))) 0)
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))) 0)
(*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))))
(*.f64 1 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (/.f64 1/2 (exp.f64 im)) re))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) re)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 re (exp.f64 im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (*.f64 re (/.f64 2 (exp.f64 im))) 1/2))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))) 1)
(*.f64 (+.f64 re re) (/.f64 1/2 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1))))
(*.f64 (+.f64 re re) (*.f64 (/.f64 1/2 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1))) 1))
(*.f64 (+.f64 re re) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))
(*.f64 2 (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1/2 (/.f64 (exp.f64 im) re))))
(*.f64 2 (*.f64 (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 re (exp.f64 im))))
(*.f64 2 (/.f64 re (*.f64 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))) 4)))
(*.f64 2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (exp.f64 im) (/.f64 2 re))))
(*.f64 2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))) 2))
(*.f64 2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (*.f64 (/.f64 2 re) 2))))
(*.f64 2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 (exp.f64 im) 4) re)))
(*.f64 2 (*.f64 (/.f64 1/2 (/.f64 (exp.f64 im) re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (*.f64 re 4) (/.f64 1 (*.f64 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) 4)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 re (*.f64 (exp.f64 im) 4)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 re (*.f64 (exp.f64 im) 4)) 1))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 1/2 (/.f64 (exp.f64 im) re)) 1/2))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 1/2 (/.f64 1/2 (/.f64 (exp.f64 im) re))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 1/4 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) re)) 1/2)
(*.f64 (/.f64 1/2 (/.f64 (exp.f64 im) re)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (neg.f64 re) (/.f64 1 (/.f64 (/.f64 (exp.f64 im) -1/2) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 1 (/.f64 (exp.f64 im) (neg.f64 re))))
(*.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 1 (neg.f64 (/.f64 (exp.f64 im) re))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(*.f64 (/.f64 re (exp.f64 im)) (/.f64 1 (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))) re)
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))) (/.f64 1 (/.f64 1 re)))
(*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (/.f64 1/2 (/.f64 1 re)))
(*.f64 -1 (/.f64 re (/.f64 (/.f64 (exp.f64 im) -1/2) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 re (/.f64 2 (exp.f64 im))) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2))
(*.f64 (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (*.f64 re (/.f64 2 (exp.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (/.f64 re (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 re)))
(*.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 re)))
(*.f64 (/.f64 re (*.f64 (exp.f64 im) 4)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 (/.f64 1/2 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1))) (+.f64 re re))
(*.f64 1/4 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 2 (exp.f64 im)))))
(*.f64 (+.f64 (/.f64 1/2 (/.f64 (exp.f64 im) re)) (/.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(+.f64 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) 0)
(+.f64 0 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)))
(+.f64 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))
(-.f64 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) 0)
(*.f64 (exp.f64 im) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 im) (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (exp.f64 im) (*.f64 2 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)))
(*.f64 1/2 (*.f64 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))) 4))
(*.f64 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) 1)
(*.f64 (*.f64 (exp.f64 im) 2) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) 2))
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 1/2 (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))) 4) 1/2)
(*.f64 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))) 2)
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) 4) 1/4)
(*.f64 (*.f64 (exp.f64 im) 4) (/.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 im))
(*.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2))
(*.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(*.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (*.f64 1/2 (+.f64 (exp.f64 (+.f64 im im)) -1))))
(*.f64 -1 (/.f64 (exp.f64 im) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(*.f64 -1 (/.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (+.f64 im im)) -1))))
(*.f64 (*.f64 2 (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))) (*.f64 (exp.f64 im) 1/2))
(*.f64 (/.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 4))
Outputs
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.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 (pow.f64 im 3) (-.f64 (*.f64 -4/3 re) (*.f64 -1 re)))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 re -4/3) (neg.f64 re)))))
(+.f64 (*.f64 im (neg.f64 re)) (*.f64 1/2 (*.f64 (pow.f64 im 3) (*.f64 re -1/3))))
(+.f64 (*.f64 im (neg.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 re -1/6)))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -4/3 re) (*.f64 -1 re)))) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1 re) (*.f64 -2/3 re)) (+.f64 (*.f64 -4/3 re) (*.f64 -1/3 re))) (pow.f64 im 4)))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 re -4/3) (neg.f64 re)))))
(+.f64 (*.f64 im (neg.f64 re)) (*.f64 1/2 (*.f64 (pow.f64 im 3) (*.f64 re -1/3))))
(+.f64 (*.f64 im (neg.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 re -1/6)))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -4/3 re) (*.f64 -1 re)))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1 re) (*.f64 -2/3 re)) (+.f64 (*.f64 -4/3 re) (*.f64 -1/3 re))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 -4/15 re) (+.f64 (*.f64 -4/3 re) (*.f64 -1/3 re))) (+.f64 (*.f64 -1 re) (+.f64 (*.f64 -2/3 re) (+.f64 (*.f64 1/2 (-.f64 (*.f64 -4/3 re) (*.f64 -1 re))) (*.f64 -1/12 re))))) (pow.f64 im 5))))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 re -4/3) (neg.f64 re)))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (neg.f64 re) (*.f64 re -2/3)) (+.f64 (*.f64 re -4/3) (*.f64 re -1/3))) (pow.f64 im 4))) (*.f64 (-.f64 (+.f64 (*.f64 re -4/3) (+.f64 (*.f64 re -1/3) (*.f64 re -4/15))) (+.f64 (neg.f64 re) (+.f64 (*.f64 1/2 (-.f64 (*.f64 re -4/3) (neg.f64 re))) (+.f64 (*.f64 re -1/12) (*.f64 re -2/3))))) (*.f64 (pow.f64 im 5) 1/2)))))
(+.f64 (*.f64 im (neg.f64 re)) (+.f64 (*.f64 (+.f64 (*.f64 re -5/3) (-.f64 (*.f64 re -4/15) (+.f64 (*.f64 1/2 (*.f64 re -1/3)) (+.f64 (*.f64 re -3/4) (neg.f64 re))))) (*.f64 1/2 (pow.f64 im 5))) (*.f64 1/2 (+.f64 (*.f64 (-.f64 (*.f64 re -5/3) (*.f64 re -5/3)) (pow.f64 im 4)) (*.f64 (pow.f64 im 3) (*.f64 re -1/3))))))
(+.f64 (*.f64 im (neg.f64 re)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) (+.f64 (*.f64 (pow.f64 im 4) 0) (*.f64 (-.f64 (*.f64 re -29/15) (+.f64 (*.f64 re -1/6) (*.f64 re -7/4))) (*.f64 1/2 (pow.f64 im 5))))))
(+.f64 (*.f64 im (neg.f64 re)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) (+.f64 (*.f64 (-.f64 (*.f64 re -29/15) (+.f64 (neg.f64 re) (*.f64 re -11/12))) (*.f64 1/2 (pow.f64 im 5))) 0)))
(+.f64 (*.f64 im (neg.f64 re)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) (*.f64 (-.f64 (*.f64 re -29/15) (+.f64 (neg.f64 re) (*.f64 re -11/12))) (*.f64 1/2 (pow.f64 im 5)))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) re) (exp.f64 im)))
(*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 re (exp.f64 im))))
(/.f64 -1 im)
(-.f64 (*.f64 1/6 im) (/.f64 1 im))
(-.f64 (*.f64 im 1/6) (/.f64 1 im))
(-.f64 (+.f64 (*.f64 1/6 im) (*.f64 -7/360 (pow.f64 im 3))) (/.f64 1 im))
(+.f64 (*.f64 (pow.f64 im 3) -7/360) (-.f64 (*.f64 im 1/6) (/.f64 1 im)))
(+.f64 (*.f64 im 1/6) (-.f64 (*.f64 (pow.f64 im 3) -7/360) (/.f64 1 im)))
(+.f64 (-.f64 (*.f64 im 1/6) (/.f64 1 im)) (*.f64 (pow.f64 im 3) -7/360))
(-.f64 (+.f64 (*.f64 31/15120 (pow.f64 im 5)) (+.f64 (*.f64 1/6 im) (*.f64 -7/360 (pow.f64 im 3)))) (/.f64 1 im))
(-.f64 (+.f64 (*.f64 im 1/6) (+.f64 (*.f64 (pow.f64 im 3) -7/360) (*.f64 (pow.f64 im 5) 31/15120))) (/.f64 1 im))
(+.f64 (+.f64 (*.f64 (pow.f64 im 3) -7/360) (*.f64 (pow.f64 im 5) 31/15120)) (-.f64 (*.f64 im 1/6) (/.f64 1 im)))
(+.f64 (-.f64 (*.f64 im 1/6) (/.f64 1 im)) (+.f64 (*.f64 (pow.f64 im 3) -7/360) (*.f64 (pow.f64 im 5) 31/15120)))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (*.f64 2 im)))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))))
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (*.f64 2 im)))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))) 0)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))) 0)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (/.f64 1/2 (exp.f64 im)) re))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) re)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 re (exp.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (*.f64 re (/.f64 2 (exp.f64 im))) 1/2))
(*.f64 re (*.f64 (/.f64 2 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (/.f64 2 (exp.f64 im)) (*.f64 re 1/4)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))) 1)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (+.f64 re re) (/.f64 1/2 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (+.f64 re re) (*.f64 (/.f64 1/2 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1))) 1))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (+.f64 re re) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 2 (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1/2 (/.f64 (exp.f64 im) re))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 2 (*.f64 (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 re (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 2 (/.f64 re (*.f64 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))) 4)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (*.f64 (exp.f64 im) (/.f64 2 re))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re))) 2))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (*.f64 (/.f64 2 re) 2))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 (exp.f64 im) 4) re)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 2 (*.f64 (/.f64 1/2 (/.f64 (exp.f64 im) re)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 re 4) (/.f64 1 (*.f64 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) 4)))
(*.f64 (*.f64 re 4) (/.f64 1 (*.f64 4 (/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2))))
(*.f64 re (*.f64 4 (/.f64 1/4 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im)))))))
(*.f64 (*.f64 re 4) (/.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 8))
(*.f64 (/.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 8) (*.f64 re 4))
(*.f64 4 (/.f64 re (/.f64 8 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 re (*.f64 (exp.f64 im) 4)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 re (*.f64 (exp.f64 im) 4)) 1))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 1/2 (/.f64 (exp.f64 im) re)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 1/2 (/.f64 1/2 (/.f64 (exp.f64 im) re))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 1/4 (/.f64 re (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (exp.f64 im) re)) 1/2)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 1/2 (/.f64 (exp.f64 im) re)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (neg.f64 re) (/.f64 1 (/.f64 (/.f64 (exp.f64 im) -1/2) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 1 (/.f64 (exp.f64 im) (neg.f64 re))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (/.f64 1 (neg.f64 (/.f64 (exp.f64 im) re))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (exp.f64 im)) (/.f64 1 (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))) re)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))) (/.f64 1 (/.f64 1 re)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (/.f64 1/2 (/.f64 1 re)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 -1 (/.f64 re (/.f64 (/.f64 (exp.f64 im) -1/2) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 re (/.f64 2 (exp.f64 im))) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) 2))
(*.f64 re (*.f64 (/.f64 2 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (/.f64 2 (exp.f64 im)) (*.f64 re 1/4)))
(*.f64 (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)) (*.f64 re (/.f64 2 (exp.f64 im))))
(*.f64 re (*.f64 (/.f64 2 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (/.f64 2 (exp.f64 im)) (*.f64 re 1/4)))
(*.f64 (exp.f64 (neg.f64 im)) (/.f64 re (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (/.f64 1 re)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 re)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 re (*.f64 (exp.f64 im) 4)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (/.f64 1/2 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1))) (+.f64 re re))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/4 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 2 (exp.f64 im)))))
(*.f64 re (*.f64 (/.f64 2 (exp.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/4)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (/.f64 2 (exp.f64 im)) (*.f64 re 1/4)))
(*.f64 (+.f64 (/.f64 1/2 (/.f64 (exp.f64 im) re)) (/.f64 1/2 (/.f64 (exp.f64 im) re))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 -1/2 (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(+.f64 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) 0)
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(+.f64 0 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(+.f64 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(-.f64 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) 0)
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (exp.f64 im) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (exp.f64 im) (+.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (exp.f64 im) (*.f64 2 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 1 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 1/2 (*.f64 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))) 4))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) 1)
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (*.f64 (exp.f64 im) 2) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) 2))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 1/2 (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (*.f64 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))) 4) 1/2)
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))) 2)
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 2 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (*.f64 (/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 (exp.f64 (+.f64 im im)) -1)) 4) 1/4)
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (*.f64 (exp.f64 im) 4) (/.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im)))) (exp.f64 im))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 2))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (*.f64 1/2 (+.f64 (exp.f64 (+.f64 im im)) -1))))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 -1 (/.f64 (exp.f64 im) (neg.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2))))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 -1 (/.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (+.f64 im im)) -1))))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (*.f64 2 (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))) (*.f64 (exp.f64 im) 1/2))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)
(*.f64 (/.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (exp.f64 im) 4))
(/.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -1/2)
(/.f64 (/.f64 (exp.f64 im) -1/2) (+.f64 -1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im)))) -2)

eval426.0ms (2.1%)

Compiler

Compiled 9913 to 6802 computations (31.4% saved)

prune213.0ms (1.1%)

Pruning

24 alts after pruning (13 fresh and 11 done)

PrunedKeptTotal
New5137520
Fresh167
Picked011
Done11011
Total51524539
Error
0.1b
Counts
539 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
44.7b
(/.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 re))
43.2b
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
1.3b
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 -1/2 im))
0.9b
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))
44.7b
(/.f64 re (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
32.7b
(/.f64 re (/.f64 -1 im))
32.1b
(/.f64 re (-.f64 (+.f64 (*.f64 im 1/6) (+.f64 (*.f64 (pow.f64 im 3) -7/360) (*.f64 (pow.f64 im 5) 31/15120))) (/.f64 1 im)))
32.2b
(/.f64 re (-.f64 (+.f64 (*.f64 1/6 im) (*.f64 -7/360 (pow.f64 im 3))) (/.f64 1 im)))
32.3b
(/.f64 re (-.f64 (*.f64 im 1/6) (/.f64 1 im)))
33.3b
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))
45.1b
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) im)))
46.3b
(+.f64 -1 (-.f64 1 (*.f64 re im)))
45.6b
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
0.6b
(*.f64 (/.f64 (sin.f64 re) (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) -1/2)
0.6b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
43.8b
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1) (sin.f64 re))
43.2b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.2b
(*.f64 (sin.f64 re) (neg.f64 im))
32.3b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
44.8b
(*.f64 re (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1))
32.7b
(*.f64 re (neg.f64 im))
32.1b
(*.f64 1/2 (+.f64 (*.f64 -2 (*.f64 re im)) (*.f64 re (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
44.7b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
32.1b
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
Compiler

Compiled 327 to 253 computations (22.6% saved)

regimes176.0ms (0.9%)

Counts
34 → 1
Calls
Call 1
Inputs
(*.f64 re (neg.f64 im))
(/.f64 re (/.f64 -1 im))
(+.f64 -1 (-.f64 1 (*.f64 re im)))
(/.f64 re (-.f64 (*.f64 im 1/6) (/.f64 1 im)))
(*.f64 (sin.f64 re) (neg.f64 im))
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) im)))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 -1/2 im))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))
(*.f64 re (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1))
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))
(/.f64 re (-.f64 (+.f64 (*.f64 1/6 im) (*.f64 -7/360 (pow.f64 im 3))) (/.f64 1 im)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.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 re (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1) (sin.f64 re))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 (/.f64 (sin.f64 re) (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) -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 (*.f64 1/2 (sin.f64 re)) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))
(*.f64 1/2 (+.f64 (*.f64 -2 (*.f64 re im)) (*.f64 re (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 re (-.f64 (+.f64 (*.f64 im 1/6) (+.f64 (*.f64 (pow.f64 im 3) -7/360) (*.f64 (pow.f64 im 5) 31/15120))) (/.f64 1 im)))
(*.f64 (*.f64 1/2 (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 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (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 1/2 (*.f64 (+.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)))) 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 (*.f64 1/2 (sin.f64 re)) (+.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)))))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.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)))))
Calls

6 calls:

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

Compiled 494 to 324 computations (34.4% saved)

regimes209.0ms (1%)

Counts
33 → 1
Calls
Call 1
Inputs
(*.f64 re (neg.f64 im))
(/.f64 re (/.f64 -1 im))
(+.f64 -1 (-.f64 1 (*.f64 re im)))
(/.f64 re (-.f64 (*.f64 im 1/6) (/.f64 1 im)))
(*.f64 (sin.f64 re) (neg.f64 im))
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) im)))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 -1/2 im))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))
(*.f64 re (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1))
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))
(/.f64 re (-.f64 (+.f64 (*.f64 1/6 im) (*.f64 -7/360 (pow.f64 im 3))) (/.f64 1 im)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.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 re (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1) (sin.f64 re))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 (/.f64 (sin.f64 re) (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) -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 (*.f64 1/2 (sin.f64 re)) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))
(*.f64 1/2 (+.f64 (*.f64 -2 (*.f64 re im)) (*.f64 re (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 re (-.f64 (+.f64 (*.f64 im 1/6) (+.f64 (*.f64 (pow.f64 im 3) -7/360) (*.f64 (pow.f64 im 5) 31/15120))) (/.f64 1 im)))
(*.f64 (*.f64 1/2 (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 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (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 1/2 (*.f64 (+.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)))) 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))))
Outputs
(+.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))))
Calls

6 calls:

86.0ms
re
68.0ms
(*.f64 1/2 (sin.f64 re))
17.0ms
im
17.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.4b1re
0.4b1im
0.4b1(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.4b1(*.f64 1/2 (sin.f64 re))
0.4b1(sin.f64 re)
0.4b1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 468 to 304 computations (35% saved)

regimes86.0ms (0.4%)

Counts
32 → 1
Calls
Call 1
Inputs
(*.f64 re (neg.f64 im))
(/.f64 re (/.f64 -1 im))
(+.f64 -1 (-.f64 1 (*.f64 re im)))
(/.f64 re (-.f64 (*.f64 im 1/6) (/.f64 1 im)))
(*.f64 (sin.f64 re) (neg.f64 im))
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) im)))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 -1/2 im))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))
(*.f64 re (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1))
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))
(/.f64 re (-.f64 (+.f64 (*.f64 1/6 im) (*.f64 -7/360 (pow.f64 im 3))) (/.f64 1 im)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.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 re (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1) (sin.f64 re))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 (/.f64 (sin.f64 re) (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) -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 (*.f64 1/2 (sin.f64 re)) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))
(*.f64 1/2 (+.f64 (*.f64 -2 (*.f64 re im)) (*.f64 re (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 re (-.f64 (+.f64 (*.f64 im 1/6) (+.f64 (*.f64 (pow.f64 im 3) -7/360) (*.f64 (pow.f64 im 5) 31/15120))) (/.f64 1 im)))
(*.f64 (*.f64 1/2 (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 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (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 1/2 (*.f64 (+.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)))) 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:

18.0ms
(sin.f64 re)
18.0ms
re
16.0ms
(*.f64 1/2 (sin.f64 re))
15.0ms
im
4.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
0.4b1re
0.4b1im
0.4b1(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.4b1(*.f64 1/2 (sin.f64 re))
0.4b1(sin.f64 re)
0.4b1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 448 to 291 computations (35% saved)

regimes80.0ms (0.4%)

Counts
30 → 1
Calls
Call 1
Inputs
(*.f64 re (neg.f64 im))
(/.f64 re (/.f64 -1 im))
(+.f64 -1 (-.f64 1 (*.f64 re im)))
(/.f64 re (-.f64 (*.f64 im 1/6) (/.f64 1 im)))
(*.f64 (sin.f64 re) (neg.f64 im))
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) im)))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 -1/2 im))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))
(*.f64 re (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1))
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))
(/.f64 re (-.f64 (+.f64 (*.f64 1/6 im) (*.f64 -7/360 (pow.f64 im 3))) (/.f64 1 im)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.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 re (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1) (sin.f64 re))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
(*.f64 (/.f64 (sin.f64 re) (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) -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 (*.f64 1/2 (sin.f64 re)) (-.f64 (+.f64 (*.f64 -7/720 (pow.f64 im 3)) (*.f64 1/12 im)) (*.f64 1/2 (/.f64 1 im))))
(*.f64 1/2 (+.f64 (*.f64 -2 (*.f64 re im)) (*.f64 re (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(/.f64 re (-.f64 (+.f64 (*.f64 im 1/6) (+.f64 (*.f64 (pow.f64 im 3) -7/360) (*.f64 (pow.f64 im 5) 31/15120))) (/.f64 1 im)))
(*.f64 (*.f64 1/2 (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 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (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 (sin.f64 re) (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) -1/2)
Calls

6 calls:

18.0ms
(sin.f64 re)
16.0ms
re
15.0ms
(*.f64 1/2 (sin.f64 re))
14.0ms
im
4.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
0.6b1re
0.6b1im
0.6b1(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.6b1(*.f64 1/2 (sin.f64 re))
0.6b1(sin.f64 re)
0.6b1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 406 to 260 computations (36% saved)

regimes60.0ms (0.3%)

Counts
21 → 1
Calls
Call 1
Inputs
(*.f64 re (neg.f64 im))
(/.f64 re (/.f64 -1 im))
(+.f64 -1 (-.f64 1 (*.f64 re im)))
(/.f64 re (-.f64 (*.f64 im 1/6) (/.f64 1 im)))
(*.f64 (sin.f64 re) (neg.f64 im))
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) im)))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 -1/2 im))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))
(*.f64 re (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1))
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))
(/.f64 re (-.f64 (+.f64 (*.f64 1/6 im) (*.f64 -7/360 (pow.f64 im 3))) (/.f64 1 im)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.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 re (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1) (sin.f64 re))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (*.f64 re (exp.f64 (neg.f64 im))) 1/2))
Outputs
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
Calls

5 calls:

21.0ms
im
10.0ms
(*.f64 1/2 (sin.f64 re))
10.0ms
re
10.0ms
(sin.f64 re)
3.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Results
ErrorSegmentsBranch
0.6b1re
0.6b1im
0.6b1(*.f64 1/2 (sin.f64 re))
0.6b1(sin.f64 re)
0.6b1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 241 to 156 computations (35.3% saved)

regimes84.0ms (0.4%)

Counts
14 → 1
Calls
Call 1
Inputs
(*.f64 re (neg.f64 im))
(/.f64 re (/.f64 -1 im))
(+.f64 -1 (-.f64 1 (*.f64 re im)))
(/.f64 re (-.f64 (*.f64 im 1/6) (/.f64 1 im)))
(*.f64 (sin.f64 re) (neg.f64 im))
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 re) im)))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 -1/2 im))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 re 3) (*.f64 im 1/6)))
(*.f64 re (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1))
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))
(/.f64 re (-.f64 (+.f64 (*.f64 1/6 im) (*.f64 -7/360 (pow.f64 im 3))) (/.f64 1 im)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Outputs
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))
Calls

5 calls:

54.0ms
(sin.f64 re)
9.0ms
im
8.0ms
(*.f64 1/2 (sin.f64 re))
7.0ms
re
3.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Results
ErrorSegmentsBranch
0.9b1re
0.9b1im
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 153 to 102 computations (33.3% saved)

regimes92.0ms (0.5%)

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

4 calls:

70.0ms
(*.f64 1/2 (sin.f64 re))
9.0ms
re
6.0ms
(sin.f64 re)
6.0ms
im
Results
ErrorSegmentsBranch
1.2b1re
1.2b1im
1.2b1(*.f64 1/2 (sin.f64 re))
1.2b1(sin.f64 re)
Compiler

Compiled 98 to 64 computations (34.7% saved)

regimes9.0ms (0%)

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

2 calls:

4.0ms
im
4.0ms
re
Results
ErrorSegmentsBranch
32.3b1re
32.3b1im
Compiler

Compiled 33 to 22 computations (33.3% saved)

regimes7.0ms (0%)

Accuracy

Total -14.0b remaining (-43%)

Threshold costs -14.0b (-43%)

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

2 calls:

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

Compiled 24 to 16 computations (33.3% saved)

simplify8.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064363
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.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 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 (sin.f64 re) (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) -1/2)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))
(*.f64 (sin.f64 re) (neg.f64 im))
(/.f64 re (-.f64 (*.f64 im 1/6) (/.f64 1 im)))
(*.f64 re (neg.f64 im))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.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 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 (sin.f64 re) (-.f64 (/.f64 1/2 im) (+.f64 (*.f64 1/12 im) (*.f64 -7/720 (pow.f64 im 3))))) -1/2)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (*.f64 im 1/12) (*.f64 1/2 (/.f64 1 im))))
(*.f64 (sin.f64 re) (neg.f64 im))
(/.f64 re (-.f64 (*.f64 im 1/6) (/.f64 1 im)))
(*.f64 re (neg.f64 im))
Compiler

Compiled 141 to 109 computations (22.7% saved)

soundness121.0ms (0.6%)

Algorithm
egg-herbie
Rules
1296×rational.json-simplify-46
1088×rational.json-simplify-35
814×rational.json-simplify-1
806×rational.json-simplify-48
700×rational.json-simplify-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01452296
13142296
27652156
313992122
430252122
539042122
662092122
Stop Event
node limit
Compiler

Compiled 80 to 63 computations (21.3% saved)

end794.0ms (4%)

Compiler

Compiled 125 to 85 computations (32% saved)

Profiling

Loading profile data...