Details

Time bar (total: 22.4s)

analyze192.0ms (0.9%)

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)

sample13.0s (58.1%)

Results
6.1s4222×body1024valid
2.7s2105×body512valid
2.2s1977×body1024infinite
1.1s1673×body256valid
340.0ms1011×body512infinite
311.0ms1597×body256infinite
276.0ms256×body2048valid
Bogosity

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

simplify109.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
41.5b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
41.5b
(*.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.2b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.4b
(-.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)))

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

simplify116.0ms (0.5%)

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

eval27.0ms (0.1%)

Compiler

Compiled 1753 to 870 computations (50.4% saved)

prune20.0ms (0.1%)

Pruning

8 alts after pruning (7 fresh and 1 done)

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

Compiled 261 to 202 computations (22.6% saved)

localize44.0ms (0.2%)

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

Compiled 112 to 86 computations (23.2% saved)

series13.0ms (0.1%)

Counts
4 → 24
Calls

15 calls:

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

rewrite100.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1678×bool.json-1
1678×bool.json-2
1602×rational.json-1
1602×rational.json-2
1116×bool.json-3
Iterations

Useful iterations: 0 (0.0ms)

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

simplify207.0ms (0.9%)

Algorithm
egg-herbie
Rules
2344×rational.json-simplify-2
2014×rational.json-simplify-35
1652×rational.json-simplify-48
1258×rational.json-simplify-1
792×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01343084
13233072
26102952
312302658
428692658
540072658
645792658
751592658
858132658
972012658
1077872658
Stop Event
node limit
Counts
56 → 92
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 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7)))))) 0)
(+.f64 0 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7)))))))
(-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7)))))) 0)
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7)))))) 1)
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7)))))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (sin.f64 re) 2)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (sin.f64 re) 2))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (sin.f64 re) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (sin.f64 re) 2)))) 16)
(+.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 -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 (pow.f64 re 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))))) -1/12)))
(+.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 (*.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 (pow.f64 re 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))))) -1/12))) (*.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 -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 (+.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/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 (pow.f64 re 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))))) -1/12)) (+.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 -1/10080 (pow.f64 re 7))) (*.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/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 (*.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/10080 (pow.f64 re 7)) (*.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 (+.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/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/240 (pow.f64 re 5)) (*.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 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(*.f64 (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 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.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 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(*.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) (*.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 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.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 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.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 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 7) -1/5040)))))
(+.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 (pow.f64 im 7) (*.f64 (sin.f64 re) -1/5040))
(+.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 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re)))))
(+.f64 (*.f64 (sin.f64 re) (*.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 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 7) -1/5040))))
(*.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 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.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 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.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 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 7) -1/5040)))))
(+.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 (pow.f64 im 7) (*.f64 (sin.f64 re) -1/5040))
(+.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 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re)))))
(+.f64 (*.f64 (sin.f64 re) (*.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 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 7) -1/5040))))
(*.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 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.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 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.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 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 7) -1/5040)))))
(+.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 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7)))))) 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 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7)))))))
(*.f64 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 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7)))))) 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 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7)))))) 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 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7)))))) 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 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (sin.f64 re) 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 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (sin.f64 re) 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 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (sin.f64 re) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7))))) (*.f64 (sin.f64 re) 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/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 -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))

rewrite95.0ms (0.4%)

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

simplify234.0ms (1%)

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

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)
5.4b
(-.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
re
@inf
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)
0.0ms
im
@-inf
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)
0.0ms
re
@-inf
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)
0.0ms
im
@inf
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)

rewrite95.0ms (0.4%)

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 (5.6%)

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

localize33.0ms (0.1%)

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)

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

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

simplify403.0ms (1.8%)

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)

localize19.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.2b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
5.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)))))

rewrite476.0ms (2.1%)

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

simplify128.0ms (0.6%)

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

eval359.0ms (1.6%)

Compiler

Compiled 10083 to 6454 computations (36% saved)

prune96.0ms (0.4%)

Pruning

14 alts after pruning (10 fresh and 4 done)

PrunedKeptTotal
New45310463
Fresh202
Picked101
Done145
Total45714471
Error
0.4b
Counts
471 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
41.5b
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
43.7b
(*.f64 (pow.f64 im 7) (*.f64 (sin.f64 re) -1/5040))
0.8b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
30.0b
(*.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))
41.5b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.6b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.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)))))
42.0b
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1))
43.6b
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
1.0b
(*.f64 (sin.f64 re) (neg.f64 im))
30.0b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
42.9b
(*.f64 re (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))))
30.1b
(*.f64 re (neg.f64 im))
30.0b
(*.f64 1/2 (+.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))))))
42.9b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 378 to 297 computations (21.4% 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)

series1.0ms (0%)

Counts
3 → 36
Calls

12 calls:

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

rewrite99.0ms (0.4%)

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

simplify211.0ms (0.9%)

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)

localize10.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 23 to 14 computations (39.1% saved)

series9.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
6.0ms
im
@inf
(*.f64 (pow.f64 im 7) (*.f64 (sin.f64 re) -1/5040))
0.0ms
re
@0
(*.f64 (pow.f64 im 7) (*.f64 (sin.f64 re) -1/5040))
0.0ms
re
@inf
(*.f64 (pow.f64 im 7) (*.f64 (sin.f64 re) -1/5040))
0.0ms
re
@-inf
(*.f64 (pow.f64 im 7) (*.f64 (sin.f64 re) -1/5040))
0.0ms
im
@0
(*.f64 (pow.f64 im 7) (*.f64 (sin.f64 re) -1/5040))

rewrite92.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

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

simplify162.0ms (0.7%)

Algorithm
egg-herbie
Rules
2548×rational.json-simplify-2
1760×rational.json-simplify-35
1314×rational.json-simplify-1
1060×rational.json-simplify-48
904×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0911280
12051280
23991280
38371232
425831232
541531232
649171232
752371232
857911232
968041232
Stop Event
node limit
Counts
56 → 56
Calls
Call 1
Inputs
(*.f64 -1/5040 re)
(+.f64 (*.f64 1/30240 (pow.f64 re 3)) (*.f64 -1/5040 re))
(+.f64 (*.f64 1/30240 (pow.f64 re 3)) (+.f64 (*.f64 -1/604800 (pow.f64 re 5)) (*.f64 -1/5040 re)))
(+.f64 (*.f64 1/30240 (pow.f64 re 3)) (+.f64 (*.f64 -1/604800 (pow.f64 re 5)) (+.f64 (*.f64 1/25401600 (pow.f64 re 7)) (*.f64 -1/5040 re))))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(+.f64 (*.f64 -1/5040 (*.f64 re (pow.f64 im 7))) (*.f64 1/30240 (*.f64 (pow.f64 re 3) (pow.f64 im 7))))
(+.f64 (*.f64 -1/604800 (*.f64 (pow.f64 re 5) (pow.f64 im 7))) (+.f64 (*.f64 -1/5040 (*.f64 re (pow.f64 im 7))) (*.f64 1/30240 (*.f64 (pow.f64 re 3) (pow.f64 im 7)))))
(+.f64 (*.f64 -1/604800 (*.f64 (pow.f64 re 5) (pow.f64 im 7))) (+.f64 (*.f64 -1/5040 (*.f64 re (pow.f64 im 7))) (+.f64 (*.f64 1/30240 (*.f64 (pow.f64 re 3) (pow.f64 im 7))) (*.f64 1/25401600 (*.f64 (pow.f64 re 7) (pow.f64 im 7))))))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(+.f64 (*.f64 (sin.f64 re) -1/5040) 0)
(+.f64 0 (*.f64 (sin.f64 re) -1/5040))
(+.f64 (*.f64 (sin.f64 re) -1/10080) (*.f64 (sin.f64 re) -1/10080))
(-.f64 (*.f64 (sin.f64 re) -1/5040) 0)
(/.f64 (*.f64 (sin.f64 re) -1/5040) 1)
(/.f64 (*.f64 (sin.f64 re) -1/2520) 2)
(/.f64 (*.f64 (sin.f64 re) -1/1260) 4)
(/.f64 (*.f64 2 (*.f64 (sin.f64 re) -1/1260)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) -1/1260))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) -1/1260))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) -1/1260)))) 32)
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/10080)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/10080)))
(-.f64 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)
(/.f64 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 1)
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/2520)) 2)
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/1260)) 4)
(/.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8))) 32)
Outputs
(*.f64 -1/5040 re)
(+.f64 (*.f64 1/30240 (pow.f64 re 3)) (*.f64 -1/5040 re))
(+.f64 (*.f64 -1/5040 re) (*.f64 1/30240 (pow.f64 re 3)))
(+.f64 (*.f64 1/30240 (pow.f64 re 3)) (+.f64 (*.f64 -1/604800 (pow.f64 re 5)) (*.f64 -1/5040 re)))
(+.f64 (*.f64 1/30240 (pow.f64 re 3)) (+.f64 (*.f64 -1/5040 re) (*.f64 -1/604800 (pow.f64 re 5))))
(+.f64 (*.f64 -1/5040 re) (+.f64 (*.f64 -1/604800 (pow.f64 re 5)) (*.f64 1/30240 (pow.f64 re 3))))
(+.f64 (*.f64 -1/5040 re) (+.f64 (*.f64 1/30240 (pow.f64 re 3)) (*.f64 -1/604800 (pow.f64 re 5))))
(+.f64 (*.f64 1/30240 (pow.f64 re 3)) (+.f64 (*.f64 -1/604800 (pow.f64 re 5)) (+.f64 (*.f64 1/25401600 (pow.f64 re 7)) (*.f64 -1/5040 re))))
(+.f64 (*.f64 1/30240 (pow.f64 re 3)) (+.f64 (*.f64 -1/604800 (pow.f64 re 5)) (+.f64 (*.f64 -1/5040 re) (*.f64 1/25401600 (pow.f64 re 7)))))
(+.f64 (*.f64 1/30240 (pow.f64 re 3)) (+.f64 (+.f64 (*.f64 -1/5040 re) (*.f64 -1/604800 (pow.f64 re 5))) (*.f64 1/25401600 (pow.f64 re 7))))
(+.f64 (*.f64 -1/5040 re) (+.f64 (+.f64 (*.f64 -1/604800 (pow.f64 re 5)) (*.f64 1/25401600 (pow.f64 re 7))) (*.f64 1/30240 (pow.f64 re 3))))
(+.f64 (*.f64 -1/5040 re) (+.f64 (*.f64 1/30240 (pow.f64 re 3)) (+.f64 (*.f64 -1/604800 (pow.f64 re 5)) (*.f64 1/25401600 (pow.f64 re 7)))))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (sin.f64 re))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 (*.f64 -1/5040 re) (pow.f64 im 7))
(+.f64 (*.f64 -1/5040 (*.f64 re (pow.f64 im 7))) (*.f64 1/30240 (*.f64 (pow.f64 re 3) (pow.f64 im 7))))
(+.f64 (*.f64 re (*.f64 -1/5040 (pow.f64 im 7))) (*.f64 (pow.f64 im 7) (*.f64 1/30240 (pow.f64 re 3))))
(+.f64 (*.f64 (*.f64 -1/5040 re) (pow.f64 im 7)) (*.f64 1/30240 (*.f64 (pow.f64 re 3) (pow.f64 im 7))))
(*.f64 (pow.f64 im 7) (+.f64 (*.f64 -1/5040 re) (*.f64 1/30240 (pow.f64 re 3))))
(*.f64 (+.f64 (*.f64 -1/5040 re) (*.f64 1/30240 (pow.f64 re 3))) (pow.f64 im 7))
(+.f64 (*.f64 -1/604800 (*.f64 (pow.f64 re 5) (pow.f64 im 7))) (+.f64 (*.f64 -1/5040 (*.f64 re (pow.f64 im 7))) (*.f64 1/30240 (*.f64 (pow.f64 re 3) (pow.f64 im 7)))))
(+.f64 (+.f64 (*.f64 -1/5040 (*.f64 re (pow.f64 im 7))) (*.f64 1/30240 (*.f64 (pow.f64 re 3) (pow.f64 im 7)))) (*.f64 -1/604800 (*.f64 (pow.f64 re 5) (pow.f64 im 7))))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 1/30240 (pow.f64 re 3))) (+.f64 (*.f64 re (*.f64 -1/5040 (pow.f64 im 7))) (*.f64 (pow.f64 im 7) (*.f64 -1/604800 (pow.f64 re 5)))))
(+.f64 (*.f64 (*.f64 -1/5040 re) (pow.f64 im 7)) (+.f64 (*.f64 1/30240 (*.f64 (pow.f64 re 3) (pow.f64 im 7))) (*.f64 -1/604800 (*.f64 (pow.f64 re 5) (pow.f64 im 7)))))
(+.f64 (*.f64 (*.f64 -1/5040 re) (pow.f64 im 7)) (*.f64 (pow.f64 im 7) (+.f64 (*.f64 1/30240 (pow.f64 re 3)) (*.f64 -1/604800 (pow.f64 re 5)))))
(+.f64 (*.f64 1/30240 (*.f64 (pow.f64 re 3) (pow.f64 im 7))) (*.f64 (pow.f64 im 7) (+.f64 (*.f64 -1/5040 re) (*.f64 -1/604800 (pow.f64 re 5)))))
(+.f64 (*.f64 1/30240 (*.f64 (pow.f64 re 3) (pow.f64 im 7))) (*.f64 (+.f64 (*.f64 -1/5040 re) (*.f64 -1/604800 (pow.f64 re 5))) (pow.f64 im 7)))
(+.f64 (*.f64 -1/604800 (*.f64 (pow.f64 re 5) (pow.f64 im 7))) (+.f64 (*.f64 -1/5040 (*.f64 re (pow.f64 im 7))) (+.f64 (*.f64 1/30240 (*.f64 (pow.f64 re 3) (pow.f64 im 7))) (*.f64 1/25401600 (*.f64 (pow.f64 re 7) (pow.f64 im 7))))))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 1/30240 (pow.f64 re 3))) (+.f64 (+.f64 (*.f64 re (*.f64 -1/5040 (pow.f64 im 7))) (*.f64 1/25401600 (*.f64 (pow.f64 re 7) (pow.f64 im 7)))) (*.f64 (pow.f64 im 7) (*.f64 -1/604800 (pow.f64 re 5)))))
(+.f64 (*.f64 (*.f64 -1/5040 re) (pow.f64 im 7)) (+.f64 (*.f64 -1/604800 (*.f64 (pow.f64 re 5) (pow.f64 im 7))) (+.f64 (*.f64 1/30240 (*.f64 (pow.f64 re 3) (pow.f64 im 7))) (*.f64 1/25401600 (*.f64 (pow.f64 re 7) (pow.f64 im 7))))))
(+.f64 (*.f64 (pow.f64 im 7) (+.f64 (*.f64 -1/5040 re) (*.f64 1/30240 (pow.f64 re 3)))) (*.f64 (pow.f64 im 7) (+.f64 (*.f64 -1/604800 (pow.f64 re 5)) (*.f64 1/25401600 (pow.f64 re 7)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/5040 re) (*.f64 1/30240 (pow.f64 re 3))) (pow.f64 im 7)) (*.f64 (pow.f64 im 7) (+.f64 (*.f64 -1/604800 (pow.f64 re 5)) (*.f64 1/25401600 (pow.f64 re 7)))))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 (sin.f64 re) -1/5040) 0)
(*.f64 -1/5040 (sin.f64 re))
(+.f64 0 (*.f64 (sin.f64 re) -1/5040))
(*.f64 -1/5040 (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -1/10080) (*.f64 (sin.f64 re) -1/10080))
(*.f64 -1/5040 (sin.f64 re))
(-.f64 (*.f64 (sin.f64 re) -1/5040) 0)
(*.f64 -1/5040 (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) -1/5040) 1)
(*.f64 -1/5040 (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) -1/2520) 2)
(*.f64 -1/5040 (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) -1/1260) 4)
(*.f64 -1/5040 (sin.f64 re))
(/.f64 (*.f64 2 (*.f64 (sin.f64 re) -1/1260)) 8)
(*.f64 -1/5040 (sin.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) -1/1260))) 16)
(*.f64 -1/5040 (sin.f64 re))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) -1/1260))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) -1/1260)))) 32)
(*.f64 -1/5040 (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/10080)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/10080)))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(-.f64 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 0)
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 1)
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/2520)) 2)
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 7) -1/1260)) 4)
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8) 8)
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8)) 16)
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))) 8))) 32)
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))

