Details

Time bar (total: 17.0s)

analyze497.0ms (2.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)

sample8.4s (49.6%)

Results
3.9s4239×body1024valid
1.5s1978×body1024infinite
1.3s2090×body512valid
529.0ms1005×body512infinite
499.0ms1708×body256valid
343.0ms219×body2048valid
293.0ms1628×body256infinite
Bogosity

preprocess6.0ms (0%)

Algorithm
egg-herbie
Rules
28×rational_best-simplify-2
rational_best-simplify-44
trig-simplify-2
exponential-simplify-2
rational_best-simplify-11
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02070
14370
25370
36170
022
Stop Event
saturated
saturated
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 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 1/2 (sin.f64 im)) (-.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
Compiler

Compiled 15 to 12 computations (20% saved)

simplify121.0ms (0.7%)

Algorithm
egg-herbie
Rules
14×rational_best-simplify-2
rational_best-simplify-44
trig-simplify-2
exponential-simplify-2
rational_best-simplify-11
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01335
12835
23335
33735
Stop Event
saturated
Counts
1 → 1
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)))

eval0.0ms (0%)

Compiler

Compiled 13 to 10 computations (23.1% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
43.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
43.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 13 to 10 computations (23.1% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
4.6b
(-.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
re
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite116.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
786×rational_best-5
784×rational_best-4
784×rational_best-2
784×rational_best-3
784×rational_best-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01354
111854
242354
3176154
4690754
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (neg.f64 im)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (exp.f64 (neg.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (exp.f64 im)) (exp.f64 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 (neg.f64 im)) 2) (-.f64 0 (+.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)) (neg.f64 (*.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (-.f64 (/.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (-.f64 (/.f64 1 (/.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (-.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (-.f64 (+.f64 (/.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 im)) (-.f64 (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im (neg.f64 im)))) (*.f64 (exp.f64 (+.f64 im im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 im -2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) (/.f64 (exp.f64 im) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (-.f64 (+.f64 1 (exp.f64 (*.f64 im -2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (-.f64 (+.f64 (/.f64 (exp.f64 im) (exp.f64 im)) (exp.f64 (*.f64 im -2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 im) (-.f64 (+.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im (neg.f64 im)))) 2))))) (#(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 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 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 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (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 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.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)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (+.f64 im (neg.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (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 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(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)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.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 1/2 (sin.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.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 neg.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) -2))))))

simplify173.0ms (1%)

Algorithm
egg-herbie
Rules
1176×rational_best-simplify-2
894×rational_best-simplify-78
756×rational_best-simplify-49
732×rational_best-simplify-50
690×rational_best-simplify-80
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01833132
13622986
211932986
325772976
449842976
Stop Event
node limit
Counts
86 → 119
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 (exp.f64 (neg.f64 im)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (exp.f64 (neg.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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(+.f64 (neg.f64 (exp.f64 im)) (exp.f64 (neg.f64 im)))
(+.f64 (*.f64 (exp.f64 (neg.f64 im)) 2) (-.f64 0 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (neg.f64 (*.f64 (exp.f64 im) 2)))
(+.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 (/.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (exp.f64 (+.f64 im im))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 (/.f64 1 (/.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (exp.f64 (+.f64 im im))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) 2)))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 (+.f64 (/.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) 2)))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im (neg.f64 im)))) (*.f64 (exp.f64 (+.f64 im im)) 2)))
(*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 im -2)) -1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im (neg.f64 im)))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) (/.f64 (exp.f64 im) (exp.f64 im))))
(*.f64 (exp.f64 im) (-.f64 (+.f64 1 (exp.f64 (*.f64 im -2))) 2))
(*.f64 (exp.f64 im) (-.f64 (+.f64 (/.f64 (exp.f64 im) (exp.f64 im)) (exp.f64 (*.f64 im -2))) 2))
(*.f64 (exp.f64 im) (-.f64 (+.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im (neg.f64 im)))) 2))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (-.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)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 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 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) 2)
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)
(*.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (-.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 (exp.f64 (+.f64 im (neg.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (/.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (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)) 1)
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)
(/.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) -2)
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)
(+.f64 0 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))))
(-.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)
(-.f64 0 (/.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 1/2 (sin.f64 re))) 1)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) (*.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)
(pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 1)
(neg.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) -2))
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/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -2 im) (*.f64 -1/2520 (pow.f64 im 7))))
(+.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 -1/2520 (pow.f64 im 7)))
(+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (+.f64 (*.f64 -2 im) (*.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 (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 -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 (-.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 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.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/240 (pow.f64 re 5)) (*.f64 1/2 re))))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/12 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)) (+.f64 (*.f64 1/240 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 5))) (*.f64 -1/10080 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (pow.f64 re 7))))))
(+.f64 (*.f64 (-.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 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 -1/6 (pow.f64 im 3))))
(*.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) (neg.f64 im)) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 (pow.f64 im 5) -1/120))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 re) (pow.f64 im 7))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im)))))
(+.f64 (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))) (*.f64 (sin.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))
(+.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 (sin.f64 re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 5) -1/120))) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 7) -1/5040) (*.f64 (pow.f64 im 3) -1/6))))
(*.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 (exp.f64 (neg.f64 im)) (-.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (/.f64 (+.f64 (neg.f64 (exp.f64 im)) (neg.f64 (exp.f64 im))) 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 (-.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 (exp.f64 (neg.f64 im)) 2) (-.f64 0 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 (exp.f64 (neg.f64 im)) 2) (neg.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (neg.f64 (*.f64 (exp.f64 im) 2)))
(+.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (neg.f64 (*.f64 (exp.f64 im) 2)))
(+.f64 (exp.f64 im) (+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (*.f64 (exp.f64 im) 2))))
(+.f64 (neg.f64 (*.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (neg.f64 (*.f64 (exp.f64 im) 2)))
(+.f64 (exp.f64 im) (+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (*.f64 (exp.f64 im) 2))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 (/.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (exp.f64 (+.f64 im im))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (exp.f64 im) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (exp.f64 (+.f64 im (neg.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 (/.f64 1 (/.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (exp.f64 (+.f64 im im))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) 2)))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 (+.f64 1 (exp.f64 (+.f64 im im))) (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 (+.f64 (/.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (+.f64 im im)) 2)))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 (+.f64 (exp.f64 (+.f64 im im)) (/.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im (neg.f64 im)))) (*.f64 (exp.f64 (+.f64 im im)) 2)))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 (+.f64 (exp.f64 (+.f64 im im)) (exp.f64 (+.f64 im (neg.f64 im)))) (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 (*.f64 (exp.f64 im) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 2 (exp.f64 (+.f64 im im)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (exp.f64 im) (-.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) 2))))
(*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 im -2)) -1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im (neg.f64 im)))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) (exp.f64 (+.f64 im (neg.f64 im)))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 im -2)) (/.f64 (exp.f64 im) (exp.f64 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) (/.f64 (exp.f64 im) (exp.f64 im))))
(*.f64 (exp.f64 im) (-.f64 (+.f64 1 (exp.f64 (*.f64 im -2))) 2))
(*.f64 (exp.f64 im) (-.f64 (+.f64 1 (exp.f64 (*.f64 -2 im))) 2))
(*.f64 (exp.f64 im) (-.f64 (+.f64 (/.f64 (exp.f64 im) (exp.f64 im)) (exp.f64 (*.f64 im -2))) 2))
(*.f64 (exp.f64 im) (-.f64 (+.f64 (exp.f64 (*.f64 -2 im)) (/.f64 (exp.f64 im) (exp.f64 im))) 2))
(*.f64 (exp.f64 im) (-.f64 (+.f64 (exp.f64 (*.f64 im -2)) (exp.f64 (+.f64 im (neg.f64 im)))) 2))
(*.f64 (exp.f64 im) (-.f64 (+.f64 (exp.f64 (+.f64 im (neg.f64 im))) (exp.f64 (*.f64 -2 im))) 2))
(*.f64 (-.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)) (exp.f64 im)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (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 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.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 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 (-.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 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (exp.f64 (+.f64 im (neg.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (exp.f64 im) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (exp.f64 (+.f64 im (neg.f64 im))))
(*.f64 (/.f64 (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (/.f64 (/.f64 (-.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)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (-.f64 (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)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)
(/.f64 (*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) -2)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 0)
(*.f64 (-.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 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 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) -2))
(neg.f64 (/.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 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)) (*.f64 1/2 (sin.f64 re))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))))
(*.f64 (/.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) (sin.f64 re))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re))))
(*.f64 (*.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)) (*.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)
(pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re))) 1)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(neg.f64 (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)) -2))

eval185.0ms (1.1%)

Compiler

Compiled 2414 to 1004 computations (58.4% saved)

prune196.0ms (1.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1136119
Fresh000
Picked011
Done000
Total1137120
Error
0.1b
Counts
120 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
43.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.7b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
43.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
43.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 im -2)) -1)))
0.8b
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
1.3b
(*.f64 (sin.f64 re) (neg.f64 im))
44.1b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 187 to 146 computations (21.9% saved)

localize30.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 79 to 59 computations (25.3% saved)

series172.0ms (1%)

Counts
3 → 24
Calls

12 calls:

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

rewrite59.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1014×rational_best-5
1012×rational_best-4
1012×rational_best-2
1012×rational_best-3
1012×rational_best-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02185
117985
255485
3226785
Stop Event
node limit
Counts
3 → 21
Calls
Call 1
Inputs
(*.f64 -1/3 (pow.f64 im 3))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 -1/60 (pow.f64 im 5))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/3 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/3 (pow.f64 im 3)) (/.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 (pow.f64 im 3) -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -2/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) (/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (sin.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -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 -1/60 (pow.f64 im 5)) (/.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/60 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/30) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)))))

simplify156.0ms (0.9%)

Algorithm
egg-herbie
Rules
1518×rational_best-simplify-80
1148×rational_best-simplify-132
1142×rational_best-simplify-78
1118×rational_best-simplify-2
922×rational_best-simplify-47
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0922331
11792035
23471877
37021877
419781877
543011877
665801877
Stop Event
node limit
Counts
45 → 66
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re)) (*.f64 -1/12 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re)) (+.f64 (*.f64 1/240 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 5))) (*.f64 -1/12 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re)) (+.f64 (*.f64 1/240 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 3))) (*.f64 -1/10080 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 7))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.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 -1/3 (pow.f64 im 3)) (/.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 (pow.f64 im 3) -2/3)))
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 2)
(pow.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) 0)
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))))
(-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) 0)
(/.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) 1)
(/.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) (/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (sin.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))) 2)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) 1)
(+.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)
(+.f64 0 (*.f64 -1/60 (pow.f64 im 5)))
(-.f64 (*.f64 -1/60 (pow.f64 im 5)) 0)
(/.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)
(/.f64 (*.f64 -1/60 (pow.f64 im 5)) (/.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/60 (pow.f64 im 5))))
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 2)
(pow.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)
Outputs
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) re))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re)) (*.f64 -1/12 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) re)) (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re)) (+.f64 (*.f64 1/240 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 5))) (*.f64 -1/12 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) re)) (+.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) re)) (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (+.f64 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/240 (pow.f64 re 5))) (*.f64 1/2 re)))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 1/2 re))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) re)) (+.f64 (*.f64 1/240 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 3))) (*.f64 -1/10080 (*.f64 (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))) (pow.f64 re 7))))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) re)) (+.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (*.f64 1/240 (pow.f64 re 5))) (+.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (*.f64 -1/10080 (pow.f64 re 7))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (+.f64 (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 1/2 re)) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (*.f64 -1/12 (pow.f64 re 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/3 (pow.f64 im 3)) (*.f64 -2 im))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 1/2 re)))))
(*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 -1 im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (*.f64 im -1)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (neg.f64 (*.f64 im (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 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (neg.f64 im)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (neg.f64 (*.f64 im (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 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (neg.f64 im)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (neg.f64 im))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re)))
(*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.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 (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 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (neg.f64 (*.f64 im (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 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (neg.f64 im)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (neg.f64 (*.f64 im (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 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (neg.f64 im)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (neg.f64 im))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re)))
(*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.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 (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 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (neg.f64 (*.f64 im (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 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (neg.f64 im)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (neg.f64 im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (neg.f64 (*.f64 im (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 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (neg.f64 im)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (neg.f64 im))))
(+.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 -1/3 (pow.f64 im 3)) (/.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 (pow.f64 im 3) -2/3)))
(*.f64 -1/3 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 2)
(*.f64 -1/3 (pow.f64 im 3))
(pow.f64 (*.f64 -1/3 (pow.f64 im 3)) 1)
(*.f64 -1/3 (pow.f64 im 3))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) 0)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (sin.f64 re)))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (sin.f64 re)))
(-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) 0)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) 1)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) (/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))) (*.f64 (sin.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5))))) 2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (sin.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (*.f64 im -2) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/60 (pow.f64 im 5)))))) 1)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im))) (sin.f64 re)))
(+.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 -1/60 (pow.f64 im 5)) (/.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/60 (pow.f64 im 5))))
(*.f64 -1/60 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/30) 2)
(*.f64 -1/60 (pow.f64 im 5))
(pow.f64 (*.f64 -1/60 (pow.f64 im 5)) 1)
(*.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)

series82.0ms (0.5%)

Counts
1 → 24
Calls

6 calls:

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

rewrite93.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1060×rational_best-simplify-57
694×rational_best-simplify-44
604×rational_best-simplify-43
558×rational_best-5
556×rational_best-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
17715
229515
3118015
4521715
Stop Event
node limit
Counts
1 → 12
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 (*.f64 (sin.f64 re) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (sin.f64 re) (neg.f64 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) (neg.f64 im)) (/.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (neg.f64 im))))))) (#(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) im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 re) (*.f64 im -2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (sin.f64 re) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 re) im))))))

simplify168.0ms (1%)

Algorithm
egg-herbie
Rules
1772×rational_best-simplify-132
1444×rational_best-simplify-80
1308×rational_best-simplify-78
1038×rational_best-simplify-2
924×rational_best-simplify-47
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054676
1110668
2193648
3406632
41525632
53673632
66733632
Stop Event
node limit
Counts
36 → 35
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 (*.f64 (sin.f64 re) (neg.f64 im)) 0)
(-.f64 0 (neg.f64 (*.f64 (sin.f64 re) (neg.f64 im))))
(/.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)
(/.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (/.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (neg.f64 im))))
(/.f64 (*.f64 (sin.f64 re) (*.f64 im -2)) 2)
(/.f64 (*.f64 (sin.f64 re) im) -1)
(/.f64 (neg.f64 (*.f64 (sin.f64 re) (*.f64 im -2))) -2)
(pow.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)
(neg.f64 (neg.f64 (*.f64 (sin.f64 re) (neg.f64 im))))
(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 -1 (*.f64 re im)) (*.f64 1/6 (*.f64 im (pow.f64 re 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 1/6 (*.f64 im (pow.f64 re 3))))
(*.f64 im (+.f64 (*.f64 1/6 (pow.f64 re 3)) (*.f64 -1 re)))
(*.f64 im (+.f64 (*.f64 1/6 (pow.f64 re 3)) (neg.f64 re)))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 1/6 (*.f64 (pow.f64 re 3) im))))
(+.f64 (*.f64 1/6 (*.f64 im (pow.f64 re 3))) (+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/120 (*.f64 im (pow.f64 re 5)))))
(+.f64 (*.f64 re (neg.f64 im)) (+.f64 (*.f64 1/6 (*.f64 im (pow.f64 re 3))) (*.f64 -1/120 (*.f64 im (pow.f64 re 5)))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 im (+.f64 (*.f64 -1/120 (pow.f64 re 5)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 im (+.f64 (+.f64 (*.f64 -1/120 (pow.f64 re 5)) (*.f64 1/6 (pow.f64 re 3))) (neg.f64 re)))
(*.f64 im (+.f64 (*.f64 -1/120 (pow.f64 re 5)) (+.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 (*.f64 1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 1/5040 (*.f64 (pow.f64 re 7) im)))))
(+.f64 (*.f64 -1/120 (*.f64 im (pow.f64 re 5))) (+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 1/6 (*.f64 im (pow.f64 re 3))) (*.f64 1/5040 (*.f64 im (pow.f64 re 7))))))
(+.f64 (+.f64 (*.f64 re (neg.f64 im)) (*.f64 1/6 (*.f64 im (pow.f64 re 3)))) (+.f64 (*.f64 1/5040 (*.f64 im (pow.f64 re 7))) (*.f64 -1/120 (*.f64 im (pow.f64 re 5)))))
(+.f64 (*.f64 im (+.f64 (*.f64 1/6 (pow.f64 re 3)) (*.f64 -1 re))) (*.f64 im (+.f64 (*.f64 -1/120 (pow.f64 re 5)) (*.f64 1/5040 (pow.f64 re 7)))))
(*.f64 im (+.f64 (+.f64 (*.f64 1/5040 (pow.f64 re 7)) (*.f64 -1/120 (pow.f64 re 5))) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (neg.f64 re))))
(*.f64 im (+.f64 (*.f64 1/5040 (pow.f64 re 7)) (+.f64 (*.f64 -1/120 (pow.f64 re 5)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (neg.f64 re)))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 0)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 0 (*.f64 (sin.f64 re) (neg.f64 im)))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(-.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 0)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(-.f64 0 (neg.f64 (*.f64 (sin.f64 re) (neg.f64 im))))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (/.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (neg.f64 im))))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 im -2)) 2)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) im) -1)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(/.f64 (neg.f64 (*.f64 (sin.f64 re) (*.f64 im -2))) -2)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) (neg.f64 im)) 1)
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(neg.f64 (neg.f64 (*.f64 (sin.f64 re) (neg.f64 im))))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(neg.f64 (*.f64 (sin.f64 re) im))
(neg.f64 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 36 to 10 computations (72.2% saved)

series4.0ms (0%)

Counts
1 → 8
Calls

6 calls:

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

rewrite364.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1080×rational_best-simplify-57
666×rational_best-simplify-43
632×rational_best-simplify-44
560×rational_best-simplify-47
540×rational_best-5
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
18825
230425
3123125
4531125
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)) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.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)) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) (/.f64 (*.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 /.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 re re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 re re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)))))))

simplify145.0ms (0.9%)

Algorithm
egg-herbie
Rules
1598×rational_best-simplify-132
1370×rational_best-simplify-80
1242×rational_best-simplify-78
1010×rational_best-simplify-82
820×rational_best-simplify-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
056546
1104522
2187510
3382510
41212510
52964510
65738510
Stop Event
node limit
Counts
18 → 28
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)) re) 0)
(-.f64 0 (neg.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 re re)) 2)
(/.f64 (neg.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 re re))) -2)
(pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)
(neg.f64 (neg.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)))
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 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 -1/60 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/3 (*.f64 re (pow.f64 im 3))) (*.f64 re (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))))
(*.f64 re (+.f64 (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))) (*.f64 -2 im)))
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -2 im))))
(*.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 -2 (*.f64 re im)) (+.f64 (*.f64 re (*.f64 -1/60 (pow.f64 im 5))) (*.f64 -1/2520 (*.f64 re (pow.f64 im 7))))))
(+.f64 (*.f64 re (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5)))) (*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7)))))
(*.f64 re (+.f64 (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -1/2520 (pow.f64 im 7))) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -2 im))))
(*.f64 re (+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -2 im)))))
(*.f64 re (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (+.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)) re) 0)
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 0 (neg.f64 (*.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)) re) 1)
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) (*.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 re)) 2)
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (neg.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)))
(pow.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re) 1)
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(neg.f64 (neg.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re)))
(*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

localize20.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 37 to 23 computations (37.8% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
im
@inf
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
0.0ms
re
@0
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
0.0ms
re
@inf
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
0.0ms
im
@0
(*.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)

rewrite119.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
786×rational_best-simplify-44
728×rational_best-5
726×rational_best-4
726×rational_best-2
726×rational_best-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01346
111746
239546
3156346
4681346
Stop Event
node limit
Counts
2 → 18
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 3) -1/6)
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 3) -1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (pow.f64 im 3) -1/6)))))) (#(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/6) (/.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 (pow.f64 im 3) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.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 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (/.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 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) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))))))

simplify202.0ms (1.2%)

Algorithm
egg-herbie
Rules
1570×rational_best-simplify-132
1474×rational_best-simplify-47
1272×rational_best-simplify-2
772×rational_best-simplify-80
644×rational_best-simplify-78
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0711730
11411512
22571416
35331368
417891368
547081368
676641368
Stop Event
node limit
Counts
54 → 50
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) 0)
(+.f64 0 (*.f64 (pow.f64 im 3) -1/6))
(-.f64 (*.f64 (pow.f64 im 3) -1/6) 0)
(-.f64 0 (neg.f64 (*.f64 (pow.f64 im 3) -1/6)))
(/.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(/.f64 (*.f64 (pow.f64 im 3) -1/6) (/.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 (pow.f64 im 3) -1/3)))
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(neg.f64 (neg.f64 (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(+.f64 0 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(-.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(-.f64 0 (neg.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (/.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 3) -1/6) (neg.f64 im)))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 2)) 2)
(pow.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(neg.f64 (neg.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))
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 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 5)))))
(+.f64 (*.f64 -1/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/120 (pow.f64 re 5)))))
(+.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)) re)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/6 (pow.f64 re 3))) re))
(*.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 -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 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 (*.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/120 (pow.f64 re 5))) (*.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 (*.f64 -1/6 (pow.f64 re 3)) re)) (*.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 -1/6 (pow.f64 im 3)) im) (+.f64 (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (*.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/120 (pow.f64 re 5)) (+.f64 re (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (*.f64 -1/6 (pow.f64 re 3))))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (*.f64 -1/6 (pow.f64 re 3))))))
(*.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) (*.f64 -1 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 (sin.f64 re) (*.f64 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(+.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 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(+.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 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(+.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 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(+.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 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(+.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 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(+.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 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(+.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/6) 0)
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 0 (neg.f64 (*.f64 (pow.f64 im 3) -1/6)))
(*.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/6) (/.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 (pow.f64 im 3) -1/3)))
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(*.f64 -1/6 (pow.f64 im 3))
(pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(*.f64 -1/6 (pow.f64 im 3))
(neg.f64 (neg.f64 (*.f64 (pow.f64 im 3) -1/6)))
(*.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 (sin.f64 re) (*.f64 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(+.f64 0 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(-.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(-.f64 0 (neg.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (/.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 3) -1/6) (neg.f64 im)))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(/.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 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(pow.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(neg.f64 (neg.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (neg.f64 (sin.f64 re)) (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))

localize24.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 51 to 34 computations (33.3% saved)

series6.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite137.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
904×rational_best-5
902×rational_best-4
902×rational_best-2
902×rational_best-3
902×rational_best-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01687
114187
247287
3200887
4779387
Stop Event
node limit
Counts
3 → 39
Calls
Call 1
Inputs
(+.f64 (exp.f64 (*.f64 im -2)) -1)
(*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 im -2)) -1))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 im -2)) -1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (*.f64 im -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 1 (exp.f64 (*.f64 im -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 1 (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (+.f64 (exp.f64 (*.f64 im -2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1))) (+.f64 (exp.f64 (*.f64 im -2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1))) (*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1))) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 (*.f64 im -2)) 2) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 1 (exp.f64 (*.f64 im -2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1/2) (*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) (/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (sin.f64 re))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))) (/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (sin.f64 re))) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (sin.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (sin.f64 re))) -2))))))