localize21.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 54 to 40 computations (25.9% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite92.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1946×bool.json-1
1946×bool.json-2
1032×rational.json-1
1032×rational.json-2
1032×rational.json-4
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01156
111856
233450
366148
4139748
5332548
6725248
Stop Event
node limit
Counts
2 → 52
Calls
Call 1
Inputs
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 im) (+.f64 (*.f64 (pow.f64 im 3) -1/6) -1))))) (#(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)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) -1) (neg.f64 (+.f64 im -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) -1) (-.f64 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 (+.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) (*.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) -1) (neg.f64 (+.f64 im -2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 (+.f64 im -2))) -2)))) (#(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 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)))) (#(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 2 (+.f64 (/.f64 (+.f64 im -1) -2) (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) -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 1/2 (+.f64 (+.f64 -1 (+.f64 -1 (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (-.f64 1 im) 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)) 1/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 (*.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 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8))) 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)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)))))) (#(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 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (/.f64 (+.f64 im -1) -2) (*.f64 (pow.f64 im 3) -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 (+.f64 im -1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (-.f64 1 im) 2) (*.f64 (pow.f64 im 3) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 (-.f64 1 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 4) 4)))) (#(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 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)))))))

simplify358.0ms (1.6%)

Algorithm
egg-herbie
Rules
3158×rational.json-simplify-51
1882×rational.json-simplify-1
1672×rational.json-simplify-35
1526×rational.json-simplify-49
910×rational.json-simplify-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01141902
12291800
25621800
313231800
425341800
533251800
637481800
739301800
841501800
944541800
1048291800
1154771800
1257431800
1359531800
1461551800
1563391800
1663391800
1763391800
Stop Event
node limit
Counts
76 → 69
Calls
Call 1
Inputs
(*.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))
1
(+.f64 1 (*.f64 -1 im))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 1 (+.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 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 1 (+.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 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))
(+.f64 (-.f64 1 im) (+.f64 (*.f64 (pow.f64 im 3) -1/6) -1))
(+.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)) 0)
(+.f64 0 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(+.f64 -1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)))
(+.f64 -1 (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) -1) (neg.f64 (+.f64 im -2))))
(+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) -1) (-.f64 1 im))
(+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))
(+.f64 -2 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 (+.f64 im -2))))
(+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/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) -1) (neg.f64 (+.f64 im -2))) -1)
(+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 (+.f64 im -2))) -2)
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2))
(*.f64 2 (+.f64 (/.f64 (+.f64 im -1) -2) (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) -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 1/2 (+.f64 (+.f64 -1 (+.f64 -1 (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (-.f64 1 im) 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)) 1/2) 2)
(*.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 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8))) 32)
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 0)
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1/2))
(*.f64 2 (+.f64 (/.f64 (+.f64 im -1) -2) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 (+.f64 im -1) -2)))
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 2) 1/2)
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 2))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 1 im) 2) (*.f64 (pow.f64 im 3) -1/3)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 (-.f64 1 im) 2)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1/2) 2)
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 4) 4)
(/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 8))) 32)
Outputs
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
1
(+.f64 1 (*.f64 -1 im))
(+.f64 (neg.f64 im) 1)
(-.f64 1 im)
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.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 (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 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.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 (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 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (-.f64 1 im) (+.f64 (*.f64 (pow.f64 im 3) -1/6) -1))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) -1)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 0)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 0 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 -1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 -1 (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) -1) (neg.f64 (+.f64 im -2))))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) -1) (-.f64 1 im))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 -2 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 (+.f64 im -2))))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) -1) (neg.f64 (+.f64 im -2))) -1)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 (+.f64 im -2))) -2)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 2 (+.f64 (/.f64 (+.f64 im -1) -2) (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) -1) 2)))
(*.f64 2 (+.f64 (/.f64 (+.f64 -1 im) -2) (/.f64 (+.f64 -1 (*.f64 -1/6 (pow.f64 im 3))) 2)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 1/2)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 1/4)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1/2 (+.f64 (+.f64 -1 (+.f64 -1 (*.f64 (pow.f64 im 3) -1/3))) (*.f64 (-.f64 1 im) 2)))
(*.f64 1/2 (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) -2) (*.f64 (-.f64 1 im) 2)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 -2 (*.f64 (-.f64 1 im) 2))))
(*.f64 1/2 (+.f64 -2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 (-.f64 1 im) 2))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) 2)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 2)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8) 8)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)) 16)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8))) 32)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 0)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1/2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(*.f64 2 (+.f64 (/.f64 (+.f64 im -1) -2) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 2 (+.f64 (/.f64 (+.f64 -1 im) -2) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 (+.f64 im -1) -2)))
(*.f64 2 (+.f64 (/.f64 (+.f64 -1 im) -2) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 2) 1/2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 4) 1/4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 1 im) 2) (*.f64 (pow.f64 im 3) -1/3)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 (-.f64 1 im) 2)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 (-.f64 1 im) 2)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1/2) 2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 2) 2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 8) 8)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 8)) 16)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 8))) 32)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (neg.f64 im) 1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im))

localize17.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
0.4b
(/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re))
5.3b
(-.f64 1 (exp.f64 (+.f64 im im)))
Compiler

Compiled 48 to 21 computations (56.3% saved)