simplify169.0ms (1%)

Algorithm
egg-herbie
Rules
1178×rational_best-simplify-2
826×rational_best-simplify-78
708×rational_best-simplify-49
690×rational_best-simplify-50
686×rational_best-simplify-43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01663283
13763133
211943121
325873079
449673079
Stop Event
node limit
Counts
87 → 113
Calls
Call 1
Inputs
(*.f64 -2 im)
(+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 im))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2 im)))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im))))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re))) (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re))) (+.f64 (*.f64 1/240 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 5)))) (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re))) (+.f64 (*.f64 -1/10080 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 7)))) (+.f64 (*.f64 1/240 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 5)))) (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 3)))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3)))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (sin.f64 re)) (*.f64 -1/3 (sin.f64 re))))) (pow.f64 im 4))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(-.f64 (exp.f64 (*.f64 im -2)) 1)
(-.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 0)
(-.f64 0 (-.f64 1 (exp.f64 (*.f64 im -2))))
(*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)
(*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)))
(*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1))))
(*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 1 (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1))))
(*.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1))
(*.f64 (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (+.f64 (exp.f64 (*.f64 im -2)) -1))
(*.f64 (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)))
(*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1)))
(*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1))) (+.f64 (exp.f64 (*.f64 im -2)) -1))
(*.f64 (/.f64 (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1))) (*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1))))
(*.f64 (/.f64 (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)))
(*.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1))) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)))
(/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)
(/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)))
(/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 im -2)) 2) 2) 2)
(pow.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)
(neg.f64 (-.f64 1 (exp.f64 (*.f64 im -2))))
(+.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 0)
(+.f64 0 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)))
(+.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1/2) (*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1/2))
(-.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 0)
(-.f64 0 (neg.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im))))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1)
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) (/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im))))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 2)) 2)
(pow.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1)
(neg.f64 (neg.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im))))
(+.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))) 0)
(+.f64 0 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))))
(-.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))) 0)
(-.f64 0 (/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (sin.f64 re))) -2))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))) 1)
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))) (/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (sin.f64 re))) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (sin.f64 re)))))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (sin.f64 re))) 2)
(pow.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))) 1)
(neg.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (sin.f64 re))) -2))
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 im))
(+.f64 (*.f64 -2 im) (*.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2 im)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im))))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 2/3 (pow.f64 im 4)))))
(+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 2/3 (pow.f64 im 4)))))
(+.f64 (*.f64 -2 im) (+.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 2/3 (pow.f64 im 4))) (*.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -4/3 (pow.f64 im 3)))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 2/3 (pow.f64 im 4)))))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (exp.f64 (*.f64 -2 im)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (*.f64 (pow.f64 im 3) -1/3))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -2 im) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -2 im) (*.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 (*.f64 (pow.f64 im 3) -1/3) (+.f64 (*.f64 -2 im) (*.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 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re)))
(*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) re)))
(*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 re)))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re))) (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) re))) (*.f64 -1/12 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (pow.f64 re 3)))))
(*.f64 (exp.f64 im) (+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 re))))
(*.f64 (exp.f64 im) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 re))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re))) (+.f64 (*.f64 1/240 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 5)))) (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) re))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (pow.f64 re 3)))) (*.f64 (exp.f64 im) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))))
(+.f64 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 re))) (*.f64 (exp.f64 im) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 -1/12 (pow.f64 re 3))))))
(+.f64 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 re))) (*.f64 (exp.f64 im) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) re))) (+.f64 (*.f64 -1/10080 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 7)))) (+.f64 (*.f64 1/240 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 5)))) (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (-.f64 (exp.f64 (*.f64 -2 im)) 1) (pow.f64 re 3)))))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) re))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 (exp.f64 im) (pow.f64 re 3)))) (+.f64 (*.f64 (exp.f64 im) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (*.f64 (exp.f64 im) (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))))))
(+.f64 (*.f64 (exp.f64 im) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 -1/12 (pow.f64 re 3))))) (*.f64 (exp.f64 im) (+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 re)) (*.f64 (pow.f64 re 7) (*.f64 -1/10080 (+.f64 -1 (exp.f64 (*.f64 -2 im))))))))
(+.f64 (*.f64 (exp.f64 im) (+.f64 (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 re)))) (*.f64 (exp.f64 im) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 (pow.f64 re 7) (*.f64 -1/10080 (+.f64 -1 (exp.f64 (*.f64 -2 im))))))))
(+.f64 (*.f64 (exp.f64 im) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 re)))) (*.f64 (exp.f64 im) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))))
(+.f64 (*.f64 (exp.f64 im) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 -1/12 (pow.f64 re 3))))) (*.f64 (exp.f64 im) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 re)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 -1 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(*.f64 (sin.f64 re) (neg.f64 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 (sin.f64 re) (*.f64 -1 im)) (*.f64 1/2 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (*.f64 (sin.f64 re) 0))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 2) (*.f64 1/2 (*.f64 (sin.f64 re) 0))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (pow.f64 im 2) 0))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 2) 0))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))))) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (+.f64 (*.f64 (sin.f64 re) -1) (*.f64 -4/3 (sin.f64 re)))) (*.f64 1/2 (pow.f64 im 3)))))
(+.f64 (+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (*.f64 (sin.f64 re) 0)))) (*.f64 (pow.f64 im 3) (*.f64 1/2 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (sin.f64 re) -7/3)))))
(+.f64 (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 2) (*.f64 1/2 (*.f64 (sin.f64 re) 0)))) (*.f64 (pow.f64 im 3) (*.f64 1/2 (+.f64 (sin.f64 re) (*.f64 -4/3 (sin.f64 re))))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) 0) (*.f64 (pow.f64 im 3) (*.f64 1/2 (+.f64 (sin.f64 re) (*.f64 -4/3 (sin.f64 re)))))))
(+.f64 (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 2) 0)) (*.f64 (+.f64 (sin.f64 re) (*.f64 -4/3 (sin.f64 re))) (*.f64 (pow.f64 im 3) 1/2)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (sin.f64 re)) (*.f64 -1/3 (sin.f64 re))))) (pow.f64 im 4))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3))))))
(+.f64 (+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (+.f64 (*.f64 (sin.f64 re) -1) (*.f64 -4/3 (sin.f64 re)))) (*.f64 1/2 (pow.f64 im 3)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))))) (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (sin.f64 re)) (*.f64 -1/3 (sin.f64 re))))) (*.f64 1/2 (pow.f64 im 4)))))
(+.f64 (+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (pow.f64 im 3) (*.f64 1/2 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (sin.f64 re) -7/3))))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 4) (+.f64 (sin.f64 re) (+.f64 (*.f64 (sin.f64 re) 1/3) (*.f64 -4/3 (sin.f64 re))))) (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 0)))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 1/2 (+.f64 (sin.f64 re) (*.f64 -4/3 (sin.f64 re))))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 0)) (*.f64 (pow.f64 im 4) (+.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (sin.f64 re)) (*.f64 (sin.f64 re) 1/3))))))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) 0) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 1/2 (+.f64 (sin.f64 re) (*.f64 -4/3 (sin.f64 re))))) (*.f64 (pow.f64 im 4) (*.f64 1/2 (+.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (sin.f64 re)) (*.f64 (sin.f64 re) 1/3))))))))
(+.f64 (+.f64 (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 2) 0)) (*.f64 (+.f64 (sin.f64 re) (*.f64 -4/3 (sin.f64 re))) (*.f64 (pow.f64 im 3) 1/2))) (*.f64 (+.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (sin.f64 re)) (*.f64 (sin.f64 re) 1/3))) (*.f64 (pow.f64 im 4) 1/2)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (-.f64 (exp.f64 (*.f64 -2 im)) 1))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(-.f64 (exp.f64 (*.f64 im -2)) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 0)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(-.f64 0 (-.f64 1 (exp.f64 (*.f64 im -2))))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1))))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 1 (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1))))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (+.f64 (exp.f64 (*.f64 im -2)) -1))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1)))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1))) (+.f64 (exp.f64 (*.f64 im -2)) -1))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (/.f64 (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1))) (*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1))))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (/.f64 (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(*.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) -1))) (+.f64 (exp.f64 (*.f64 im -2)) -1)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (/.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (+.f64 (exp.f64 (*.f64 im -2)) -1)))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 im -2)) 2) 2) 2)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(pow.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) 1)
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(neg.f64 (-.f64 1 (exp.f64 (*.f64 im -2))))
(+.f64 -1 (exp.f64 (*.f64 -2 im)))
(+.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 0)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(+.f64 0 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(+.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1/2) (*.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1/2))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(-.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 0)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(-.f64 0 (neg.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im))))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) (/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im))))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) 2)) 2)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(pow.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im)) 1)
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(neg.f64 (neg.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (exp.f64 im))))
(*.f64 (exp.f64 im) (+.f64 -1 (exp.f64 (*.f64 -2 im))))
(+.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))) 0)
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(+.f64 0 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(-.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))) 0)
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(-.f64 0 (/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (sin.f64 re))) -2))
(neg.f64 (/.f64 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) -2))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))) 1)
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))) (/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (sin.f64 re))) (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (sin.f64 re)))))
(/.f64 (*.f64 (exp.f64 im) (*.f64 (+.f64 -1 (exp.f64 (*.f64 -2 im))) (*.f64 1/2 (sin.f64 re)))) (/.f64 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))))
(/.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (/.f64 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))))
(*.f64 (/.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (*.f64 (exp.f64 im) (*.f64 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))))
(*.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))) (/.f64 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im)))))))
(/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (sin.f64 re))) 2)
(/.f64 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) 2)
(pow.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)))) 1)
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))))
(neg.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (*.f64 im -2)) -1) (*.f64 (exp.f64 im) (sin.f64 re))) -2))
(neg.f64 (/.f64 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 -1 (exp.f64 (*.f64 -2 im))))) -2))

eval326.0ms (1.9%)

Compiler

Compiled 7969 to 5147 computations (35.4% saved)

prune231.0ms (1.4%)

Pruning

11 alts after pruning (7 fresh and 4 done)

PrunedKeptTotal
New3616367
Fresh011
Picked011
Done235
Total36311374
Error
0.1b
Counts
374 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
45.3b
(*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))
0.8b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
43.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
43.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
0.9b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im))))))
43.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 im -2)) -1)))
0.7b
(*.f64 (sin.f64 re) (+.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (neg.f64 im)))
1.3b
(*.f64 (sin.f64 re) (neg.f64 im))
28.1b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
28.5b
(*.f64 re (neg.f64 im))
44.1b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 260 to 201 computations (22.7% saved)

localize29.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 70 to 50 computations (28.6% saved)

series5.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite126.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
918×rational_best-5
916×rational_best-4
916×rational_best-2
916×rational_best-3
916×rational_best-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01895
115795
250195
3199795
4796895
Stop Event
node limit
Counts
3 → 31
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (+.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (neg.f64 im)))
(*.f64 (pow.f64 im 5) -1/120)
(+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.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 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.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 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) (/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 1)))))
((#(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/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/120) (/.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 5) -1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/60) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 5) -1/120) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 1 (/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))) (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) 1)))))

simplify228.0ms (1.3%)

Algorithm
egg-herbie
Rules
872×rational_best-simplify-2
766×rational_best-simplify-78
702×rational_best-simplify-1
686×rational_best-simplify-24
678×rational_best-simplify-29
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01033005
12022731
26432731
315922731
438492731
567562731
Stop Event
node limit
Counts
79 → 64
Calls
Call 1
Inputs
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re)
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 3))))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 3))) (*.f64 1/120 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 5)))))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re) (+.f64 (*.f64 -1/5040 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 7))) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 3))) (*.f64 1/120 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 5))))))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(*.f64 -1/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/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 0)
(+.f64 0 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))
(-.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 0)
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 1)
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) (/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 2)) 2)
(pow.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 1)
(+.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/120) 0)
(/.f64 (*.f64 (pow.f64 im 5) -1/120) 1)
(/.f64 (*.f64 (pow.f64 im 5) -1/120) (/.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 5) -1/120)))
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(pow.f64 (*.f64 (pow.f64 im 5) -1/120) 1)
(-.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) 0)
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) 1)
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 1 (/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))))
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))) (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))))
(*.f64 (/.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) 1)
(/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) 2) 2)
(pow.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) 1)
Outputs
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re)
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 3))))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 3))) (*.f64 1/120 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 5)))))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 3))) (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re) (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re) (+.f64 (*.f64 -1/5040 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 7))) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 3))) (*.f64 1/120 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 5))))))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re) (+.f64 (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 3))) (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 -1/5040 (pow.f64 re 7)))))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 -1 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 (sin.f64 re) (*.f64 -1 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.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 -1 im)) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re)))))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re)))))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re)))))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re)))))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re)))))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re)))))
(+.f64 (*.f64 -1/120 (*.f64 (pow.f64 im 5) (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(*.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/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 0)
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.f64 0 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(-.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 0)
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 1)
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) (/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 2)) 2)
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(pow.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 1)
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(+.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/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/120) (/.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 5) -1/120)))
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(*.f64 -1/120 (pow.f64 im 5))
(pow.f64 (*.f64 (pow.f64 im 5) -1/120) 1)
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) 0)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 1 (/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))) (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 1 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)))) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (/.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) 2) 2)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(pow.f64 (+.f64 (*.f64 (pow.f64 im 5) -1/120) (*.f64 (pow.f64 im 3) -1/6)) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))

localize4.0ms (0%)

Compiler

Compiled 10 to 4 computations (60% saved)

localize128.0ms (0.8%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 21 computations (30% saved)

series2.0ms (0%)

Counts
2 → 12
Calls

9 calls:

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

rewrite198.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
912×rational_best-simplify-57
672×rational_best-simplify-80
566×rational_best-simplify-43
534×rational_best-simplify-44
468×rational_best-5
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01038
18238
225538
3103838
4452538
Stop Event
node limit
Counts
2 → 20
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(*.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 -1/6 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 -1/6 (pow.f64 im 3))))))) (#(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 -1/6 (pow.f64 im 3)) (/.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 3) -1/3)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 -1/6 (pow.f64 im 3))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (/.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))))

simplify119.0ms (0.7%)

Algorithm
egg-herbie
Rules
1452×rational_best-simplify-80
1318×rational_best-simplify-78
1176×rational_best-simplify-47
864×rational_best-simplify-82
818×rational_best-simplify-132
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
052884
192768
2188730
3473730
42029654
55103654
Stop Event
node limit
Counts
32 → 30
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 -1/6 (pow.f64 im 3)))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(-.f64 0 (neg.f64 (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) (/.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(/.f64 (neg.f64 (*.f64 (pow.f64 im 3) -1/3)) -2)
(pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(neg.f64 (neg.f64 (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 0)
(+.f64 0 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(-.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 0)
(-.f64 0 (neg.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(/.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1)
(/.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (/.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(/.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im))) 2)
(/.f64 (neg.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))) -2)
(pow.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1)
(neg.f64 (neg.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
Outputs
(*.f64 -1 (*.f64 re im))
(neg.f64 (*.f64 re im))
(*.f64 re (neg.f64 im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 re -1/6))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.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 -1/6 (pow.f64 im 3)) 0)
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 0 (neg.f64 (*.f64 -1/6 (pow.f64 im 3))))
(*.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 -1/6 (pow.f64 im 3)) (/.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 3) -1/3)) -2)
(*.f64 -1/6 (pow.f64 im 3))
(pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(*.f64 -1/6 (pow.f64 im 3))
(neg.f64 (neg.f64 (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 0)
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 0 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 0)
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 0 (neg.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1)
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 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 (*.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 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im))) 2)
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (neg.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))) -2)
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(pow.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1)
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(neg.f64 (neg.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 23 to 14 computations (39.1% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite108.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1286×rational_best-simplify-57
886×rational_best-simplify-44
676×rational_best-5
674×rational_best-4
674×rational_best-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01134
19834
234034
3140334
4635534
Stop Event
node limit
Counts
2 → 18
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) -1/120)
(*.f64 (pow.f64 im 5) (*.f64 (sin.f64 re) -1/120))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) -1/120) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) -1/120))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) -1/120) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (sin.f64 re) -1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) -1/120) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) -1/120) (/.f64 (*.f64 (sin.f64 re) -1/120) (*.f64 (sin.f64 re) -1/120)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) -1/60) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) -1/120) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (sin.f64 re) -1/120)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (/.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/60)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))))))

simplify150.0ms (0.9%)