series14.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite79.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1850×bool.json-1
1850×bool.json-2
1822×rational.json-1
1552×bool.json-3
690×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01564
116564
253764
3156464
4544564
Stop Event
node limit
Counts
2 → 73
Calls
Call 1
Inputs
(/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (exp.f64 im) (sin.f64 re)) (/.f64 (exp.f64 im) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (+.f64 (/.f64 1 (sin.f64 re)) (/.f64 1 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 2) (/.f64 1 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (sin.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 2) (*.f64 1/2 (/.f64 2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 4) (/.f64 1/2 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 4) (*.f64 (/.f64 1/2 (sin.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 4) (*.f64 1/2 (/.f64 1 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (exp.f64 im) (/.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 8) (/.f64 1 (*.f64 (sin.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 re)) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (*.f64 1/2 (sin.f64 (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (neg.f64 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) -2) (/.f64 1 (sin.f64 (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (exp.f64 im) (neg.f64 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (exp.f64 im) 2) (sin.f64 (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 2 (sin.f64 re))) (*.f64 (exp.f64 im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 2 (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (sin.f64 re))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1 (sin.f64 re)) (/.f64 1 (sin.f64 re))) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))))) (#(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) (/.f64 2 (sin.f64 re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 1/2 (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sin.f64 re) (*.f64 4 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (/.f64 1 (*.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 2 (*.f64 4 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (/.f64 (*.f64 (exp.f64 im) 8) (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (sin.f64 re) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (neg.f64 re)) (/.f64 1 (/.f64 (*.f64 (exp.f64 im) 2) (+.f64 (exp.f64 (+.f64 im im)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (neg.f64 re)) (/.f64 1 (neg.f64 (*.f64 (exp.f64 im) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (/.f64 1 (/.f64 (*.f64 (exp.f64 im) -2) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) (/.f64 1 (/.f64 1 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im))) (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im))) (/.f64 1 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 (exp.f64 im) -2) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (*.f64 1/2 (sin.f64 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 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (sin.f64 re) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)) (*.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))))))))

simplify118.0ms (0.5%)

Algorithm
egg-herbie
Rules
1044×rational.json-simplify-1
904×rational.json-simplify-55
864×rational.json-simplify-43
862×rational.json-simplify-51
836×rational.json-simplify-2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02864931
16824669
214964571
341094515
464984509
Stop Event
node limit
Counts
121 → 152
Calls
Call 1
Inputs
(/.f64 2 (sin.f64 re))
(+.f64 (*.f64 2 (/.f64 1 (sin.f64 re))) (*.f64 2 (/.f64 im (sin.f64 re))))
(+.f64 (/.f64 (pow.f64 im 2) (sin.f64 re)) (+.f64 (*.f64 2 (/.f64 1 (sin.f64 re))) (*.f64 2 (/.f64 im (sin.f64 re)))))
(+.f64 (/.f64 (pow.f64 im 2) (sin.f64 re)) (+.f64 (*.f64 2 (/.f64 1 (sin.f64 re))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 im 3) (sin.f64 re))) (*.f64 2 (/.f64 im (sin.f64 re))))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) re))
(+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) re)) (*.f64 2 (/.f64 (exp.f64 im) re)))
(+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) re)) (+.f64 (*.f64 -2 (*.f64 (+.f64 (*.f64 1/120 (exp.f64 im)) (*.f64 -1/36 (exp.f64 im))) (pow.f64 re 3))) (*.f64 2 (/.f64 (exp.f64 im) re))))
(+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) re)) (+.f64 (*.f64 -2 (*.f64 (+.f64 (*.f64 1/120 (exp.f64 im)) (*.f64 -1/36 (exp.f64 im))) (pow.f64 re 3))) (+.f64 (*.f64 -2 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 -1/5040 (exp.f64 im)) (+.f64 (*.f64 1/6 (+.f64 (*.f64 1/120 (exp.f64 im)) (*.f64 -1/36 (exp.f64 im)))) (*.f64 1/720 (exp.f64 im)))))) (*.f64 2 (/.f64 (exp.f64 im) re)))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (-.f64 (*.f64 -4/3 (sin.f64 re)) (*.f64 -1 (sin.f64 re))) (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 -4/3 (sin.f64 re)) (*.f64 -1 (sin.f64 re))) (pow.f64 im 3))) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 -2/3 (sin.f64 re))) (+.f64 (*.f64 -4/3 (sin.f64 re)) (*.f64 -1/3 (sin.f64 re)))) (pow.f64 im 4)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 -4/3 (sin.f64 re)) (*.f64 -1 (sin.f64 re))) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -4/15 (sin.f64 re)) (*.f64 -1/3 (sin.f64 re)))) (+.f64 (*.f64 1/2 (-.f64 (*.f64 -4/3 (sin.f64 re)) (*.f64 -1 (sin.f64 re)))) (+.f64 (*.f64 -1 (sin.f64 re)) (+.f64 (*.f64 -2/3 (sin.f64 re)) (*.f64 -1/12 (sin.f64 re)))))) (pow.f64 im 5))) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 -2/3 (sin.f64 re))) (+.f64 (*.f64 -4/3 (sin.f64 re)) (*.f64 -1/3 (sin.f64 re)))) (pow.f64 im 4))))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im))) (*.f64 -1/12 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (pow.f64 re 3)) (exp.f64 im))))
(+.f64 (*.f64 1/240 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (pow.f64 re 5)) (exp.f64 im))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im))) (*.f64 -1/12 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (pow.f64 re 3)) (exp.f64 im)))))
(+.f64 (*.f64 1/240 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (pow.f64 re 5)) (exp.f64 im))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im))) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (pow.f64 re 3)) (exp.f64 im))) (*.f64 -1/10080 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (pow.f64 re 7)) (exp.f64 im))))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(+.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 0)
(+.f64 0 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))))
(+.f64 (/.f64 (exp.f64 im) (sin.f64 re)) (/.f64 (exp.f64 im) (sin.f64 re)))
(-.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 0)
(*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))
(*.f64 (exp.f64 im) (+.f64 (/.f64 1 (sin.f64 re)) (/.f64 1 (sin.f64 re))))
(*.f64 1/2 (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4))
(*.f64 (*.f64 (exp.f64 im) 2) (/.f64 1 (sin.f64 re)))
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (sin.f64 re)) 2))
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 1/2 (/.f64 2 (sin.f64 re))))
(*.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 1)
(*.f64 1 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))))
(*.f64 (*.f64 (exp.f64 im) 4) (/.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 (exp.f64 im) 4) (*.f64 (/.f64 1/2 (sin.f64 re)) 1))
(*.f64 (*.f64 (exp.f64 im) 4) (*.f64 1/2 (/.f64 1 (sin.f64 re))))
(*.f64 (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4) 1/2)
(*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 2)
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (*.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 4) 1/4)
(*.f64 4 (*.f64 (exp.f64 im) (/.f64 1/2 (sin.f64 re))))
(*.f64 (*.f64 (exp.f64 im) 8) (/.f64 1 (*.f64 (sin.f64 re) 4)))
(*.f64 (/.f64 1 (sin.f64 re)) (*.f64 (exp.f64 im) 2))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (*.f64 1/2 (sin.f64 (neg.f64 re)))))
(*.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (neg.f64 (*.f64 1/2 (sin.f64 re)))))
(*.f64 (*.f64 (exp.f64 im) -2) (/.f64 1 (sin.f64 (neg.f64 re))))
(*.f64 -1 (/.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 (neg.f64 re)))))
(*.f64 -1 (/.f64 (exp.f64 im) (neg.f64 (*.f64 1/2 (sin.f64 re)))))
(*.f64 -1 (/.f64 (*.f64 (exp.f64 im) 2) (sin.f64 (neg.f64 re))))
(*.f64 (*.f64 2 (/.f64 2 (sin.f64 re))) (*.f64 (exp.f64 im) 1/2))
(*.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 2 (*.f64 1/2 (sin.f64 re))))
(*.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (sin.f64 re))) 4)
(*.f64 (/.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) 4))
(*.f64 (+.f64 (/.f64 1 (sin.f64 re)) (/.f64 1 (sin.f64 re))) (exp.f64 im))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))) 0)
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))) 0)
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (sin.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 (sin.f64 re) (exp.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))) 1)
(*.f64 (*.f64 (sin.f64 re) 2) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)) 1))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) 1))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 1/2 (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 1))
(*.f64 2 (*.f64 (*.f64 1/2 (sin.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) (sin.f64 re)) 4)))
(*.f64 2 (/.f64 (sin.f64 re) (*.f64 4 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))))
(*.f64 2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))) 2))
(*.f64 2 (*.f64 (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) (*.f64 1/2 (sin.f64 re))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (/.f64 1 (*.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 4)))
(*.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 2 (*.f64 4 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))))
(*.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (/.f64 (*.f64 (exp.f64 im) 8) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (sin.f64 re) (exp.f64 im)))
(*.f64 (sin.f64 (neg.f64 re)) (/.f64 1 (/.f64 (*.f64 (exp.f64 im) 2) (+.f64 (exp.f64 (+.f64 im im)) -1))))
(*.f64 (sin.f64 (neg.f64 re)) (/.f64 1 (neg.f64 (*.f64 (exp.f64 im) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (/.f64 1 (/.f64 (*.f64 (exp.f64 im) -2) (sin.f64 re))))
(*.f64 (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) (sin.f64 re))
(*.f64 (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) (/.f64 1 (/.f64 1 (sin.f64 re))))
(*.f64 (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im))) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im))) (/.f64 1 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 -1 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 (exp.f64 im) -2) (sin.f64 re))))
(*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (sin.f64 re))))
(*.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (sin.f64 re) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 1/2)
(*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)) (*.f64 (sin.f64 re) 2))
Outputs
(/.f64 2 (sin.f64 re))
(+.f64 (*.f64 2 (/.f64 1 (sin.f64 re))) (*.f64 2 (/.f64 im (sin.f64 re))))
(*.f64 2 (+.f64 (/.f64 im (sin.f64 re)) (/.f64 1 (sin.f64 re))))
(*.f64 2 (+.f64 (/.f64 1 (sin.f64 re)) (/.f64 im (sin.f64 re))))
(+.f64 (/.f64 2 (sin.f64 re)) (*.f64 2 (/.f64 im (sin.f64 re))))
(+.f64 (/.f64 (pow.f64 im 2) (sin.f64 re)) (+.f64 (*.f64 2 (/.f64 1 (sin.f64 re))) (*.f64 2 (/.f64 im (sin.f64 re)))))
(+.f64 (*.f64 2 (/.f64 1 (sin.f64 re))) (+.f64 (*.f64 2 (/.f64 im (sin.f64 re))) (/.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (*.f64 2 (+.f64 (/.f64 im (sin.f64 re)) (/.f64 1 (sin.f64 re)))) (/.f64 (pow.f64 im 2) (sin.f64 re)))
(+.f64 (*.f64 2 (+.f64 (/.f64 1 (sin.f64 re)) (/.f64 im (sin.f64 re)))) (/.f64 (pow.f64 im 2) (sin.f64 re)))
(+.f64 (*.f64 2 (/.f64 im (sin.f64 re))) (+.f64 (/.f64 2 (sin.f64 re)) (/.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (/.f64 (pow.f64 im 2) (sin.f64 re)) (+.f64 (*.f64 2 (/.f64 1 (sin.f64 re))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 im 3) (sin.f64 re))) (*.f64 2 (/.f64 im (sin.f64 re))))))
(+.f64 (*.f64 2 (/.f64 1 (sin.f64 re))) (+.f64 (+.f64 (*.f64 2 (/.f64 im (sin.f64 re))) (*.f64 1/3 (/.f64 (pow.f64 im 3) (sin.f64 re)))) (/.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (/.f64 (pow.f64 im 2) (sin.f64 re)) (+.f64 (*.f64 2 (+.f64 (/.f64 im (sin.f64 re)) (/.f64 1 (sin.f64 re)))) (*.f64 1/3 (/.f64 (pow.f64 im 3) (sin.f64 re)))))
(+.f64 (*.f64 2 (+.f64 (/.f64 1 (sin.f64 re)) (/.f64 im (sin.f64 re)))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 im 3) (sin.f64 re))) (/.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (+.f64 (/.f64 2 (sin.f64 re)) (*.f64 2 (/.f64 im (sin.f64 re)))) (+.f64 (/.f64 (pow.f64 im 2) (sin.f64 re)) (*.f64 1/3 (/.f64 (pow.f64 im 3) (sin.f64 re)))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) re))
(+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) re)) (*.f64 2 (/.f64 (exp.f64 im) re)))
(+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 1/3 (*.f64 re (exp.f64 im))))
(+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 re (*.f64 (exp.f64 im) 1/3)))
(+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 re (*.f64 1/3 (exp.f64 im))))
(+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) re)) (+.f64 (*.f64 -2 (*.f64 (+.f64 (*.f64 1/120 (exp.f64 im)) (*.f64 -1/36 (exp.f64 im))) (pow.f64 re 3))) (*.f64 2 (/.f64 (exp.f64 im) re))))
(+.f64 (*.f64 1/3 (*.f64 re (exp.f64 im))) (+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 -2 (*.f64 (+.f64 (*.f64 (exp.f64 im) 1/120) (*.f64 (exp.f64 im) -1/36)) (pow.f64 re 3)))))
(+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (+.f64 (*.f64 -2 (*.f64 (*.f64 (exp.f64 im) -7/360) (pow.f64 re 3))) (*.f64 re (*.f64 (exp.f64 im) 1/3))))
(+.f64 (*.f64 re (*.f64 1/3 (exp.f64 im))) (+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (pow.f64 re 3) (*.f64 (exp.f64 im) 7/180))))
(+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 (exp.f64 im) (+.f64 (*.f64 re 1/3) (*.f64 -7/360 (*.f64 -2 (pow.f64 re 3))))))
(+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) re)) (+.f64 (*.f64 -2 (*.f64 (+.f64 (*.f64 1/120 (exp.f64 im)) (*.f64 -1/36 (exp.f64 im))) (pow.f64 re 3))) (+.f64 (*.f64 -2 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 -1/5040 (exp.f64 im)) (+.f64 (*.f64 1/6 (+.f64 (*.f64 1/120 (exp.f64 im)) (*.f64 -1/36 (exp.f64 im)))) (*.f64 1/720 (exp.f64 im)))))) (*.f64 2 (/.f64 (exp.f64 im) re)))))
(+.f64 (*.f64 1/3 (*.f64 re (exp.f64 im))) (+.f64 (*.f64 -2 (*.f64 (+.f64 (*.f64 (exp.f64 im) 1/120) (*.f64 (exp.f64 im) -1/36)) (pow.f64 re 3))) (+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 -2 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 (+.f64 (*.f64 (exp.f64 im) 1/120) (*.f64 (exp.f64 im) -1/36)) 1/6) (+.f64 (*.f64 (exp.f64 im) 1/720) (*.f64 (exp.f64 im) -1/5040))))))))
(+.f64 (*.f64 re (*.f64 (exp.f64 im) 1/3)) (+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (exp.f64 im) -7/360) 1/6) (*.f64 (exp.f64 im) 1/840)) (*.f64 (pow.f64 re 5) -2)) (*.f64 -2 (*.f64 (*.f64 (exp.f64 im) -7/360) (pow.f64 re 3))))))
(+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (+.f64 (+.f64 (*.f64 (pow.f64 re 3) (*.f64 (exp.f64 im) 7/180)) (*.f64 -2 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 (exp.f64 im) -7/2160) (*.f64 (exp.f64 im) 1/840))))) (*.f64 re (*.f64 1/3 (exp.f64 im)))))
(+.f64 (+.f64 (*.f64 2 (/.f64 (exp.f64 im) re)) (*.f64 -2 (*.f64 (pow.f64 re 5) (*.f64 (exp.f64 im) -31/15120)))) (*.f64 (exp.f64 im) (+.f64 (*.f64 re 1/3) (*.f64 -7/360 (*.f64 -2 (pow.f64 re 3))))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 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 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (-.f64 (*.f64 -4/3 (sin.f64 re)) (*.f64 -1 (sin.f64 re))) (pow.f64 im 3))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 im -1)) (*.f64 1/2 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 (sin.f64 re) -4/3) (*.f64 (sin.f64 re) -1)))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (pow.f64 im 3) 1/2)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/3 (*.f64 (pow.f64 im 3) 1/2))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 -4/3 (sin.f64 re)) (*.f64 -1 (sin.f64 re))) (pow.f64 im 3))) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 -2/3 (sin.f64 re))) (+.f64 (*.f64 -4/3 (sin.f64 re)) (*.f64 -1/3 (sin.f64 re)))) (pow.f64 im 4)))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 im -1)) (*.f64 1/2 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 (sin.f64 re) -4/3) (*.f64 (sin.f64 re) -1)))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (pow.f64 im 3) 1/2)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/3 (*.f64 (pow.f64 im 3) 1/2))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 -4/3 (sin.f64 re)) (*.f64 -1 (sin.f64 re))) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -4/15 (sin.f64 re)) (*.f64 -1/3 (sin.f64 re)))) (+.f64 (*.f64 1/2 (-.f64 (*.f64 -4/3 (sin.f64 re)) (*.f64 -1 (sin.f64 re)))) (+.f64 (*.f64 -1 (sin.f64 re)) (+.f64 (*.f64 -2/3 (sin.f64 re)) (*.f64 -1/12 (sin.f64 re)))))) (pow.f64 im 5))) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 -2/3 (sin.f64 re))) (+.f64 (*.f64 -4/3 (sin.f64 re)) (*.f64 -1/3 (sin.f64 re)))) (pow.f64 im 4))))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 im -1)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 (sin.f64 re) -4/3) (*.f64 (sin.f64 re) -1)))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 (sin.f64 re) -1) (*.f64 (sin.f64 re) -2/3)) (+.f64 (*.f64 (sin.f64 re) -4/3) (*.f64 (sin.f64 re) -1/3))) (pow.f64 im 4))) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 (sin.f64 re) -4/3) (+.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (sin.f64 re) -4/15))) (+.f64 (*.f64 (sin.f64 re) -1) (+.f64 (+.f64 (*.f64 (sin.f64 re) -2/3) (*.f64 (sin.f64 re) -1/12)) (*.f64 1/2 (-.f64 (*.f64 (sin.f64 re) -4/3) (*.f64 (sin.f64 re) -1)))))) (pow.f64 im 5))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 (sin.f64 re) -4/3) (-.f64 (*.f64 (sin.f64 re) -3/5) (+.f64 (*.f64 (sin.f64 re) -3/4) (+.f64 (neg.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) -1/3)))))) (pow.f64 im 5)) (*.f64 (-.f64 (*.f64 (sin.f64 re) -5/3) (*.f64 (sin.f64 re) -5/3)) (pow.f64 im 4)))) (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (*.f64 (sin.f64 re) -1/3) (*.f64 (pow.f64 im 3) 1/2))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)) (+.f64 (*.f64 (pow.f64 im 4) 0) (*.f64 1/2 (*.f64 (-.f64 (*.f64 (sin.f64 re) -29/15) (+.f64 (*.f64 (sin.f64 re) -1/6) (*.f64 (sin.f64 re) -7/4))) (pow.f64 im 5))))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/3 (*.f64 (pow.f64 im 3) 1/2)))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 (sin.f64 re) -29/15) (+.f64 (sin.f64 (neg.f64 re)) (*.f64 (sin.f64 re) -11/12))) (pow.f64 im 5))) 0))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 -1/3 (*.f64 (pow.f64 im 3) 1/2)))) (*.f64 1/2 (*.f64 (-.f64 (*.f64 (sin.f64 re) -29/15) (+.f64 (sin.f64 (neg.f64 re)) (*.f64 (sin.f64 re) -11/12))) (pow.f64 im 5))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (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 re (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im))) (*.f64 -1/12 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (pow.f64 re 3)) (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))))
(+.f64 (*.f64 re (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2)) (*.f64 (pow.f64 re 3) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) -1/12)))
(+.f64 (*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))) (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 (pow.f64 re 3) (exp.f64 im)) -1/12)))
(+.f64 (*.f64 1/240 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (pow.f64 re 5)) (exp.f64 im))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im))) (*.f64 -1/12 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (pow.f64 re 3)) (exp.f64 im)))))
(+.f64 (+.f64 (*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))))
(+.f64 (*.f64 re (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2)) (+.f64 (*.f64 (pow.f64 re 3) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) -1/12)) (*.f64 (pow.f64 re 5) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/240))))
(+.f64 (*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 (pow.f64 re 3) (exp.f64 im)) -1/12)) (*.f64 (pow.f64 re 5) (*.f64 1/240 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))))
(+.f64 (*.f64 1/240 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (pow.f64 re 5)) (exp.f64 im))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im))) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (pow.f64 re 3)) (exp.f64 im))) (*.f64 -1/10080 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (pow.f64 re 7)) (exp.f64 im))))))
(+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))) (+.f64 (*.f64 1/2 (*.f64 re (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))) (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))))))
(+.f64 (+.f64 (*.f64 (pow.f64 re 3) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) -1/12)) (*.f64 -1/10080 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (/.f64 (pow.f64 re 7) (exp.f64 im))))) (+.f64 (*.f64 (pow.f64 re 5) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/240)) (*.f64 re (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))))
(+.f64 (*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 (pow.f64 re 7) (exp.f64 im)) -1/10080)) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (/.f64 (pow.f64 re 3) (exp.f64 im)) -1/12)) (*.f64 (pow.f64 re 5) (*.f64 1/240 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)))))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 im))))
(+.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 0)
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(+.f64 0 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(+.f64 (/.f64 (exp.f64 im) (sin.f64 re)) (/.f64 (exp.f64 im) (sin.f64 re)))
(-.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 0)
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (exp.f64 im) (+.f64 (/.f64 1 (sin.f64 re)) (/.f64 1 (sin.f64 re))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 1/2 (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (*.f64 (exp.f64 im) 2) (/.f64 1 (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (sin.f64 re)) 2))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 1/2 (/.f64 2 (sin.f64 re))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 1)
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 1 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (*.f64 (exp.f64 im) 4) (/.f64 1/2 (sin.f64 re)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (*.f64 (exp.f64 im) 4) (*.f64 (/.f64 1/2 (sin.f64 re)) 1))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (*.f64 (exp.f64 im) 4) (*.f64 1/2 (/.f64 1 (sin.f64 re))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4) 1/2)
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 2)
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (*.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 4) 1/4)
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 4 (*.f64 (exp.f64 im) (/.f64 1/2 (sin.f64 re))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (*.f64 (exp.f64 im) 8) (/.f64 1 (*.f64 (sin.f64 re) 4)))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (/.f64 1 (sin.f64 re)) (*.f64 (exp.f64 im) 2))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (*.f64 1/2 (sin.f64 (neg.f64 re)))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (neg.f64 (*.f64 1/2 (sin.f64 re)))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (*.f64 (exp.f64 im) -2) (/.f64 1 (sin.f64 (neg.f64 re))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 -1 (/.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 (neg.f64 re)))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 -1 (/.f64 (exp.f64 im) (neg.f64 (*.f64 1/2 (sin.f64 re)))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 -1 (/.f64 (*.f64 (exp.f64 im) 2) (sin.f64 (neg.f64 re))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (*.f64 2 (/.f64 2 (sin.f64 re))) (*.f64 (exp.f64 im) 1/2))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 2 (*.f64 1/2 (sin.f64 re))))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (sin.f64 re))) 4)
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (/.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) 4))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(*.f64 (+.f64 (/.f64 1 (sin.f64 re)) (/.f64 1 (sin.f64 re))) (exp.f64 im))
(*.f64 2 (/.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))) 0)
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))) 0)
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (sin.f64 re) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))) 1)
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (sin.f64 re) 2) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)) 1))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) 1))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 1/2 (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) 1))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 2 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4)))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 2 (/.f64 (sin.f64 re) (*.f64 4 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im)))) 2))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 2 (*.f64 (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 4) (/.f64 1 (*.f64 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re))) 4)))
(*.f64 (*.f64 4 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1 (*.f64 4 (*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im)))))
(*.f64 4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/4 (*.f64 (/.f64 2 (sin.f64 re)) (exp.f64 im)))))
(*.f64 4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (sin.f64 re) (exp.f64 im)) 8)))
(*.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (*.f64 2 (*.f64 4 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im))))))))
(*.f64 (*.f64 (sin.f64 re) 4) (/.f64 1/2 (*.f64 4 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))))
(*.f64 (sin.f64 re) (*.f64 4 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 8))))
(*.f64 (*.f64 (sin.f64 re) 4) (/.f64 1 (/.f64 (*.f64 (exp.f64 im) 8) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 (sin.f64 re) 4) (/.f64 1/2 (*.f64 4 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))))
(*.f64 (sin.f64 re) (*.f64 4 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 8))))
(*.f64 (*.f64 1/2 (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 (sin.f64 re) (exp.f64 im)))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (sin.f64 (neg.f64 re)) (/.f64 1 (/.f64 (*.f64 (exp.f64 im) 2) (+.f64 (exp.f64 (+.f64 im im)) -1))))
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 1 (/.f64 (*.f64 2 (exp.f64 im)) (+.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(*.f64 (sin.f64 (neg.f64 re)) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im))))))
(/.f64 (sin.f64 (neg.f64 re)) (*.f64 (exp.f64 im) (/.f64 2 (+.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (sin.f64 (neg.f64 re)) (/.f64 1 (neg.f64 (*.f64 (exp.f64 im) (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))))
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 1 (/.f64 (*.f64 2 (exp.f64 im)) (+.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(*.f64 (sin.f64 (neg.f64 re)) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im))))))
(/.f64 (sin.f64 (neg.f64 re)) (*.f64 (exp.f64 im) (/.f64 2 (+.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (/.f64 1 (/.f64 (*.f64 (exp.f64 im) -2) (sin.f64 re))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) (/.f64 1 (/.f64 1 (sin.f64 re))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im))) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im))) (/.f64 1 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 -1 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (*.f64 (exp.f64 im) -2) (sin.f64 re))))
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 1 (/.f64 (*.f64 2 (exp.f64 im)) (+.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (neg.f64 (sin.f64 re)) (/.f64 (+.f64 -1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 im))))
(*.f64 (sin.f64 (neg.f64 re)) (/.f64 1/2 (/.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (+.f64 im im))))))
(/.f64 (sin.f64 (neg.f64 re)) (*.f64 (exp.f64 im) (/.f64 2 (+.f64 -1 (exp.f64 (+.f64 im im))))))
(*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (sin.f64 re))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (sin.f64 re) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))) 1/2)
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)) (*.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (sin.f64 re) (exp.f64 im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))

eval131.0ms (0.6%)

Compiler

Compiled 7880 to 5073 computations (35.6% saved)

prune79.0ms (0.4%)

Pruning

16 alts after pruning (8 fresh and 8 done)

PrunedKeptTotal
New4044408
Fresh145
Picked011
Done178
Total40616422
Error
0.3b
Counts
422 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
41.5b
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
42.9b
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (/.f64 (exp.f64 im) re)))
2.0b
(/.f64 (*.f64 -2 im) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
43.8b
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
0.8b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
30.0b
(*.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))
41.5b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.6b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.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)))))
42.0b
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1))
42.0b
(*.f64 (sin.f64 re) (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 (+.f64 im -2))) -2))
43.6b
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
1.0b
(*.f64 (sin.f64 re) (neg.f64 im))
30.0b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
30.1b
(*.f64 re (neg.f64 im))
30.0b
(*.f64 1/2 (+.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))))))
42.9b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 384 to 301 computations (21.6% saved)

localize14.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 35 to 19 computations (45.7% saved)

series5.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite68.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1790×bool.json-1
1790×bool.json-2
1754×rational.json-1
1400×bool.json-3
928×rational.json-simplify-35
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01333
114433
251025
3176625
4548225
Stop Event
node limit
Counts
1 → 47
Calls
Call 1
Inputs
(/.f64 (*.f64 -2 im) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 im (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (/.f64 (/.f64 im 2) (exp.f64 im)) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (*.f64 -2 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 im) (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) (/.f64 -1/2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) -1/2)) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) (/.f64 -1/2 im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 (sin.f64 re) 2) (/.f64 (neg.f64 im) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -4) (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -4) (*.f64 (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -4) (*.f64 1/2 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -4) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (/.f64 1/2 (/.f64 (exp.f64 im) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 1 (*.f64 (exp.f64 im) -2)) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (neg.f64 im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (/.f64 (neg.f64 im) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -1/2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (/.f64 -2 (exp.f64 im)) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -1/2 im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (neg.f64 im) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (neg.f64 im) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -4 (/.f64 im (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -4 (*.f64 (/.f64 im (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -4 (*.f64 (/.f64 im 2) (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -4 (*.f64 (/.f64 (/.f64 im 2) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (/.f64 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (*.f64 (/.f64 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (*.f64 -1 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (*.f64 (/.f64 -1 (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 im) (exp.f64 im)) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im)) (*.f64 -2 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 (neg.f64 im) (exp.f64 im))) (*.f64 1/2 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))) 2) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) (*.f64 im -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (neg.f64 im))) (*.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) (/.f64 -1/2 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -1/2 im)) (*.f64 1/2 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))) (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))) (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))))))))