Algorithm
egg-herbie
Rules
1688×rational_best-simplify-80
1548×rational_best-simplify-78
1006×rational_best-simplify-82
938×rational_best-simplify-132
734×rational_best-simplify-76
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0741234
11491234
22711192
36001174
425671174
551411174
Stop Event
node limit
Counts
54 → 43
Calls
Call 1
Inputs
(*.f64 -1/120 re)
(+.f64 (*.f64 -1/120 re) (*.f64 1/720 (pow.f64 re 3)))
(+.f64 (*.f64 -1/120 re) (+.f64 (*.f64 1/720 (pow.f64 re 3)) (*.f64 -1/14400 (pow.f64 re 5))))
(+.f64 (*.f64 -1/120 re) (+.f64 (*.f64 1/720 (pow.f64 re 3)) (+.f64 (*.f64 1/604800 (pow.f64 re 7)) (*.f64 -1/14400 (pow.f64 re 5)))))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 1/720 (*.f64 (pow.f64 re 3) (pow.f64 im 5))))
(+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (+.f64 (*.f64 -1/14400 (*.f64 (pow.f64 re 5) (pow.f64 im 5))) (*.f64 1/720 (*.f64 (pow.f64 re 3) (pow.f64 im 5)))))
(+.f64 (*.f64 1/604800 (*.f64 (pow.f64 re 7) (pow.f64 im 5))) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (+.f64 (*.f64 -1/14400 (*.f64 (pow.f64 re 5) (pow.f64 im 5))) (*.f64 1/720 (*.f64 (pow.f64 re 3) (pow.f64 im 5))))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 (sin.f64 re) -1/120) 0)
(+.f64 0 (*.f64 (sin.f64 re) -1/120))
(-.f64 (*.f64 (sin.f64 re) -1/120) 0)
(-.f64 0 (neg.f64 (*.f64 (sin.f64 re) -1/120)))
(/.f64 (*.f64 (sin.f64 re) -1/120) 1)
(/.f64 (*.f64 (sin.f64 re) -1/120) (/.f64 (*.f64 (sin.f64 re) -1/120) (*.f64 (sin.f64 re) -1/120)))
(/.f64 (*.f64 (sin.f64 re) -1/60) 2)
(pow.f64 (*.f64 (sin.f64 re) -1/120) 1)
(neg.f64 (neg.f64 (*.f64 (sin.f64 re) -1/120)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) 0)
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(-.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) 0)
(-.f64 0 (neg.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(/.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) 1)
(/.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (/.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/60)) 2)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) 1)
(neg.f64 (neg.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
Outputs
(*.f64 -1/120 re)
(+.f64 (*.f64 -1/120 re) (*.f64 1/720 (pow.f64 re 3)))
(+.f64 (*.f64 -1/120 re) (+.f64 (*.f64 1/720 (pow.f64 re 3)) (*.f64 -1/14400 (pow.f64 re 5))))
(+.f64 (*.f64 -1/120 re) (+.f64 (*.f64 1/720 (pow.f64 re 3)) (+.f64 (*.f64 1/604800 (pow.f64 re 7)) (*.f64 -1/14400 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/120 re) (+.f64 (*.f64 1/720 (pow.f64 re 3)) (+.f64 (*.f64 -1/14400 (pow.f64 re 5)) (*.f64 1/604800 (pow.f64 re 7)))))
(+.f64 (*.f64 -1/120 re) (+.f64 (*.f64 -1/14400 (pow.f64 re 5)) (+.f64 (*.f64 1/720 (pow.f64 re 3)) (*.f64 1/604800 (pow.f64 re 7)))))
(+.f64 (*.f64 1/720 (pow.f64 re 3)) (+.f64 (*.f64 -1/14400 (pow.f64 re 5)) (+.f64 (*.f64 -1/120 re) (*.f64 1/604800 (pow.f64 re 7)))))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (sin.f64 re))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 re (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 1/720 (*.f64 (pow.f64 re 3) (pow.f64 im 5))))
(*.f64 (pow.f64 im 5) (+.f64 (*.f64 -1/120 re) (*.f64 1/720 (pow.f64 re 3))))
(*.f64 (+.f64 (*.f64 -1/120 re) (*.f64 1/720 (pow.f64 re 3))) (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (+.f64 (*.f64 -1/14400 (*.f64 (pow.f64 re 5) (pow.f64 im 5))) (*.f64 1/720 (*.f64 (pow.f64 re 3) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 3) (pow.f64 im 5))) (*.f64 -1/14400 (pow.f64 (*.f64 im re) 5))))
(+.f64 (*.f64 -1/14400 (pow.f64 (*.f64 re im) 5)) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 1/720 (*.f64 (pow.f64 re 3) (pow.f64 im 5)))))
(+.f64 (*.f64 (pow.f64 im 5) (+.f64 (*.f64 -1/120 re) (*.f64 1/720 (pow.f64 re 3)))) (*.f64 -1/14400 (pow.f64 (*.f64 re im) 5)))
(*.f64 (pow.f64 im 5) (+.f64 (*.f64 -1/120 re) (+.f64 (*.f64 1/720 (pow.f64 re 3)) (*.f64 -1/14400 (pow.f64 re 5)))))
(+.f64 (*.f64 1/604800 (*.f64 (pow.f64 re 7) (pow.f64 im 5))) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (+.f64 (*.f64 -1/14400 (*.f64 (pow.f64 re 5) (pow.f64 im 5))) (*.f64 1/720 (*.f64 (pow.f64 re 3) (pow.f64 im 5))))))
(+.f64 (+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 3) (pow.f64 im 5))) (*.f64 -1/14400 (pow.f64 (*.f64 im re) 5))) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 1/604800 (*.f64 (pow.f64 re 7) (pow.f64 im 5)))))
(+.f64 (+.f64 (*.f64 1/720 (*.f64 (pow.f64 re 3) (pow.f64 im 5))) (*.f64 -1/14400 (pow.f64 (*.f64 re im) 5))) (+.f64 (*.f64 -1/120 (*.f64 re (pow.f64 im 5))) (*.f64 1/604800 (*.f64 (pow.f64 re 7) (pow.f64 im 5)))))
(+.f64 (*.f64 (pow.f64 im 5) (+.f64 (*.f64 -1/120 re) (*.f64 -1/14400 (pow.f64 re 5)))) (*.f64 (pow.f64 im 5) (+.f64 (*.f64 1/720 (pow.f64 re 3)) (*.f64 1/604800 (pow.f64 re 7)))))
(*.f64 (pow.f64 im 5) (+.f64 (*.f64 -1/120 re) (+.f64 (*.f64 1/720 (pow.f64 re 3)) (+.f64 (*.f64 -1/14400 (pow.f64 re 5)) (*.f64 1/604800 (pow.f64 re 7))))))
(*.f64 (pow.f64 im 5) (+.f64 (*.f64 1/720 (pow.f64 re 3)) (+.f64 (*.f64 -1/14400 (pow.f64 re 5)) (+.f64 (*.f64 -1/120 re) (*.f64 1/604800 (pow.f64 re 7))))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 (sin.f64 re) -1/120) 0)
(*.f64 -1/120 (sin.f64 re))
(+.f64 0 (*.f64 (sin.f64 re) -1/120))
(*.f64 -1/120 (sin.f64 re))
(-.f64 (*.f64 (sin.f64 re) -1/120) 0)
(*.f64 -1/120 (sin.f64 re))
(-.f64 0 (neg.f64 (*.f64 (sin.f64 re) -1/120)))
(*.f64 -1/120 (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) -1/120) 1)
(*.f64 -1/120 (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) -1/120) (/.f64 (*.f64 (sin.f64 re) -1/120) (*.f64 (sin.f64 re) -1/120)))
(*.f64 -1/120 (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) -1/60) 2)
(*.f64 -1/120 (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -1/120) 1)
(*.f64 -1/120 (sin.f64 re))
(neg.f64 (neg.f64 (*.f64 (sin.f64 re) -1/120)))
(*.f64 -1/120 (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) 0)
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(-.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) 0)
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(-.f64 0 (neg.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) 1)
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (/.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 5) -1/60)) 2)
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))) 1)
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(neg.f64 (neg.f64 (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))

localize16.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 33 to 22 computations (33.3% saved)

series5.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
4.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
@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
re
@-inf
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))

rewrite250.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1304×rational_best-simplify-57
696×rational_best-5
694×rational_best-4
694×rational_best-2
694×rational_best-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01229
110429
235729
3147129
4643729
Stop Event
node limit
Counts
1 → 9
Calls
Call 1
Inputs
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
Outputs
((#(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) (sin.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.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) (sin.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) (/.f64 (*.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 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))))))))

simplify157.0ms (0.9%)

Algorithm
egg-herbie
Rules
1570×rational_best-simplify-132
1330×rational_best-simplify-80
1196×rational_best-simplify-78
994×rational_best-simplify-82
874×rational_best-simplify-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0551313
11071221
21941107
33781059
412591059
532161059
660451059
Stop Event
node limit
Counts
33 → 38
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (-.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) (sin.f64 re)) 0)
(-.f64 0 (neg.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))))
(/.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) (sin.f64 re)) (/.f64 (*.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))))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 2)) 2)
(pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)
(neg.f64 (neg.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))))
Outputs
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.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 -1 (*.f64 (sin.f64 re) im)) (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6))
(*.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 -1 (*.f64 (sin.f64 re) im)) (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6))
(*.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 -1 (*.f64 (sin.f64 re) im)) (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 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 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 5)))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/120 (pow.f64 re 5)))))
(+.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)) re)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (+.f64 re (*.f64 1/120 (pow.f64 re 5))) (*.f64 -1/6 (pow.f64 re 3))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.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 -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 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 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3))) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/120 (pow.f64 re 5))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/5040 (pow.f64 re 7))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) re)) (*.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 -1/6 (pow.f64 im 3)) im) (+.f64 (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/5040 (pow.f64 re 7))) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))) re))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7))))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)
(*.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 (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 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 0 (neg.f64 (*.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 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)
(*.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)) (/.f64 (*.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))))
(*.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 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(neg.f64 (neg.f64 (*.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))

eval223.0ms (1.3%)

Compiler

Compiled 3919 to 2820 computations (28% saved)

prune29.0ms (0.2%)

Pruning

11 alts after pruning (4 fresh and 7 done)

PrunedKeptTotal
New1942196
Fresh022
Picked011
Done268
Total19611207
Error
0.1b
Counts
207 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
45.4b
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
0.7b
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
0.8b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
43.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
43.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
0.9b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im))))))
43.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 im -2)) -1)))
1.3b
(*.f64 (sin.f64 re) (neg.f64 im))
28.1b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
28.5b
(*.f64 re (neg.f64 im))
44.1b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 152 to 117 computations (23% saved)

localize127.0ms (0.7%)

Local error

Found 4 expressions with local error:

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

Compiled 144 to 108 computations (25% saved)

series8.0ms (0%)

Counts
4 → 24
Calls

15 calls:

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

rewrite270.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
1370×rational_best-5
1370×rational_best-2
1370×rational_best-3
1370×rational_best-1
1368×rational_best-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027126
1232126
2727126
33033126
Stop Event
node limit
Counts
4 → 29
Calls
Call 1
Inputs
(*.f64 -4/3 (pow.f64 im 3))
(*.f64 2/3 (pow.f64 im 4))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im))))))
(*.f64 2 (pow.f64 im 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -4/3 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -4/3 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -4/3 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -4/3 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -4/3 (pow.f64 im 3)) (/.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -4/3 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -8/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -4/3 (pow.f64 im 3)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2/3 (pow.f64 im 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2/3 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2/3 (pow.f64 im 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2/3 (pow.f64 im 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2/3 (pow.f64 im 4)) (/.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 2/3 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 4) 4/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2/3 (pow.f64 im 4)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))) (/.f64 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2)))))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 im 2) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (pow.f64 im 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (pow.f64 im 2)) 1)))))

simplify262.0ms (1.5%)