simplify126.0ms (0.6%)

Algorithm
egg-herbie
Rules
1334×rational.json-simplify-51
1150×rational.json-simplify-2
846×rational.json-simplify-35
834×rational.json-simplify-41
694×rational.json-simplify-43
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01652293
14012063
28702059
319631999
447831993
569301993
677431993
Stop Event
node limit
Counts
71 → 86
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))) (pow.f64 im 3)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (*.f64 (+.f64 (*.f64 1/6 (sin.f64 re)) (+.f64 (*.f64 -1 (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 1/2 (sin.f64 re)))) (*.f64 -1/2 (sin.f64 re)))) (pow.f64 im 4)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))) (pow.f64 im 3)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 re im) (exp.f64 im)))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 re 3) im) (exp.f64 im))) (*.f64 -1 (/.f64 (*.f64 re im) (exp.f64 im))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 re 3) im) (exp.f64 im))) (+.f64 (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 re 5) im) (exp.f64 im))) (*.f64 -1 (/.f64 (*.f64 re im) (exp.f64 im)))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 re 3) im) (exp.f64 im))) (+.f64 (*.f64 1/5040 (/.f64 (*.f64 (pow.f64 re 7) im) (exp.f64 im))) (+.f64 (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 re 5) im) (exp.f64 im))) (*.f64 -1 (/.f64 (*.f64 re im) (exp.f64 im))))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(+.f64 (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))) 0)
(+.f64 0 (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))))
(-.f64 (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))) 0)
(*.f64 -2 (*.f64 im (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))
(*.f64 -2 (*.f64 (/.f64 (/.f64 im 2) (exp.f64 im)) (sin.f64 re)))
(*.f64 im (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))))
(*.f64 im (*.f64 -2 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))
(*.f64 (*.f64 -2 im) (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) (/.f64 -1/2 im))))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) -1/2)) im))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) (/.f64 -1/2 im))) 1))
(*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) 2) (/.f64 (neg.f64 im) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))) 1)
(*.f64 1 (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))))
(*.f64 (*.f64 im -4) (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))
(*.f64 (*.f64 im -4) (*.f64 (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) 1))
(*.f64 (*.f64 im -4) (*.f64 1/2 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))
(*.f64 (*.f64 im -4) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (*.f64 (sin.f64 re) 2) (/.f64 1/2 (/.f64 (exp.f64 im) (neg.f64 im))))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 1 (*.f64 (exp.f64 im) -2)) im))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (neg.f64 im))) 1))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (/.f64 (neg.f64 im) (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -1/2 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (/.f64 -2 (exp.f64 im)) im))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -1/2 im)) 1))
(*.f64 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))) im)
(*.f64 2 (*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (neg.f64 im) (exp.f64 im))))
(*.f64 2 (*.f64 (/.f64 (neg.f64 im) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 -4 (/.f64 im (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4)))
(*.f64 -4 (*.f64 (/.f64 im (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4)) 1))
(*.f64 -4 (*.f64 (/.f64 im 2) (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))
(*.f64 -4 (*.f64 (/.f64 (/.f64 im 2) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (+.f64 im im) (/.f64 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))) 2))
(*.f64 (+.f64 im im) (*.f64 (/.f64 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))) 2) 1))
(*.f64 (+.f64 im im) (*.f64 -1 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))
(*.f64 (+.f64 im im) (*.f64 (/.f64 -1 (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (*.f64 im (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))) -2)
(*.f64 (/.f64 (neg.f64 im) (exp.f64 im)) (sin.f64 re))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im)) (*.f64 -2 im))
(*.f64 (*.f64 2 (/.f64 (neg.f64 im) (exp.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (/.f64 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))) 2) (+.f64 im im))
(*.f64 (/.f64 im (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4)) -4)
(*.f64 (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) (*.f64 im -4))
(*.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (neg.f64 im))) (*.f64 (sin.f64 re) 2))
(*.f64 (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) (/.f64 -1/2 im))) 1/2)
(*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -1/2 im)) (*.f64 1/2 (sin.f64 re)))
Outputs
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (+.f64 (pow.f64 im 2) (neg.f64 im)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))) (pow.f64 im 3)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 (sin.f64 re) 1/2)) (pow.f64 im 3)))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (pow.f64 im 2) (neg.f64 im))) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/2)))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (pow.f64 im 2) (neg.f64 im))) (*.f64 (sin.f64 re) (*.f64 -1/2 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (+.f64 (pow.f64 im 2) (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/2)))
(+.f64 (*.f64 (+.f64 (*.f64 1/6 (sin.f64 re)) (+.f64 (*.f64 -1 (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 1/2 (sin.f64 re)))) (*.f64 -1/2 (sin.f64 re)))) (pow.f64 im 4)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))) (pow.f64 im 3)) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(+.f64 (+.f64 (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 (sin.f64 re) 1/2)) (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 (sin.f64 re) 1/2))) (+.f64 (*.f64 (sin.f64 re) -1/2) (*.f64 (sin.f64 re) 1/6))) (pow.f64 im 4)))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (pow.f64 im 2) (neg.f64 im))) (+.f64 (*.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 re) -1/2)) (*.f64 (sin.f64 re) -1/3)) (pow.f64 im 4)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/2))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (pow.f64 im 2) (neg.f64 im))) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/2 (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 (sin.f64 re) 1/2) (*.f64 (sin.f64 re) -1/3)) (pow.f64 im 4))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (+.f64 (pow.f64 im 2) (neg.f64 im)) (*.f64 (pow.f64 im 3) -1/2))) (*.f64 (*.f64 (sin.f64 re) 1/6) (pow.f64 im 4)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 re im) (exp.f64 im)))
(*.f64 -1 (*.f64 im (/.f64 re (exp.f64 im))))
(neg.f64 (/.f64 (*.f64 re im) (exp.f64 im)))
(*.f64 re (/.f64 (neg.f64 im) (exp.f64 im)))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 re 3) im) (exp.f64 im))) (*.f64 -1 (/.f64 (*.f64 re im) (exp.f64 im))))
(+.f64 (*.f64 -1 (*.f64 im (/.f64 re (exp.f64 im)))) (*.f64 1/6 (*.f64 im (/.f64 (pow.f64 re 3) (exp.f64 im)))))
(+.f64 (neg.f64 (/.f64 (*.f64 re im) (exp.f64 im))) (*.f64 1/6 (*.f64 im (/.f64 (pow.f64 re 3) (exp.f64 im)))))
(+.f64 (*.f64 re (/.f64 (neg.f64 im) (exp.f64 im))) (*.f64 (/.f64 (pow.f64 re 3) (exp.f64 im)) (*.f64 1/6 im)))
(*.f64 im (+.f64 (*.f64 1/6 (/.f64 (pow.f64 re 3) (exp.f64 im))) (neg.f64 (/.f64 re (exp.f64 im)))))
(*.f64 im (+.f64 (neg.f64 (/.f64 re (exp.f64 im))) (*.f64 1/6 (/.f64 (pow.f64 re 3) (exp.f64 im)))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 re 3) im) (exp.f64 im))) (+.f64 (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 re 5) im) (exp.f64 im))) (*.f64 -1 (/.f64 (*.f64 re im) (exp.f64 im)))))
(+.f64 (*.f64 1/6 (*.f64 im (/.f64 (pow.f64 re 3) (exp.f64 im)))) (+.f64 (*.f64 -1 (*.f64 im (/.f64 re (exp.f64 im)))) (*.f64 -1/120 (/.f64 (*.f64 im (pow.f64 re 5)) (exp.f64 im)))))
(+.f64 (neg.f64 (/.f64 (*.f64 re im) (exp.f64 im))) (+.f64 (*.f64 im (*.f64 (/.f64 (pow.f64 re 5) (exp.f64 im)) -1/120)) (*.f64 1/6 (*.f64 im (/.f64 (pow.f64 re 3) (exp.f64 im))))))
(+.f64 (+.f64 (*.f64 re (/.f64 (neg.f64 im) (exp.f64 im))) (*.f64 (/.f64 (pow.f64 re 3) (exp.f64 im)) (*.f64 1/6 im))) (*.f64 im (*.f64 -1/120 (/.f64 (pow.f64 re 5) (exp.f64 im)))))
(+.f64 (*.f64 1/6 (*.f64 im (/.f64 (pow.f64 re 3) (exp.f64 im)))) (*.f64 im (+.f64 (*.f64 -1/120 (/.f64 (pow.f64 re 5) (exp.f64 im))) (neg.f64 (/.f64 re (exp.f64 im))))))
(*.f64 im (+.f64 (*.f64 -1/120 (/.f64 (pow.f64 re 5) (exp.f64 im))) (+.f64 (neg.f64 (/.f64 re (exp.f64 im))) (*.f64 1/6 (/.f64 (pow.f64 re 3) (exp.f64 im))))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (pow.f64 re 3) im) (exp.f64 im))) (+.f64 (*.f64 1/5040 (/.f64 (*.f64 (pow.f64 re 7) im) (exp.f64 im))) (+.f64 (*.f64 -1/120 (/.f64 (*.f64 (pow.f64 re 5) im) (exp.f64 im))) (*.f64 -1 (/.f64 (*.f64 re im) (exp.f64 im))))))
(+.f64 (*.f64 1/6 (*.f64 im (/.f64 (pow.f64 re 3) (exp.f64 im)))) (+.f64 (*.f64 -1/120 (/.f64 (*.f64 im (pow.f64 re 5)) (exp.f64 im))) (+.f64 (*.f64 -1 (*.f64 im (/.f64 re (exp.f64 im)))) (*.f64 1/5040 (/.f64 (*.f64 im (pow.f64 re 7)) (exp.f64 im))))))
(+.f64 (*.f64 1/6 (*.f64 im (/.f64 (pow.f64 re 3) (exp.f64 im)))) (+.f64 (+.f64 (neg.f64 (/.f64 (*.f64 re im) (exp.f64 im))) (*.f64 im (*.f64 (/.f64 (pow.f64 re 5) (exp.f64 im)) -1/120))) (*.f64 1/5040 (*.f64 im (/.f64 (pow.f64 re 7) (exp.f64 im))))))
(+.f64 (*.f64 im (*.f64 -1/120 (/.f64 (pow.f64 re 5) (exp.f64 im)))) (+.f64 (*.f64 (/.f64 (pow.f64 re 3) (exp.f64 im)) (*.f64 1/6 im)) (+.f64 (*.f64 re (/.f64 (neg.f64 im) (exp.f64 im))) (*.f64 (pow.f64 re 7) (*.f64 (/.f64 im (exp.f64 im)) 1/5040)))))
(+.f64 (*.f64 im (+.f64 (*.f64 1/6 (/.f64 (pow.f64 re 3) (exp.f64 im))) (neg.f64 (/.f64 re (exp.f64 im))))) (*.f64 im (+.f64 (*.f64 1/5040 (/.f64 (pow.f64 re 7) (exp.f64 im))) (*.f64 -1/120 (/.f64 (pow.f64 re 5) (exp.f64 im))))))
(+.f64 (*.f64 1/6 (*.f64 im (/.f64 (pow.f64 re 3) (exp.f64 im)))) (*.f64 im (+.f64 (*.f64 1/5040 (/.f64 (pow.f64 re 7) (exp.f64 im))) (+.f64 (neg.f64 (/.f64 re (exp.f64 im))) (*.f64 -1/120 (/.f64 (pow.f64 re 5) (exp.f64 im)))))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(+.f64 (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))) 0)
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(+.f64 0 (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(-.f64 (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))) 0)
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -2 (*.f64 im (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -2 (*.f64 (/.f64 (/.f64 im 2) (exp.f64 im)) (sin.f64 re)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 im (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 im (*.f64 -2 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (*.f64 -2 im) (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 1/2 (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) (/.f64 -1/2 im))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) -1/2)) im))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 1/2 (*.f64 (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) (/.f64 -1/2 im))) 1))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) 2) (/.f64 (neg.f64 im) (exp.f64 im))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))) 1)
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 1 (*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (*.f64 im -4) (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (*.f64 im -4) (*.f64 (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) 1))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (*.f64 im -4) (*.f64 1/2 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (*.f64 im -4) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (*.f64 (sin.f64 re) 2) (/.f64 1/2 (/.f64 (exp.f64 im) (neg.f64 im))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 1 (*.f64 (exp.f64 im) -2)) im))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (neg.f64 im))) 1))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (/.f64 (neg.f64 im) (exp.f64 im))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -1/2 im)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (/.f64 -2 (exp.f64 im)) im))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -1/2 im)) 1))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))) im)
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 2 (*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (neg.f64 im) (exp.f64 im))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 2 (*.f64 (/.f64 (neg.f64 im) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -4 (/.f64 im (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -4 (*.f64 (/.f64 im (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4)) 1))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -4 (*.f64 (/.f64 im 2) (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 -4 (*.f64 (/.f64 (/.f64 im 2) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (+.f64 im im) (/.f64 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))) 2))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (+.f64 im im) (*.f64 (/.f64 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))) 2) 1))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (+.f64 im im) (*.f64 -1 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (+.f64 im im) (*.f64 (/.f64 -1 (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (*.f64 im (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))) -2)
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (/.f64 (neg.f64 im) (exp.f64 im)) (sin.f64 re))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im)) (*.f64 -2 im))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (*.f64 2 (/.f64 (neg.f64 im) (exp.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (/.f64 (/.f64 (sin.f64 re) (neg.f64 (exp.f64 im))) 2) (+.f64 im im))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (/.f64 im (*.f64 (/.f64 (exp.f64 im) (sin.f64 re)) 4)) -4)
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (/.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 (sin.f64 re)))) (*.f64 im -4))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (/.f64 1/2 (/.f64 (exp.f64 im) (neg.f64 im))) (*.f64 (sin.f64 re) 2))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) (/.f64 -1/2 im))) 1/2)
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))
(*.f64 (/.f64 (exp.f64 (neg.f64 im)) (/.f64 -1/2 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 re) im) (exp.f64 im)))
(neg.f64 (*.f64 (sin.f64 re) (/.f64 im (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 (neg.f64 im) (exp.f64 im)))

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -1/5040 re)
1.7b
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
Compiler

Compiled 19 to 13 computations (31.6% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

9 calls:

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

rewrite85.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
19026
224526
351326
4102426
5223926
6478226
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 -1/5040 re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 7) (*.f64 re -1/10080)) (*.f64 (pow.f64 im 7) (*.f64 re -1/10080)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 7) re) -1/2520) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) (*.f64 re -1/1260)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/630 (*.f64 (pow.f64 im 7) re)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 -1/630 (*.f64 (pow.f64 im 7) re))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 -1/630 (*.f64 (pow.f64 im 7) re)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 -1/630 (*.f64 (pow.f64 im 7) re)))) (*.f64 2 (*.f64 2 (*.f64 -1/630 (*.f64 (pow.f64 im 7) re))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/5040 re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/5040 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re -1/10080) (*.f64 re -1/10080))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/5040 re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/5040 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re -1/2520) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re -1/1260) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -1/5040 re) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 -1/5040 re) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/5040 re) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/5040 re) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/5040 re) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/5040 re)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/5040 re) (*.f64 -1/5040 re))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/5040 re) (*.f64 -1/5040 re))))))

simplify552.0ms (2.5%)

Algorithm
egg-herbie
Rules
3160×rational.json-simplify-35
2966×rational.json-simplify-2
2476×rational.json-simplify-53
1498×rational.json-simplify-1
1024×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060742
1143742
2317742
3951742
42109742
53708742
64361742
74504742
84632742
94761742
104888742
116061742
126441742
136453742
146459742
156459742
166585742
176711742
186837742
196963742
207431742
Stop Event
node limit
Counts
46 → 26
Calls
Call 1
Inputs
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)) 0)
(+.f64 0 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 re -1/10080)) (*.f64 (pow.f64 im 7) (*.f64 re -1/10080)))
(-.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)) 0)
(/.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)) 1)
(/.f64 (*.f64 (*.f64 (pow.f64 im 7) re) -1/2520) 2)
(/.f64 (*.f64 (pow.f64 im 7) (*.f64 re -1/1260)) 4)
(/.f64 (*.f64 -1/630 (*.f64 (pow.f64 im 7) re)) 8)
(/.f64 (*.f64 2 (*.f64 -1/630 (*.f64 (pow.f64 im 7) re))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -1/630 (*.f64 (pow.f64 im 7) re)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 -1/630 (*.f64 (pow.f64 im 7) re)))) (*.f64 2 (*.f64 2 (*.f64 -1/630 (*.f64 (pow.f64 im 7) re))))) 64)
(+.f64 (*.f64 -1/5040 re) 0)
(+.f64 0 (*.f64 -1/5040 re))
(+.f64 (*.f64 re -1/10080) (*.f64 re -1/10080))
(-.f64 (*.f64 -1/5040 re) 0)
(/.f64 (*.f64 -1/5040 re) 1)
(/.f64 (*.f64 re -1/2520) 2)
(/.f64 (*.f64 re -1/1260) 4)
(/.f64 (*.f64 (*.f64 -1/5040 re) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/5040 re) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/5040 re) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/5040 re) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/5040 re) 8)))) 64)
Outputs
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)) 0)
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 0 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 (pow.f64 im 7) (*.f64 re -1/10080)) (*.f64 (pow.f64 im 7) (*.f64 re -1/10080)))
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(-.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)) 0)
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(/.f64 (*.f64 (pow.f64 im 7) (*.f64 -1/5040 re)) 1)
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(/.f64 (*.f64 (*.f64 (pow.f64 im 7) re) -1/2520) 2)
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(/.f64 (*.f64 (pow.f64 im 7) (*.f64 re -1/1260)) 4)
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(/.f64 (*.f64 -1/630 (*.f64 (pow.f64 im 7) re)) 8)
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(/.f64 (*.f64 2 (*.f64 -1/630 (*.f64 (pow.f64 im 7) re))) 16)
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -1/630 (*.f64 (pow.f64 im 7) re)))) 32)
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 -1/630 (*.f64 (pow.f64 im 7) re)))) (*.f64 2 (*.f64 2 (*.f64 -1/630 (*.f64 (pow.f64 im 7) re))))) 64)
(*.f64 -1/5040 (*.f64 re (pow.f64 im 7)))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/5040 re) 0)
(*.f64 -1/5040 re)
(+.f64 0 (*.f64 -1/5040 re))
(*.f64 -1/5040 re)
(+.f64 (*.f64 re -1/10080) (*.f64 re -1/10080))
(*.f64 -1/5040 re)
(-.f64 (*.f64 -1/5040 re) 0)
(*.f64 -1/5040 re)
(/.f64 (*.f64 -1/5040 re) 1)
(*.f64 -1/5040 re)
(/.f64 (*.f64 re -1/2520) 2)
(*.f64 -1/5040 re)
(/.f64 (*.f64 re -1/1260) 4)
(*.f64 -1/5040 re)
(/.f64 (*.f64 (*.f64 -1/5040 re) 8) 8)
(*.f64 -1/5040 re)
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/5040 re) 8)) 16)
(*.f64 -1/5040 re)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/5040 re) 8))) 32)
(*.f64 -1/5040 re)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/5040 re) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/5040 re) 8)))) 64)
(*.f64 -1/5040 re)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 44 to 17 computations (61.4% saved)

series6.0ms (0%)

Counts
2 → 28
Calls

12 calls:

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