Algorithm
egg-herbie
Rules
1512×rational_best-simplify-80
1248×rational_best-simplify-78
1166×rational_best-simplify-82
924×rational_best-simplify-44
802×rational_best-simplify-2
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01443673
13213471
26863023
314682819
439712791
561552779
Stop Event
node limit
Counts
53 → 101
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) re)))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) re))) (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) re))) (+.f64 (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) (pow.f64 re 3)))) (*.f64 1/240 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) (pow.f64 re 5))))))
(+.f64 (*.f64 -1/10080 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) (pow.f64 re 7)))) (+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) re))) (+.f64 (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) (pow.f64 re 3)))) (*.f64 1/240 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) (pow.f64 re 5)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 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 -4/3 (sin.f64 re)) (+.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (sin.f64 re)) (*.f64 -1/3 (sin.f64 re))))) (pow.f64 im 4))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3))))))
(*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4)))) (*.f64 -2/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 3)))))
(+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4)))) (+.f64 (*.f64 -2/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 3)))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(+.f64 (*.f64 -1 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) im))) (+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4)))) (+.f64 (*.f64 -2/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 3)))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 2))))))
(*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4)))) (*.f64 -2/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 3)))))
(+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4)))) (+.f64 (*.f64 -2/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 3)))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) im))) (+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4)))) (+.f64 (*.f64 -2/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 3)))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 2))))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 -4/3 (pow.f64 im 3)))
(-.f64 (*.f64 -4/3 (pow.f64 im 3)) 0)
(/.f64 (*.f64 -4/3 (pow.f64 im 3)) 1)
(/.f64 (*.f64 -4/3 (pow.f64 im 3)) (/.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -4/3 (pow.f64 im 3))))
(/.f64 (*.f64 (pow.f64 im 3) -8/3) 2)
(pow.f64 (*.f64 -4/3 (pow.f64 im 3)) 1)
(+.f64 (*.f64 2/3 (pow.f64 im 4)) 0)
(+.f64 0 (*.f64 2/3 (pow.f64 im 4)))
(-.f64 (*.f64 2/3 (pow.f64 im 4)) 0)
(/.f64 (*.f64 2/3 (pow.f64 im 4)) 1)
(/.f64 (*.f64 2/3 (pow.f64 im 4)) (/.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 2/3 (pow.f64 im 4))))
(/.f64 (*.f64 (pow.f64 im 4) 4/3) 2)
(pow.f64 (*.f64 2/3 (pow.f64 im 4)) 1)
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))) 0)
(+.f64 0 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))))
(-.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))) 0)
(/.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))) 1)
(/.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))) (/.f64 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2)))))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))))
(/.f64 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2)))))) 2)
(pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))) 1)
(+.f64 (pow.f64 im 2) (pow.f64 im 2))
(+.f64 (*.f64 2 (pow.f64 im 2)) 0)
(+.f64 0 (*.f64 2 (pow.f64 im 2)))
(-.f64 (*.f64 2 (pow.f64 im 2)) 0)
(/.f64 (*.f64 2 (pow.f64 im 2)) 1)
(/.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (pow.f64 im 2)))
(/.f64 (*.f64 4 (pow.f64 im 2)) 2)
(pow.f64 (*.f64 2 (pow.f64 im 2)) 1)
Outputs
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) re)))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) re)))
(*.f64 (exp.f64 im) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) re)))
(*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 1/2 re)))
(*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 1/2 re)))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) re))) (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) re))) (*.f64 (exp.f64 im) (*.f64 -1/12 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (pow.f64 re 3)))))
(*.f64 (exp.f64 im) (+.f64 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) re))))
(*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) re))) (+.f64 (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) (pow.f64 re 3)))) (*.f64 1/240 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) (pow.f64 re 5))))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) re))) (+.f64 (*.f64 (exp.f64 im) (*.f64 -1/12 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (pow.f64 re 3)))) (*.f64 (exp.f64 im) (*.f64 1/240 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (pow.f64 re 5))))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) re))) (*.f64 (exp.f64 im) (+.f64 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (*.f64 1/240 (pow.f64 re 5))) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (*.f64 -1/12 (pow.f64 re 3))))))
(*.f64 (exp.f64 im) (+.f64 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) re))))
(*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (+.f64 (*.f64 1/2 re) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3))))))
(*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (+.f64 (*.f64 1/2 re) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3))))))
(+.f64 (*.f64 -1/10080 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) (pow.f64 re 7)))) (+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) re))) (+.f64 (*.f64 -1/12 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) (pow.f64 re 3)))) (*.f64 1/240 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))) (pow.f64 re 5)))))))
(+.f64 (+.f64 (*.f64 (exp.f64 im) (*.f64 -1/12 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (pow.f64 re 3)))) (*.f64 (exp.f64 im) (*.f64 1/240 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) re))) (*.f64 -1/10080 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (pow.f64 re 7))))))
(+.f64 (*.f64 (exp.f64 im) (+.f64 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (*.f64 1/240 (pow.f64 re 5))) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (*.f64 -1/12 (pow.f64 re 3))))) (*.f64 (exp.f64 im) (+.f64 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (*.f64 -1/10080 (pow.f64 re 7))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) re)))))
(*.f64 (exp.f64 im) (+.f64 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (+.f64 (*.f64 1/2 re) (*.f64 -1/10080 (pow.f64 re 7)))) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3))))))
(*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (+.f64 (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3))) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 1/2 re)))))
(*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (+.f64 (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3))) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 1/2 re)))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re))))
(*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re))))
(*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re))))
(*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re))))
(*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re))))
(*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re))))
(*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re))))
(*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 -2 im)))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re))))
(*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 -1 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 (sin.f64 re) (*.f64 -1 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 (*.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 1/2 (pow.f64 im 2))) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (sin.f64 re) -1))) (*.f64 1/2 (pow.f64 im 3)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (sin.f64 re) -7/3)))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 0)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 0)) (*.f64 1/2 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/3)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) 0) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)) 0))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (sin.f64 re)) (*.f64 -1/3 (sin.f64 re))))) (pow.f64 im 4))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3))))))
(+.f64 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (*.f64 1/2 (pow.f64 im 2))) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1 im)) (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (sin.f64 re) -1))) (*.f64 1/2 (pow.f64 im 3)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (sin.f64 re) -7/3)))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 0)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) 0)) (*.f64 1/2 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/3)))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) 0) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)) 0))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4))))
(*.f64 (exp.f64 im) (*.f64 1/3 (*.f64 (pow.f64 im 4) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (*.f64 1/3 (pow.f64 im 4))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/3)))
(+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4)))) (*.f64 -2/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 3)))))
(+.f64 (*.f64 (exp.f64 im) (*.f64 1/3 (*.f64 (pow.f64 im 4) (sin.f64 re)))) (*.f64 (exp.f64 im) (*.f64 -2/3 (*.f64 (pow.f64 im 3) (sin.f64 re)))))
(*.f64 (exp.f64 im) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -2/3 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/3 (pow.f64 im 4)))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 4) 1/3) (*.f64 (pow.f64 im 3) -2/3))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 (pow.f64 im 4) 1/3))))
(+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4)))) (+.f64 (*.f64 -2/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 3)))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(+.f64 (*.f64 (exp.f64 im) (*.f64 1/3 (*.f64 (pow.f64 im 4) (sin.f64 re)))) (+.f64 (*.f64 (exp.f64 im) (*.f64 -2/3 (*.f64 (pow.f64 im 3) (sin.f64 re)))) (*.f64 (exp.f64 im) (*.f64 (pow.f64 im 2) (sin.f64 re)))))
(+.f64 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (*.f64 1/3 (pow.f64 im 4)))) (*.f64 (exp.f64 im) (+.f64 (*.f64 (pow.f64 im 2) (sin.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -2/3 (sin.f64 re))))))
(*.f64 (exp.f64 im) (+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -2/3) (pow.f64 im 2))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/3))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 3) -2/3)) (*.f64 (pow.f64 im 4) 1/3))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 4) 1/3) (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 3) -2/3)))))
(+.f64 (*.f64 -1 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) im))) (+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4)))) (+.f64 (*.f64 -2/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 3)))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 2))))))
(+.f64 (+.f64 (*.f64 (exp.f64 im) (*.f64 -2/3 (*.f64 (pow.f64 im 3) (sin.f64 re)))) (*.f64 (exp.f64 im) (*.f64 (pow.f64 im 2) (sin.f64 re)))) (+.f64 (*.f64 (exp.f64 im) (*.f64 1/3 (*.f64 (pow.f64 im 4) (sin.f64 re)))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (*.f64 -1 im)))))
(+.f64 (*.f64 (exp.f64 im) (+.f64 (*.f64 (pow.f64 im 2) (sin.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -2/3 (sin.f64 re))))) (*.f64 (exp.f64 im) (+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/3 (pow.f64 im 4))))))
(*.f64 (exp.f64 im) (+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 4) 1/3) (neg.f64 im))) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -2/3) (pow.f64 im 2)))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 4) 1/3)) (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 3) -2/3)))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 3) -2/3)) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 4) 1/3)))))
(*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4))))
(*.f64 (exp.f64 im) (*.f64 1/3 (*.f64 (pow.f64 im 4) (sin.f64 re))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (*.f64 1/3 (pow.f64 im 4))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/3)))
(+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4)))) (*.f64 -2/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 3)))))
(+.f64 (*.f64 (exp.f64 im) (*.f64 1/3 (*.f64 (pow.f64 im 4) (sin.f64 re)))) (*.f64 (exp.f64 im) (*.f64 -2/3 (*.f64 (pow.f64 im 3) (sin.f64 re)))))
(*.f64 (exp.f64 im) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 -2/3 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/3 (pow.f64 im 4)))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 4) 1/3) (*.f64 (pow.f64 im 3) -2/3))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 (pow.f64 im 4) 1/3))))
(+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4)))) (+.f64 (*.f64 -2/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 3)))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(+.f64 (*.f64 (exp.f64 im) (*.f64 1/3 (*.f64 (pow.f64 im 4) (sin.f64 re)))) (+.f64 (*.f64 (exp.f64 im) (*.f64 -2/3 (*.f64 (pow.f64 im 3) (sin.f64 re)))) (*.f64 (exp.f64 im) (*.f64 (pow.f64 im 2) (sin.f64 re)))))
(+.f64 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (*.f64 1/3 (pow.f64 im 4)))) (*.f64 (exp.f64 im) (+.f64 (*.f64 (pow.f64 im 2) (sin.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -2/3 (sin.f64 re))))))
(*.f64 (exp.f64 im) (+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -2/3) (pow.f64 im 2))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/3))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 3) -2/3)) (*.f64 (pow.f64 im 4) 1/3))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 4) 1/3) (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 3) -2/3)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) im))) (+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4)))) (+.f64 (*.f64 -2/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 3)))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 2))))))
(+.f64 (+.f64 (*.f64 (exp.f64 im) (*.f64 -2/3 (*.f64 (pow.f64 im 3) (sin.f64 re)))) (*.f64 (exp.f64 im) (*.f64 (pow.f64 im 2) (sin.f64 re)))) (+.f64 (*.f64 (exp.f64 im) (*.f64 1/3 (*.f64 (pow.f64 im 4) (sin.f64 re)))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (*.f64 -1 im)))))
(+.f64 (*.f64 (exp.f64 im) (+.f64 (*.f64 (pow.f64 im 2) (sin.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 -2/3 (sin.f64 re))))) (*.f64 (exp.f64 im) (+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/3 (pow.f64 im 4))))))
(*.f64 (exp.f64 im) (+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 4) 1/3) (neg.f64 im))) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -2/3) (pow.f64 im 2)))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 4) 1/3)) (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 3) -2/3)))))
(*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 3) -2/3)) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 4) 1/3)))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) 0)
(*.f64 -4/3 (pow.f64 im 3))
(+.f64 0 (*.f64 -4/3 (pow.f64 im 3)))
(*.f64 -4/3 (pow.f64 im 3))
(-.f64 (*.f64 -4/3 (pow.f64 im 3)) 0)
(*.f64 -4/3 (pow.f64 im 3))
(/.f64 (*.f64 -4/3 (pow.f64 im 3)) 1)
(*.f64 -4/3 (pow.f64 im 3))
(/.f64 (*.f64 -4/3 (pow.f64 im 3)) (/.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -4/3 (pow.f64 im 3))))
(*.f64 -4/3 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -8/3) 2)
(*.f64 -4/3 (pow.f64 im 3))
(pow.f64 (*.f64 -4/3 (pow.f64 im 3)) 1)
(*.f64 -4/3 (pow.f64 im 3))
(+.f64 (*.f64 2/3 (pow.f64 im 4)) 0)
(*.f64 2/3 (pow.f64 im 4))
(+.f64 0 (*.f64 2/3 (pow.f64 im 4)))
(*.f64 2/3 (pow.f64 im 4))
(-.f64 (*.f64 2/3 (pow.f64 im 4)) 0)
(*.f64 2/3 (pow.f64 im 4))
(/.f64 (*.f64 2/3 (pow.f64 im 4)) 1)
(*.f64 2/3 (pow.f64 im 4))
(/.f64 (*.f64 2/3 (pow.f64 im 4)) (/.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 2/3 (pow.f64 im 4))))
(*.f64 2/3 (pow.f64 im 4))
(/.f64 (*.f64 (pow.f64 im 4) 4/3) 2)
(*.f64 2/3 (pow.f64 im 4))
(pow.f64 (*.f64 2/3 (pow.f64 im 4)) 1)
(*.f64 2/3 (pow.f64 im 4))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))) 0)
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re))))
(*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(+.f64 0 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re))))
(*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(-.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))) 0)
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re))))
(*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))) 1)
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re))))
(*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(/.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))) (/.f64 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2)))))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))))
(*.f64 (/.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re)))) (*.f64 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re)) (*.f64 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re))) (exp.f64 im))))
(*.f64 (*.f64 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re)))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re)))))
(*.f64 (exp.f64 im) (*.f64 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))))
(*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (*.f64 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (sin.f64 re)) (exp.f64 (+.f64 im im))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re)))))))
(/.f64 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2)))))) 2)
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re))))
(*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 im -2))))))) 1)
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 im -2) (*.f64 2 (pow.f64 im 2))))) (sin.f64 re))))
(*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))
(+.f64 (pow.f64 im 2) (pow.f64 im 2))
(+.f64 (*.f64 2 (pow.f64 im 2)) 0)
(*.f64 2 (pow.f64 im 2))
(+.f64 0 (*.f64 2 (pow.f64 im 2)))
(*.f64 2 (pow.f64 im 2))
(-.f64 (*.f64 2 (pow.f64 im 2)) 0)
(*.f64 2 (pow.f64 im 2))
(/.f64 (*.f64 2 (pow.f64 im 2)) 1)
(*.f64 2 (pow.f64 im 2))
(/.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (pow.f64 im 2)))
(*.f64 (/.f64 2 (pow.f64 im 2)) (pow.f64 (*.f64 im im) 2))
(*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 2 (pow.f64 im 2)))
(/.f64 (*.f64 4 (pow.f64 im 2)) 2)
(*.f64 2 (pow.f64 im 2))
(pow.f64 (*.f64 2 (pow.f64 im 2)) 1)
(*.f64 2 (pow.f64 im 2))