rewrite66.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1480×bool.json-1
1480×bool.json-2
1446×rational.json-1
1446×rational.json-2
1446×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01450
114750
244550
3121650
4417950
Stop Event
node limit
Counts
2 → 59
Calls
Call 1
Inputs
(/.f64 (exp.f64 im) re)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (/.f64 (exp.f64 im) re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (exp.f64 im) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (exp.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (exp.f64 im) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (exp.f64 im) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (exp.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (exp.f64 im) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) (/.f64 2 re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (exp.f64 im) re) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 2) (/.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 2) (*.f64 1/2 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (/.f64 (exp.f64 im) re) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) 4) (/.f64 1 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (exp.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (exp.f64 im) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 re)) (/.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 im) (/.f64 1/2 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 re) (*.f64 (exp.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 (exp.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 (exp.f64 im) re) (/.f64 (exp.f64 im) re))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 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 re (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (/.f64 re (exp.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 re (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (/.f64 (exp.f64 im) re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 re (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 (/.f64 re (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 (/.f64 re (exp.f64 im)) 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 1/2 (*.f64 (/.f64 re (exp.f64 im)) 1/2)))))) (#(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 re re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)) 1))))) (#(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))) 4) (/.f64 1 (*.f64 (/.f64 (exp.f64 im) re) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 4) (/.f64 1 (*.f64 2 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 4) (/.f64 1 (/.f64 8 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 re (exp.f64 im)) 1/2) (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (/.f64 1 (neg.f64 (*.f64 (exp.f64 im) (/.f64 2 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.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 (neg.f64 re) (/.f64 1 (/.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 (-.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 -1 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (*.f64 (exp.f64 im) (/.f64 2 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (neg.f64 (/.f64 (exp.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 re (exp.f64 im)) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))))) (#(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 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))))))

simplify117.0ms (0.5%)

Algorithm
egg-herbie
Rules
1802×rational.json-simplify-35
1212×rational.json-simplify-2
1130×rational.json-simplify-41
854×rational.json-simplify-50
694×rational.json-simplify-1
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02103021
15012917
210822847
327322833
451392827
570132827
Stop Event
node limit
Counts
87 → 103
Calls
Call 1
Inputs
(/.f64 1 re)
(+.f64 (/.f64 im re) (/.f64 1 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (/.f64 im re) (/.f64 1 re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (/.f64 im re) (+.f64 (/.f64 1 re) (*.f64 1/6 (/.f64 (pow.f64 im 3) re)))))
(*.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/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 (/.f64 (exp.f64 im) re) 0)
(+.f64 0 (/.f64 (exp.f64 im) re))
(-.f64 (/.f64 (exp.f64 im) re) 0)
(*.f64 (exp.f64 im) (/.f64 1 re))
(*.f64 (/.f64 (exp.f64 im) re) 1)
(*.f64 1 (/.f64 (exp.f64 im) re))
(*.f64 2 (*.f64 (exp.f64 im) (/.f64 1/2 re)))
(*.f64 (*.f64 (exp.f64 im) (/.f64 2 re)) 1/2)
(*.f64 (*.f64 (/.f64 (exp.f64 im) re) 4) 1/4)
(*.f64 (*.f64 (exp.f64 im) 2) (/.f64 1/2 re))
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 re) 1))
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 1/2 (/.f64 1 re)))
(*.f64 4 (/.f64 (/.f64 (exp.f64 im) re) 4))
(*.f64 (*.f64 (exp.f64 im) 4) (/.f64 1 (*.f64 re 4)))
(*.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 re)))
(*.f64 (/.f64 1 re) (exp.f64 im))
(*.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (neg.f64 re)))
(*.f64 -1 (/.f64 (exp.f64 im) (neg.f64 re)))
(*.f64 (*.f64 2 (/.f64 1 re)) (/.f64 (exp.f64 im) 2))
(*.f64 (*.f64 (exp.f64 im) (/.f64 1/2 re)) 2)
(*.f64 (/.f64 1/2 re) (*.f64 (exp.f64 im) 2))
(+.f64 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 0)
(+.f64 0 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))
(-.f64 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 0)
(*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 re (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))) 1))
(*.f64 1 (*.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 (/.f64 re (exp.f64 im)) 1/2))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (/.f64 (exp.f64 im) re) 4)))
(*.f64 2 (/.f64 re (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 2 (/.f64 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 2))
(*.f64 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 1)
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (/.f64 (/.f64 re (exp.f64 im)) 4))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 (/.f64 (/.f64 re (exp.f64 im)) 4) 1))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 1/2 (*.f64 (/.f64 re (exp.f64 im)) 1/2)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2) (*.f64 1/4 (/.f64 re (exp.f64 im))))
(*.f64 (+.f64 re re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)))
(*.f64 (+.f64 re re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)) 1))
(*.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))) 4) (/.f64 1 (*.f64 (/.f64 (exp.f64 im) re) 8)))
(*.f64 (*.f64 re 4) (/.f64 1 (*.f64 2 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))))))
(*.f64 (*.f64 re 4) (/.f64 1 (/.f64 8 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))) 1/2)
(*.f64 (*.f64 (/.f64 re (exp.f64 im)) 1/2) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (/.f64 1 (neg.f64 (*.f64 (exp.f64 im) (/.f64 2 re)))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -1/2) (/.f64 1 (neg.f64 (/.f64 (exp.f64 im) re))))
(*.f64 (neg.f64 re) (/.f64 1 (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -1/2))))
(*.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 -1 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (neg.f64 (*.f64 (exp.f64 im) (/.f64 2 re)))))
(*.f64 -1 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (neg.f64 (/.f64 (exp.f64 im) re))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))) re)
(*.f64 1/4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 2 (exp.f64 im)))))
(*.f64 (/.f64 (/.f64 re (exp.f64 im)) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 (exp.f64 (neg.f64 im)) (/.f64 re (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)) (+.f64 re re))
Outputs
(/.f64 1 re)
(+.f64 (/.f64 im re) (/.f64 1 re))
(+.f64 (/.f64 1 re) (/.f64 im re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (/.f64 im re) (/.f64 1 re)))
(+.f64 (/.f64 im re) (+.f64 (/.f64 1 re) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (/.f64 1 re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 im re)))
(+.f64 (/.f64 1 re) (+.f64 (/.f64 im re) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (/.f64 im re) (+.f64 (/.f64 1 re) (*.f64 1/6 (/.f64 (pow.f64 im 3) re)))))
(+.f64 (/.f64 im re) (+.f64 (+.f64 (/.f64 1 re) (*.f64 1/6 (/.f64 (pow.f64 im 3) re))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (/.f64 im re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (/.f64 1 re) (*.f64 1/6 (/.f64 (pow.f64 im 3) re)))))
(+.f64 (/.f64 1 re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (/.f64 im re) (*.f64 1/6 (/.f64 (pow.f64 im 3) re)))))
(+.f64 (/.f64 1 re) (+.f64 (/.f64 im re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/6 (/.f64 (pow.f64 im 3) re)))))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 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 re (neg.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 re -4/3) (neg.f64 re)))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 im 3) (*.f64 re -1/3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.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 re (neg.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 im 3) (*.f64 re -1/3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.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 (-.f64 (+.f64 (neg.f64 re) (*.f64 re -2/3)) (+.f64 (*.f64 re -4/3) (*.f64 re -1/3))) (*.f64 (pow.f64 im 4) 1/2)) (*.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 re (neg.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 3) (*.f64 re -1/3))) (*.f64 1/2 (+.f64 (*.f64 (-.f64 (*.f64 re -5/3) (*.f64 re -5/3)) (pow.f64 im 4)) (*.f64 (-.f64 (+.f64 (*.f64 re -4/3) (*.f64 re -3/5)) (+.f64 (neg.f64 re) (+.f64 (*.f64 1/2 (*.f64 re -1/3)) (*.f64 re -3/4)))) (pow.f64 im 5))))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) (*.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 re (neg.f64 im)) (+.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 (*.f64 re (neg.f64 im)) (*.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 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (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 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (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 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (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 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (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 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) re) (exp.f64 im)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(+.f64 (/.f64 (exp.f64 im) re) 0)
(/.f64 (exp.f64 im) re)
(+.f64 0 (/.f64 (exp.f64 im) re))
(/.f64 (exp.f64 im) re)
(-.f64 (/.f64 (exp.f64 im) re) 0)
(/.f64 (exp.f64 im) re)
(*.f64 (exp.f64 im) (/.f64 1 re))
(/.f64 (exp.f64 im) re)
(*.f64 (/.f64 (exp.f64 im) re) 1)
(/.f64 (exp.f64 im) re)
(*.f64 1 (/.f64 (exp.f64 im) re))
(/.f64 (exp.f64 im) re)
(*.f64 2 (*.f64 (exp.f64 im) (/.f64 1/2 re)))
(/.f64 (exp.f64 im) re)
(*.f64 (*.f64 (exp.f64 im) (/.f64 2 re)) 1/2)
(/.f64 (exp.f64 im) re)
(*.f64 (*.f64 (/.f64 (exp.f64 im) re) 4) 1/4)
(/.f64 (exp.f64 im) re)
(*.f64 (*.f64 (exp.f64 im) 2) (/.f64 1/2 re))
(/.f64 (exp.f64 im) re)
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 re) 1))
(/.f64 (exp.f64 im) re)
(*.f64 (*.f64 (exp.f64 im) 2) (*.f64 1/2 (/.f64 1 re)))
(/.f64 (exp.f64 im) re)
(*.f64 4 (/.f64 (/.f64 (exp.f64 im) re) 4))
(/.f64 (exp.f64 im) re)
(*.f64 (*.f64 (exp.f64 im) 4) (/.f64 1 (*.f64 re 4)))
(/.f64 (exp.f64 im) re)
(*.f64 1/2 (*.f64 (exp.f64 im) (/.f64 2 re)))
(/.f64 (exp.f64 im) re)
(*.f64 (/.f64 1 re) (exp.f64 im))
(/.f64 (exp.f64 im) re)
(*.f64 (neg.f64 (exp.f64 im)) (/.f64 1 (neg.f64 re)))
(/.f64 (exp.f64 im) re)
(*.f64 -1 (/.f64 (exp.f64 im) (neg.f64 re)))
(/.f64 (exp.f64 im) re)
(*.f64 (*.f64 2 (/.f64 1 re)) (/.f64 (exp.f64 im) 2))
(*.f64 (*.f64 (/.f64 1 re) 2) (/.f64 (exp.f64 im) 2))
(*.f64 (/.f64 1 re) (*.f64 2 (/.f64 (exp.f64 im) 2)))
(*.f64 2 (/.f64 (/.f64 (exp.f64 im) 2) re))
(*.f64 (*.f64 (exp.f64 im) (/.f64 1/2 re)) 2)
(/.f64 (exp.f64 im) re)
(*.f64 (/.f64 1/2 re) (*.f64 (exp.f64 im) 2))
(/.f64 (exp.f64 im) re)
(+.f64 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 0)
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(+.f64 0 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(-.f64 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 0)
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 re (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 re (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im))) 1))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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 re (exp.f64 im)) 1/2))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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) re) 4)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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) 4) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 2 (/.f64 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 2))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1/2 (exp.f64 im)))) 1)
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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 (exp.f64 im)) 4))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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 (/.f64 re (exp.f64 im)) 4) 1))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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 (/.f64 re (exp.f64 im)) 1/2)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (+.f64 re re) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (+.f64 re re) (*.f64 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 4)) 1))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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))) 4) (/.f64 1 (*.f64 (/.f64 (exp.f64 im) re) 8)))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 re 4) (/.f64 1 (*.f64 2 (/.f64 (*.f64 (exp.f64 im) 4) (-.f64 1 (exp.f64 (+.f64 im im)))))))
(*.f64 (*.f64 re 4) (/.f64 1/2 (*.f64 4 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))))
(*.f64 re (*.f64 4 (/.f64 1/8 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))))
(*.f64 re (*.f64 4 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 8))))
(*.f64 (*.f64 re 4) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 8)))
(*.f64 4 (/.f64 re (/.f64 (*.f64 (exp.f64 im) 8) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 re 4) (/.f64 1 (/.f64 8 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im)))))
(*.f64 (*.f64 re 4) (/.f64 1/2 (*.f64 4 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))))
(*.f64 re (*.f64 4 (/.f64 1/8 (/.f64 (exp.f64 im) (-.f64 1 (exp.f64 (+.f64 im im)))))))
(*.f64 re (*.f64 4 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 8))))
(*.f64 (*.f64 re 4) (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) 8)))
(*.f64 4 (/.f64 re (/.f64 (*.f64 (exp.f64 im) 8) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 re (exp.f64 im))) 1/2)
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (*.f64 (/.f64 re (exp.f64 im)) 1/2) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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 re (exp.f64 im))))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (/.f64 1 (neg.f64 (*.f64 (exp.f64 im) (/.f64 2 re)))))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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 1 (neg.f64 (/.f64 (exp.f64 im) re))))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (neg.f64 re) (/.f64 1 (/.f64 (exp.f64 im) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) -1/2))))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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))) (neg.f64 (*.f64 (exp.f64 im) (/.f64 2 re)))))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 -1 (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1/2) (neg.f64 (/.f64 (exp.f64 im) re))))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 1/4 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 re (/.f64 2 (exp.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (*.f64 re (/.f64 2 (exp.f64 im))) 1/4))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/4 (*.f64 re (/.f64 2 (exp.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (/.f64 2 (exp.f64 im)) (*.f64 re 1/4)))
(*.f64 1/4 (*.f64 re (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 2 (exp.f64 im)))))
(*.f64 (/.f64 (/.f64 re (exp.f64 im)) 4) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 2))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (/.f64 re (/.f64 2 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.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) 4)) (+.f64 re re))
(*.f64 1/2 (/.f64 (*.f64 re (-.f64 1 (exp.f64 (*.f64 im 2)))) (exp.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (/.f64 re (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 im))))
(*.f64 re (*.f64 1/2 (/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 im))))

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))
0.1b
(*.f64 (pow.f64 im 5) -1/120)
0.1b
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
0.1b
(*.f64 (pow.f64 im 7) -1/5040)
Compiler

Compiled 51 to 38 computations (25.5% saved)

series4.0ms (0%)

Counts
4 → 60
Calls

15 calls:

TimeVariablePointExpression
1.0ms
im
@inf
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
1.0ms
re
@0
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
1.0ms
re
@inf
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
0.0ms
im
@0
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
0.0ms
re
@-inf
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))

rewrite101.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1844×bool.json-1
1844×bool.json-2
1132×bool.json-3
1016×rational.json-1
1016×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01698
115798
238498
375198
4158098
5353498
6705798
Stop Event
node limit
Counts
4 → 47
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 7) -1/5040)
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
(*.f64 (pow.f64 im 5) -1/120)
(+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 7) -1/5040) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 7) -1/5040))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 7) -1/10080) (*.f64 (pow.f64 im 7) -1/10080))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 7) -1/5040) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/5040) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/2520) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 7) -1/1260) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (pow.f64 im 7) -1/5040)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 7) -1/5040))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 7) -1/5040))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1/2)) (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.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 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.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 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 5) -1/120) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 5) -1/120) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/120) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/60) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/30) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (pow.f64 im 5) -1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 5) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 5) -1/120))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))))))

simplify210.0ms (0.9%)