localize22.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 55 to 22 computations (60% saved)

series8.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite60.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
926×rational_best-5
924×rational_best-4
924×rational_best-2
924×rational_best-3
924×rational_best-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01695
114495
250495
3207995
Stop Event
node limit
Counts
3 → 39
Calls
Call 1
Inputs
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))))) (#(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 (neg.f64 (exp.f64 (+.f64 im im))) 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 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(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 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))) (-.f64 1 (exp.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))) (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (-.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))) (-.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 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))))) (#(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 2 (*.f64 (exp.f64 (+.f64 im im)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1/2) (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))) 1)))))

simplify177.0ms (1%)

Algorithm
egg-herbie
Rules
1206×rational_best-simplify-54
1126×rational_best-simplify-43
1114×rational_best-simplify-132
910×rational_best-simplify-44
876×rational_best-simplify-80
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01753391
13883185
27662923
320592883
442572847
Stop Event
node limit
Counts
87 → 110
Calls
Call 1
Inputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -1/2520 (pow.f64 im 7)) (+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/12 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 3) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/240 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 5) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 3) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 1/240 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 5) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/10080 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 7) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 3) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3)))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1 (sin.f64 re)) (+.f64 (*.f64 -2/3 (sin.f64 re)) (+.f64 (*.f64 1/3 (sin.f64 re)) (*.f64 4/3 (sin.f64 re))))) (pow.f64 im 4))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 2 (sin.f64 re)))) (pow.f64 im 3))))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1)
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))))
(*.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (-.f64 1 (exp.f64 (+.f64 im im))))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(*.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (*.f64 (-.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 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))) (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 (/.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 (*.f64 (-.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))) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(/.f64 (-.f64 2 (*.f64 (exp.f64 (+.f64 im im)) 2)) 2)
(/.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) 2) -2)
(pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 0)
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1/2) (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1/2))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 0)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 2)) 2)
(pow.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1)
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))) 0)
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))) 0)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))) 1)
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))) 2)
(pow.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))) 1)
Outputs
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2)))
(*.f64 -2 (+.f64 (pow.f64 im 2) im))
(*.f64 -2 (+.f64 im (pow.f64 im 2)))
(+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 -2 im) (*.f64 -2 (pow.f64 im 2))))
(+.f64 (*.f64 -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 -2 (+.f64 (pow.f64 im 2) im)) (+.f64 (*.f64 -2/3 (pow.f64 im 4)) (*.f64 -4/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 (+.f64 im (pow.f64 im 2))) (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (*.f64 -2/3 (pow.f64 im 4))))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (*.f64 2 im)))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im))))
(-.f64 1 (exp.f64 (*.f64 im 2)))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3)))
(+.f64 (*.f64 -2 im) (*.f64 (pow.f64 im 3) -1/3))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1/60 (pow.f64 im 5)) (*.f64 -1/3 (pow.f64 im 3))))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 -1/60 (pow.f64 im 5))))
(+.f64 (*.f64 -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 (pow.f64 im 3) -1/3) (*.f64 -1/60 (pow.f64 im 5))) (+.f64 (*.f64 -2 im) (*.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 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 (exp.f64 (*.f64 -1 im)) (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (exp.f64 (neg.f64 im)))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) re)))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 re)))
(+.f64 (*.f64 -1/12 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 3) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) re))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 -1/12 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 re))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(+.f64 (*.f64 1/240 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 5) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 3) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 re (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) re))) (+.f64 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 -1/12 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3)))) (*.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 (exp.f64 (neg.f64 im)) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 re)))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/240 (pow.f64 re 5))) (*.f64 (exp.f64 (neg.f64 im)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))))
(+.f64 (*.f64 1/240 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (pow.f64 re 5) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/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 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) re))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 -1/12 (*.f64 (exp.f64 (neg.f64 im)) (pow.f64 re 3))))) (+.f64 (*.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 (exp.f64 (neg.f64 im)) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 re)))) (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/240 (pow.f64 re 5))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 -1/10080 (pow.f64 re 7))))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 1/240 (pow.f64 re 5)))) (*.f64 (exp.f64 (neg.f64 im)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (exp.f64 (neg.f64 im)) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 1/240 (pow.f64 re 5))))))
(*.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 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 (neg.f64 im) (sin.f64 re))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 (*.f64 1/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 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (*.f64 (pow.f64 im 2) (*.f64 1/2 (*.f64 (sin.f64 re) 0))))
(+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 0)))
(+.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 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (*.f64 1/2 (pow.f64 im 2))) (+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 -4/3 (sin.f64 re)))) (*.f64 1/2 (pow.f64 im 3)))))
(+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 1/2 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (sin.f64 re) -7/3)))) (*.f64 (pow.f64 im 2) (*.f64 1/2 (*.f64 (sin.f64 re) 0)))))
(+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 0)) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 -1/3 (sin.f64 re))))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) 0) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 -1/3 (sin.f64 re))))))
(+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 -1/3 (sin.f64 re)))) 0))
(+.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 (sin.f64 re) (neg.f64 im)) (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (+.f64 (*.f64 -1 (sin.f64 re)) (*.f64 -4/3 (sin.f64 re)))) (*.f64 1/2 (pow.f64 im 3)))) (+.f64 (*.f64 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (*.f64 1/2 (pow.f64 im 2))) (*.f64 (+.f64 (+.f64 (*.f64 (sin.f64 re) 1/3) (*.f64 (sin.f64 re) 4/3)) (+.f64 (*.f64 -2/3 (sin.f64 re)) (*.f64 -1 (sin.f64 re)))) (*.f64 1/2 (pow.f64 im 4)))))
(+.f64 (+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 1/2 (+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (sin.f64 re) -7/3))))) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 (sin.f64 re) 5/3) (*.f64 (sin.f64 re) -5/3))) (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 0)))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 0)) (+.f64 (+.f64 (*.f64 (neg.f64 im) (sin.f64 re)) (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 -1/3 (sin.f64 re))))) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 0))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 -1/3 (sin.f64 re)))) (+.f64 (*.f64 (pow.f64 im 2) 0) (+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (*.f64 (pow.f64 im 4) 0))))
(+.f64 (+.f64 (*.f64 im (neg.f64 (sin.f64 re))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 1/2 (*.f64 -1/3 (sin.f64 re)))) 0)) (*.f64 (pow.f64 im 4) 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 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 2 im))) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (neg.f64 (*.f64 -2 im)))) (*.f64 (sin.f64 re) (exp.f64 (*.f64 -1 im)))))
(*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (-.f64 1 (exp.f64 (*.f64 im 2))) (sin.f64 re))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 0)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 0 (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im))))) (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (/.f64 (/.f64 1 (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))) (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im))))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (/.f64 (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)) (-.f64 1 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (-.f64 1 (exp.f64 (+.f64 im im)))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(*.f64 (/.f64 (*.f64 (-.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))) (-.f64 1 (exp.f64 (+.f64 im im)))))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) (+.f64 (exp.f64 (+.f64 im im)) -1)))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) -1)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (-.f64 2 (*.f64 (exp.f64 (+.f64 im im)) 2)) 2)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(/.f64 (*.f64 (+.f64 (exp.f64 (+.f64 im im)) -1) 2) -2)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(pow.f64 (-.f64 1 (exp.f64 (+.f64 im im))) 1)
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(neg.f64 (+.f64 (exp.f64 (+.f64 im im)) -1))
(+.f64 1 (neg.f64 (exp.f64 (+.f64 im im))))
(-.f64 1 (exp.f64 (+.f64 im im)))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 0)
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1/2) (*.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 0)
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1)
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im)))))
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) 2)) 2)
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(pow.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (exp.f64 (neg.f64 im))) 1)
(*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))
(+.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))) 0)
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(+.f64 0 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(-.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))) 0)
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))) 1)
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))) (/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)))))
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(/.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re))) 2)
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) (-.f64 1 (exp.f64 (+.f64 im im)))))
(pow.f64 (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re)))) 1)
(*.f64 (exp.f64 (neg.f64 im)) (*.f64 (-.f64 1 (exp.f64 (+.f64 im im))) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im))))))
(*.f64 1/2 (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) (-.f64 1 (exp.f64 (+.f64 im im)))))

localize216.0ms (1.3%)

Local error

Found 4 expressions with local error:

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

Compiled 66 to 49 computations (25.8% saved)

series1.0ms (0%)

Counts
3 → 19
Calls

12 calls:

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

rewrite69.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
910×rational_best-simplify-44
874×rational_best-5
872×rational_best-4
872×rational_best-2
872×rational_best-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01791
114491
245991
3187691
Stop Event
node limit
Counts
3 → 32
Calls
Call 1
Inputs
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 (sin.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/120 (pow.f64 im 5)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/120 (pow.f64 im 5)) (/.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/120 (pow.f64 im 5))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) -1/60) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 1 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) 1)))))

simplify323.0ms (1.9%)