Algorithm
egg-herbie
Rules
2178×rational.json-simplify-53
1960×rational.json-simplify-1
1854×rational.json-simplify-2
1610×rational.json-simplify-35
1010×rational.json-simplify-48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01323065
12962957
27532885
314922849
430152849
535702849
637512849
739622849
844532849
953862849
1077522849
Stop Event
node limit
Counts
107 → 73
Calls
Call 1
Inputs
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) re)
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) (pow.f64 re 3))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) re))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) (pow.f64 re 3))) (+.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) re) (*.f64 1/120 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) (pow.f64 re 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) (pow.f64 re 3))) (+.f64 (*.f64 -1/5040 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) (pow.f64 re 7))) (+.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) re) (*.f64 1/120 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) (pow.f64 re 5))))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (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 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.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 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(*.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 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(*.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 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 (pow.f64 im 7) -1/5040) 0)
(+.f64 0 (*.f64 (pow.f64 im 7) -1/5040))
(+.f64 (*.f64 (pow.f64 im 7) -1/10080) (*.f64 (pow.f64 im 7) -1/10080))
(-.f64 (*.f64 (pow.f64 im 7) -1/5040) 0)
(/.f64 (*.f64 (pow.f64 im 7) -1/5040) 1)
(/.f64 (*.f64 (pow.f64 im 7) -1/2520) 2)
(/.f64 (*.f64 (pow.f64 im 7) -1/1260) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)))) 32)
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))) 0)
(+.f64 0 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1/2)) (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1/2)))
(-.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))) 0)
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 2)) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 4))))) 32)
(+.f64 (*.f64 (pow.f64 im 5) -1/120) 0)
(+.f64 0 (*.f64 (pow.f64 im 5) -1/120))
(+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))
(-.f64 (*.f64 (pow.f64 im 5) -1/120) 0)
(/.f64 (*.f64 (pow.f64 im 5) -1/120) 1)
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) 32)
(-.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 0)
(*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1)
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 2))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4) 4)
(/.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4)))) 32)
Outputs
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 -1/5040 (pow.f64 im 7))
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) re)
(*.f64 re (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) (pow.f64 re 3))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) re))
(+.f64 (*.f64 re (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))) (*.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) (pow.f64 re 3))) (+.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) re) (*.f64 1/120 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) (pow.f64 re 5)))))
(+.f64 (*.f64 re (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))) (+.f64 (*.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (pow.f64 re 5) 1/120)) (*.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (pow.f64 re 3) -1/6))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))) (*.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) (pow.f64 re 3))) (+.f64 (*.f64 -1/5040 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) (pow.f64 re 7))) (+.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) re) (*.f64 1/120 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) (pow.f64 re 5))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (pow.f64 re 3) -1/6)) (+.f64 (*.f64 re (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))) (+.f64 (*.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (pow.f64 re 5) 1/120)) (*.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (pow.f64 re 7) -1/5040)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))) (+.f64 (*.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))) (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))) (*.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (+.f64 re (*.f64 1/120 (pow.f64 re 5))))))
(*.f64 (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (pow.f64 im 5) (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 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (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 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7)))
(*.f64 -1/5040 (*.f64 (pow.f64 im 7) (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 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 (pow.f64 im 7) -1/5040) 0)
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 0 (*.f64 (pow.f64 im 7) -1/5040))
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 (pow.f64 im 7) -1/10080) (*.f64 (pow.f64 im 7) -1/10080))
(*.f64 -1/5040 (pow.f64 im 7))
(-.f64 (*.f64 (pow.f64 im 7) -1/5040) 0)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/5040) 1)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/2520) 2)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 (pow.f64 im 7) -1/1260) 4)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)) 8)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) 16)
(*.f64 -1/5040 (pow.f64 im 7))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 7) -1/1260)))) 32)
(*.f64 -1/5040 (pow.f64 im 7))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))) 0)
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 0 (*.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 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1/2)) (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1/2)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(-.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))) 0)
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120))) 1)
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 2)) 2)
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 4)) 4)
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 4))) 8)
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 4)))) 16)
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) (*.f64 (sin.f64 re) 4))))) 32)
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5))))
(+.f64 (*.f64 (pow.f64 im 5) -1/120) 0)
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 0 (*.f64 (pow.f64 im 5) -1/120))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 (pow.f64 im 5) -1/240) (*.f64 (pow.f64 im 5) -1/240))
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (*.f64 (pow.f64 im 5) -1/120) 0)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/120) 1)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 4)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)) 8)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) 16)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 5) -1/30)))) 32)
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 0)
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1)
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1/2))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 2) 1/2)
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4) 1/4)
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 2))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1/2) 2)
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4))
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4) 4)
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(/.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 1)
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 2) 2)
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4) 4)
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4)) 8)
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4))) 16)
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)) 4)))) 32)
(+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 -1/120 (pow.f64 im 5)))

localize50.0ms (0.2%)

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 -1/3 (*.f64 re (pow.f64 im 3)))
5.3b
(*.f64 re (pow.f64 im 3))
Compiler

Compiled 139 to 106 computations (23.7% saved)

series4.0ms (0%)

Counts
2 → 0
Calls

12 calls:

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

rewrite80.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1284×bool.json-1
1284×bool.json-2
1240×rational.json-1
1240×rational.json-2
1240×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
19032
224532
351332
4102432
5223432
6475532
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 re (pow.f64 im 3))
(*.f64 -1/3 (*.f64 re (pow.f64 im 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) (*.f64 re 1/2)) (*.f64 (pow.f64 im 3) (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) (+.f64 re re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (pow.f64 im 3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 re (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 re (pow.f64 im 3)) (*.f64 re (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 re (pow.f64 im 3)) (*.f64 re (pow.f64 im 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/6)) (*.f64 re (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (pow.f64 im 3) -4/3)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 re (*.f64 (pow.f64 im 3) -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) (*.f64 re (*.f64 (pow.f64 im 3) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) (*.f64 re (*.f64 (pow.f64 im 3) -1/3)))))))

simplify1.1s (5%)

Algorithm
egg-herbie
Rules
4776×rational.json-simplify-35
2578×rational.json-simplify-2
1442×rational.json-simplify-1
1260×rational.json-simplify-53
948×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064352
1154352
2332352
3828352
41984352
53368352
63829352
74148352
84339352
94495352
104629352
115709352
125731352
135733352
145735352
155735352
165943352
176122352
186261352
196385352
206509352
216783352
226926352
237133352
247324352
257463352
267587352
277587352
287711352
297835352
307959352
Stop Event
node limit
Counts
22 → 24
Calls
Call 1
Inputs
(+.f64 (*.f64 re (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 re (pow.f64 im 3)))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 re 1/2)) (*.f64 (pow.f64 im 3) (*.f64 re 1/2)))
(-.f64 (*.f64 re (pow.f64 im 3)) 0)
(/.f64 (*.f64 re (pow.f64 im 3)) 1)
(/.f64 (*.f64 (pow.f64 im 3) (+.f64 re re)) 2)
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 re 4)) 4)
(/.f64 (*.f64 (*.f64 re (pow.f64 im 3)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8)))) 64)
(+.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 0)
(+.f64 0 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/6)) (*.f64 re (*.f64 (pow.f64 im 3) -1/6)))
(-.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 0)
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 1)
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)) 2)
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -4/3)) 4)
(/.f64 (*.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 8)))) 64)
Outputs
(+.f64 (*.f64 re (pow.f64 im 3)) 0)
(*.f64 re (pow.f64 im 3))
(+.f64 0 (*.f64 re (pow.f64 im 3)))
(*.f64 re (pow.f64 im 3))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 re 1/2)) (*.f64 (pow.f64 im 3) (*.f64 re 1/2)))
(*.f64 re (pow.f64 im 3))
(-.f64 (*.f64 re (pow.f64 im 3)) 0)
(*.f64 re (pow.f64 im 3))
(/.f64 (*.f64 re (pow.f64 im 3)) 1)
(*.f64 re (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) (+.f64 re re)) 2)
(*.f64 re (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 re 4)) 4)
(*.f64 re (pow.f64 im 3))
(/.f64 (*.f64 (*.f64 re (pow.f64 im 3)) 8) 8)
(*.f64 re (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8)) 16)
(*.f64 re (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8))) 32)
(*.f64 re (pow.f64 im 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8)))) 64)
(*.f64 re (pow.f64 im 3))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 0)
(*.f64 re (*.f64 (pow.f64 im 3) -1/3))
(+.f64 0 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)))
(*.f64 re (*.f64 (pow.f64 im 3) -1/3))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/6)) (*.f64 re (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 re (*.f64 (pow.f64 im 3) -1/3))
(-.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 0)
(*.f64 re (*.f64 (pow.f64 im 3) -1/3))
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 1)
(*.f64 re (*.f64 (pow.f64 im 3) -1/3))
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)) 2)
(*.f64 re (*.f64 (pow.f64 im 3) -1/3))
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -4/3)) 4)
(*.f64 re (*.f64 (pow.f64 im 3) -1/3))
(/.f64 (*.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 8) 8)
(*.f64 re (*.f64 (pow.f64 im 3) -1/3))
(/.f64 (*.f64 2 (*.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 8)) 16)
(*.f64 re (*.f64 (pow.f64 im 3) -1/3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 8))) 32)
(*.f64 re (*.f64 (pow.f64 im 3) -1/3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 8)))) 64)
(*.f64 re (*.f64 (pow.f64 im 3) -1/3))

eval217.0ms (1%)

Compiler

Compiled 8524 to 5502 computations (35.5% saved)

prune79.0ms (0.4%)

Pruning

17 alts after pruning (6 fresh and 11 done)

PrunedKeptTotal
New4293432
Fresh033
Picked011
Done21012
Total43117448
Error
0.3b
Counts
448 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
41.5b
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
42.9b
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (/.f64 (exp.f64 im) re)))
1.1b
(/.f64 (*.f64 -2 im) (/.f64 2 (sin.f64 re)))
43.8b
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
2.0b
(*.f64 (/.f64 (sin.f64 re) (*.f64 (exp.f64 im) (/.f64 -1/2 im))) 1/2)
0.8b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
43.7b
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) re)
30.0b
(*.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))
41.5b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.6b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.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)))))
42.0b
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1))
42.0b
(*.f64 (sin.f64 re) (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 (+.f64 im -2))) -2))
1.0b
(*.f64 (sin.f64 re) (neg.f64 im))
30.0b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
30.1b
(*.f64 re (neg.f64 im))
30.0b
(*.f64 1/2 (+.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))))))
42.9b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 256 to 200 computations (21.9% saved)

regimes66.0ms (0.3%)

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

6 calls:

13.0ms
im
13.0ms
(sin.f64 re)
13.0ms
(*.f64 1/2 (sin.f64 re))
12.0ms
re
3.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 377 to 247 computations (34.5% saved)

regimes59.0ms (0.3%)

Counts
23 → 1
Calls
Call 1
Inputs
(*.f64 re (neg.f64 im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 (pow.f64 im 7) (*.f64 -1/5040 re))
(/.f64 (*.f64 -2 im) (/.f64 2 (sin.f64 re)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (pow.f64 im 7) (*.f64 (sin.f64 re) -1/5040))
(*.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 (sin.f64 re) (*.f64 (exp.f64 im) (/.f64 -1/2 im))) 1/2)
(/.f64 (*.f64 -2 im) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7))) re)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (/.f64 (exp.f64 im) re)))
(*.f64 re (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1))
(*.f64 (sin.f64 re) (+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 (+.f64 im -2))) -2))
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 5) -1/120)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (/.f64 (exp.f64 im) 1/2) (sin.f64 re)))
(*.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 (+.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 1/2 (+.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))))))
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:

12.0ms
(*.f64 1/2 (sin.f64 re))
12.0ms
im
10.0ms
re
10.0ms
(sin.f64 re)
4.0ms
(-.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 325 to 210 computations (35.4% saved)

regimes94.0ms (0.4%)

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

6 calls:

46.0ms
im
15.0ms
(*.f64 1/2 (sin.f64 re))
9.0ms
re
9.0ms
(sin.f64 re)
3.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
0.8b1re
0.8b1im
0.8b1(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.8b1(*.f64 1/2 (sin.f64 re))
0.8b1(sin.f64 re)
0.8b1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 256 to 158 computations (38.3% saved)

regimes101.0ms (0.4%)

Accuracy

Total -43.4b remaining (-4278.6%)

Threshold costs -43.4b (-4278.6%)

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

4 calls:

87.0ms
(sin.f64 re)
5.0ms
re
5.0ms
im
2.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Results
ErrorSegmentsBranch
1.0b1re
1.0b1im
1.0b1(sin.f64 re)
1.0b1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 71 to 46 computations (35.2% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 72 to 56 computations (22.2% saved)

soundness123.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 132 to 103 computations (22% saved)

end141.0ms (0.6%)

Compiler

Compiled 64 to 43 computations (32.8% saved)

Profiling

Loading profile data...