Algorithm
egg-herbie
Rules
774×rational_best-simplify-80
704×rational_best-simplify-78
696×rational_best-simplify-129
630×rational_best-simplify-24
626×rational_best-simplify-41
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01002197
11941925
26921923
325381923
460561923
Stop Event
node limit
Counts
51 → 64
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 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re)
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 3))))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 3))) (*.f64 1/120 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 5)))))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re) (+.f64 (*.f64 -1/5040 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 7))) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 3))) (*.f64 1/120 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 5))))))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) 0)
(+.f64 0 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)))
(-.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) 0)
(/.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) 1)
(/.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))))
(/.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 (sin.f64 re) 2)) 2)
(pow.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(+.f64 0 (*.f64 -1/120 (pow.f64 im 5)))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(/.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(/.f64 (*.f64 -1/120 (pow.f64 im 5)) (/.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/120 (pow.f64 im 5))))
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(pow.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) 0)
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) 1)
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))))
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 1 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))))
(*.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (/.f64 1 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))))
(*.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))))
(*.f64 (/.f64 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) 1)
(/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(/.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) 2) 2)
(pow.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) 1)
Outputs
(*.f64 -1 (*.f64 (sin.f64 re) im))
(neg.f64 (*.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 -1 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (neg.f64 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (neg.f64 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (neg.f64 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (neg.f64 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5)))
(*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (neg.f64 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 -1 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) im)) (+.f64 (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (sin.f64 re) (*.f64 -1/120 (pow.f64 im 5)))))
(+.f64 (neg.f64 (*.f64 (sin.f64 re) im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re)
(*.f64 re (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 3))))
(+.f64 (*.f64 re (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)) (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 -1/6 (pow.f64 re 3))))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) re))
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 3))) (*.f64 1/120 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 5)))))
(+.f64 (*.f64 re (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)) (+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 -1/6 (pow.f64 re 3))) (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 re (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)) (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) re) (+.f64 (*.f64 -1/5040 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 7))) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 3))) (*.f64 1/120 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (pow.f64 re 5))))))
(+.f64 (*.f64 re (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im)) (+.f64 (+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 -1/6 (pow.f64 re 3))) (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 -1/5040 (pow.f64 re 7)))))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/120 (pow.f64 im 5))
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) 0)
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im))
(+.f64 0 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)))
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im))
(-.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) 0)
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im))
(/.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) 1)
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im))
(/.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))))
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im))
(/.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (*.f64 (sin.f64 re) 2)) 2)
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im))
(pow.f64 (*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re)) 1)
(*.f64 (sin.f64 re) (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(*.f64 -1/120 (pow.f64 im 5))
(+.f64 0 (*.f64 -1/120 (pow.f64 im 5)))
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (*.f64 -1/120 (pow.f64 im 5)) 0)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 -1/120 (pow.f64 im 5)) (/.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/120 (pow.f64 im 5))))
(*.f64 -1/120 (pow.f64 im 5))
(/.f64 (*.f64 (pow.f64 im 5) -1/60) 2)
(*.f64 -1/120 (pow.f64 im 5))
(pow.f64 (*.f64 -1/120 (pow.f64 im 5)) 1)
(*.f64 -1/120 (pow.f64 im 5))
(-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) 0)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 1 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 1 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 1 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (/.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) 2) 2)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))
(pow.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) 1)
(+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3)))

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 -1/120 re)
3.2b
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
Compiler

Compiled 19 to 13 computations (31.6% saved)

series6.0ms (0%)

Counts
2 → 24
Calls

9 calls:

TimeVariablePointExpression
3.0ms
re
@0
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
0.0ms
im
@0
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
0.0ms
re
@inf
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
0.0ms
im
@inf
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
0.0ms
re
@-inf
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))

rewrite89.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
904×rational_best-simplify-57
866×rational_best-simplify-82
678×rational_best-simplify-44
596×rational_best-simplify-80
500×rational_best-simplify-43
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
17626
224026
397926
4441926
Stop Event
node limit
Counts
2 → 20
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) (/.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 5) (*.f64 re -1/60)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 5) (*.f64 re -1/60))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/120 re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/120 re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/120 re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 -1/120 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/120 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/120 re) (/.f64 (*.f64 re -1/30) (*.f64 re -1/30)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re -1/60) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 re -1/60)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/120 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 -1/120 re)))))))

simplify211.0ms (1.2%)

Algorithm
egg-herbie
Rules
1960×rational_best-simplify-80
1680×rational_best-simplify-78
786×rational_best-simplify-82
766×rational_best-simplify-74
692×rational_best-simplify-44
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047716
187716
2180716
3460716
42102716
53978716
66518716
Stop Event
node limit
Counts
44 → 23
Calls
Call 1
Inputs
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) 0)
(+.f64 0 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)))
(-.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) 0)
(-.f64 0 (neg.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re))))
(/.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) 1)
(/.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) (/.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 re))))
(/.f64 (*.f64 (pow.f64 im 5) (*.f64 re -1/60)) 2)
(/.f64 (neg.f64 (*.f64 (pow.f64 im 5) (*.f64 re -1/60))) -2)
(pow.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) 1)
(neg.f64 (neg.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re))))
(+.f64 (*.f64 -1/120 re) 0)
(+.f64 0 (*.f64 -1/120 re))
(-.f64 (*.f64 -1/120 re) 0)
(-.f64 0 (neg.f64 (*.f64 -1/120 re)))
(/.f64 (*.f64 -1/120 re) 1)
(/.f64 (*.f64 -1/120 re) (/.f64 (*.f64 re -1/30) (*.f64 re -1/30)))
(/.f64 (*.f64 re -1/60) 2)
(/.f64 (neg.f64 (*.f64 re -1/60)) -2)
(pow.f64 (*.f64 -1/120 re) 1)
(neg.f64 (neg.f64 (*.f64 -1/120 re)))
Outputs
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(+.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) 0)
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(+.f64 0 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(-.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) 0)
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(-.f64 0 (neg.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re))))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(/.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) 1)
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(/.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) (/.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) (*.f64 (pow.f64 im 5) (*.f64 -1/120 re))))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(/.f64 (*.f64 (pow.f64 im 5) (*.f64 re -1/60)) 2)
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 5) (*.f64 re -1/60))) -2)
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(pow.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re)) 1)
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(neg.f64 (neg.f64 (*.f64 (pow.f64 im 5) (*.f64 -1/120 re))))
(*.f64 -1/120 (*.f64 re (pow.f64 im 5)))
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
(+.f64 (*.f64 -1/120 re) 0)
(*.f64 -1/120 re)
(+.f64 0 (*.f64 -1/120 re))
(*.f64 -1/120 re)
(-.f64 (*.f64 -1/120 re) 0)
(*.f64 -1/120 re)
(-.f64 0 (neg.f64 (*.f64 -1/120 re)))
(*.f64 -1/120 re)
(/.f64 (*.f64 -1/120 re) 1)
(*.f64 -1/120 re)
(/.f64 (*.f64 -1/120 re) (/.f64 (*.f64 re -1/30) (*.f64 re -1/30)))
(*.f64 -1/120 re)
(/.f64 (*.f64 re -1/60) 2)
(*.f64 -1/120 re)
(/.f64 (neg.f64 (*.f64 re -1/60)) -2)
(*.f64 -1/120 re)
(pow.f64 (*.f64 -1/120 re) 1)
(*.f64 -1/120 re)
(neg.f64 (neg.f64 (*.f64 -1/120 re)))
(*.f64 -1/120 re)

eval486.0ms (2.9%)

Compiler

Compiled 8746 to 5899 computations (32.6% saved)

prune63.0ms (0.4%)

Pruning

14 alts after pruning (4 fresh and 10 done)

PrunedKeptTotal
New3054309
Fresh000
Picked011
Done1910
Total30614320
Error
0.1b
Counts
320 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
0.9b
(+.f64 (*.f64 -1 (*.f64 (sin.f64 re) (*.f64 (exp.f64 im) im))) (+.f64 (*.f64 1/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 4)))) (+.f64 (*.f64 -2/3 (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 3)))) (*.f64 (exp.f64 im) (*.f64 (sin.f64 re) (pow.f64 im 2))))))
45.4b
(*.f64 (pow.f64 im 5) (*.f64 -1/120 re))
0.7b
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
0.8b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
43.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
43.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 1 (exp.f64 (+.f64 im im)))))
43.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (exp.f64 im) (+.f64 (exp.f64 (*.f64 im -2)) -1)))
17.0b
(*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (*.f64 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (sin.f64 re)) (exp.f64 (+.f64 im im))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re)))))))
1.3b
(*.f64 (sin.f64 re) (neg.f64 im))
28.2b
(*.f64 (exp.f64 im) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 1/2 re)))
41.3b
(*.f64 (exp.f64 im) (*.f64 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))) (/.f64 1/2 (*.f64 (+.f64 (*.f64 -4/3 (pow.f64 im 3)) (+.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 2/3 (pow.f64 im 4)) (*.f64 im -2)))) (*.f64 (exp.f64 im) (sin.f64 re))))))
28.1b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
28.5b
(*.f64 re (neg.f64 im))
44.1b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 369 to 273 computations (26% saved)

regimes58.0ms (0.3%)

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

6 calls:

10.0ms
(sin.f64 re)
10.0ms
im
9.0ms
(*.f64 1/2 (sin.f64 re))
9.0ms
re
5.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Results
ErrorSegmentsBranch
0.7b1re
0.7b1im
0.7b1(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.7b1(*.f64 1/2 (sin.f64 re))
0.7b1(sin.f64 re)
0.7b1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 465 to 309 computations (33.5% saved)

regimes37.0ms (0.2%)

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

8.0ms
(*.f64 1/2 (sin.f64 re))
7.0ms
im
6.0ms
(sin.f64 re)
6.0ms
re
2.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 143 to 88 computations (38.5% saved)

regimes19.0ms (0.1%)

Accuracy

Total -44.7b remaining (-3348%)

Threshold costs -44.7b (-3348%)

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

4 calls:

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

Compiled 63 to 41 computations (34.9% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022102
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (-.f64 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.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 (+.f64 (*.f64 -1/120 (pow.f64 im 5)) (*.f64 -1/6 (pow.f64 im 3))) im) (sin.f64 re))
(*.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 43 to 32 computations (25.6% saved)

soundness371.0ms (2.2%)

Algorithm
egg-herbie
Rules
1518×rational_best-simplify-80
1176×rational_best-simplify-2
1148×rational_best-simplify-132
1142×rational_best-simplify-78
1118×rational_best-simplify-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01833132
13622986
211932986
325772976
449842976
0922331
11792035
23471877
37021877
419781877
543011877
665801877
Stop Event
node limit
node limit
Compiler

Compiled 312 to 216 computations (30.8% saved)

end29.0ms (0.2%)

Compiler

Compiled 37 to 23 computations (37.8% saved)

Profiling

Loading profile data...